From: "Saved by Windows Internet Explorer 8"
Subject: Privacy Statement
Date: Thu, 11 Oct 2012 19:21:59 -0600
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CDA7E5.AF948CF0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7601.17609

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/corporate/legal/privacyStatement.html

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML lang=3Den xmlns=3D"http://www.w3.org/1999/xhtml" =
xml:lang=3D"en"><HEAD><TITLE>Privacy Statement</TITLE>
<META content=3D"text/html; charset=3DUTF-8" http-equiv=3DContent-Type>
<META name=3DCODE_LANGUAGE content=3DC#>
<META name=3Dvs_defaultClientScript content=3DJavaScript>
<META name=3Dvs_targetSchema=20
content=3Dhttp://schemas.microsoft.com/intellisense/ie5><LINK =
rel=3Dstylesheet=20
type=3Dtext/css=20
href=3D"http://www.comcast.com/layouts/System/VisitorIdentification.aspx"=
>
<META name=3DKeywords content=3D"privacy statement">
<META name=3DDescription content=3D"Privacy Practices and Feedback">
<META name=3DRobots content=3Dindex,follow>
<META name=3Dsection2 content=3D"" xmlns=3D"">
<META name=3Dsection3 content=3D"" xmlns=3D"">
<META name=3Dsection4 content=3D"" xmlns=3D"">
<META name=3Dsection5 content=3D"" xmlns=3D"">
<META content=3DIE=3D7 http-equiv=3DX-UA-Compatible xmlns=3D"">
<META name=3Dsection1 content=3D"" xmlns=3D"" nocm=3D"true"><LINK =
rel=3DStylesheet=20
type=3Dtext/css =
href=3D"http://www.comcast.com/Includes/css/comcast_main.css"=20
media=3Dall xmlns=3D"">
<STYLE type=3Dtext/css></STYLE>
<LINK rel=3DStylesheet type=3Dtext/css=20
href=3D"http://www.comcast.com/Includes/css/comcast_menu_top.css" =
media=3Dall=20
xmlns=3D""><LINK rel=3DStylesheet type=3Dtext/css =
href=3D"/Includes/css/comcast_.css"=20
media=3Dscreen xmlns=3D""><LINK rel=3DStylesheet type=3Dtext/css=20
href=3D"http://www.comcast.com/Includes/css/comcast_printable.css" =
media=3Dprint=20
xmlns=3D""><LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.comcast.com/Includes/css/querycompletion.css" =
media=3Dall=20
xmlns=3D""><LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.comcast.com/Includes/css/Corpquerycompletion.css" =
media=3Dall=20
xmlns=3D""><LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.comcast.com/Includes/css/framework/Mask.css" =
media=3Dall=20
xmlns=3D""><LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.comcast.com/Includes/css/ResetOverlay.css" =
media=3Dall xmlns=3D"">
<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/Includes/js/menuarrays/menuarray.js"=20
xmlns=3D"">=C2=A0</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/Includes/js/menu.js" =
xmlns=3D"">=C2=A0</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/Includes/js/CookieHelper.js" =
xmlns=3D"">=C2=A0</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/Includes/js/javascript.js" =
xmlns=3D"">=C2=A0</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/Includes/js/swfobject.js" =
xmlns=3D"">=C2=A0</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/Includes/js/searchsuggests.js" =
xmlns=3D"">=C2=A0</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/Includes/js/ajax.js" =
xmlns=3D"">=C2=A0</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/Includes/js/framework/Mask.js" =
xmlns=3D"">=C2=A0</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/Includes/js/ResetOverlay.js" =
xmlns=3D"">=C2=A0</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/Includes/js/framework/Comcast.Framework.js"=
=20
xmlns=3D"">=C2=A0</SCRIPT>

<SCRIPT language=3Djavascript1.1 xmlns=3D"">=0A=
			if(getCookieVal('UserID').length =3D=3D 0)=0A=
			{=0A=
			makeHttpRequest('/includes/js/IDGenerator.ashx');=0A=
			}=0A=
		</SCRIPT>

<SCRIPT xmlns=3D"">
        if (location.protocol =3D=3D "http:") {
            var crossPropertyNavUrl =3D =
'http://www.xfinity.com/js-api/compressed/xpbar.js?id=3Dxbardiv&amp;highl=
ight=3Dcomcastcom&amp;version=3D2';
            RegisterScriptTag(crossPropertyNavUrl);
        }
        else {
            var crossPropertyNavUrlSecure =3D =
'https://secure.xfinity.com/js-api/compressed/xpbar.js?id=3Dxbardiv&amp;h=
ighlight=3Dcomcastcom&amp;version=3D2';
            RegisterScriptTag(crossPropertyNavUrlSecure);
        }=0A=
      </SCRIPT>

<SCRIPT type=3Dtext/javascript defer=20
src=3D"http://www.xfinity.com/js-api/compressed/xpbar.js?id=3Dxbardiv&amp=
;highlight=3Dcomcastcom&amp;version=3D2"></SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript>
        var init =3D function() {

        }
        window.onload =3D init;=0A=
				</SCRIPT>

<SCRIPT language=3Djavascript1.1=20
src=3D"http://www.comcast.com/Includes/js/CookieHelper.js">=C2=A0</SCRIPT=
>

<SCRIPT language=3Djavascript1.1=20
src=3D"http://www.comcast.com/Includes/omniture/websidestory.js">=C2=A0</=
SCRIPT>

<SCRIPT language=3Djavascript1.1>=0A=
        var _locacct=3DgetCookieVal("HBMktAcctEnt") + ";" + =
getCookieVal("HBDivAcctEnt");=0A=
        var billSystem =3D GetCookie("Serviceability","System");=0A=
      </SCRIPT>

<STYLE>DIV#popupMain {
	WIDTH: 400px
}
DIV#content {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
DIV#xbardiv {
	DISPLAY: none
}
BODY {
	PADDING-BOTTOM: 0px !important; PADDING-LEFT: 0px !important; =
PADDING-RIGHT: 0px !important; PADDING-TOP: 0px !important
}
</STYLE>

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/Includes/js/newbuyflow/mbox.js">=C2=A0</SCR=
IPT>
<!--Foreesee scripts are include when the page is not in editing mode =
-->
<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/foresee/foresee-trigger.js"></SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/foresee/foresee-surveydef.js"></SCRIPT>
<!--End of adding foresee script-->
<SCRIPT type=3Dtext/javascript=20
src=3D"http://nexus.ensighten.com/comcastres/Bootstrap.js"></SCRIPT>

<META name=3DGENERATOR content=3D"MSHTML 8.00.7601.17824"></HEAD>
<BODY>
<FORM id=3Dmainform method=3Dpost name=3Dmainform=20
action=3D/corporate/legal/privacyStatement.html>
<DIV><INPUT id=3D__VIEWSTATE=20
value=3D/wEPDwUJNTY3OTkzODgwD2QWBAIFD2QWAmYPZBYCZg8WAh4LXyFJdGVtQ291bnQCA=
xYGZg9kFgJmDxUCCEtleXdvcmRzEXByaXZhY3kgc3RhdGVtZW50ZAIBD2QWAmYPFQILRGVzY3=
JpcHRpb24eUHJpdmFjeSBQcmFjdGljZXMgYW5kIEZlZWRiYWNrZAICD2QWAmYPFQIGUm9ib3R=
zDGluZGV4LGZvbGxvd2QCDRBkZBYCAgMPZBYCZg9kFghmDxYCHgRUZXh0BQljdXN0b21lcnNk=
AgYPFgIfAQUhY29ycG9yYXRlLWxlZ2FsLXByaXZhY3kgc3RhdGVtZW50ZAIMDxYCHwEFCWNvc=
nBvcmF0ZWQCDQ8WAh8BBQxOZXcgQ3VzdG9tZXJkZDWksHiC1PCc+S+NQ9hcIh69/2xP=20
type=3Dhidden name=3D__VIEWSTATE> </DIV>
<DIV id=3DpopupMain>
<DIV id=3Dcontent><A href=3D"javascript:window.close()"><IMG=20
style=3D"MARGIN: 0px; DISPLAY: inline; FLOAT: right" id=3Ddfmi:16510=20
title=3D"Close Window" border=3D0 hspace=3D0 alt=3D"Close Window" =
align=3Dbottom=20
src=3D"http://www.comcast.com/MediaLibrary/1/1/Common/Buttons/Gray%20Stan=
dard/CloseWindow.gif"=20
width=3D112 height=3D25></A><BR><BR>
<p>
    <strong>Agreement for XFINITY&#174;</strong>
    <strong>internet prepaid service</strong>
</p>
<p>
    <p>
        <strong> </strong>
    </p>
</p>
<p>
    <strong>About This Agreement, Our Services and Your Rights</strong>
</p>
<p>
    <strong>
        Xfinity Internet Prepaid Service (the "Service") will be provided to you ("you," "your," or "Customer") on the terms and conditions set forth in this
        Agreement for Xfinity Internet Prepaid Service (the "Agreement") by the operating company subsidiary of Comcast Corporation that owns and/or operates
        the cable television system in your area ("Comcast," "we," "us," or "our"). For purposes of this Agreement, "affiliate" means any entity that controls,
        is controlled by or is under common control with Comcast Corporation. The Service does not include Comcast owned or controlled websites such as
        Comcast.com and Comcast.net. Those services and websites have their own terms of service and policies.
    </strong>
</p>
<p>
    <strong>
        We may change our prices, fees, the Service and/or the terms and conditions of this Agreement in the future. Unless this Agreement or applicable law
        specifies otherwise, any changes to this Agreement will take effect ten (10) days after they are posted at xfinityprepaid.com. If you find the change
        unacceptable, you have the right to cancel your Service. However, if you continue your Service after the end of the notice period (the "Effective
        Date") of the change, you will be considered to have accepted the changes. You may not modify this Agreement by making any typed, handwritten or any
        other changes to it for any purpose.
    </strong>
</p>
<p>
    <strong>
        Note: This Agreement contains a binding arbitration provision in Section 12 that affects your rights under this Agreement with respect to the Service.
    </strong>
</p>
<p>
    <strong><u>GENERAL TERMS AND CONDITIONS</u></strong>
</p>
<p>
    <strong>1. ACCEPTANCE OF THIS AGREEMENT</strong>
</p>
<p>
    <strong>
        You will have accepted this Agreement and be bound by its terms if you use the Service or otherwise indicate your affirmative acceptance of such terms.
    </strong>
</p>
<p>
    <strong>2. CHARGES AND BILLINGS</strong>
</p>
<p>
    <strong>a. Charges, Fees, and Taxes You Must Pay.</strong>
    You agree to pay for the Service. You acknowledge that your payment is for a period of days of the Service determined at the time of your purchase.
    <strong>
        YOU WILL BE RESPONSIBLE FOR PAYING ANY GOVERNMENT IMPOSED FEES AND TAXES APPLICABLE TO THE SERVICES, INCLUDING AS MAY BE REASONABLY CALCULATED BY
        COMCAST.
    </strong>
    If you are renewing the Service, price information is available at xfinityprepaid.com (or an alternate site provided to you).
</p>
<p>
    <strong>b. Term.</strong>
    After activation or renewal, the Service is provided for the period of days determined by your purchase, except as otherwise set forth in this Agreement.
    You must pay for additional renewal periods prior to the expiration of your current period to avoid an interruption of the Service.
</p>
<p>
    <strong>c. Third-Party Charges That Are Your Responsibility.</strong>
    You acknowledge that you may incur charges with third-party service providers such as accessing on-line services, or purchasing or subscribing to other
    offerings via the Internet that are separate and apart from the amounts charged by us. You are solely responsible for all such charges payable to third
    parties, including all applicable taxes. In addition, you are solely responsible for protecting the security of credit card and other personal information
    provided to others in connection with such transactions.
</p>
<p>
    <strong>d. Payment by Credit Card.</strong>
    If you use a credit card to pay for the Service, use of the card is governed by the card issuer agreement, and you must refer to that agreement for your
    rights and liabilities as a cardholder. If Comcast does not receive payment from your credit card issuer or its agents, you agree to pay all amounts due
    upon demand.
</p>
<p>
    <strong>e. Collection Costs.</strong>
    If we use a collection agency or attorney to collect money owed by you, you agree to pay the reasonable costs of collection. These costs include, but are
    not limited to, any collection agency's fees, reasonable attorneys' fees, and arbitration or court costs.
</p>
<p>
    <strong>f. Suspension/Disconnect.</strong>
    If you fail to pay the full amount due for the Service then Comcast, at its sole discretion in accordance with and subject to applicable law, may suspend
    or disconnect the Service.
</p>
<p>
    <strong>g. Your Responsibilities Concerning Billing Questions.</strong>
    Subject to applicable law, if you intend to dispute a charge or request a credit, you must contact Comcast within sixty (60) days of the date that the
    charge was incurred. You waive any disputes or credits that you do not report within sixty (60) days.
</p>
<p>
    <strong>3. CHANGES TO SERVICE</strong>
</p>
<p>
    Subject to applicable law, we have the right to change the Service, including rates or charges at any time with or without notice. We also may rearrange,
    delete, add to, or otherwise change features or offerings contained in the Service including, but not limited to, Customer Equipment (as defined in Section
    4(b)) requirements, speed, and upstream and downstream rate limitations. If we do give you notice, it may be provided on as an e-mail, in a newspaper or
    other communication permitted under applicable law. If you find a change in the Service unacceptable, you have the right to cancel your Service. However,
    if you continue to receive or use Service after the change, this will constitute your acceptance of the change.
</p>
<p>
    <strong>4. ACCESS TO YOUR PREMISES AND CUSTOMER EQUIPMENT</strong>
</p>
<p>
    <strong>a. Premises. </strong>
    You agree to allow us and our agents the right to enter your property (the "Premises") at reasonable times, for purposes of installing, configuring,
    maintaining, inspecting, upgrading, replacing or removing the Service and/or installing, configuring, maintaining, inspecting, or upgrading, Customer
    Equipment used to receive any of the Service. You warrant that you are either the owner of the Premises or that you have the authority to give us access to
    the Premises. If you are not the owner of the Premises, you are responsible for obtaining any necessary approval from the owner to allow us and our agents
    into the Premises to perform the activities specified above. In addition, you agree to supply us or our agent, if we ask, the owner's name, address and
    phone number and/or evidence that the owner has authorized you to grant access to us and our agents to the Premises.
</p>
<p>
    <strong>b. Customer Equipment.</strong>
    Customer Equipment means software, hardware or services that you elect to use in connection with the Service or Xfinity Equipment. You agree to allow us
    and our agents the rights to insert hardware in the Customer Equipment, send software and/or "downloads" to the Customer Equipment and install, configure,
    maintain, inspect and upgrade the Customer Equipment and Xfinity Equipment. You warrant you are either the owner of the Customer Equipment or that you have
    the authority to give us access to the Customer Equipment. If you are not the owner of the Customer Equipment, you are responsible for obtaining any
    necessary approval from the owner to allow us and our agents' access to the Customer Equipment to perform the activities specified above. In addition, you
    agree to supply us or our agents, if we ask, the owner's name, address and phone number and/or evidence that the owner has authorized you to grant access
    to us and our agents to the Customer Equipment to perform the activities specified above.
</p>
<p>
    <strong>5. MAINTENANCE AND OWNERSHIP OF EQUIPMENT</strong>
</p>
<p>
    <strong>a. Xfinity Equipment.</strong>
    You agree that except for the wiring installed inside the Premises ("Inside Wiring"), or equipment purchased by you, all Xfinity Equipment belongs to us or
    other third parties and will not be deemed fixtures or in any way part of the Premises. Xfinity Equipment means all software or "downloads" to Customer
    Equipment or Xfinity Equipment and all new or reconditioned equipment installed, provided or leased to you by us or our agents, including, but not limited
    to, cabling or wiring and related electronic devices, cable modems, voice capable modems, wireless gateway/routers and any other hardware excluding
    Customer Equipment. You agree to use Xfinity Equipment only for the Service pursuant to this Agreement. We may remove or change the Xfinity Equipment at
    our discretion at any time the Service is active or following the termination of your Service. You agree that our addition or removal of or change to the
    Xfinity Equipment may interrupt your Service. You may not sell, lease, abandon or give away the Xfinity Equipment, or permit any other provider of high
    speed data or telephone services to use the Xfinity Equipment. The Xfinity Equipment may only be used in the Premises. At your request, we may relocate the
    Xfinity Equipment in the Premises for an additional charge at a time agreeable to you and us. YOU UNDERSTAND AND ACKNOWLEDGE THAT IF YOU ATTEMPT TO INSTALL
    OR USE THE XFINITY EQUIPMENT OR SERVICE AT A LOCATION OTHER THAN THE PREMISES, THE SERVICE MAY FAIL TO FUNCTION OR MAY FUNCTION IMPROPERLY. You agree that
    you will not allow anyone other than Comcast or its agents to service the Xfinity Equipment. We suggest that the Xfinity Equipment in your possession be
    covered by your homeowners, renters, or other insurance. You will be directly responsible for loss, repair, replacement and other costs, damages, fees and
    charges if you do not return the Xfinity Equipment to us in an undamaged condition.
</p>
<p>
    <strong>b. Customer Equipment</strong>
</p>
<p>
    <strong>1. Responsibility: </strong>
    Comcast has no responsibility for the operation or support, maintenance, or repair of any Customer Equipment including, but not limited to, Customer
    Equipment to which Comcast or a third party has sent software or "downloads." You agree by using the Service, you are enabling and authorizing Comcast, its
    authorized agents and equipment manufacturers to send code updates to the Xfinity Equipment and Customer Equipment at any time it is determined necessary
    to do so as part of the Service. Such code updates may change, add or remove features or functionality of any such equipment or the Service. You can find
    Comcast's current minimum technical and other requirements for the Service at xfinityprepaid.com. These requirements may be located at an alternate site.
    Whether a cable modem, gateway/router, voice capable modem or other device is owned by you or us, we have the unrestricted right, but not the obligation,
    to upgrade or change the firmware in these devices remotely or on the Premises at any time that we determine it necessary or desirable in order to provide
    the Service to you in accordance with our specifications and requirements.
</p>
<p>
    <strong>2. Non-Recommended Configurations:</strong>
    Customer Equipment that does not meet Comcast's minimum technical or other specifications constitutes a "Non-Recommended Configuration." NEITHER COMCAST
    NOR ANY OF ITS AFFILIATES, SUPPLIERS OR AGENTS WARRANT THAT A NON-RECOMMENDED CONFIGURATION WILL ENABLE YOU TO SUCCESSFULLY INSTALL, ACCESS, OPERATE OR USE
    THE SERVICE. YOU ACKNOWLEDGE THAT ANY SUCH INSTALLATION, ACCESS, OPERATION OR USE COULD CAUSE CUSTOMER EQUIPMENT TO FAIL TO OPERATE OR CAUSE DAMAGE TO
    CUSTOMER EQUIPMENT, YOU, YOUR PREMISES OR XFINITY EQUIPMENT. NEITHER COMCAST NOR ANY OF ITS AFFILIATES, SUPPLIERS OR AGENTS SHALL HAVE ANY LIABILITY
    WHATSOEVER FOR ANY SUCH FAILURE OR DAMAGE. Comcast reserves the right to deny you customer support for the Service and/or terminate the Service if you use
    a Non-Recommended Configuration.
</p>
<p>
    <strong>3. No Unauthorized Devices or Tampering:</strong>
    You agree not to attach or assist any person to attach, any unauthorized device to our cable network, Xfinity Equipment or the Service. If you make or
    assist any person to make any unauthorized connection or modification to Xfinity Equipment or the Service or any other part of our cable network, we may
    terminate your Service and recover such damages as may result from your actions.
</p>
<p>
    You also agree that you will not attach anything to the Inside Wiring, Xfinity Equipment, or Customer Equipment, whether installed by you or us, which
    singly or together impairs the integrity of our cable network or degrades our cable network's signal quality or strength or creates signal leakage.
</p>
<p>
    You also agree that we may recover damages from you for tampering with any Xfinity Equipment or any other part of our cable network or for receiving
    unauthorized Service. You agree that it would be difficult, if not impossible, to calculate precisely the lost revenue resulting from your receipt of
    unauthorized Service or the tampering with Xfinity Equipment or our cable network. You therefore agree to pay us as liquidated damages, the sum of $500.00
    per device used to receive the unauthorized Service in addition to our cost to replace any altered, damaged, or unreturned Xfinity Equipment or other
    equipment owned by Comcast, including any incidental costs. The unauthorized reception of the Service may also result in criminal fines and/or
    imprisonment.
</p>
<p>
    <strong>c. Inside Wiring. </strong>
    You may install Inside Wiring, such as additional cable wiring and outlets, provided it does not interfere with the normal operations of our cable network.
    If you have us install Inside Wiring, we will charge you for that service. Regardless of who installed it, we consider the Inside Wiring your property or
    the property of whomever owns the Premises. Accordingly, you are responsible for the repair and maintenance of the Inside Wiring, unless you and Comcast
    have agreed otherwise in writing. (If you do not own the Premises, contact your landlord or building manager about the repair or maintenance of Inside
    Wiring.) If you have us repair or maintain the Inside Wiring, we will charge you for that service.
</p>
<p>
    <strong>6. USE OF THE SERVICE</strong>
</p>
<p>
    You agree that the Service will be used only for personal, residential, non-commercial purposes unless otherwise specifically authorized by us in writing.
    You agree and represent that you will not resell or permit another to resell the Service in whole or in part. You will not use or permit another to use the
    Service, directly or indirectly, for any unlawful purpose, including, but not limited to, in violation of any posted Comcast policy applicable to the
    Service. Use of the Xfinity Equipment or the Service for transmission, communications or storage of any information, data or material in violation of any
    U.S. federal, state or local regulation or law is prohibited.
</p>
<p>
    You acknowledge that you are accepting this Agreement on behalf of all persons who use the Service at the Premises and that you shall have sole
    responsibility for ensuring that all other users understand and comply with the terms and conditions of this Agreement and any applicable Comcast policies
    including, but not limited to, acceptable use and privacy policies. You further acknowledge and agree that you shall be solely responsible for any
    transactions, including, without limitation, purchases made through or in connection with the Service. You agree to indemnify, defend and hold harmless
    Comcast and its affiliates, suppliers, and agents against all claims and expenses (including reasonable attorneys' fees) arising out of the use of the
    Service, the Xfinity Equipment and/or the Customer Equipment or the breach of this Agreement or any of the applicable Comcast policies by you or any other
    user of the Service at the Premises.
</p>
<p>
    The Comcast Acceptable Use Policy ("AUP") and other policies concerning the Service are posted on the Service's website at xfinityprepaid.com (or an
    alternate website). You further agree that Comcast may modify the AUP or other policies from time to time. Notwithstanding anything to the contrary in this
    Agreement, YOU ACKNOWLEDGE AND AGREE THAT THE TERMS OF THE AUP AND ANY OTHER APPLICABLE COMCAST POLICIES MAY BE PUT INTO EFFECT OR REVISED FROM TIME TO
    TIME WITH OR WITHOUT NOTICE BY POSTING A NEW VERSION OF THE AUP OR POLICY AS SET FORTH ABOVE. YOU AND OTHER USERS OF THE SERVICE SHOULD CONSULT THE AUP AND
    ALL POSTED POLICIES REGULARLY TO CONFORM TO THE MOST RECENT VERSION.
</p>
<p>
    <strong>7. ASSIGNABILITY</strong>
</p>
<p>
    This Agreement and the Service furnished hereunder may not be assigned by you. You agree to notify us immediately of any changes of ownership or occupancy
    of the Premises. We may freely assign our rights and obligations under this Agreement with or without notice to you.
</p>
<p>
    <strong>8. TERMINATION OF THIS AGREEMENT</strong>
</p>
<p>
    <strong>a. Term.</strong>
    This Agreement will be in effect from the time that the Service is activated until (1) it is terminated as provided for by this Agreement or by any
    addendum to this Agreement or (2) it is replaced by a revised Agreement. Subject to applicable law or the terms of any agreements with governmental
    authorities, Comcast will not refund any prepaid amounts for the Service.
</p>
<p>
    <strong>b. Suspension and Termination by Comcast.</strong>
    Under the conditions listed below, Comcast reserves the right, subject to applicable law, to act immediately and without notice to terminate or suspend the
    Service and/or to remove from the Service any information transmitted by or to any authorized users. Comcast may take these actions if it: (1) determines
    that your use of the Service does not conform with the requirements set forth in this Agreement, (2) determines that your use of the Service interferes
    with Comcast's ability to provide the Service or other Comcast services to you or others, (3) reasonably believes that your use of the Service may violate
    any laws, regulations, or written and electronic instructions for use, (4) reasonably believes that your use of the Service interferes with or endangers
    the health and/or safety of our personnel or third parties, or (5) determines, in its sole discretion, to discontinue the Service. Comcast's action or
    inaction under this Section shall not constitute review or approval of your or any other users' use of the Service or information transmitted by or to you
    or users.
</p>
<p>
    <strong>c. Your Obligations Upon Termination.</strong>
    You agree that upon termination of this Agreement you will immediately cease all use of the Service and all Xfinity Equipment. Upon our request during
    regular business hours at a time agreed upon by you and us, you will permit us and our employees, agents, contractors and representatives to access the
    Premises during regular business hours to remove all Xfinity Equipment and other material provided by Comcast.
</p>
<p>
    <strong>9. LIMITED WARRANTY</strong>
</p>
<p>
    THE XFINITY EQUIPMENT AND THE SERVICE ARE PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED. NEITHER COMCAST NOR ITS AFFILIATES,
    SUPPLIERS, EMPLOYEES, AGENTS, CONTRACTORS, DISTRIBUTORS, LICENSORS OR BUSINESS PARTNERS WARRANT THAT THE XFINITY EQUIPMENT OR THE SERVICE WILL MEET YOUR
    REQUIREMENTS, PROVIDE UNINTERRUPTED USE, OR OPERATE AS REQUIRED, WITHOUT DELAY, OR WITHOUT ERROR. NEITHER COMCAST NOR ITS AFFILIATES, SUPPLIERS, EMPLOYEES,
    AGENTS, CONTRACTORS, DISTRIBUTORS, LICENSORS OR BUSINESS PARTNERS WARRANT THAT ANY COMMUNICATIONS WILL BE TRANSMITTED IN UNCORRUPTED FORM. ALL
    REPRESENTATIONS AND WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF PERFORMANCE, NONINFRINGEMENT, FITNESS FOR
    A PARTICULAR PURPOSE OR MERCHANTABILITY, ARE HEREBY DISCLAIMED AND EXCLUDED UNLESS OTHERWISE PROHIBITED OR RESTRICTED BY APPLICABLE LAW.
</p>
<p>
    <strong>10. LIMITATION OF COMCAST'S LIABILITY</strong>
</p>
<p>
    <strong>a. Application.</strong>
    The limitations of liability set forth in this Section apply to any acts, omissions, and negligence of Comcast and its underlying third-party service
    providers, agents suppliers, distributors, licensors and business partners (and their respective officers, employees, agents, contractors or
    representatives) which, but for that provision, would give rise to a cause of action in contract, tort or under any other legal doctrine.
</p>
<p>
    <strong>b. Customer Equipment.</strong>
    CUSTOMER EQUIPMENT MAY BE DAMAGED OR SUFFER SERVICE OUTAGES AS A RESULT OF THE INSTALLATION, SELF-INSTALLATION, USE, INSPECTION, MAINTENANCE, UPDATING,
    REPAIR, AND REMOVAL OF XFINITY EQUIPMENT, CUSTOMER EQUIPMENT AND/OR THE SERVICE. EXCEPT FOR GROSS NEGLIGENCE OR WILLFUL MISCONDUCT, NEITHER COMCAST NOR ANY
    OF ITS AFFILIATES, SUPPLIERS, EMPLOYEES, AGENTS, CONTRACTORS, DISTRIBUTORS, LICENSORS OR BUSINESS PARTNERS SHALL HAVE ANY LIABILITY WHATSOEVER FOR ANY
    DAMAGE, LOSS, OR DESTRUCTION TO THE CUSTOMER EQUIPMENT. IN THE EVENT OF GROSS NEGLIGENCE OR WILLFUL MISCONDUCT BY COMCAST, SUPPLIERS, EMPLOYEES, AGENTS,
    CONTRACTORS, DISTRIBUTORS, LICENSORS OR BUSINESS PARTNERS WE SHALL PAY AT OUR SOLE DISCRETION FOR THE REPAIR OR REPLACEMENT OF THE DAMAGED CUSTOMER
    EQUIPMENT UP TO A MAXIMUM OF $500. THIS SHALL BE YOUR SOLE AND EXCLUSIVE REMEDY RELATING TO SUCH ACTIVITY.
</p>
<p>
    YOU UNDERSTAND THAT YOUR CUSTOMER EQUIPMENT MAY NEED TO BE OPENED, UPDATED, ACCESSED OR USED EITHER BY YOU OR BY US OR OUR AGENTS, IN CONNECTION WITH THE
    INSTALLATION, UPDATING OR REPAIR OF THE SERVICE. THE OPENING, ACCESSING OR USE OF YOUR CUSTOMER EQUIPMENT USED IN CONNECTION WITH THE SERVICE MAY VOID
    WARRANTIES PROVIDED BY THE CUSTOMER EQUIPMENT MANUFACTURER OR OTHER PARTIES RELATING TO THE CUSTOMER EQUIPMENT'S HARDWARE OR SOFTWARE. NEITHER COMCAST NOR
    ANY OF ITS AFFILIATES, SUPPLIERS, OR AGENTS, SHALL HAVE ANY LIABILITY WHATSOEVER AS THE RESULT OF THE VOIDING OF ANY SUCH WARRANTIES.
</p>
<p>
    <strong>c. Other Services or Equipment.</strong>
    BY ACCEPTING THIS AGREEMENT, YOU WAIVE ALL CLAIMS AGAINST COMCAST FOR INTERFERENCE, DISRUPTION, OR INCOMPATIBILITY BETWEEN THE XFINITY EQUIPMENT OR THE
    SERVICE AND ANY OTHER SERVICE, SYSTEMS, OR EQUIPMENT. IN THE EVENT OF SUCH INTERFERENCE, DISRUPTION, OR INCOMPATIBILITY, YOUR SOLE REMEDY SHALL BE TO
    TERMINATE THE SERVICE IN ACCORDANCE WITH SECTION 8.
</p>
<p>
    <strong>d. Software.</strong>
    When you use certain features of the Service, such as online features (where available), you may require special software, applications, and/or access to
    the Internet. Comcast makes no representation or warranty that any software or application installed on Customer Equipment, downloaded to Customer
    Equipment, or available through the Internet does not contain a virus or other harmful feature. It is your sole responsibility to take appropriate
    precautions to protect any Customer Equipment from damage to its software, files and data as a result of any such virus or other harmful feature. We may,
    but are not required to, terminate all or any portion of the installation or operation of the Service if a virus or other harmful feature or software is
    found to be present on your Customer Equipment. We are not required to provide you with any assistance in removal of viruses. If we decide, in our sole
    discretion, to install or run virus check software on your Customer Equipment, we make no representation or warranty that the virus check software will
    detect or correct any or all viruses. You acknowledge that you may incur additional charges for any service call made or required on account of any problem
    related to a virus or other harmful feature detected on your Customer Equipment. NEITHER COMCAST NOR ITS AFFILIATES, SUPPLIERS, EMPLOYEES, AGENTS,
    CONTRACTORS, DISTRIBUTORS, LICENSORS OR BUSINESS PARTNERS SHALL HAVE ANY LIABILITY WHATSOEVER FOR ANY DAMAGE TO OR LOSS OF ANY HARDWARE, SOFTWARE, FILES,
    OR DATA RESULTING FROM A VIRUS, ANY OTHER HARMFUL FEATURE, OR FROM ANY ATTEMPT TO REMOVE IT.
</p>
<p>
    In addition, as part of the installation process for the software and other components of the Service, system files on your Customer Equipment may be
    modified. Comcast does not represent, warrant or covenant that these modifications will not disrupt the normal operations of any Customer Equipment
    including without limitation your computer(s), or cause the loss of files. Comcast does not represent, warrant or covenant that the installation of the
    special software or applications or access to our Web portal(s) will not cause the loss of files or disrupt the normal operations of any Customer
    Equipment, including, but not limited to, your computer(s). FOR THESE AND OTHER REASONS, YOU ACKNOWLEDGE AND UNDERSTAND THE IMPORTANCE OF BACKING UP ALL
    FILES TO ANOTHER STORAGE MECHANISM PRIOR TO SUCH ACTIVITIES. YOU UNDERSTAND AND ACCEPT THE RISKS IF YOU DECIDE NOT TO BACK UP FILES. NEITHER COMCAST NOR
    ITS AFFILIATES, SUPPLIERS, EMPLOYEES, AGENTS, CONTRACTORS, DISTRIBUTORS, LICENSORS OR BUSINESS PARTNERS SHALL HAVE ANY LIABILITY WHATSOEVER FOR ANY DAMAGE
    TO OR LOSS OF ANY SOFTWARE, FILES OR DATA.
</p>
<p>
    <strong>e. Disruption of the Service. </strong>
    The Service is not fail-safe and is not designed or intended for use in situations requiring fail-safe performance or in which an error or interruption in
    the Service could lead to severe injury to business, persons, property or environment ("High Risk Activities"). These High Risk Activities may include,
    without limitation, vital business, or personal communications, or activities where absolutely accurate data or information is required. You expressly
    assume the risks of any damages resulting from High Risk Activities. We shall not be liable for any inconvenience, loss, liability or damage resulting from
    any interruption of the Service, directly or indirectly caused by, or proximately resulting from, any circumstances beyond our control including, but not
    limited to, causes attributable to you or your property; inability to obtain access to the Premises; failure of any cable signal at the transmitter;
    failure of a communications satellite; loss of use of poles, or other utility facilities; strike; labor dispute; riot or insurrection; war; explosion;
    malicious mischief; fire, flood, lightning, earthquake, wind, ice, extreme weather conditions, or other acts of God; failure or reduction of power; or any
    court order, law, act or order of government restricting or prohibiting the operation or delivery of the Service. In all other cases of an interruption of
    the Service, you shall be entitled upon a request made within sixty (60) days of such interruption, to a pro rata credit for any Service interruption
    exceeding twenty-four consecutive hours after such interruption is reported to us, or such other period of time as may be specifically provided by law.
    Unless specifically provided by law, such credit shall not exceed the fixed charge for the period of such Service interruption and excludes all
nonrecurring charges, one-time charges, regulatory fees and surcharges, taxes and other governmental and quasi-governmental fees.    <strong>EXCEPT AND UNLESS SPECIFICALLY PROHIBITED BY LAW, SUCH CREDIT SHALL BE YOUR SOLE AND EXCLUSIVE REMEDY FOR AN INTERRUPTION OF THE SERVICE. </strong>
    Any credits provided by Comcast are at our sole discretion and in no event shall constitute or be construed as a course of conduct by Comcast.
</p>
<p>
    <strong>f. Third Parties.</strong>
    Notwithstanding anything to the contrary in this Agreement, you acknowledge and understand that we may use third parties to provide components of the
    Service including, without limitation, their services, equipment, infrastructure or content. Comcast is not responsible for the performance (or
    non-performance) of third-party services, equipment, infrastructure or content whether or not they constitute components of the Service. Comcast shall not
    be bound by any undertaking, representation or warranty made by an agent or employee of Comcast or of our underlying third-party providers and suppliers in
    connection with the installation, maintenance, or provision of the Service if that undertaking, representation or warranty is inconsistent with the terms
    of this Agreement. In addition, you understand that you will have access to the services and content of third parties through the Service including without
    limitation that of content providers (whether or not accessible directly from the Service). Comcast is not responsible for any services, equipment,
    infrastructure and content that are not provided by us (even if they are components of the Service), and we shall have no liability with respect to such
    services, equipment, infrastructure, and content. You should address questions or concerns relating to such services, equipment, infrastructure, and
    content to the providers of such services, equipment, infrastructure, and content. We do not endorse or warrant any third-party products, services, or
    content that are distributed or advertised over the Service.
</p>
<p>
    <strong>g. Damages.</strong>
    EXCEPT AS SPECIFICALLY PROVIDED IN THIS AGREEMENT, NEITHER COMCAST NOR ITS AFFILIATES, SUPPLIERS, EMPLOYEES, AGENTS, CONTRACTORS, DISTRIBUTORS, LICENSORS
    OR BUSINESS PARTNERS SHALL UNDER ANY CIRCUMSTANCES OR UNDER ANY LEGAL THEORY (INCLUDING, BUT NOT LIMITED TO, TORT OR CONTRACT) HAVE ANY LIABILITY TO THE
    CUSTOMER OR TO ANY OTHER PERSON OR ENTITY FOR THE FOLLOWING LOSSES, DAMAGES, OR COSTS:
</p>
<p>
    1. ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, TREBLE, PUNITIVE, EXEMPLARY, OR CONSEQUENTIAL LOSSES OR DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOSS OF
    PROFITS, LOSS OF EARNINGS, LOSS OF BUSINESS OPPORTUNITIES, PERSONAL INJURIES, OR DEATH) THAT RESULT DIRECTLY OR INDIRECTLY FROM OR IN CONNECTION WITH (a)
    YOUR RELIANCE ON OR USE OF THE XFINITY EQUIPMENT OR THE SERVICE OR (b) THE INSTALLATION, SELF-INSTALLATION, MAINTENANCE, FAILURE OR REMOVAL OF THE SERVICE
    (INCLUDING, BUT NOT LIMITED TO, ANY MISTAKES, OMISSIONS, INTERRUPTIONS, COMPUTER OR OTHER HARDWARE OR SOFTWARE BREACH, FAILURES OR MALFUNCTIONS, DELETION
    OR CORRUPTION OF FILES, WORK STOPPAGE, ERRORS, DEFECTS, DELAYS IN OPERATION, DELAYS IN TRANSMISSION, OR FAILURE OF PERFORMANCE OF THE SERVICE, THE XFINITY
    EQUIPMENT, OR THE CUSTOMER EQUIPMENT, OR ANY OTHER MISTAKES, OMISSIONS, LOSS OF CALL DETAIL, E-MAIL, VOICEMAIL, OR OTHER INFORMATION OR DATA); OR
</p>
<p>
    2. ANY LOSSES, CLAIMS, DAMAGES, EXPENSES, LIABILITIES, LEGAL FEES, OR OTHER COSTS THAT RESULT DIRECTLY OR INDIRECTLY FROM OR IN CONNECTION WITH ANY
    ALLEGATION, CLAIM, SUIT, OR OTHER PROCEEDING BASED UPON A CONTENTION THAT THE USE OF THE XFINITY EQUIPMENT OR THE SERVICE BY YOU OR ANY OTHER PERSON OR
    ENTITY INFRINGES UPON THE CONTRACTUAL RIGHTS, PRIVACY, CONFIDENTIALITY, COPYRIGHT, PATENT, TRADEMARK, TRADE SECRET, OR OTHER INTELLECTUAL PROPERTY RIGHTS
    OF ANY THIRD PARTY.
</p>
<p>
    <strong>h. Customer's Sole Remedies. </strong>
    Your sole and exclusive remedies under this Agreement are as expressly set forth in this Agreement. Certain of the above limitations may not apply if your
    state does not allow the exclusion or limitation of implied warranties or does not allow the limitation or exclusion of incidental or consequential
    damages. In those states, the liability of Comcast and its employees, affiliates, suppliers, agents, contractors, distributors, licensors and business
    partners is limited to the maximum extent permitted by law.
</p>
<p>
    <strong>i. Survival of Limitations. </strong>
    All representations, warranties, indemnifications, and limitations of liability contained in this Agreement shall survive the termination of this
    Agreement; any other obligations of the parties hereunder shall also survive, if they relate to the period before termination or if, by their terms, they
    would be expected to survive such termination.
</p>
<p>
    <strong>11. INDEMNIFICATION AND LIABILITY OF CUSTOMER</strong>
</p>
<p>
    YOU AGREE THAT YOU SHALL BE RESPONSIBLE FOR AND SHALL DEFEND, INDEMNIFY, AND HOLD HARMLESS COMCAST AND ITS EMPLOYEES, AFFILIATES, SUPPLIERS, AGENTS,
    CONTRACTORS, DISTRIBUTORS, LICENSORS AND BUSINESS PARTNERS AND SHALL REIMBURSE US FOR ANY DAMAGES, LOSSES OR EXPENSES (INCLUDING WITHOUT LIMITATION,
    REASONABLE ATTORNEYS' FEES AND COSTS) INCURRED BY US IN CONNECTION WITH ANY CLAIMS, SUITS, JUDGMENTS, AND CAUSES OF ACTION ARISING OUT OF (a) YOUR USE OF
    THE SERVICE OR XFINITY EQUIPMENT; (b) VIOLATION OR INFRINGEMENT OF CONTRACTUAL RIGHTS, PRIVACY, CONFIDENTIALITY, COPYRIGHT, PATENT, TRADEMARK, TRADE
    SECRET, OR OTHER INTELLECTUAL PROPERTY AND PROPRIETARY RIGHTS ARISING FROM YOUR USE OF THE SERVICE OR ANY UNAUTHORIZED APPARATUS OR SYSTEM; AND (c) YOUR
    BREACH OF ANY PROVISION OF THIS AGREEMENT.<strong></strong>
</p>
<p>
    <strong>12. BINDING ARBITRATION</strong>
</p>
<p>
    <strong>a. Purpose.</strong>
    If you have a Dispute (as defined below) with Comcast that cannot be resolved through an informal dispute resolution with Comcast, you or Comcast may elect
    to arbitrate that Dispute in accordance with the terms of this Arbitration Provision rather than litigate the Dispute in court. Arbitration means you will
    have a fair hearing before a neutral arbitrator instead of in a court by a judge or jury.
</p>
<p>
    <strong>b. Definitions.</strong>
    The term "Dispute" means any dispute, claim, or controversy between you and Comcast regarding any aspect of your relationship with Comcast, whether based
    in contract, statute, regulation, ordinance, tort (including, but not limited to, fraud, misrepresentation, fraudulent inducement, negligence, or any other
    intentional tort), or any other legal or equitable theory, and includes the validity, enforceability or scope of this Arbitration Provision (with the
    exception of the enforceability of the class action waiver clause provided in paragraph 12(e)(2)). "Dispute" is to be given the broadest possible meaning
    that will be enforced. As used in this Arbitration Provision, "Comcast" means Comcast and its parents, subsidiaries and affiliated companies and each of
    their respective officers, directors, employees and agents.
</p>
<p>
    <strong>c. Initiation of Arbitration Proceeding/Selection of Arbitrator.</strong>
    If you or Comcast elect to resolve your Dispute through arbitration pursuant to this Arbitration Provision, the party initiating the arbitration proceeding
may open a case with the American Arbitration Association - Case Filing Services, 1101 Laurel Oak Road, Suite 100, Voorhees, NJ 08043, 877-493-4185,    <u>www.adr.org</u> under the Commercial Arbitration Rules of the American Arbitration Association "AAA."
</p>
<p>
    <strong>d. Arbitration Procedures.</strong>
    Because the Service(s) provided to you by Comcast concerns interstate commerce, the Federal Arbitration Act ("FAA"), not state arbitration law, shall
    govern the arbitrability of all Disputes. However, applicable federal law or the law of the state where you receive the service from Comcast may apply to
    and govern the substance of any Disputes. Any state statutes pertaining to arbitration shall not be applicable under this Arbitration Provision.
</p>
<p>
    If there is a conflict between this Arbitration Provision and the rules of the arbitration organization chosen, this Arbitration Provision shall govern. If
    the arbitration organization that you select will not enforce this Arbitration Provision as written, it cannot serve as the arbitration organization to
    resolve your dispute with Comcast. If this situation arises, the parties shall agree on a substitute arbitration organization. If the parties are unable to
    agree, the parties shall mutually petition a court of appropriate jurisdiction to appoint an arbitration organization that will enforce this Arbitration
    Provision as written. If there is a conflict between this Arbitration Provision and the rest of this Agreement, this Arbitration Provision shall govern.
</p>
<p>
    A single arbitrator will resolve the Dispute. You should know that participating in arbitration may result in limited discovery depending on the rules of
    the arbitration organization that is chosen to resolve the Dispute. The arbitrator will honor claims of privilege recognized by law and will take
    reasonable steps to protect customer account information and other confidential or proprietary information.
</p>
<p>
    The arbitrator will make any award in writing but need not provide a statement of reasons unless requested by a party. An award rendered by the arbitrator
    may be entered in any court having jurisdiction over the parties for purposes of enforcement.
</p>
<p>
    If an award granted by the arbitrator exceeds $75,000, either party can appeal that award to a three-arbitrator panel administered by the same arbitration
    organization by a written notice of appeal filed within thirty (30) days from the date of entry of the written arbitration award. The members of the
    three-arbitrator panel will be selected according to the rules of the arbitration organization. The arbitration organization will then notify the other
    party that the award has been appealed. The three-arbitrator panel will issue its decision within one hundred and twenty (120) days of the date of the
    appealing party's notice of appeal. The decision of the three-arbitrator panel shall be final and binding, except for any appellate right which exists
    under the FAA.
</p>
<p>
    <strong>e. Restrictions:</strong>
</p>
<p>
    1. YOU MUST CONTACT US WITHIN ONE (1) YEAR OF THE DATE OF THE OCCURRENCE OF THE EVENT OR FACTS GIVING RISE TO A DISPUTE OR YOU WAIVE THE RIGHT TO PURSUE
    ANY CLAIM BASED UPON SUCH EVENT, FACTS, OR DISPUTE.
</p>
<p>
    2. ALL PARTIES TO THE ARBITRATION MUST BE INDIVIDUALLY NAMED. THERE SHALL BE NO RIGHT OR AUTHORITY FOR ANY CLAIMS TO BE ARBITRATED OR LITIGATED ON A CLASS
    ACTION OR CONSOLIDATED BASIS OR ON BASES INVOLVING CLAIMS BROUGHT IN A PURPORTED REPRESENTATIVE CAPACITY ON BEHALF OF THE GENERAL PUBLIC (SUCH AS A PRIVATE
    ATTORNEY GENERAL), OTHER SUBSCRIBERS, OR OTHER PERSONS SIMILARLY SITUATED UNLESS THE STATUTE UNDER WHICH YOU ARE SUING PROVIDES OTHERWISE.
</p>
<p>
    3. ALL PARTIES WAIVE ANY CLAIM TO INDIRECT, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR MULTIPLIED DAMAGES ARISING FROM OR OUT OF ANY DISPUTE WITH COMCAST
    UNLESS THE STATUTE UNDER WHICH THEY ARE SUING PROVIDES OTHERWISE.
</p>
<p>
    <strong>f. Location of Arbitration.</strong>
    The arbitration will take place at a location convenient to you in the area where you receive the Service from us.
</p>
<p>
    <strong>g. Payment of Arbitration Fees and Costs.</strong>
    COMCAST WILL ADVANCE ALL ARBITRATION FILING FEES AND ARBITRATOR'S COSTS AND EXPENSES UPON YOUR WRITTEN REQUEST GIVEN PRIOR TO THE COMMENCEMENT OF THE
    ARBITRATION. YOU ARE RESPONSIBLE FOR ALL ADDITIONAL COSTS THAT YOU INCUR IN THE ARBITRATION, INCLUDING, BUT NOT LIMITED TO, ATTORNEYS OR EXPERT WITNESSES.
    IF THE ARBITRATION PROCEEDING IS DECIDED IN COMCAST'S FAVOR, YOU SHALL REIMBURSE COMCAST FOR THE FEES AND COSTS ADVANCED TO YOU ONLY UP TO THE EXTENT
    AWARDABLE IN A JUDICIAL PROCEEDING. IF THE ARBITRATION PROCEEDING IS DETERMINED IN YOUR FAVOR, YOU WILL NOT BE REQUIRED TO REIMBURSE COMCAST FOR ANY OF THE
    FEES AND COSTS ADVANCED BY COMCAST. IF A PARTY ELECTS TO APPEAL AN AWARD TO A THREE-ARBITRATOR PANEL, THE PREVAILING PARTY IN THE APPEAL SHALL BE ENTITLED
    TO RECOVER ALL REASONABLE ATTORNEYS' FEES AND COSTS INCURRED IN THAT APPEAL. NOTWITHSTANDING ANYTHING TO THE CONTRARY IN THIS ARBITRATION PROVISION,
    COMCAST WILL PAY ALL FEES AND COSTS THAT IT IS REQUIRED BY LAW TO PAY.
</p>
<p>
    <strong>h. Severability.</strong>
    If any clause within this Arbitration Provision (other than the class action waiver clause identified in paragraph 12(e)(2)) is found to be illegal or
    unenforceable, that clause will be severed from this Arbitration Provision, and the remainder of this Arbitration Provision will be given full force and
    effect. If the class action waiver clause is found to be illegal or unenforceable, the entire Arbitration Provision will be unenforceable, and the dispute
    will be decided by a court.
</p>
<p>
    In the event this entire Arbitration Provision is determined to be illegal or unenforceable for any reason, or if a claim is brought in a Dispute that is
    found by a court to be excluded from the scope of this Arbitration Provision, you and Comcast have each agreed to waive, to the fullest extent allowed by
    law, any trial by jury.
</p>
<p>
    <strong>i. Exclusions from Arbitration. </strong>
    YOU AND COMCAST AGREE THAT THE FOLLOWING WILL NOT BE SUBJECT TO ARBITRATION: (1) ANY CLAIM FILED BY YOU OR BY COMCAST THAT IS NOT AGGREGATED WITH THE CLAIM
    OF ANY OTHER SUBSCRIBER AND WHOSE AMOUNT IN CONTROVERSY IS PROPERLY WITHIN THE JURISDICTION OF A COURT THAT IS LIMITED TO ADJUDICATING SMALL CLAIMS; (2)
    ANY DISPUTE OVER THE VALIDITY OF ANY PARTY'S INTELLECTUAL PROPERTY RIGHTS; (3) ANY DISPUTE RELATED TO OR ARISING FROM ALLEGATIONS ASSOCIATED WITH
    UNAUTHORIZED USE OR RECEIPT OF SERVICE; (4) ANY DISPUTE THAT ARISES BETWEEN COMCAST AND ANY STATE OR LOCAL REGULATORY AUTHORITY OR AGENCY THAT IS EMPOWERED
    BY FEDERAL, STATE, OR LOCAL LAW TO GRANT A FRANCHISE UNDER 47 U.S.C. &#167; 522(9); AND (5) ANY DISPUTE THAT YOU PURSUE BEFORE THE LOCAL FRANCHISE
    AUTHORITY UNDER THE TERMS OF THE FRANCHISE.
</p>
<p>
    <strong>j. Continuation. </strong>
    This Arbitration Provision shall survive the termination of your Service with Comcast.
</p>
<p>
    <strong>13. CUSTOMER PRIVACY NOTICE AND SECURITY</strong>
</p>
<p>
    <strong>a.</strong>
    You can view the most current version of our privacy notice by going to www.comcast.com/customerprivacy.
</p>
<p>
    <strong>b.</strong>
    To the extent Comcast is expressly required to do so by applicable law, we will provide notice to you of a breach of the security of certain personally
    identifiable information about you. It is Comcast's information security policy to provide such notice to you in the manner set forth in Section 15.
</p>
<p>
    <strong>14. GENERAL</strong>
</p>
<p>
    <strong>a. Entire Agreement. </strong>
    This Agreement and any other documents incorporated by reference constitute the entire agreement and understanding between you and Comcast with respect to
    the subject matter of this Agreement, and replace any and all prior written or verbal agreements. If any portion of this Agreement is held to be
    unenforceable, the unenforceable portion shall be construed in accordance with applicable law as nearly as possible to reflect the original intentions of
    the parties, and the remainder of the provisions shall remain in full force and effect. Comcast does not waive any provision or right if it fails to insist
    upon or enforce strict performance of any provision of this Agreement. Neither the course of conduct between you and Comcast nor trade practice shall act
    to modify any provision of this Agreement.
</p>
<p>
    <strong>b. Additional Representations and Warranties. </strong>
    In addition to representations and warranties you make elsewhere in this Agreement, you also represent and warrant that:
</p>
<p>
    <strong>i. Age:</strong>
    You are at least 18 years of age.
</p>
<p>
    <strong>ii. Customer Information:</strong>
    During the term of this Agreement, you have provided and will provide to Comcast information that is accurate, complete and current, including without
    limitation your legal name, address, the number of devices on which or through the Service is being used. You agree to notify us promptly, in accordance
    with the terms of this Agreement, if there is any change in the information that you have provided to us. Failure to provide and maintain accurate
    information is a breach of this Agreement.
</p>
<p>
    <strong>c. Information Provided to Third Parties.</strong>
    Comcast is not responsible for any information provided by you to third parties, and this information is not subject to the privacy provisions of this
    Agreement or the privacy notice for the Service. You assume all privacy, security, and other risks associated with providing any information, including
    CPNI or personally identifiable information, to third parties via the Service. For a description of the privacy protections associated with providing
    information to third parties, you should refer to the privacy policies, if any, provided by those third parties.
</p>
<p>
    <strong>d. Revocable License.</strong>
    The Service and Xfinity Equipment, including, but not limited to, any firmware or software embedded in or used to provide the Service, are protected by
    trademark, copyright, patent and/or other intellectual property laws and international treaty provisions. You are granted a revocable license to use such
    firmware and software in object code form (without making any modification thereto) strictly in accordance with this Agreement. You acknowledge and
    understand that you are not granted any other license to use the firmware or software embedded in or used to provide the Service. You shall not take any
    action nor allow anyone else to take any action that will reverse compile, disassemble, reverse engineer, or otherwise attempt to derive the source code
    from the binary code of the firmware or software.
</p>
<p>
    <strong>e. Protection of Comcast's Information and Marks.</strong>
    All Service information, documents, and materials on our websites are protected by trademark, copyright or other intellectual property laws, and
    international treaty provisions. All websites, corporate names, service marks, trademarks, trade names, logos, and domain names (collectively "marks") of
    Comcast and its affiliates are and shall remain the exclusive property of Comcast. Nothing in this Agreement shall grant you the right or license to use
    any of the marks.
</p>
<p>
    <strong>f. Export Laws.</strong>
    You expressly agree to comply with all applicable export and re-export laws, including, but not limited to, the Export Administration Act, the Arms Export
    Control Act, and their implementing regulations. You further expressly agree not to use the Service in any way that violates any provision of such laws or
    their implementing regulations.
</p>
<p>
    <strong>g. Retention of Rights. </strong>
    Nothing contained in this Agreement shall be construed to limit Comcast's rights and remedies available at law or in equity. Upon termination of this
    Agreement for any reason, Comcast and its suppliers reserve the right to delete all your data, files, electronic messages or other Customer information
    that is stored on Comcast's or its suppliers' servers or systems. In addition, you may forfeit your account user name and all e-mail, IP and Web space
    addresses, and voice mail. We shall have no liability whatsoever as the result of the loss of any such data, names, addresses, or numbers.
</p>
<p>
    <strong>15. NOTICE METHOD FOR CHANGES TO THIS AGREEMENT </strong>
</p>
<p>
    We will provide you notice of changes to this Agreement consistent with applicable law. If you find the change unacceptable, you have the right to cancel
    your Service. However, if you continue to receive Service after the change, we will consider this your acceptance of the change.
</p>
<p>
    Comcast may deliver any required or desired notice to you in any of the following ways, as determined in our sole discretion: (1) by posting it on
    xfinityprepaid.com or another website about which you have been notified, (2) by sending notice via first class U.S. postal mail or overnight mail to your
    Premises; (3) by sending notice to the e-mail address on Comcast's account records, or (4) by hand delivery. You agree that any one of the foregoing will
    constitute sufficient notice and you waive any claims that these forms of notice are insufficient or ineffective. Because we may from time to time notify
    you about important information regarding the Service and this Agreement by these methods, you agree to regularly check your postal mail, e-mail and all
    postings at xfinityprepaid.com or on another website about which you have been notified or you bear the risk of failing to do so.
</p>
<p>
    <strong><u>ADDITIONAL PROVISIONS APPLICABLE TO THE SERVICE</u></strong>
</p>
<p>
    <strong>1. INTELLECTUAL PROPERTY RIGHTS</strong>
</p>
<p>
    <strong>a. End User Licenses. </strong>
    You agree to comply with the terms and conditions of all end user license agreements accompanying any software or plug-ins to such software distributed or
    used in connection with the Service including, without limitation, the Comcast Software License Agreement, www.comcast.com/termsofservice/agreement.html,
    as these agreements may be amended from time to time. All such agreements are incorporated in this Agreement by reference. When this Agreement terminates,
    all end user licenses also terminate; you agree to destroy at that time all versions and copies of all software received by you in connection with the
    Service.
</p>
<p>
    <strong>b. Ownership of Addresses. </strong>
    You acknowledge that use of the Service does not give you any ownership or other rights in any Internet/on-line addresses provided to you, including, but
    not limited to, Internet Protocol ("IP") addresses, e-mail addresses, and Web addresses. We may modify or change these addresses at any time without notice
    and shall in no way be required to compensate you for these changes. Upon termination of the Service, we reserve the right permanently to delete or remove
    any or all addresses associated with the account.
</p>
<p>
    <strong>c. Authorization. </strong>
    Comcast does not claim any ownership of any material that you publish, transmit or distribute using the Service. By using the Service to publish, transmit,
    or distribute material or content, you (1) warrant that the material or content complies with the provisions of this Agreement, (2) consent to and
    authorize Comcast, its agents, suppliers, and affiliates to reproduce, publish, distribute, and display the content worldwide and (3) warrant that you have
    the right to provide this authorization. You acknowledge that material posted or transmitted using the Service may be copied, republished or distributed by
    third parties, and you agree to indemnify, defend, and hold harmless Comcast, its agents, suppliers, and affiliates for any harm resulting from these
    actions.
</p>
<p>
    <strong>d. Copyright. </strong>
    Title and intellectual property rights to the Service are owned by Comcast, its agents, suppliers, or affiliates or their licensors or otherwise by the
    owners of such material and are protected by copyright laws and treaties. You may not copy, redistribute, resell, or publish any part of the Service
    without any required express prior written consent from Comcast or other owner of such material.
</p>
<p>
    <strong>e. Material Downloaded Through the Service.</strong>
    In addition to any content that may be provided by us, you may access material through the Service that is not owned by Comcast. Specific terms and
    conditions may apply to your use of any content or material made available through HSI that is not owned by Comcast. You should read those terms and
    conditions to learn how they apply to you and your use of any non-Comcast content.
</p>
<p>
    <strong>2. ADDITIONAL LIMITATIONS ON COMCAST'S LIABILITY FOR THE SERVICE</strong>
</p>
<p>
    <strong>a. Responsibility for Content. </strong>
    You acknowledge that there is some content and material on the Internet or otherwise available through the Service that may be offensive to some
    individuals, may be unsuitable for children, may violate federal, state or local laws, rules or regulations, or may violate your protected rights or those
    of others. We assume no responsibility for this content or material. Anyone who accesses such content and material does so at his or her own risk. NEITHER
    COMCAST NOR ITS AFFILIATES, SUPPLIERS, EMPLOYEES, AGENTS OR CONTRACTORS SHALL HAVE ANY LIABILITY WHATSOEVER FOR ANY CLAIMS, LOSSES, ACTIONS, DAMAGES,
    SUITS, OR PROCEEDINGS ARISING OUT OF OR OTHERWISE RELATING TO ACCESS TO SUCH CONTENT OR MATERIAL BY YOU OR OTHERS. Questions or complaints regarding
    content or material should be addressed to the content or material provider. You acknowledge that software programs are commercially available that claim
    to be able to restrict access to sexually explicit or other objectionable material on the Internet. We make no representation or warranty regarding the
    effectiveness of such programs.
</p>
<p>
    <strong>b. Eavesdropping. </strong>
    The public Internet is used by numerous persons or entities including, without limitation, other subscribers to the Service. As is the case with all shared
    networks like the public Internet, there is a risk that you could be subject to "eavesdropping." This means that other persons or entities may be able to
    access and/or monitor your use of the Service. If you post, store, transmit, or disseminate any sensitive or confidential information, you do so at your
    sole risk. NEITHER COMCAST NOR ITS AFFILIATES, SUPPLIERS, OR AGENTS SHALL HAVE ANY LIABILITY WHATSOEVER FOR ANY CLAIMS, LOSSES, ACTIONS, DAMAGES, SUITS, OR
    PROCEEDINGS ARISING OUT OF OR OTHERWISE RELATING TO SUCH ACTIONS BY YOU. You acknowledge that software programs are commercially available that claim to be
    capable of encryption or anonymization. We make no representation or warranty regarding the effectiveness of these programs.
</p>
<p>
    <strong>c. FTP/HTTP Service Setup.</strong>
    You acknowledge that when using the Service there are certain applications such as FTP (File Transfer Protocol) or HTTP (Hyper Text Transfer Protocol) that
    may be used by other persons or entities to gain access to Customer's Equipment. You are solely responsible for the security of the Customer Equipment or
    any other equipment you choose to use in connection with the Service, including without limitation any data stored on such equipment. NEITHER COMCAST NOR
    ITS AFFILIATES, SUPPLIERS, EMPLOYEES, AGENTS, OR CONTRACTORS SHALL HAVE ANY LIABILITY WHATSOEVER FOR ANY CLAIMS, LOSSES, ACTIONS, DAMAGES, SUITS OR
    PROCEEDINGS RESULTING FROM, ARISING OUT OF, OR OTHERWISE RELATING TO THE USE OF SUCH APPLICATIONS BY YOU, OR THE ACCESS BY OTHERS TO THE CUSTOMER EQUIPMENT
    OR OTHER EQUIPMENT OF YOURS.
</p>
<p>
    <strong>d. Facilities Allocation.</strong>
    Comcast reserves the right to determine, in its discretion, and on an ongoing basis, the nature and extent of its facilities allocated to support the
    Service, including, but not limited to, the amount of bandwidth to be utilized and delivered in conjunction with the Service.
</p>

<SCRIPT language=3DJavaScript type=3Dtext/javascript=20
src=3D"http://www.comcast.com/Includes/omniture/s_code.js" xmlns=3D""=20
xmlns:msxsl=3D"http://www.w3.org/1999/xhtml">&nbsp;</SCRIPT>
<!--to hold the value of channel field in omniture section --><!--to =
hold the value of evar20 field in omniture section --><!--to hold the =
value of evar21 field in omniture section --><!--to hold the value of =
events field in omniture section --><!--to hold the value of hier1 field =
in omniture section --><!--to hold the value of hier2 field in omniture =
section --><!--to hold the value of pagename field in omniture section =
--><!--to hold the value of prop2 field in omniture section --><!--to =
hold the value of prop31 field in omniture section --><!--to hold the =
value of prop32 field in omniture section --><!--to hold the value of =
prop34 field in omniture section --><!--to hold the value of prop35 =
field in omniture section --><!--to hold the value of prop36 field in =
omniture section -->
<SCRIPT language=3DJavaScript type=3Dtext/javascript>=20
   function checkForNullOrEmpty(s) {
        if (s !=3D null) {
            if (s !=3D "") {
                return true;
            }
        }
        return false;
    }
    s.prop31 =3D "";
    s.prop50 =3D GetCookie('UserID');
    s.events =3D "";=20
    /* Localization variables */
    var zip =3D GetCookie("Serviceability", "Zip");
    s.prop4 =3D (checkForNullOrEmpty(zip)) ? zip.substring(0, 5) : ""; =
// Zipcode

    var corpNameOmniture =3D GetCookie("Serviceability", "CorpName");
    s.prop7 =3D ""; // Default prop7 to empty
    if (corpNameOmniture) {
        // Remove the XSLT escape character for a space, and any commas =
in the name (this is the same way HBX does this).
        corpNameOmniture =3D corpNameOmniture.replace(/\&#160;/g, " ");
        corpNameOmniture =3D corpNameOmniture.replace(/,/g, '');
        s.prop7 =3D corpNameOmniture; //Corp name
    }


    var billSystem =3D GetCookie("Serviceability", "System"); // Billing =
system ID
    if (billSystem =3D=3D 1) {
        s.prop8 =3D "DST";

    }
    else if (billSystem =3D=3D 2) {
        s.prop8 =3D "CSG";

    }

    var houseStatus =3D GetCookie("Serviceability", "HFStatus");
    if (houseStatus =3D=3D 1) {
        s.prop10 =3D "Never House";

    }
    else if (houseStatus =3D=3D 2) {
        s.prop10 =3D "Active House";

    }
    else if (houseStatus =3D=3D 3) {
        s.prop10 =3D "Disconnected";

    }

    // Get localization type
    var sLocGUID =3D GetCookie("Serviceability", "GUID");
    var sPrevLocGUID =3D GetCookie("Serviceability", "PrevGUID");
    if (sLocGUID !=3D false || sPrevLocGUID !=3D false) {
        if (sLocGUID !=3D sPrevLocGUID) {
            // Check LocalizationType table to ensure that all =
localizations are covered
            sLocType =3D GetCookie("Serviceability", =
"LocalizationTypeID");
            switch (sLocType) {
                case "1":
                    s.eVar6 =3D "Address Type-In (DST Footprint)";
                    break;
                case "2":
                    s.eVar6 =3D "DST Account (Address)";
                    break;
                case "3":
                    s.eVar6 =3D "ZIP Code";
                    break;
                case "4":
                    s.eVar6 =3D "ZIP Code - User Picked Franchise";
                    break;
                case "5":
                    s.eVar6 =3D "DST Account (FranchiseMapID) - After =
G2B Failure";
                    break;
                case "9":
                    s.eVar6 =3D "Address Type-In (CSG Footprint)";
                    break;
                case "10":
                    s.eVar6 =3D "CSG Account (FranchiseMapID)";
                    break;
                case "12":
                    s.eVar6 =3D "CSG Account (Address)";
                    break;
                default:
                    s.eVar6 =3D "Unknown";
                    break;
            }
            SetCookie("Serviceability", "PrevGUID", sLocGUID);

            if (typeof (localizeValue) !=3D "undefined") {
                s.eVar19 =3D localizeValue;
            }
        }
    }
    else {
        if (GetCookie('AutoLocalized')) {
            s.eVar6 =3D "Unknown";
        }

    }
//setting the literal control value=20
    s.pageName=3D"corporate-legal-privacy statement"
    s.server=3D""
    s.channel=3D"customers"
    s.pageType=3D""
    s.prop1=3D""
    s.prop2=3D""
    s.prop3=3D""
    s.prop5=3D""
    s.prop6=3D""
    //s.prop7=3D""
    //s.prop8=3D""
    s.prop9=3D""
    //s.prop10=3D""
    s.prop11=3D""
    s.prop12=3D""
    s.prop13=3D""
    s.prop14=3D""
    s.prop16=3D""
    s.prop17=3D""
    s.prop19=3D""
    s.prop20=3D""
    s.prop24=3D""
    s.prop25=3D""
    s.prop26=3D""
    s.prop27=3D""
    s.prop28=3D""
    s.prop29=3D""
    s.prop30=3D""
    s.prop32=3D""
    s.prop34=3D""
    s.prop35=3D""
    s.prop36=3D"corporate"
    s.prop38=3D""
    s.prop39=3D""
    s.prop40=3D""
    s.prop42=3D""
    s.prop43=3D""
    s.prop44=3D""
    s.prop45=3D""
    s.prop46=3D""
    s.prop47=3D""
    s.prop48=3D""
    s.prop49=3D""
    // Conversion Variables=20
    s.campaign=3D""
    s.state=3D""
    s.zip=3D""
//    s.events=3D""
    s.products=3D""
    s.purchaseID=3D""
    s.eVar1=3D""
    s.eVar3=3D""
    s.eVar5=3D""
    s.eVar6=3D""
    s.eVar8=3D""
    s.eVar9=3D""
    s.eVar14=3D""
    s.eVar15=3D""
    s.eVar16=3D""
    s.eVar17=3D""
    s.eVar18=3D""
    s.eVar19=3D""
    s.eVar20=3D""
    s.eVar21=3D""
    s.eVar22=3D""
    s.eVar23=3D""
    s.eVar24=3D""
    s.eVar25=3D""
    s.eVar26=3D""
    s.eVar27=3D""
    s.eVar28=3D""
    s.eVar29=3D""
    s.eVar30=3D""
    s.eVar37=3D""
    s.eVar38=3D""
    s.eVar39=3D""
    s.eVar40=3D""
    s.eVar41=3D""
    s.eVar42=3D""
    s.eVar43=3D""
    s.eVar44=3D""
    s.eVar45=3D""
    s.eVar46=3D""
    s.eVar47=3D""
    s.eVar48=3D""
    s.eVar49=3D""
    s.eVar63 =3D"New Customer"
    // Hierarchy Variables=20
    s.hier1=3D""
    s.hier2=3D""
    var pageNameValue =3D s.pageName;
    if (typeof (pageNameValue) =3D=3D "undefined" || pageNameValue =
=3D=3D "") {
        var path =3D window.location.href;
        if (path.indexOf("?") !=3D -1) {
            path =3D path.substring(0, path.indexOf("?"));
        }
        var pageName =3D GetPageName(path);
        if (pageName =3D=3D "undefined" || pageName =3D=3D "") {
            s.pageName =3D path;
        }
        else {
            s.pageName =3D pageName;
        }=20
    }

    var CurrentUrl =3D document.location.href.split("?");
    var CurrentLocation =3D CurrentUrl[0];
  =20
    // Buyflow2 only
    var CurrentUrl =3D document.location.href.split("?");
    var CurrentLocation =3D CurrentUrl[0];
    if (CurrentLocation.toLowerCase().indexOf("shop/buyflow2/") !=3D -1) =
{
        if (document.getElementById("ExistingCustomerType")) {
            var ExistingCustomerType =3D =
document.getElementById("ExistingCustomerType").innerHTML;
            if (ExistingCustomerType) {
                if (ExistingCustomerType.toLowerCase() =3D=3D "false") {
                    s.prop12 =3D "New";
                }
                else if (ExistingCustomerType.toLowerCase() =3D=3D =
"true") {
                    s.prop12 =3D "Existing";

                }
            }
        }
        else if (GetCookie("omtr", "CookieExistingCustomerType")) {
            var ExistingCustomerType =3D GetCookie("omtr", =
"CookieExistingCustomerType");
            if (ExistingCustomerType.toLowerCase() =3D=3D "false") {
                s.prop12 =3D "New";

            }
            else if (ExistingCustomerType.toLowerCase() =3D=3D "true") {
                s.prop12 =3D "Existing";

            }
        }
        var omnitureEntMarketName =3D GetCookie("Serviceability", =
"EnterpriseMarketName");
        omnitureEntMarketName =3D omnitureEntMarketName.replace(/^\s+/, =
'').replace(/\s+$/, '');

    }
    // Search tracking
    if (queryString("fss") !=3D undefined) {

        SetCookie("omtr", "fss", queryString("fss"));
    }
    /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! =
**************/
    var s_code =3D s.t(); if (s_code) document.write(s_code)
   =20
    </SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript xmlns=3D""=20
xmlns:msxsl=3D"http://www.w3.org/1999/xhtml">
    if (navigator.appVersion.indexOf('MSIE') !=3D -1) =
document.write(unescape('%3C') + '\!-' + '-')
    /* DO NOT REMOVE */
    /* End SiteCatalyst code version: H.14. */
    if (navigator.appVersion.indexOf('MSIE') !=3D -1) =
document.write('--' + unescape('%3E'))
	</SCRIPT>
</DIV></DIV></FORM></BODY></HTML>

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.comcast.com/MediaLibrary/1/1/Common/Buttons/Gray%20Standard/CloseWindow.gif

R0lGODlhcAAZAOYAAPT09Ozs7PLy8vb29vj4+FBQUE9PT1tbW5WVlZeXl4qKimZmZpOTk+Pj43Fx
caGhod7e3sLCwmhoaN3d3Z+fn1xcXKSkpH19fXNzc8rKyn9/f4uLi5aWlnR0dMXFxeDg4JSUlJiY
mKKiopKSkoyMjH5+fq+vr6CgoOjo6FpaWr+/v3x8fK6uruHh4dfX17S0tM/Pz9bW1nJycmdnZ9TU
1Kurq7y8vKqqqomJidLS0qOjo4iIiNnZ2cfHx4CAgIeHh7i4uKysrLm5uc7Ozu7u7vDw8ERERP7+
/vv7++np6f39/fr6+ufn5+bm5urq6uXl5czMzP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAAAAAALAAAAABwABkAAAf/gFCCg4SFhoeIiYqLjI2OiFGRkpOUlZaXmJmam5ydlIKeoaKjpKWf
UKapqquloKyvsLGSgke1tre4ubq7vL2+v8DBuIJKxcbHyMnKy8zNzs/Q0ciCSNXW19jZ2tvc3d7f
4OHYgkvl5ufo6err7O3u7/Dx6IIE9fb3+DQdRkYkBAFGQtwLsM+IBBv1LPDr8IFACH78JNgjUaBe
gYoECpDwUfFiAIdGAjzkVwEhARoSFn74YMQCAYUuFTbER7OeoAE4c+rU6aRAggEQKuhwYuRnTgkY
nAzYUAAChKJPNwxIUGAnThNGIGA10iOHERMaqhYwomGqESdUcVJ1AqGAVCcY/yQMqCC1ghEMAzRU
sMoXpyAAgAMLFiyiwGAURjgE9mDEQ+ACIiYYOSAiMAfDgwFIZqHgwAEFLIxMCAvgohEhHIyguAwY
MYvCixt3loxB9OfMuAELEsC7t2/fCAr8bmIEQW8gRmD0nlFCAAKID5xDLO67QGcEnTsLKCG8QIkZ
B543Cd67wAPyvIk/eGDkQQEY7Y0E+U3ft6Ai+PPr13/CwP4nRoCQXwRGRJCfASfg9wQIBvjH4H75
yXBAgTUYYQAORVzgnwEXDGGhEQv6VwSANfQ3YIEEHiBDEQcYYAQPEMaInyBE1GjjjTc2YAADRLhw
AAMNGMGjjQss0AAROxjgwv8NRlBAxAIHEMGAATjaSIGFNbp4AxEaEsGhlPw0MGWNFBjQgAtfNuDA
Alk2ScSVUVYpZ42CBGDnnXjmmcEC/KwQQAvTGZFBCw7ws8ALdo7ATwoZBKAoRAbgqYIRDthZaAwB
rBCpAX4GkIIRLTxqRAqIBrAnPw5gGkChKgQw6Q95xpqnIE7UauutuOaq66689urrr8AGi6sgSRRr
7LHIJqvsssw26+yz0EaLrCBMVGvttdhmq+223Hbr7bfghoutIE2Ua+656Kar7rrstuvuu/DGi64g
T9Rr77345qvvvvz26++/AAeML70CF2zwwQgnfC/BCjfs8MMHMwzxxBRX/MQKIxhnrPHGHCMSCAA7

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Location: http://www.comcast.com/layouts/System/VisitorIdentification.aspx

.sc_visitor {
	
}

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/includes/css/comcast_menu_top.css

UL#topLinks {
	Z-INDEX: 200; POSITION: absolute; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: =
none; MARGIN: 0px 8px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
TOP: 14px; RIGHT: 0px; PADDING-TOP: 0px
}
UL#topLinks LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: =
0px; FLOAT: left; HEIGHT: 10px; PADDING-TOP: 0px
}
UL#topMenu {
	Z-INDEX: 200; POSITION: absolute; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: =
none; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; TOP: 34px; =
RIGHT: 0px; PADDING-TOP: 0px
}
UL#topMenu LI {
	MARGIN: 0px; WIDTH: 108px; BACKGROUND: url(/images/dot.gif) no-repeat; =
FLOAT: left
}
UL#topMenu LI A {
	MARGIN: 11px 0px 10px; WIDTH: 108px; DISPLAY: block; OVERFLOW: hidden; =
CURSOR: default
}
UL#topMenu LI A[href] {
	CURSOR: pointer
}
UL#topMenu LI UL {
	BORDER-BOTTOM: #fff 1px solid; POSITION: absolute; BORDER-LEFT: #fff =
1px solid; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 202px; PADDING-RIGHT: 0px; DISPLAY: none; TOP: =
38px; LIST-STYLE-IMAGE: none; BORDER-RIGHT: #fff 1px solid; PADDING-TOP: =
8px
}
UL#topMenu LI UL LI {
	WIDTH: 202px; MARGIN-LEFT: 0px; CLEAR: left; FONT-SIZE: 12px; CURSOR: =
pointer; FONT-WEIGHT: bold
}
UL#topMenu LI LI A {
	BORDER-BOTTOM: #fff 1px solid; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 6px; WIDTH: 190px; PADDING-RIGHT: 6px; HEIGHT: 19px; =
COLOR: #ffffff; CURSOR: pointer; PADDING-TOP: 5px
}
UL#topMenu LI LI A:hover {
	BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none
}
UL#topMenu LI:hover UL {
	DISPLAY: block
}
UL#topMenu LI.sfhover UL {
	DISPLAY: block
}
UL#topMenu LI.searchBox {
	MARGIN: 0px; WIDTH: 135px
}
UL#topMenu LI.searchGo {
	POSITION: relative; MARGIN: 0px; WIDTH: 39px
}
UL#topMenu LI.searchGo IMG {
	MARGIN: 10px 0px; DISPLAY: block; OVERFLOW: hidden
}
UL#topMenu LI.searchGo UL {
	BACKGROUND-COLOR: #666666; WIDTH: 173px; RIGHT: 0px
}
UL#topMenu LI.searchGo LI {
	WIDTH: 169px
}
UL#topMenu LI.searchGo LI A {
	WIDTH: 158px
}
UL#topMenu LI.searchGo LI A:hover {
	COLOR: #444444
}
UL#topMenu IMG {
	BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; BORDER-TOP: 0px =
solid; BORDER-RIGHT: 0px solid
}
UL#topMenu FORM#menuSearch {
	POSITION: relative; BACKGROUND-COLOR: #ffffff; MARGIN: 9px 0px 0px; =
WIDTH: 135px; DISPLAY: block; HEIGHT: 27px; TOP: 0px; RIGHT: 0px
}
UL#topMenu INPUT#searchField {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #ffffff; MARGIN: 14px 7px auto; =
PADDING-LEFT: 5px; WIDTH: 120px; PADDING-RIGHT: 0px; HEIGHT: 16px; =
COLOR: #444444; FONT-SIZE: 11px; BORDER-TOP: #cccccc 1px solid; =
BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px; _margin-right: 1px
}
UL#topMenu INPUT.searchField {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #ffffff; MARGIN: 14px 7px auto; =
PADDING-LEFT: 5px; WIDTH: 120px; PADDING-RIGHT: 0px; HEIGHT: 16px; =
COLOR: #444444; FONT-SIZE: 11px; BORDER-TOP: #cccccc 1px solid; =
BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px; _margin-right: 1px
}
UL#topMenu LI.ExploreItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.ExploreItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.ProgrammingItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.ProgrammingItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.ShopItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.ShopItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.CustomersItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.CustomersItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.AboutItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.AboutItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.Digital_TVItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.Digital_TVItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.InternetItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.InternetItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.TelefonoItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.TelefonoItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.PaquetesItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.PaquetesItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.Servicio_al_ClienteItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.Servicio_al_ClienteItem LI A:hover {
	COLOR: #444444
}
DIV#homeSpanishLink {
	MARGIN-TOP: 16px; FONT-FAMILY: Arial; FLOAT: right; COLOR: #444444; =
FONT-SIZE: 11px
}

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/css/comcast_main.css

@import url( /includes/css/comcast_menu_top.css );
BODY {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; MARGIN: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; COLOR: #444444; FONT-SIZE: 12px; PADDING-TOP: 25px
}
BODY.has-global-nav {
	PADDING-TOP: 127px
}
BODY.no-sub-nav {
	PADDING-TOP: 50px
}
HTML {
	HEIGHT: 100%
}
BODY {
	HEIGHT: 100%
}
.wrapper {
	HEIGHT: 100%
}
A {
	COLOR: #3459f5; TEXT-DECORATION: none
}
SUP {
	LINE-HEIGHT: 75%; FONT-SIZE: 75%
}
A:hover {
	TEXT-DECORATION: underline
}
A.anchor {
	COLOR: #444444 !important; TEXT-DECORATION: none !important
}
A.anchor:hover {
	COLOR: #444444 !important; TEXT-DECORATION: none !important
}
SPAN.swfObject {
	OVERFLOW: hidden
}
FORM {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-TOP: 0px; LEFT: 0px
}
LABEL {
	COLOR: #444444; FONT-SIZE: 14px
}
INPUT.inputText {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 4px; WIDTH: 165px; PADDING-RIGHT: =
3px; HEIGHT: 19px; COLOR: #444444; FONT-SIZE: 14px; BORDER-TOP: #999999 =
1px solid; BORDER-RIGHT: #999999 1px solid; PADDING-TOP: 3px
}
INPUT.textField {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 4px; WIDTH: 165px; PADDING-RIGHT: =
3px; HEIGHT: 19px; COLOR: #444444; FONT-SIZE: 14px; BORDER-TOP: #999999 =
1px solid; BORDER-RIGHT: #999999 1px solid; PADDING-TOP: 3px
}
TEXTAREA {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 4px; PADDING-RIGHT: 3px; FONT-FAMILY: =
Arial, Helvetica, sans-serif; COLOR: #444444; FONT-SIZE: 14px; =
BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px solid; =
PADDING-TOP: 3px
}
SELECT {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
WIDTH: auto; HEIGHT: 19px; COLOR: #444444; FONT-SIZE: 14px; BORDER-TOP: =
#999999 1px solid; BORDER-RIGHT: #999999 1px solid
}
SELECT {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; HEIGHT: =
auto; PADDING-TOP: 0px
}
HR {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BACKGROUND-COLOR: #eee; MARGIN: =
0px; HEIGHT: 2px; COLOR: #eee; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
DIV#main {
	POSITION: relative; MARGIN: 0px auto; WIDTH: 965px
}
DIV#popupMain {
	POSITION: relative; MARGIN: 25px auto 0px; WIDTH: 685px; COLOR: =
#444444; FONT-SIZE: 14px
}
DIV#top {
	Z-INDEX: 100; POSITION: relative; WIDTH: 965px; HEIGHT: 72px; LEFT: 8px
}
IMG#logo {
	BORDER-BOTTOM: 0px; POSITION: relative; BORDER-LEFT: 0px; BORDER-TOP: =
0px; TOP: 20px; BORDER-RIGHT: 0px
}
DIV#hozRule {
	POSITION: absolute; BACKGROUND-COLOR: #eee; WIDTH: 965px; HEIGHT: 2px; =
FONT-SIZE: 0px; TOP: 73px; LEFT: 0px
}
BODY.has-global-nav DIV#hozRule {
	DISPLAY: none
}
DIV#callIn {
	POSITION: absolute; COLOR: #444444; FONT-SIZE: 12px; TOP: 118px; RIGHT: =
0px
}
DIV#callInTwoLine {
	POSITION: absolute; COLOR: #444444; FONT-SIZE: 12px; TOP: 118px; RIGHT: =
0px
}
DIV#callInAlternate {
	POSITION: absolute; COLOR: #444444; FONT-SIZE: 12px; TOP: 90px; RIGHT: =
0px
}
DIV#topInfoNav {
	Z-INDEX: 250; POSITION: absolute; TOP: 0px; RIGHT: 0px
}
DIV#locationInfo {
	MARGIN-TOP: 16px; DISPLAY: none; FONT-FAMILY: Arial; FLOAT: right; =
COLOR: #444444; FONT-SIZE: 11px
}
DIV#locationInfoEs {
	MARGIN-TOP: 16px; DISPLAY: none; FONT-FAMILY: Arial; FLOAT: right; =
COLOR: #444444; FONT-SIZE: 11px
}
DIV#myAccountInfo {
	MARGIN-TOP: 16px; DISPLAY: none; FONT-FAMILY: Arial; FLOAT: right; =
COLOR: #444444; FONT-SIZE: 11px; MARGIN-RIGHT: 2px
}
IMG#mainHeader {
	MARGIN: 40px 0pt 35px
}
DIV#headingOne {
	MARGIN: 40px 0pt 35px
}
BODY H1 {
	FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #444444; FONT-SIZE: =
32px; FONT-WEIGHT: bold
}
BODY DIV {
	LINE-HEIGHT: normal
}
IMG#mainSubHeader {
	MARGIN: 40px 0px 35px 20px
}
DIV#content {
	FLOAT: left
}
DIV#content P {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; MARGIN: 0px 0px 20px; =
PADDING-LEFT: 0px; WIDTH: inherit; PADDING-RIGHT: 0px; DISPLAY: block; =
FLOAT: none; COLOR: #444444; FONT-SIZE: 14px; PADDING-TOP: 0px
}
DIV#content TD {
	COLOR: #444444; FONT-SIZE: 14px
}
P.errorSection {
	COLOR: #f0461e !important; FONT-SIZE: 12px; FONT-WEIGHT: bold
}
DIV.errorSection {
	COLOR: #f0461e !important; FONT-SIZE: 12px; FONT-WEIGHT: bold
}
DIV#main H1 {
	MARGIN: 0px; DISPLAY: block; FLOAT: none; FONT-WEIGHT: bold
}
DIV#popupMain H1 {
	MARGIN: 0px; DISPLAY: block; FLOAT: none; FONT-WEIGHT: bold
}
DIV#content H2 {
	MARGIN: 0px; DISPLAY: block; FLOAT: none; FONT-WEIGHT: bold
}
DIV#content H3 {
	MARGIN: 0px; DISPLAY: block; FLOAT: none; FONT-WEIGHT: bold
}
DIV#content H4 {
	MARGIN: 0px; DISPLAY: block; FLOAT: none; FONT-WEIGHT: bold
}
DIV#content SPAN.heading2 {
	MARGIN: 0px; DISPLAY: block; FLOAT: none; FONT-WEIGHT: bold
}
DIV#content SPAN.heading3 {
	MARGIN: 0px; DISPLAY: block; FLOAT: none; FONT-WEIGHT: bold
}
DIV#content SPAN.heading4 {
	MARGIN: 0px; DISPLAY: block; FLOAT: none; FONT-WEIGHT: bold
}
SPAN.heading1 {
	COLOR: #444444; FONT-SIZE: 38px
}
DIV#content H2 {
	FLOAT: none; COLOR: #444444; FONT-SIZE: 22px
}
DIV#content SPAN.heading2 {
	FLOAT: none; COLOR: #444444; FONT-SIZE: 22px
}
DIV#content SPAN.heading2 P {
	FLOAT: none; COLOR: #444444; FONT-SIZE: 22px
}
DIV#content H3 {
	FONT-SIZE: 18px
}
DIV#content SPAN.heading3 {
	FONT-SIZE: 18px
}
DIV#content SPAN.heading3 P {
	FONT-SIZE: 18px
}
DIV#content H4 {
	COLOR: #444444; FONT-SIZE: 14px
}
DIV#content SPAN.heading4 {
	COLOR: #444444; FONT-SIZE: 14px
}
DIV#content SPAN.heading4 P {
	COLOR: #444444; FONT-SIZE: 14px
}
DIV#content .legal {
	LINE-HEIGHT: 14px; CLEAR: both; FONT-SIZE: 10px
}
DIV#popupMain .legal {
	LINE-HEIGHT: 14px; CLEAR: both; FONT-SIZE: 10px
}
DIV#content IMG {
	BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px 17px 20px 0px; DISPLAY: block; =
FLOAT: left; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; =
BORDER-LEFT-WIDTH: 0px
}
DIV#content UL {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 20px; PADDING-LEFT: 30px; =
PADDING-RIGHT: 0px; COLOR: #444444; FONT-SIZE: 14px; PADDING-TOP: 0px
}
DIV#content OL {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 20px; PADDING-LEFT: 30px; =
PADDING-RIGHT: 0px; COLOR: #444444; FONT-SIZE: 14px; PADDING-TOP: 0px
}
DIV#mod {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 20px; PADDING-LEFT: 30px; =
PADDING-RIGHT: 0px; COLOR: #444444; FONT-SIZE: 14px; PADDING-TOP: 0px
}
DIV#content UL {
	LIST-STYLE: disc url(/images/bullet_grey_dark.gif) outside
}
DIV#mod {
	LIST-STYLE: disc url(/images/bullet_grey_dark.gif) outside
}
DIV#content UL LI {
	LINE-HEIGHT: 18px
}
DIV#content OL LI {
	LINE-HEIGHT: 18px
}
DIV#feature UL {
	LIST-STYLE-TYPE: none
}
DIV#feature LI {
	PADDING-LEFT: 10px; PADDING-RIGHT: 5px; BACKGROUND: =
url(/images/bullet_grey_dark.gif) no-repeat 0px 5px
}
TABLE#gateway {
	PADDING-BOTTOM: 0px; MARGIN: -20px 0px 28px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; TABLE-LAYOUT: fixed; PADDING-TOP: 0px
}
TABLE#gateway COL#gatewayGutter {
	WIDTH: 10px
}
TABLE#gateway COL#gatewayLeft {
	WIDTH: auto
}
TABLE#gateway COL#gatewayRight {
	WIDTH: auto
}
TABLE#gateway TD {
	TEXT-ALIGN: left; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; DISPLAY: table-cell; VERTICAL-ALIGN: top; =
PADDING-TOP: 0px
}
TABLE#gateway TH {
	TEXT-ALIGN: left; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; DISPLAY: table-cell; VERTICAL-ALIGN: top; =
PADDING-TOP: 0px
}
TABLE#gateway TR.topHalf TD {
	BORDER-LEFT: #999999 1px solid; BORDER-TOP: #999999 1px solid; =
BORDER-RIGHT: #999999 1px solid
}
TABLE#gateway TR.topHalf .noGateway {
	BORDER-BOTTOM: #ffffff 0px; BORDER-LEFT: #ffffff 0px; BORDER-TOP: =
#ffffff 0px; BORDER-RIGHT: #ffffff 0px
}
TABLE#gateway TR.bottomHalf .noGateway {
	BORDER-BOTTOM: #ffffff 0px; BORDER-LEFT: #ffffff 0px; BORDER-TOP: =
#ffffff 0px; BORDER-RIGHT: #ffffff 0px
}
TABLE#gateway TR.bottomHalf TD {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
BORDER-RIGHT: #999999 1px solid
}
TABLE#gateway H3 {
	MARGIN: 20px 0px 10px
}
TABLE#gateway P {
	PADDING-BOTTOM: 0px; MARGIN: 12px 12px 25px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: none; PADDING-TOP: 0px
}
TABLE#gateway DIV {
	PADDING-BOTTOM: 0px; MARGIN: 12px 12px 25px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: none; PADDING-TOP: 0px
}
TABLE#gateway DIV P {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; FLOAT: none; PADDING-TOP: 0px
}
TABLE#gateway TR.bottomHalf IMG.button {
	BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; PADDING-BOTTOM: 0px; =
MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px =
solid; BORDER-RIGHT: 0px solid; PADDING-TOP: 0px
}
TABLE#gateway TR.bottomHalf A {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #666666; MARGIN: 0px 12px 12px =
0px; PADDING-LEFT: 0px; WIDTH: 39px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: no-repeat; FLOAT: right; PADDING-TOP: 0px
}
TABLE#gateway TR.bottomHalf A:hover {
	BACKGROUND-IMAGE: url(/images/buttons/gateway_go_over.gif)
}
DIV#footer {
	LINE-HEIGHT: 14px; MARGIN-TOP: 100px; FLOAT: left; COLOR: #444444; =
CLEAR: both; FONT-SIZE: 10px
}
DIV#footerEs {
	LINE-HEIGHT: 14px; MARGIN-TOP: 100px; FLOAT: left; COLOR: #444444; =
CLEAR: both; FONT-SIZE: 10px
}
DIV#footer A {
	COLOR: #4e4e4e
}
DIV#footerEs A {
	COLOR: #4e4e4e
}
UL.tabs {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
UL.tabs LI {
	TEXT-ALIGN: center; PADDING-BOTTOM: 6px; LINE-HEIGHT: normal; =
BACKGROUND-COLOR: #ff770b; MARGIN: 5px 1px 0px 0px; PADDING-LEFT: 15px; =
PADDING-RIGHT: 15px; FLOAT: left; COLOR: #ffffff; FONT-SIZE: 14px; =
CURSOR: pointer; FONT-WEIGHT: bold; PADDING-TOP: 5px
}
UL.tabs LI:hover {
	BACKGROUND-COLOR: #666666
}
UL.tabs LI.sfhover {
	BACKGROUND-COLOR: #666666
}
TABLE.tabs TD:hover {
	BACKGROUND-COLOR: #666666
}
TABLE.tabs TD.sfhover {
	BACKGROUND-COLOR: #666666
}
UL.tabs LI.selected {
	PADDING-BOTTOM: 5px; LINE-HEIGHT: 21px; MARGIN: 0px 1px 0px 0px; =
PADDING-LEFT: 17px; PADDING-RIGHT: 17px; FONT-SIZE: 18px; PADDING-TOP: =
6px
}
TABLE.tabs {
	POSITION: relative; MARGIN: 5px 0px 0px; CLEAR: both
}
TABLE.tabs TD {
	POSITION: static; TEXT-ALIGN: center; PADDING-BOTTOM: 6px; LINE-HEIGHT: =
normal; BACKGROUND-COLOR: #ff770b; PADDING-LEFT: 15px; BOTTOM: -5px; =
PADDING-RIGHT: 15px; COLOR: #ffffff; FONT-SIZE: 14px; CURSOR: pointer; =
FONT-WEIGHT: bold; BORDER-RIGHT: white 1px solid; PADDING-TOP: 6px
}
TABLE.tabs TD.selected {
	LINE-HEIGHT: 21px; FONT-SIZE: 18px
}
TABLE.tabs TD.spacerRow {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 1px; BACKGROUND-COLOR: transparent; =
MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; HEIGHT: 8px; =
FONT-SIZE: 1px; PADDING-TOP: 0px
}
P.formDescription {
	MARGIN: 0px 0px 48px; COLOR: #444444; CLEAR: both; FONT-SIZE: 14px
}
SPAN.inputProtector {
	MARGIN: 0px
}
.disclaimer {
	LINE-HEIGHT: 14px; COLOR: #444444; FONT-SIZE: 11px
}
.disclaimer_localize {
	COLOR: #444444; FONT-SIZE: 10px
}
DIV.leftColField {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 20px; PADDING-LEFT: 0px; WIDTH: =
215px; PADDING-RIGHT: 0px; FLOAT: left; CLEAR: left; PADDING-TOP: 0px
}
DIV.rightColField {
	PADDING-BOTTOM: 0px; MARGIN: 0px 0px 20px; PADDING-LEFT: 35px; WIDTH: =
215px; PADDING-RIGHT: 0px; FLOAT: left; PADDING-TOP: 0px
}
DIV.leftColField LABEL {
	DISPLAY: block; MARGIN-BOTTOM: 5px; COLOR: #444444; FONT-SIZE: 14px; =
FONT-WEIGHT: normal
}
DIV.rightColField LABEL {
	DISPLAY: block; MARGIN-BOTTOM: 5px; COLOR: #444444; FONT-SIZE: 14px; =
FONT-WEIGHT: normal
}
DIV.leftColField INPUT.textField {
	WIDTH: 206px; FLOAT: right
}
DIV.rightColField INPUT.textField {
	WIDTH: 206px; FLOAT: right
}
DIV.fullColField {
	MARGIN: 0px 0px 20px; WIDTH: 505px; FLOAT: left
}
DIV.fullColField LABEL {
	DISPLAY: block; FLOAT: left; COLOR: #444444; FONT-SIZE: 14px; =
FONT-WEIGHT: normal; MARGIN-RIGHT: 10px
}
TABLE#confirmTable TD {
	COLOR: #444444
}
.body1 {
	LINE-HEIGHT: 16px; COLOR: #444444; FONT-SIZE: 12px
}
.body2 {
	LINE-HEIGHT: 16px; COLOR: #444444; FONT-SIZE: 12px
}
.body3 {
	LINE-HEIGHT: 16px; COLOR: #444444; FONT-SIZE: 12px
}
.body4 {
	LINE-HEIGHT: 16px; COLOR: #444444; FONT-SIZE: 12px
}
.body1 P {
	LINE-HEIGHT: 16px; COLOR: #444444; FONT-SIZE: 12px
}
.body2 P {
	LINE-HEIGHT: 16px; COLOR: #444444; FONT-SIZE: 12px
}
.body3 P {
	LINE-HEIGHT: 16px; COLOR: #444444; FONT-SIZE: 12px
}
.body4 P {
	LINE-HEIGHT: 16px; COLOR: #444444; FONT-SIZE: 12px
}
.body2 {
	FONT-WEIGHT: bold
}
.body4 {
	FONT-WEIGHT: bold
}
.body2 P {
	FONT-WEIGHT: bold
}
.body4 P {
	FONT-WEIGHT: bold
}
.body2 A {
	FONT-WEIGHT: bold
}
.body4 A {
	FONT-WEIGHT: bold
}
.body3 {
	LINE-HEIGHT: 18px; FONT-SIZE: 14px
}
.body4 {
	LINE-HEIGHT: 18px; FONT-SIZE: 14px
}
.body3 P {
	LINE-HEIGHT: 18px; FONT-SIZE: 14px
}
.body4 P {
	LINE-HEIGHT: 18px; FONT-SIZE: 14px
}
.body3 A {
	LINE-HEIGHT: 18px; FONT-SIZE: 14px
}
.body4 A {
	LINE-HEIGHT: 18px; FONT-SIZE: 14px
}
.body1 A {
	FONT-WEIGHT: bold !important
}
.body2 A {
	FONT-WEIGHT: bold !important
}
.body3 A {
	FONT-WEIGHT: bold !important
}
.body4 A {
	FONT-WEIGHT: bold !important
}
INPUT.areaCode {
	WIDTH: 30px !important; FLOAT: none !important; MARGIN-RIGHT: 10px
}
INPUT.phonePrefix {
	WIDTH: 30px !important; FLOAT: none !important; MARGIN-RIGHT: 10px
}
INPUT.phoneBody {
	WIDTH: 50px !important; FLOAT: none !important
}
.WelcomeKitDesc {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; MARGIN: 0px 0px 10px; =
PADDING-LEFT: 0px; WIDTH: inherit; PADDING-RIGHT: 0px; DISPLAY: block; =
FLOAT: none; COLOR: #444444; FONT-SIZE: 14px; PADDING-TOP: 0px
}
.WelcomeKitSection A {
	FONT-SIZE: 12px; FONT-WEIGHT: bold
}
DIV#PressRoomSubNav P {
	MARGIN: 0px; COLOR: #999999; FONT-SIZE: 11px; FONT-WEIGHT: normal
}
A.PrSubNavA {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; FONT-SIZE: =
11px; FONT-WEIGHT: normal; PADDING-TOP: 0px
}
DIV#content A.PrSubNavA IMG {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px
}
DIV#content UL#Tabs LI {
	PADDING-LEFT: 10px; BACKGROUND: #666666
}
DIV.productSection {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #000000; MARGIN: 0px 4px 25px =
0px; PADDING-LEFT: 12px; WIDTH: 214px; PADDING-RIGHT: 12px; HEIGHT: =
435px; OVERFLOW: hidden; PADDING-TOP: 28px
}
DIV.bundle {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #000000; MARGIN: 0px 4px 25px =
0px; PADDING-LEFT: 12px; WIDTH: 214px; PADDING-RIGHT: 12px; HEIGHT: =
435px; OVERFLOW: hidden; PADDING-TOP: 28px
}
DIV.bundle {
	MARGIN: 0px 0px 25px; FLOAT: none; HEIGHT: 435px; PADDING-TOP: 17px
}
DIV.bundleWrapper {
	FLOAT: left
}
DIV.productSection H3 {
	MARGIN: 0px 0px 12px; HEIGHT: 43px; COLOR: #ffffff; FONT-SIZE: 18px; =
FONT-WEIGHT: bold
}
DIV.bundle H3 {
	MARGIN: 0px 0px 12px; HEIGHT: 43px; COLOR: #ffffff; FONT-SIZE: 18px; =
FONT-WEIGHT: bold
}
DIV.productSection DIV.description {
	MARGIN: 0px 0px 30px; HEIGHT: 76px; COLOR: #cccccc; FONT-SIZE: 12px; =
FONT-WEIGHT: bold
}
DIV.bundle DIV.description {
	MARGIN: 0px 0px 30px; HEIGHT: 76px; COLOR: #cccccc; FONT-SIZE: 12px; =
FONT-WEIGHT: bold
}
DIV.productSection DIV.orangeText {
	MARGIN: 0px 0px 15px; WIDTH: 214px; HEIGHT: 32px; COLOR: #ff770b; =
FONT-SIZE: 14px; FONT-WEIGHT: bold
}
DIV.productSection DIV.greenText {
	MARGIN: 0px 0px 15px; WIDTH: 214px; HEIGHT: 32px; COLOR: #ff770b; =
FONT-SIZE: 14px; FONT-WEIGHT: bold
}
DIV.bundle DIV.orangeText {
	MARGIN: 0px 0px 15px; WIDTH: 214px; HEIGHT: 32px; COLOR: #ff770b; =
FONT-SIZE: 14px; FONT-WEIGHT: bold
}
DIV.bundle DIV.greenText {
	MARGIN: 0px 0px 15px; WIDTH: 214px; HEIGHT: 32px; COLOR: #ff770b; =
FONT-SIZE: 14px; FONT-WEIGHT: bold
}
DIV.productSection DIV.greenText {
	WHITE-SPACE: nowrap
}
DIV.bundle DIV.greenText {
	WHITE-SPACE: nowrap
}
DIV.productSection DIV.greenText {
	COLOR: #9bcd00
}
DIV.bundle DIV.greenText {
	COLOR: #9bcd00
}
DIV.productSection DIV.greenText A {
	COLOR: inherit
}
DIV.productSection DIV.orangeText A {
	COLOR: inherit
}
DIV.bundle DIV.greenText A {
	COLOR: inherit
}
DIV.bundle DIV.orangeText A {
	COLOR: inherit
}
#interstitialPanel .textBox {
	BORDER-BOTTOM: #d1d1d1 1px solid; BORDER-LEFT: #d1d1d1 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 9px; PADDING-RIGHT: 0px; HEIGHT: =
17px; COLOR: #909090; FONT-SIZE: 11px; BORDER-TOP: #d1d1d1 1px solid; =
BORDER-RIGHT: #d1d1d1 1px solid; PADDING-TOP: 5px
}
#interstitialPanel H1 {
	MARGIN: 3px 0px 0px; COLOR: #444444; FONT-SIZE: 13px
}
#interstitialPanel H2 {
	MARGIN: 5px auto 0px; FONT-SIZE: 11px
}
#interstitialPanel H4 {
	MARGIN: 2px 0px 0px; FONT-SIZE: 11px; FONT-WEIGHT: bold
}
#interstitialPanel FORM {
	MARGIN: 12px auto 0px; DISPLAY: block
}
#interstitialPanel LABEL {
	FONT-SIZE: 11px
}
#interstitialPanel #StreetName {
	MARGIN: 0px 0px 10px; WIDTH: 126px
}
#interstitialPanel #Zip {
	MARGIN: 0px 15px 0px 0px; WIDTH: 58px
}
#interstitialPanel #AptNumber {
	MARGIN: 0px; WIDTH: 32px
}
#interstitialPanel #FullAddressLocButton {
	MARGIN: 12px 0px 0px; DISPLAY: block
}
.CimaEnable {
	DISPLAY: none
}
.CimaDisable {
	DISPLAY: none
}
.CimaEnableInline {
	DISPLAY: none
}
.CimaDisableInline {
	DISPLAY: none
}
.gray {
	COLOR: #444444 !important
}
DIV#LocMod {
	BACKGROUND-IMAGE: none; WIDTH: 230px; DISPLAY: none
}
DIV#LocMod DIV.LocModForm {
	DISPLAY: none
}
DIV#LocMod DIV.LocModMessage {
	DISPLAY: none
}
DIV#LocMod DIV.Content {
	PADDING-LEFT: 6px; PADDING-RIGHT: 6px
}
DIV#LocMod H4.Heading {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 15px; COLOR: #ff770b; FONT-SIZE: 16px; =
FONT-WEIGHT: bold
}
DIV#LocMod DIV.Title {
	PADDING-BOTTOM: 9px; MARGIN-TOP: 3px; FONT-WEIGHT: bold
}
DIV#LocMod INPUT.Street {
	BACKGROUND-IMAGE: url(/images/newhome/textBoxBackground.gif); =
BORDER-BOTTOM: #c3c3c3 1px solid; BORDER-LEFT: #c3c3c3 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 9px; WIDTH: 160px; PADDING-RIGHT: =
0px; HEIGHT: 18px; COLOR: #888888; FONT-SIZE: 12px; BORDER-TOP: #c3c3c3 =
1px solid; BORDER-RIGHT: #c3c3c3 1px solid; PADDING-TOP: 4px
}
DIV#LocMod DIV.Apt {
	PADDING-BOTTOM: 14px; PADDING-LEFT: 0px; WIDTH: 40px; PADDING-RIGHT: =
20px; FLOAT: left; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
DIV#LocMod INPUT.Apt {
	BACKGROUND-IMAGE: url(/images/newhome/textBoxBackground.gif); =
BORDER-BOTTOM: #c3c3c3 1px solid; BORDER-LEFT: #c3c3c3 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 9px; WIDTH: 40px; PADDING-RIGHT: 0px; =
HEIGHT: 18px; COLOR: #888888; FONT-SIZE: 12px; BORDER-TOP: #c3c3c3 1px =
solid; BORDER-RIGHT: #c3c3c3 1px solid; PADDING-TOP: 4px
}
DIV#LocMod DIV.Zip {
	PADDING-BOTTOM: 14px; PADDING-LEFT: 0px; WIDTH: 75px; PADDING-RIGHT: =
20px; FLOAT: left; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
DIV#LocMod INPUT.Zip {
	BACKGROUND-IMAGE: url(/images/newhome/textBoxBackground.gif); =
BORDER-BOTTOM: #c3c3c3 1px solid; BORDER-LEFT: #c3c3c3 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 9px; WIDTH: 75px; PADDING-RIGHT: 0px; =
HEIGHT: 18px; COLOR: #888888; FONT-SIZE: 12px; BORDER-TOP: #c3c3c3 1px =
solid; BORDER-RIGHT: #c3c3c3 1px solid; PADDING-TOP: 4px
}
DIV#LocMod DIV.Button {
	TEXT-ALIGN: right; PADDING-TOP: 14px
}
DIV#LocMod DIV.Footer {
	PADDING-TOP: 10px
}
DIV#LocMod DIV.Location {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 7px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: =
#cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 7px
}
DIV#LocMod DIV.Link {
	PADDING-TOP: 11px
}
DIV#LocMod DIV.Link A {
	FONT-WEIGHT: normal
}
DIV#LocMod DIV.ErrorMessage {
	DISPLAY: none; MARGIN-BOTTOM: 15px; COLOR: red; FONT-WEIGHT: bold
}
DIV#LocModVertical {
	BACKGROUND-IMAGE: none; BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: =
#cccccc 1px solid; PADDING-BOTTOM: 10px; MARGIN: 3px 0px; PADDING-LEFT: =
6px; WIDTH: 216px; PADDING-RIGHT: 6px; BACKGROUND-REPEAT: no-repeat; =
BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; =
PADDING-TOP: 10px
}
DIV#VLLocModVertical {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 12px; MARGIN: 5px 4px 1px 5px; PADDING-LEFT: 0px; WIDTH: =
218px; PADDING-RIGHT: 0px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: =
#cccccc 1px solid; PADDING-TOP: 8px
}
DIV#VLLocModVertical SPAN.VLDescription {
	FONT-WEIGHT: bold
}
DIV#LocMod DIV.VLTitle {
	FONT-WEIGHT: normal; PADDING-TOP: 9px
}
DIV#LocMod INPUT.VLStreet {
	BACKGROUND-IMAGE: url(/images/newhome/textBoxBackground.gif); =
BORDER-BOTTOM: #c3c3c3 1px solid; BORDER-LEFT: #c3c3c3 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 9px; WIDTH: 160px; PADDING-RIGHT: =
0px; HEIGHT: 18px; COLOR: #888888; FONT-SIZE: 12px; BORDER-TOP: #c3c3c3 =
1px solid; BORDER-RIGHT: #c3c3c3 1px solid; PADDING-TOP: 4px
}
DIV#LocMod DIV.VLApt {
	PADDING-BOTTOM: 14px; PADDING-LEFT: 0px; PADDING-RIGHT: 25px; FLOAT: =
left; FONT-WEIGHT: normal; PADDING-TOP: 0px
}
DIV#LocMod INPUT.VLApt {
	BACKGROUND-IMAGE: url(/images/newhome/textBoxBackground.gif); =
BORDER-BOTTOM: #c3c3c3 1px solid; BORDER-LEFT: #c3c3c3 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 9px; WIDTH: 40px; PADDING-RIGHT: 0px; =
HEIGHT: 18px; COLOR: #888888; FONT-SIZE: 12px; BORDER-TOP: #c3c3c3 1px =
solid; BORDER-RIGHT: #c3c3c3 1px solid; PADDING-TOP: 4px
}
DIV#LocMod DIV.VLZip {
	PADDING-RIGHT: 21px; FONT-WEIGHT: normal
}
DIV#LocMod INPUT.VLZip {
	BACKGROUND-IMAGE: url(/images/newhome/textBoxBackground.gif); =
BORDER-BOTTOM: #c3c3c3 1px solid; BORDER-LEFT: #c3c3c3 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 9px; WIDTH: 75px; PADDING-RIGHT: 0px; =
HEIGHT: 18px; COLOR: #888888; FONT-SIZE: 12px; BORDER-TOP: #c3c3c3 1px =
solid; BORDER-RIGHT: #c3c3c3 1px solid; PADDING-TOP: 4px
}
DIV#LocMod DIV.VLButton {
	TEXT-ALIGN: right; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 32px; PADDING-TOP: 14px
}
DIV#LocMod DIV.VLFooter {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 5px
}
DIV#LocModHorizontal {
	BACKGROUND-IMAGE: none; BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: =
#cccccc 1px solid; PADDING-BOTTOM: 9px; PADDING-LEFT: 0px; WIDTH: 455px; =
PADDING-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; BORDER-TOP: #cccccc =
1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 9px
}
DIV#LocModHorizontal INPUT.StreetHorizontal {
	BACKGROUND-IMAGE: url(/images/newhome/textBoxBackground.gif); =
BORDER-BOTTOM: #c3c3c3 1px solid; BORDER-LEFT: #c3c3c3 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 9px; WIDTH: 150px; PADDING-RIGHT: =
0px; HEIGHT: 18px; COLOR: #888888; FONT-SIZE: 12px; BORDER-TOP: #c3c3c3 =
1px solid; BORDER-RIGHT: #c3c3c3 1px solid; PADDING-TOP: 4px
}
DIV#LocModHorizontal INPUT.AptHorizontal {
	BACKGROUND-IMAGE: url(/images/newhome/textBoxBackground.gif); =
BORDER-BOTTOM: #c3c3c3 1px solid; BORDER-LEFT: #c3c3c3 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 9px; WIDTH: 30px; PADDING-RIGHT: 0px; =
HEIGHT: 18px; COLOR: #888888; FONT-SIZE: 12px; BORDER-TOP: #c3c3c3 1px =
solid; BORDER-RIGHT: #c3c3c3 1px solid; PADDING-TOP: 4px
}
DIV#LocModHorizontal INPUT.ZipHorizontal {
	BACKGROUND-IMAGE: url(/images/newhome/textBoxBackground.gif); =
BORDER-BOTTOM: #c3c3c3 1px solid; BORDER-LEFT: #c3c3c3 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 9px; WIDTH: 50px; PADDING-RIGHT: 0px; =
HEIGHT: 18px; COLOR: #888888; FONT-SIZE: 12px; BORDER-TOP: #c3c3c3 1px =
solid; BORDER-RIGHT: #c3c3c3 1px solid; PADDING-TOP: 4px
}
DIV#LocModHorizontal DIV.FooterHorizontal {
	PADDING-BOTTOM: 12px; FLOAT: none; PADDING-TOP: 12px
}
DIV#LocModHorizontal DIV.FooterFormHorizontal {
	MARGIN-TOP: 10px
}
DIV#LocModHorizontal DIV.ContentHorizontal {
	PADDING-LEFT: 7px; PADDING-RIGHT: 5px; PADDING-TOP: 5px
}
DIV#LocModHorizontal SPAN.Description {
	PADDING-BOTTOM: 5px; MARGIN-BOTTOM: 15px
}
DIV#LocModHorizontal DIV.LocationHorizontal {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 7px; MARGIN-TOP: 7px; PADDING-LEFT: 5px; WIDTH: 192px; =
PADDING-RIGHT: 5px; FLOAT: left; FONT-SIZE: 13px; BORDER-TOP: #cccccc =
1px solid; MARGIN-RIGHT: 2px; BORDER-RIGHT: #cccccc 1px solid; =
PADDING-TOP: 7px
}
DIV#LocModHorizontal DIV.LinkHorizontal A {
	FONT-SIZE: 10px; FONT-WEIGHT: bold
}
DIV#LocModHorizontal DIV.ButtonFormHorizontal {
	TEXT-ALIGN: right; PADDING-LEFT: 0px; PADDING-TOP: 15px
}
DIV#LocModHorizontal DIV.ButtonHorizontal {
	PADDING-LEFT: 4px; FLOAT: none; PADDING-TOP: 14px
}
DIV#LocModHorizontal DIV.ErrorMessage {
	DISPLAY: none; MARGIN-BOTTOM: 15px; COLOR: red; FONT-WEIGHT: bold
}
DIV#LocModHorizontal H4.Heading {
	MARGIN-TOP: -6px; MARGIN-BOTTOM: 0px; COLOR: #444444; FONT-SIZE: 16px; =
FONT-WEIGHT: bold
}
DIV#LocModHorizontal DIV.FormLable {
	DISPLAY: block; HEIGHT: 20px
}
DIV#LocModHorizontal DIV.FormInput {
	DISPLAY: block; MARGIN-BOTTOM: 7px; HEIGHT: 25px
}
DIV#LocModHorizontal DIV.bottomfooter {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: =
left; PADDING-TOP: 5px
}
DIV#LocModHorizontal DIV.HorizontalLocModForm {
	DISPLAY: block; HEIGHT: 20px
}
DIV#LocModHorizontal SPAN.LocFormZip {
=09
}
DIV#LocModHorizontal DIV.StreetHorizontal {
	WIDTH: 173px; FLOAT: left
}
DIV#LocModHorizontal DIV.AptHorizontal {
	WIDTH: 42px; FLOAT: left; MARGIN-RIGHT: 10px
}
DIV#LocModHorizontal DIV.ZipHorizontal {
	WIDTH: 58px; FLOAT: left
}
DIV#LocModHorizontal SPAN.StreetHorizontal {
	PADDING-BOTTOM: 2px; WIDTH: 173px; FLOAT: left; FONT-WEIGHT: bold; =
PADDING-TOP: 5px
}
DIV#LocModHorizontal SPAN.AptHorizontal {
	PADDING-BOTTOM: 2px !important; PADDING-LEFT: 0px !important; WIDTH: =
42px; PADDING-RIGHT: 0px !important; FLOAT: left; FONT-WEIGHT: bold; =
PADDING-TOP: 5px !important
}
DIV#LocModHorizontal SPAN.ZipHorizontal {
	TEXT-ALIGN: left; PADDING-BOTTOM: 2px !important; PADDING-LEFT: 0px =
!important; WIDTH: 48px; PADDING-RIGHT: 0px !important; FLOAT: left; =
FONT-WEIGHT: bold; PADDING-TOP: 5px !important
}
DIV#LocModMessage DIV.LocalizedAddress {
	WIDTH: auto
}
DIV#LocModMessage DIV.YourLocation {
	PADDING-BOTTOM: 2px; WIDTH: 110px; FLOAT: left; FONT-WEIGHT: bold; =
PADDING-TOP: 5px
}
DIV#LocModMessage DIV.StartShoppingButton {
	FLOAT: left; MARGIN-RIGHT: -12px; PADDING-TOP: 10px
}
DIV#divSearchBar {
	POSITION: absolute; TOP: 32px; RIGHT: 75px
}
INPUT#menuSearchGo {
	MARGIN-TOP: 11px; WIDTH: 62px; HEIGHT: 28px; CURSOR: pointer
}
INPUT.menuSearchGo {
	MARGIN-TOP: 11px; WIDTH: 62px; HEIGHT: 28px; CURSOR: pointer
}
.red {
	COLOR: #c8001d !important
}
H1.red {
	COLOR: #c8001d !important
}
DIV#content H1.red {
	COLOR: #c8001d !important
}
DIV#content H3.red {
	COLOR: #c8001d !important
}
DIV#headingOne DIV H1.red {
	COLOR: #c8001d !important
}
#xbardiv {
	POSITION: absolute !important; WIDTH: 100%; TOP: 0px; LEFT: 0px
}
DIV#mySignInfo {
	MARGIN-TOP: 15px !important; FONT-FAMILY: Arial; FLOAT: right; COLOR: =
#444444; FONT-SIZE: 11px; MARGIN-RIGHT: 2px
}
.HideHeaderLinks {
	DISPLAY: none
}
.ShowSignOutLinks {
	DISPLAY: inline
}
DIV.locMod2#LocMod {
	WIDTH: 712px
}
DIV.locMod2 BR {
	CLEAR: both
}
DIV.locMod2 > DIV.content {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKGROUND: =
#fafafa; CLEAR: both; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: =
#cccccc 1px solid; PADDING-TOP: 8px
}
DIV.rounded.locMod2 > DIV.content {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; =
PADDING-TOP: 0px
}
DIV.rounded.locMod2 > DIV.content {
	BORDER-BOTTOM: #cccccc 0px; BORDER-TOP: #cccccc 0px
}
DIV.locMod2 > DIV.curve {
	LINE-HEIGHT: 1px; DISPLAY: none; FONT-SIZE: 1px
}
DIV.rounded.locMod2 > DIV.curve {
	DISPLAY: block
}
DIV.locMod2 DIV.curve DIV.left {
	FLOAT: left
}
DIV.locMod2 DIV.curve DIV.right {
	FLOAT: right
}
DIV.locMod2 DIV.curve DIV.curve10 DIV.middle {
	BACKGROUND-COLOR: #ccc
}
DIV.locMod2 DIV.curve DIV.curve10 DIV.left {
	BACKGROUND-IMAGE: url(../../images/shop/Corner10IL.png); WIDTH: 2px
}
DIV.locMod2 DIV.curve DIV.curve10 DIV.right {
	BACKGROUND-IMAGE: url(../../images/shop/Corner10IR.png); WIDTH: 2px
}
DIV.locMod2 DIV.curve DIV.curve10 DIV.outerLeft {
	BACKGROUND-IMAGE: url(../../images/shop/Corner10OL.png); WIDTH: 2px
}
DIV.locMod2 DIV.curve DIV.curve10 DIV.outerRight {
	BACKGROUND-IMAGE: url(../../images/shop/Corner10OR.png); WIDTH: 2px
}
DIV.locMod2 DIV.curve DIV.curve10 DIV.inner {
	MARGIN: 0px 7px
}
DIV.locMod2 DIV.curve > DIV.curve10 > DIV.outerLeft {
	LEFT: 6px
}
DIV.locMod2 DIV.curve > DIV.curve10 > DIV.outerRight {
	RIGHT: 6px
}
DIV.locMod2 DIV.curve DIV.curve9 DIV.left {
	BACKGROUND-IMAGE: url(../../images/shop/Corner09IL.png); WIDTH: 5px
}
DIV.locMod2 DIV.curve DIV.curve9 DIV.right {
	BACKGROUND-IMAGE: url(../../images/shop/Corner09IR.png); WIDTH: 5px
}
DIV.locMod2 DIV.curve DIV.curve9 DIV.outerLeft {
	BACKGROUND-IMAGE: url(../../images/shop/Corner09O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve9 DIV.outerRight {
	BACKGROUND-IMAGE: url(../../images/shop/Corner09O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve9 DIV.inner {
	MARGIN: 0px 5px
}
DIV.locMod2 DIV.curve > DIV.curve9 > DIV.outerLeft {
	LEFT: 4px
}
DIV.locMod2 DIV.curve > DIV.curve9 > DIV.outerRight {
	LEFT: 4px
}
DIV.locMod2 DIV.curve DIV.curve8 DIV.left {
	BACKGROUND-IMAGE: url(../../images/shop/Corner08IL.png); WIDTH: 2px
}
DIV.locMod2 DIV.curve DIV.curve8 DIV.right {
	BACKGROUND-IMAGE: url(../../images/shop/Corner08IR.png); WIDTH: 2px
}
DIV.locMod2 DIV.curve DIV.curve8 DIV.outerLeft {
	BACKGROUND-IMAGE: url(../../images/shop/Corner08O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve8 DIV.outerRight {
	BACKGROUND-IMAGE: url(../../images/shop/Corner08O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve8 DIV.inner {
	MARGIN: 0px 4px
}
DIV.locMod2 DIV.curve > DIV.curve8 > DIV.outerLeft {
	LEFT: 3px
}
DIV.locMod2 DIV.curve > DIV.curve8 > DIV.outerRight {
	RIGHT: 3px
}
DIV.locMod2 DIV.curve DIV.curve7 DIV.left {
	BACKGROUND-IMAGE: url(../../images/shop/Corner07IL.png); WIDTH: 2px
}
DIV.locMod2 DIV.curve DIV.curve7 DIV.right {
	BACKGROUND-IMAGE: url(../../images/shop/Corner07IR.png); WIDTH: 2px
}
DIV.locMod2 DIV.curve DIV.curve7 DIV.outerLeft {
	BACKGROUND-IMAGE: url(../../images/shop/Corner07O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve7 DIV.outerRight {
	BACKGROUND-IMAGE: url(../../images/shop/Corner07O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve7 DIV.inner {
	MARGIN: 0px 3px
}
DIV.locMod2 DIV.curve > DIV.curve7 > DIV.outerLeft {
	LEFT: 2px
}
DIV.locMod2 DIV.curve > DIV.curve7 > DIV.outerRight {
	RIGHT: 2px
}
DIV.locMod2 DIV.curve DIV.curve6 DIV.left {
	BACKGROUND-IMAGE: url(../../images/shop/Corner06IL.png); WIDTH: 2px
}
DIV.locMod2 DIV.curve DIV.curve6 DIV.right {
	BACKGROUND-IMAGE: url(../../images/shop/Corner06IR.png); WIDTH: 2px
}
DIV.locMod2 DIV.curve DIV.curve6 DIV.outerLeft {
	BACKGROUND-IMAGE: url(../../images/shop/Corner06O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve6 DIV.outerRight {
	BACKGROUND-IMAGE: url(../../images/shop/Corner06O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve6 DIV.inner {
	MARGIN: 0px 2px
}
DIV.locMod2 DIV.curve > DIV.curve6 > DIV.outerLeft {
	LEFT: 1px
}
DIV.locMod2 DIV.curve > DIV.curve6 > DIV.outerRight {
	RIGHT: 1px
}
DIV.locMod2 DIV.curve DIV.curve5 DIV.left {
	BACKGROUND-IMAGE: url(../../images/shop/Corner05IL.png); WIDTH: 2px
}
DIV.locMod2 DIV.curve DIV.curve5 DIV.right {
	BACKGROUND-IMAGE: url(../../images/shop/Corner05IR.png); WIDTH: 2px
}
DIV.locMod2 DIV.curve DIV.curve5 DIV.outerLeft {
	BACKGROUND-IMAGE: url(../../images/shop/Corner05O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve5 DIV.outerRight {
	BACKGROUND-IMAGE: url(../../images/shop/Corner05O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve5 DIV.inner {
	MARGIN: 0px 1px
}
DIV.locMod2 DIV.curve DIV.curve4 DIV.left {
	BACKGROUND-IMAGE: url(../../images/shop/Corner04I.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve4 DIV.right {
	BACKGROUND-IMAGE: url(../../images/shop/Corner04I.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve4 DIV.outerLeft {
	BACKGROUND-IMAGE: url(../../images/shop/Corner04O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve4 DIV.outerRight {
	BACKGROUND-IMAGE: url(../../images/shop/Corner04O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve4 DIV.inner {
	MARGIN: 0px 1px
}
DIV.locMod2 DIV.curve DIV.curve3 DIV.left {
	BACKGROUND-IMAGE: url(../../images/shop/Corner03I.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve3 DIV.right {
	BACKGROUND-IMAGE: url(../../images/shop/Corner03I.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve3 DIV.outerLeft {
	BACKGROUND-IMAGE: url(../../images/shop/Corner03O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve3 DIV.outerRight {
	BACKGROUND-IMAGE: url(../../images/shop/Corner03O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve3 DIV.inner {
	MARGIN: 0px 1px
}
DIV.locMod2 DIV.curve DIV.curve2 DIV.inner {
	MARGIN: 0px 1px
}
DIV.locMod2 DIV.curve DIV.curve1 DIV.inner {
	MARGIN: 0px 1px
}
DIV.locMod2 DIV.curve DIV.curve2 DIV.left {
	BACKGROUND-IMAGE: url(../../images/shop/Corner02I.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve2 DIV.right {
	BACKGROUND-IMAGE: url(../../images/shop/Corner02I.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve2 DIV.outerLeft {
	BACKGROUND-IMAGE: url(../../images/shop/Corner02O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve2 DIV.outerRight {
	BACKGROUND-IMAGE: url(../../images/shop/Corner02O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve1 DIV.left {
	BACKGROUND-IMAGE: url(../../images/shop/Corner01I.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve1 DIV.right {
	BACKGROUND-IMAGE: url(../../images/shop/Corner01I.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve1 DIV.outerLeft {
	BACKGROUND-IMAGE: url(../../images/shop/Corner01O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve DIV.curve1 DIV.outerRight {
	BACKGROUND-IMAGE: url(../../images/shop/Corner01O.png); WIDTH: 1px
}
DIV.locMod2 DIV.curve > DIV > DIV.inner > DIV {
	LINE-HEIGHT: 1px; DISPLAY: block; BACKGROUND-REPEAT: no-repeat; HEIGHT: =
1px; OVERFLOW: hidden
}
DIV.locMod2 DIV.curve > DIV > DIV.outerLeft {
	POSITION: absolute; HEIGHT: 1px; TOP: 0px; LEFT: 0px
}
DIV.locMod2 DIV.curve > DIV > DIV.outerRight {
	POSITION: absolute; HEIGHT: 1px; TOP: 0px; RIGHT: 0px
}
DIV.locMod2 DIV.curve > DIV > DIV.inner {
	LINE-HEIGHT: 1px; DISPLAY: block; BACKGROUND: #fafafa no-repeat; =
HEIGHT: 1px; OVERFLOW: hidden
}
DIV.locMod2 DIV.curve > DIV {
	POSITION: relative
}
DIV.locMod2 DIV.locModHeading {
	FONT-SIZE: 18px; FONT-WEIGHT: bold
}
DIV.locMod2 DIV.errorMessage {
	DISPLAY: none; MARGIN-BOTTOM: 15px; COLOR: red; FONT-WEIGHT: bold
}
DIV.locMod2 DIV.horizontal DIV.address > DIV {
	FLOAT: left
}
DIV.locMod2 DIV.horizontal DIV.description {
	MARGIN-TOP: 10px; FONT-SIZE: 14px
}
DIV.locMod2 DIV.horizontal DIV.address {
	MARGIN-TOP: 16px; OVERFLOW: auto; FONT-WEIGHT: bold
}
DIV.locMod2 DIV.horizontal DIV.address BR {
	CLEAR: both
}
DIV.locMod2 DIV.locModMessage DIV#LocTitle {
	FONT-SIZE: 14px
}
DIV.locMod2 DIV.horizontal DIV.address INPUT[type=3D'text'] {
	BACKGROUND-IMAGE: url(../../images/newhome/textBoxBackground.gif); =
BORDER-BOTTOM: #c3c3c3 1px solid; BORDER-LEFT: #c3c3c3 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 9px; PADDING-RIGHT: 0px; HEIGHT: =
18px; COLOR: #888888; FONT-SIZE: 12px; BORDER-TOP: #c3c3c3 1px solid; =
BORDER-RIGHT: #c3c3c3 1px solid; PADDING-TOP: 4px
}
DIV.locMod2 DIV.horizontal DIV.address DIV.button {
	MARGIN-TOP: 5px
}
DIV.locMod2 DIV.horizontal DIV.address DIV.street INPUT {
	WIDTH: 150px
}
DIV.locMod2 DIV.horizontal DIV.address DIV.apt INPUT {
	WIDTH: 30px
}
DIV.locMod2 DIV.horizontal DIV.address DIV.zip INPUT {
	WIDTH: 50px
}
DIV.locMod2 DIV.horizontal DIV.address DIV.street INPUT {
	MARGIN-RIGHT: 6px
}
DIV.locMod2 DIV.horizontal DIV.address DIV.apt INPUT {
	MARGIN-RIGHT: 6px
}
DIV.locMod2 DIV.horizontal DIV.address DIV.zip INPUT {
	MARGIN-RIGHT: 8px
}
DIV.locMod2 DIV.horizontal DIV.locModMessage .address .yourLocation {
	MARGIN-RIGHT: 8px
}
DIV.locMod2 DIV.horizontal DIV.locModMessage DIV.startShoppingButton {
	MARGIN-TOP: 10px; FLOAT: none; MARGIN-RIGHT: 0px; PADDING-TOP: 0px
}
DIV.locMod2 DIV.horizontal DIV.locModMessage DIV.startShoppingButton =
IMG#LocButton {
	MARGIN: 0px 0px 0px 8px; FLOAT: left
}
DIV.locMod2 DIV.horizontal DIV.locModMessage .yourLocation A {
	FONT-SIZE: 10px; FONT-WEIGHT: normal
}
DIV.locMod2 DIV.horizontal DIV.locModMessage .location {
	BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; =
PADDING-BOTTOM: 6px; PADDING-LEFT: 6px; WIDTH: 192px; PADDING-RIGHT: =
6px; HEIGHT: 34px; BORDER-TOP: #ccc 1px solid; FONT-WEIGHT: normal; =
BORDER-RIGHT: #ccc 1px solid; PADDING-TOP: 6px
}
BODY.no-top-nav DIV#__globalnav {
	DISPLAY: none
}
BODY.no-sub-nav #subheader-container {
	DISPLAY: none
}
BODY.no-sub-nav #header-nav > LI.selected {
	BACKGROUND-POSITION: inherit
}
BODY.no-sub-nav #header-nav > LI.selected > A > SPAN {
	BACKGROUND-IMAGE: none
}
BODY.no-sub-nav #menu-header-container {
	MARGIN-BOTTOM: 20px
}

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/css/comcast_menu_top.css

UL#topLinks {
	Z-INDEX: 200; POSITION: absolute; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: =
none; MARGIN: 0px 8px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
TOP: 14px; RIGHT: 0px; PADDING-TOP: 0px
}
UL#topLinks LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: =
0px; FLOAT: left; HEIGHT: 10px; PADDING-TOP: 0px
}
UL#topMenu {
	Z-INDEX: 200; POSITION: absolute; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: =
none; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; TOP: 34px; =
RIGHT: 0px; PADDING-TOP: 0px
}
UL#topMenu LI {
	MARGIN: 0px; WIDTH: 108px; BACKGROUND: url(/images/dot.gif) no-repeat; =
FLOAT: left
}
UL#topMenu LI A {
	MARGIN: 11px 0px 10px; WIDTH: 108px; DISPLAY: block; OVERFLOW: hidden; =
CURSOR: default
}
UL#topMenu LI A[href] {
	CURSOR: pointer
}
UL#topMenu LI UL {
	BORDER-BOTTOM: #fff 1px solid; POSITION: absolute; BORDER-LEFT: #fff =
1px solid; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 202px; PADDING-RIGHT: 0px; DISPLAY: none; TOP: =
38px; LIST-STYLE-IMAGE: none; BORDER-RIGHT: #fff 1px solid; PADDING-TOP: =
8px
}
UL#topMenu LI UL LI {
	WIDTH: 202px; MARGIN-LEFT: 0px; CLEAR: left; FONT-SIZE: 12px; CURSOR: =
pointer; FONT-WEIGHT: bold
}
UL#topMenu LI LI A {
	BORDER-BOTTOM: #fff 1px solid; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 6px; WIDTH: 190px; PADDING-RIGHT: 6px; HEIGHT: 19px; =
COLOR: #ffffff; CURSOR: pointer; PADDING-TOP: 5px
}
UL#topMenu LI LI A:hover {
	BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none
}
UL#topMenu LI:hover UL {
	DISPLAY: block
}
UL#topMenu LI.sfhover UL {
	DISPLAY: block
}
UL#topMenu LI.searchBox {
	MARGIN: 0px; WIDTH: 135px
}
UL#topMenu LI.searchGo {
	POSITION: relative; MARGIN: 0px; WIDTH: 39px
}
UL#topMenu LI.searchGo IMG {
	MARGIN: 10px 0px; DISPLAY: block; OVERFLOW: hidden
}
UL#topMenu LI.searchGo UL {
	BACKGROUND-COLOR: #666666; WIDTH: 173px; RIGHT: 0px
}
UL#topMenu LI.searchGo LI {
	WIDTH: 169px
}
UL#topMenu LI.searchGo LI A {
	WIDTH: 158px
}
UL#topMenu LI.searchGo LI A:hover {
	COLOR: #444444
}
UL#topMenu IMG {
	BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; BORDER-TOP: 0px =
solid; BORDER-RIGHT: 0px solid
}
UL#topMenu FORM#menuSearch {
	POSITION: relative; BACKGROUND-COLOR: #ffffff; MARGIN: 9px 0px 0px; =
WIDTH: 135px; DISPLAY: block; HEIGHT: 27px; TOP: 0px; RIGHT: 0px
}
UL#topMenu INPUT#searchField {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #ffffff; MARGIN: 14px 7px auto; =
PADDING-LEFT: 5px; WIDTH: 120px; PADDING-RIGHT: 0px; HEIGHT: 16px; =
COLOR: #444444; FONT-SIZE: 11px; BORDER-TOP: #cccccc 1px solid; =
BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px; _margin-right: 1px
}
UL#topMenu INPUT.searchField {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #ffffff; MARGIN: 14px 7px auto; =
PADDING-LEFT: 5px; WIDTH: 120px; PADDING-RIGHT: 0px; HEIGHT: 16px; =
COLOR: #444444; FONT-SIZE: 11px; BORDER-TOP: #cccccc 1px solid; =
BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px; _margin-right: 1px
}
UL#topMenu LI.ExploreItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.ExploreItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.ProgrammingItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.ProgrammingItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.ShopItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.ShopItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.CustomersItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.CustomersItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.AboutItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.AboutItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.Digital_TVItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.Digital_TVItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.InternetItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.InternetItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.TelefonoItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.TelefonoItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.PaquetesItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.PaquetesItem LI A:hover {
	COLOR: #444444
}
UL#topMenu LI.Servicio_al_ClienteItem UL {
	BACKGROUND: url(../../images/topMenu/Hover.gif) #3391da no-repeat left =
top
}
UL#topMenu LI.Servicio_al_ClienteItem LI A:hover {
	COLOR: #444444
}
DIV#homeSpanishLink {
	MARGIN-TOP: 16px; FONT-FAMILY: Arial; FLOAT: right; COLOR: #444444; =
FONT-SIZE: 11px
}

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.comcast.com/Includes/css/comcast_printable.css

BODY {
	COLOR: #000000 !important
}
DIV#main {
	WIDTH: 515px !important; COLOR: #000000 !important
}
DIV#top {
	WIDTH: 515px !important; COLOR: #000000 !important
}
DIV#hozRule {
	WIDTH: 515px !important; COLOR: #000000 !important
}
DIV#content {
	WIDTH: 515px !important; COLOR: #000000 !important
}
DIV.lobSection TABLE {
	WIDTH: 515px !important; COLOR: #000000 !important
}
DIV.lobSection P {
	WIDTH: 515px !important; COLOR: #000000 !important
}
DIV.legal {
	WIDTH: 515px !important; COLOR: #000000 !important
}
DIV#popupMain {
	WIDTH: 515px !important; COLOR: #000000 !important
}
TABLE#schedule {
	WIDTH: 515px !important; COLOR: #000000 !important
}
DIV.orderDetailsMod {
	WIDTH: 515px !important; COLOR: #000000 !important
}
DIV.orderDetailsMod TABLE.mod {
	WIDTH: 515px !important; COLOR: #000000 !important
}
TABLE#order {
	WIDTH: 515px !important; COLOR: #000000 !important
}
P.formDescription {
	WIDTH: 515px !important; COLOR: #000000 !important
}
DIV.lobSection P {
	BACKGROUND-COLOR: transparent !important
}
DIV.lobSection TABLE P {
	WIDTH: auto !important; COLOR: black !important
}
DIV.lobSection TD.featuresCell {
	COLOR: #000000 !important
}
DIV#content P {
	COLOR: #000000 !important
}
DIV#content H2 {
	COLOR: #000000 !important
}
DIV#content H4 {
	COLOR: #000000 !important
}
DIV#content SPAN.heading2 {
	COLOR: #000000 !important
}
DIV#content SPAN.heading3 {
	COLOR: #000000 !important
}
DIV#content SPAN.heading4 {
	COLOR: #000000 !important
}
DIV.orderDetailsMod H4 {
	COLOR: #000000 !important
}
DIV#main H1 {
	COLOR: #444444 !important
}
DIV#popupMain H1 {
	COLOR: #444444 !important
}
DIV#content H3 {
	COLOR: #444444 !important
}
UL#topmenu {
	DISPLAY: none !important
}
UL#topMenu LI {
	DISPLAY: none !important
}
DIV#callIn {
	DISPLAY: none !important
}
UL#leftMenu {
	DISPLAY: none !important
}
DIV#feature {
	DISPLAY: none !important
}
DIV#rightSection {
	DISPLAY: none !important
}
DIV#inqC2CImgContainer {
	DISPLAY: none !important
}
DIV.lobSection INPUT {
	DISPLAY: none !important
}
IMG#proceed {
	DISPLAY: none !important
}
INPUT#proceedButton {
	DISPLAY: none !important
}
INPUT#backButton {
	DISPLAY: none !important
}
DIV#PressRoomSubMenu {
	DISPLAY: none !important
}
DIV.lobSection COL.featureSummary {
	WIDTH: 211px !important
}
DIV.lobSection COL.select {
	WIDTH: 0px !important
}
DIV.orderDetailsMod {
	MARGIN-LEFT: 0px !important
}

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/css/querycompletion.css

.hr_line {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 2px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; BORDER-TOP: #cccccc 1px solid; PADDING-TOP: 0px
}
#suggestions {
	PADDING-BOTTOM: 1px !important; LINE-HEIGHT: 1em !important; MARGIN: =
0px; PADDING-LEFT: 0px !important; WIDTH: auto !important; =
PADDING-RIGHT: 5px !important; FONT-FAMILY: Arial; FLOAT: right =
!important; COLOR: #cccccc !important; FONT-SIZE: 10px !important; =
PADDING-TOP: 2px !important
}
.autocomplete {
	Z-INDEX: 99; BORDER-BOTTOM: medium none; POSITION: absolute; =
BORDER-LEFT: #cccccc 1px solid; OVERFLOW-X: hidden; BACKGROUND-COLOR: =
#ffffff; WIDTH: 189px; FONT-FAMILY: Arial !important; COLOR: #444444; =
OVERFLOW: auto; BORDER-TOP: #cccccc 1px solid; CURSOR: default; =
BORDER-RIGHT: #cccccc 1px solid; LEFT: 547px
}
.autocomplete_item {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 4px; PADDING-RIGHT: 0px; FLOAT: none =
!important; FONT-WEIGHT: normal; PADDING-TOP: 0px
}
.autocomplete_item_highlighted {
	PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #444444; PADDING-LEFT: 4px; =
PADDING-RIGHT: 0px; FLOAT: none !important; COLOR: #ffffff; PADDING-TOP: =
0px
}
B.close {
	Z-INDEX: 100; BORDER-BOTTOM: #cccccc 1px solid; POSITION: absolute; =
BORDER-LEFT: #cccccc 1px solid; BACKGROUND-COLOR: #ffffff; WIDTH: 189px; =
BORDER-TOP: medium none; BORDER-RIGHT: #cccccc 1px solid; LEFT: 547px
}
B.close A {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 10px; WIDTH: 20px !important; =
PADDING-RIGHT: 10px; FLOAT: right; COLOR: #3459f5; FONT-SIZE: 10px; =
CURSOR: pointer !important; FONT-WEIGHT: normal; TEXT-DECORATION: =
underline !important; PADDING-TOP: 3px
}

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.comcast.com/Includes/css/Corpquerycompletion.css

.autocomplete {
	LINE-HEIGHT: 18px; WIDTH: 188px; LEFT: 7px; _width: 190px
}
B.close {
	WIDTH: 188px; LEFT: 7px
}
B.close A {
	TEXT-ALIGN: right; MARGIN: 0px; CURSOR: pointer !important
}

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/css/framework/Mask.css

.Mask {
	Z-INDEX: 200; POSITION: absolute; FILTER: alpha(opacity=3D50); =
BACKGROUND-COLOR: black; TOP: 0px; LEFT: 0px; opacity: 0.5; =
-moz-opacity: 0.5
}

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/css/ResetOverlay.css

.rightStyle {
	PADDING-RIGHT: 15px; FLOAT: none !important
}
.leftStyle {
	PADDING-RIGHT: 10px !important
}
#OverlayButton {
	PADDING-BOTTOM: 5px !important; PADDING-LEFT: 0px !important; =
PADDING-RIGHT: 0px !important; FLOAT: right !important; PADDING-TOP: 5px =
!important
}
.ResetoverlayWindowShade {
	Z-INDEX: 201; POSITION: absolute; DISPLAY: block !important; =
TABLE-LAYOUT: fixed
}
.overlayContent {
	BACKGROUND-COLOR: white
}
.buttonStyle {
	Z-INDEX: 25; POSITION: relative; FLOAT: right; TOP: 12px; CURSOR: =
pointer; RIGHT: 16px
}
.learnMore {
	MAX-HEIGHT: 200px
}
.productAdd {
	MIN-WIDTH: 422px; MAX-HEIGHT: 300px
}
.confirmation {
	MIN-WIDTH: 392px; MAX-HEIGHT: 200px
}
.termsConditions {
	MIN-WIDTH: 522px; MAX-HEIGHT: 300px
}
.progressBar {
	WIDTH: 150px; HEIGHT: 110px
}
.productAddColumn {
	WIDTH: 410px
}
.confirmationColumn {
	WIDTH: 380px
}
.termsConditionsColumn {
	WIDTH: 510px
}
TABLE.overLayPanel .rightTop {
	BACKGROUND-IMAGE: =
url(/includes/images/newbuyflow/OverLays/topRightCorner.png); POSITION: =
relative; LINE-HEIGHT: 1px; WIDTH: 6px; HEIGHT: 6px; FONT-SIZE: 1px
}
TABLE.overLayPanel .middleTop {
	BACKGROUND-IMAGE: =
url(/includes/images/newbuyflow/OverLays/topBorder.png); =
BACKGROUND-COLOR: transparent
}
TABLE.overLayPanel .leftTop {
	BACKGROUND-IMAGE: =
url(/includes/images/newbuyflow/OverLays/topLeftCorner.png); POSITION: =
relative; LINE-HEIGHT: 1px; WIDTH: 6px; HEIGHT: 6px; FONT-SIZE: 1px
}
TABLE.overLayPanel .rightBottom {
	BACKGROUND-IMAGE: =
url(/includes/images/newbuyflow/OverLays/bottomRightCorner.png); =
POSITION: relative; LINE-HEIGHT: 1px; WIDTH: 6px; HEIGHT: 6px; =
FONT-SIZE: 1px
}
TABLE.overLayPanel .leftBottom {
	BACKGROUND-IMAGE: =
url(/includes/images/newbuyflow/OverLays/bottomLeftCorner.png); =
POSITION: relative; LINE-HEIGHT: 1px; WIDTH: 6px; HEIGHT: 6px; =
FONT-SIZE: 1px
}
TABLE.overLayPanel .middleBottom {
	BACKGROUND-IMAGE: =
url(/includes/images/newbuyflow/OverLays/bottomBorder.png); =
BACKGROUND-COLOR: transparent
}
TABLE.overLayPanel .leftBorder {
	BACKGROUND-IMAGE: =
url(/includes/images/newbuyflow/OverLays/leftBorder.png); WIDTH: 0px =
!important
}
TABLE.overLayPanel .rightBorder {
	BACKGROUND-IMAGE: =
url(/includes/images/newbuyflow/OverLays/rightBorder.png); WIDTH: 0px =
!important
}
TABLE.overLayPanel DIV.headerSection {
	POSITION: relative; BACKGROUND-COLOR: #ff770b !important; MIN-HEIGHT: =
47px !important; OVERFLOW: auto
}
TABLE.overLayPanel DIV.hozRule {
	LINE-HEIGHT: 1px; BACKGROUND-COLOR: #e9eaea; MARGIN: 3px 0px 13px; =
HEIGHT: 2px; OVERFLOW: hidden
}
TABLE.overLayPanel DIV.headerSection H1 {
	POSITION: absolute; PADDING-BOTTOM: 0px !important; MARGIN: 0px; =
PADDING-LEFT: 0px !important; WIDTH: 79%; PADDING-RIGHT: 0px !important; =
FONT-FAMILY: Arial; COLOR: white !important; FONT-SIZE: 18px !important; =
TOP: 14px; FONT-WEIGHT: bold !important; PADDING-TOP: 0px !important; =
LEFT: 15px !important
}
TABLE.overLayPanel DIV.contentSection {
	TEXT-ALIGN: justify; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: white; =
MARGIN: 2px 5px 0px 15px; FONT-FAMILY: Arial; COLOR: #444444; FONT-SIZE: =
12px !important
}
TABLE.overLayPanel DIV.contentSection P {
	TEXT-ALIGN: justify; PADDING-BOTTOM: 8px !important; LINE-HEIGHT: =
normal !important; MARGIN: 0px; PADDING-LEFT: 0px !important; =
PADDING-RIGHT: 10px !important; COLOR: #444444; FONT-SIZE: 12px =
!important; PADDING-TOP: 0px !important
}
.VerificationContent {
	TEXT-ALIGN: justify; PADDING-BOTTOM: 8px !important; LINE-HEIGHT: =
normal !important; OVERFLOW-X: hidden; BACKGROUND-COLOR: #ffffff; =
MARGIN: 0px; PADDING-LEFT: 0px !important; PADDING-RIGHT: 20px =
!important; COLOR: #444444; FONT-SIZE: 12px !important; VERTICAL-ALIGN: =
text-top; OVERFLOW: auto; PADDING-TOP: 0px !important
}
.yesNoButtonStyle {
	FLOAT: left
}
.PopIndent {
	MARGIN: 0px 0px 0px 12px
}
.TopFeature {
	FONT-SIZE: 18px; FONT-WEIGHT: bold
}
.FeatureInfo {
	FONT-SIZE: 16px
}
TABLE.overLayPanel A {
	COLOR: #3459f5; TEXT-DECORATION: none
}
TABLE.overLayPanel A:hover {
	COLOR: #3459f5; TEXT-DECORATION: underline
}
A IMG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
A.Terms {
	FONT-FAMILY: Arial; FONT-SIZE: 10px; TEXT-DECORATION: none
}
TABLE.overLayPanel TABLE TD.headerSection {
	POSITION: relative; BACKGROUND-COLOR: #ff770b; WIDTH: 79% !important; =
HEIGHT: 47px !important
}
TABLE.overLayPanel TABLE TD.headerSection H1 {
	PADDING-BOTTOM: 0px !important; MARGIN: 0px 50px 0px 0px; PADDING-LEFT: =
15px !important; PADDING-RIGHT: 0px !important; FONT-FAMILY: Arial =
!important; COLOR: white !important; FONT-SIZE: 18px !important; =
FONT-WEIGHT: bold !important; PADDING-TOP: 0px !important
}

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/js/menuarrays/menuarray.js

=EF=BB=BF
	var aMenu =3D new Array(5);
=09
	var MenuItem =3D '<li class=3D"top" xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/Corporate/Learn/overview.html?">Overview</=
a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/cable-tv.html">XFINITY TV </a></li>' + =
'<li xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/internet-service.html">XFINITY Internet =
</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/home-phone-service.html">XFINITY Voice =
</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/cable-internet-packages.html">XFINITY =
Double Play</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/triple-play.html">XFINITY Triple Play =
</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;/homesecurity&quot;,&quot;&quot;,&quot;&quot=
;).focus()" href=3D"#">XFINITY Home </a></li>' + '<li =
xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;https://signaturesupport.xfinity.com/?utm_so=
urce=3Dcomcastcom&amp;utm_medium=3Dpulldown&amp;utm_campaign=3Dconsistent=
pulldownproduct&amp;CMP=3Dcpd-comcast-20111116-comcastcom-001&quot;,&quot=
;&quot;,&quot;&quot;).focus()" href=3D"#">XFINITY Signature =
Support</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/compare/comcast-xfinity-vs-verizon-fios.ht=
ml">XFINITY vs. the Competition</a></li>' + '<li class=3D"bottom" =
xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;http://business.comcast.com/?INTCMP=3DILC-DO=
TCOM-20100621-LRNBIZ-001&quot;,&quot;&quot;,&quot;&quot;).focus()" =
href=3D"#">Comcast Business Services</a></li>'
	aMenu[0] =3D MenuItem;
 =20
	var MenuItem =3D '<li class=3D"top" xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/corporate/shop/productoverview.html">All =
Deals</a></li>'
	aMenu[1] =3D MenuItem;
 =20
	var MenuItem =3D '<li class=3D"top" xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;http://www.comcast.net/tv/on-demand/&quot;,&=
quot;&quot;,&quot;&quot;).focus()" href=3D"#">On Demand Highlights =
</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;http://www.mostlivesports.com&quot;,&quot;&q=
uot;,&quot;&quot;).focus()" href=3D"#">Sports</a></li>' + '<li =
xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/Corporate/Programming/Comingevents.ashx">P=
ay-Per-View Events</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/Customers/Clu/ChannelLineup.ashx">Channel =
Lineup</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;http://xfinitytv.comcast.net/&quot;,&quot;&q=
uot;,&quot;&quot;).focus()" href=3D"#">Watch Online</a></li>' + '<li =
class=3D"bottom" xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/Corporate/Programming/IntlNetworks/default=
.html">International Programming</a></li>'
	aMenu[2] =3D MenuItem;
 =20
	var MenuItem =3D '<li class=3D"top" xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/movers/move">Move or Transfer =
Service</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;https://customer.comcast.com/Secure/Home.asp=
x&quot;,&quot;&quot;,&quot;&quot;).focus()" href=3D"#">Manage My Account =
</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;http://xfinity.comcast.net/constantguard/&qu=
ot;,&quot;&quot;,&quot;&quot;).focus()" href=3D"#">Security</a></li>' + =
'<li xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/Corporate/shop/retail/StoreLocator.html">S=
ervice Center Locations</a></li>' + '<li =
xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://customer.comcast.com/contact-us/">Contact Us</a></li>' + =
'<li xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/Corporate/Customers/ParentalControls.html"=
>Parental Controls</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;http://xfinity.comcast.net&quot;,&quot;&quot=
;,&quot;&quot;).focus()" href=3D"#">xfinity.comcast.net</a></li>' + '<li =
xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/Corporate/Customers/Policies/Policies.html=
">Customer Agreements/Policies</a></li>' + '<li =
xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/Corporate/Customers/custcare.html">Custome=
r Care</a></li>' + '<li class=3D"bottom" =
xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/Corporate/Customers/CustomerGuarantee2.htm=
l">Customer Guarantee</a></li>'
	aMenu[3] =3D MenuItem;
 =20
	var MenuItem =3D '<li class=3D"top" xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;http://customer.comcast.com/Pages/Help.aspx&=
quot;,&quot;&quot;,&quot;&quot;).focus()" href=3D"#">Help =
Overview</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;http://customer.comcast.com/Pages/HelpFolder=
s.aspx?topic=3DBilling&quot;,&quot;&quot;,&quot;&quot;).focus()" =
href=3D"#">Account &amp; Billing</a></li>' + '<li =
xmlns:df=3D"urn:dfExtensions"><a =
href=3D"http://www.comcast.com/Corporate/Customers/Membership/Bill/BillEx=
planation.html">Understanding Your Bill</a></li>' + '<li =
xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;http://customer.comcast.com/Pages/HelpFolder=
s.aspx?topic=3DInternet&quot;,&quot;&quot;,&quot;&quot;).focus()" =
href=3D"#">XFINITY Internet</a></li>' + '<li =
xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;http://customer.comcast.com/Pages/HelpFolder=
s.aspx?topic=3DCable&quot;,&quot;&quot;,&quot;&quot;).focus()" =
href=3D"#">XFINITY TV</a></li>' + '<li xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;http://customer.comcast.com/Pages/HelpFolder=
s.aspx?topic=3DVoice&quot;,&quot;&quot;,&quot;&quot;).focus()" =
href=3D"#">XFINITY Voice</a></li>' + '<li class=3D"bottom" =
xmlns:df=3D"urn:dfExtensions"><a =
onclick=3D"window.open(&quot;http://customer.comcast.com/help-and-support=
/home-security&quot;,&quot;&quot;,&quot;&quot;).focus()" =
href=3D"#">XFINITY Home</a></li>'
	aMenu[4] =3D MenuItem;
  
------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/js/menu.js

var startListCalled =3D false;
var setHeaderCalled =3D false;
var cartCleared =3D false;
//Added constants for the menu Iframes, needs to match the style sheet
var MENU_HEIGHT =3D 24;
var MENU_PADDING =3D 1;
var MENU_HEIGHT_IE5 =3D 19;
var MENU_PADDING_IE5 =3D 10;
var MENU_TOP_MARGIN =3D 0;

var menuIsIE =3D (navigator.userAgent.toLowerCase().indexOf("msie") !=3D =
-1);
var menuIsV3 =3D (menuIsIE && parseInt(navigator.appVersion) < 4);
var menuIsV5 =3D (menuIsIE && =
navigator.userAgent.toLowerCase().indexOf("msie 5.") !=3D -1);
var menuIsV4 =3D (menuIsIE && =
navigator.userAgent.toLowerCase().indexOf("msie 4.") !=3D -1);
var isIE6Up =3D (menuIsIE && !menuIsV4 && !menuIsV5 && !menuIsV3);

if (!isIE6Up && menuIsIE) {
    MENU_HEIGHT =3D MENU_HEIGHT_IE5;
    MENU_PADDING =3D MENU_PADDING_IE5;
}
function setLanguageCookie() {
    var urlSegments =3D location.pathname;
    if (urlSegments !=3D null && urlSegments.length > 3 && =
urlSegments.substring(0, 4).toLowerCase() =3D=3D "/es/") {
        var existingCookie =3D getCookieVal("Language");
        if (existingCookie !=3D "es") {
            setLanguage("es");
        }
    }
}
if (document.addEventListener) {  =20
    document.addEventListener("DOMContentLoaded", function () {
        document.removeEventListener("DOMContentLoaded", =
arguments.callee, false);
        setLanguageCookie();
    }, false);
}
else if (document.attachEvent) {  =20
    document.attachEvent("onreadystatechange", function () {
        if (document.readyState =3D=3D=3D "complete") {
            document.detachEvent("onreadystatechange", =
arguments.callee);
            setLanguageCookie();
        }
    });
}

var LOC_NAME_LENGTH =3D 42;

function startList() {
    if (!startListCalled) {
        startListCalled =3D true;
        // Remove menu when language set to Spanish
        var language =3D getCookieVal("Language")
        if (window.location.pathname.indexOf("/es/") > 0) {

            var footerEn =3D document.getElementById("footer");
            if (footerEn !=3D null)
                footerEn.style.display =3D "none";
            var footerEs =3D document.getElementById("footerEs");
            if (footerEs !=3D null)
                footerEs.style.display =3D "block";
        }

        // Add PageName field to the search form
        var pageNameField =3D document.createElement("input");
        pageNameField.setAttribute("type", "hidden");
        pageNameField.setAttribute("name", "PageName");
        pageNameField.setAttribute("value", document.title.replace(" ", =
"+"));
        var searchForm =3D document.getElementById("menuSearch");
        if (searchForm !=3D null) {
            searchForm.appendChild(pageNameField);
        }
        var menu =3D document.getElementById("topMenu");
        if (menu !=3D null) {
            if (document.getElementById && menu.style.display !=3D =
"none" && menu.childNodes.length > 0) {
                var menuCss;
                var selectedMenu;
                var menuBackground;

                // add programming item if missing
                navItems =3D menu.getElementsByTagName("li");
                if (navItems.length > 0) {
                    if (window.location.pathname.indexOf("/es/") !=3D 0) =
{
                        // the check is only for the english version
                        if (navItems.length < 7) {
                            var programmingLi =3D =
document.createElement("li");
                            programmingLi.innerHTML =3D '<a index=3D"1" =
hbxrootmenuid=3D"//Programming" hbxrootmenuorientation=3D"down"><img =
src=3D"' + window.location.protocol + =
'//www.comcast.com/images/topMenu/Programming.gif" width=3D"108" =
height=3D"27" alt=3D"Programming" /></a>'
                            programmingLi.className =3D =
'ProgrammingItem';
                            menu.insertBefore(programmingLi, =
navItems[2]);
                            =
navItems[0].getElementsByTagName("img")[0].width =3D 108;
                            =
navItems[1].getElementsByTagName("img")[0].width =3D 108;
                            =
navItems[2].getElementsByTagName("img")[0].width =3D 108;
                            =
navItems[3].getElementsByTagName("img")[0].width =3D 108;
                            =
navItems[4].getElementsByTagName("img")[0].width =3D 108;
                            navItems =3D =
menu.getElementsByTagName("li");

                        }   // end if (navItems.length < 9)

                        =
navItems[0].getElementsByTagName("img")[0].setAttribute("alt", =
"Products");
                        =
navItems[0].getElementsByTagName("img")[0].setAttribute("title", =
"Products");
                        =
navItems[4].getElementsByTagName("img")[0].setAttribute("alt", "Help");
                        =
navItems[4].getElementsByTagName("img")[0].setAttribute("title", =
"Help");
                    }

                    for (var i =3D 0; i < navItems.length; i++) {
                        node =3D navItems[i];
                        var link =3D node.getElementsByTagName("a")[0];
                        if (link !=3D null)
                            link.setAttribute("index", i);
                        if (menuIsIE && !isIE6Up) {
                            for (var n =3D 0; n < =
document.styleSheets.length; n++) {
                                menuCss =3D =
document.styleSheets[n].href.match(/(comcast_)(\w+)(\.css$)/);
                                if (menuCss) {
                                    selectedMenu =3D =
menuCss[2].toLowerCase();
                                    var menuName =3D =
node.className.toLowerCase();
                                    if (menuName.indexOf(selectedMenu) > =
-1) {
                                        menuBackground =3D =
document.styleSheets[n].cssText.match(/(BACKGROUND-COLOR: )(#[\w\d]+)/);
                                        if (menuBackground)
                                            node.style.backgroundColor =
=3D menuBackground[2];
                                        //node.style.marginBottom =3D =
"1px";
                                        MENU_TOP_MARGIN =3D 42;
                                        =
node.getElementsByTagName("img")[0].style.marginBottom =3D "1px";
                                        break;
                                    }   // end if (menuName)
                                }   // end if (menuCss)

                            }   // end for( n )
                        }   // end if( menuIsIE && !isIE6Up )
                        //			if (node.id =3D=3D "primarySearch")
                        //			{
                        //				var subNode =3D =
document.getElementById("menuSearchGo");
                        //				subNode.onmouseover =3D overItem;
                        //				subNode.onmouseout =3D outItem;	=09
                        //			}
                        //			else
                        //			{
                        node.onmouseover =3D overItem;
                        node.onmouseout =3D outItem;
                        //			}
                    }   // end for ( i )
                }   // end if (navItems.length > 0)
            }
        }
    }
    HideSignOutLinks();
}

function setHeaders() {
    if (!setHeaderCalled) {
        setHeaderCalled =3D true;
        if (document.getElementById) {
            var locHeader =3D document.getElementById("locationInfo");
            var locHeaderEs =3D =
document.getElementById("locationInfoEs");
            var locCookie =3D getCookieVal("Serviceability");
            if (locCookie.length > 0) {
                if (GetCookie("Serviceability", "Zip") !=3D false) {
                    if (window.location.pathname.indexOf("/es/") > 0) {
                        //This should only be valid for CM
                        //the locationInfoEs div does not exist in =
non-CM pages.
                        if (locHeaderEs !=3D null) {
                            locHeaderEs.style.display =3D "block";
                            var zipHeader =3D =
document.getElementById("zipInfoEs");
                            zipHeader.innerHTML =3D get5DigitZip();
                        }
                    }
                    else {
                        if (locHeader !=3D null) {
                            locHeader.style.display =3D "block";
                            var zipHeader =3D =
document.getElementById("zipInfo");
                            zipHeader.innerHTML =3D get5DigitZip();
                        }
                    }
                }
            }

            var accountHeader =3D =
document.getElementById("myAccountInfo");
            var accountCookie =3D getCookieVal("Session");
            if (accountCookie.length > 0) {
                if (GetCookie("Session", "Hash") !=3D false)
                    accountHeader.style.display =3D "block";
                if (GetCookie("Serviceability", "Zip") !=3D false)
                    accountHeader.innerHTML +=3D "|&#160;";
            }
        }
    }
}

function get5DigitZip() {
    //Substring is done to remove the +4 digit zip code returned from =
CSG
    var zip =3D GetCookie("Serviceability", "Zip");
    if (zip !=3D null && zip !=3D "")
        return zip.substring(0, 5);
    return "";
}


overItem =3D function(evt) {
    evt =3D (evt) ? evt : ((window.event) ? window.event : null);

    var targetElt =3D this;
    //	if (this.id =3D=3D "menuSearchGo")
    //	{
    //		targetElt =3D this.parentElement.parentElement;
    //		alert("targetElt=3D"+targetElt.id);
    //	}
    //var log =3D document.getElementById("logarea");
    //if (log.innerHTML.length > 400) log.innerHTML=3D"";
    //log.innerHTML=3Dlog.innerHTML+"<br/>&lt;" + targetElt.tagName + =
targetElt.className;

    var oLink =3D targetElt.getElementsByTagName("a")[0];
    if (oLink && oLink.getAttribute("index") !=3D null) {
        var index =3D oLink.getAttribute("index")

        // Create child lists if needed
        if (index < aMenu.length && =
targetElt.getElementsByTagName("ul").length =3D=3D 0) {
            InsertChildren(targetElt, index);
        }
    }

    if (targetElt.parentNode.id =3D=3D "topMenu") {
        var iframe =3D this.getElementsByTagName("iframe")[0];
        if (iframe) {
            iframe.style.visibility =3D "visible";
        }
        else {
            iframe =3D document.createElement("iframe");
            iframe.setAttribute("src", window.location.protocol + =
"//www.comcast.com/images/dot.gif");
            iframe.setAttribute("scrolling", "no");
            iframe.setAttribute("frameborder", "0");
            iframe.style.zIndex =3D "0";
            iframe.style.borderWidth =3D "0";

            var firstC =3D this.firstChild;
            while (firstC.nodeName =3D=3D "#text" && firstC.nextSibling =
!=3D null)
                firstC =3D firstC.nextSibling;
            if (firstC.nodeName =3D=3D "#text")
                firstC =3D null;

            if (firstC !=3D null && firstC.nodeName.toUpperCase() =3D=3D =
"A") {
                var ul =3D =
this.getElementsByTagName("ul")[0].childNodes.length;
                iframe.width =3D this.offsetWidth * 2 - 13;
                iframe.height =3D MENU_HEIGHT * ul + MENU_PADDING;
            }
            else {
                iframe.width =3D 0;
                iframe.height =3D 0;
            }
            if (MENU_TOP_MARGIN > 0)
                iframe.style.top =3D MENU_TOP_MARGIN + "px";
            iframe.style.position =3D "absolute";
            this.appendChild(iframe);
        }
    }

    // IE hack for rollover state
    if (document.all && document.getElementById) {
        targetElt.className +=3D " sfhover";
    }
    setSelectedTabCookie("&lid=3D//Shop//Digital Cable with On Demand");
    setSelectedTabCookie("&lid=3D//Shop//Comcast Bundles");
    setSelectedTabCookie("&lid=3D//Shop//High-Speed Internet ");
    if (menuIsIE)
        setSelectedTabCookie("&lid=3D//Shop//Comcast Digital =
Voice%C2%AE");
    else
        setSelectedTabCookie(unescape("&lid=3D//Shop//Comcast Digital =
Voice%AE"));

}
function setSelectedTabCookie(name) {
    var x =3D document.getElementsByName(name);
    if (x.length > 0) {
        if (menuIsIE)
            x[0].onclick =3D new function() { SetCookie("BuyFlow", =
"SelectedTab", "", false, true); };
        else
            x[0].setAttribute("onclick", "SetCookie(\"BuyFlow\", =
\"SelectedTab\", \"\", false, true);");
    }
}


function getLeftRelBody(item) {
    if (item.parentNode.tagName =3D=3D "body")
        return document.body.offsetLeft;
    return item.offsetLeft + getLeftRelbody(item.parentNode);
}

function getTopRelBody(item) {
    if (item.parentNode.tagName =3D=3D "body")
        return document.body.offsetTop;
    return item.offsetTop + getTopRelBody(item.parentNode);
}

outItem =3D function() {

    var targetElt =3D this;
    //	if (this.id =3D=3D "menuSearchGo")
    //	{
    //		targetElt =3D this.parentElement.parentElement;
    //		alert("targetElt=3D"+targetElt.id);
    //	}
    //var log =3D document.getElementById("logarea");
    //if (log.innerHTML.length > 400) log.innerHTML=3D"";
    //log.innerHTML=3Dlog.innerHTML+"<br/>&gt;" + targetElt.tagName + =
targetElt.className;

    // IE hack for rollover state
    if (document.all && document.getElementById) {
        targetElt.className =3D targetElt.className.replace(new RegExp(" =
sfhover\\b"), "");
    }
    var iframe =3D this.getElementsByTagName("iframe")[0];
    if (iframe) {
        //iframe.style.display =3D "none";
        iframe.style.visibility =3D "hidden";
    }
}


// Add list children to uls
function InsertChildren(ListItem, Index) {
    var ul =3D document.createElement("ul");
    ul.innerHTML =3D aMenu[Index];
    ul.style.zIndex =3D "99";
    ListItem.appendChild(ul);
}

var addButtonRollover =3D function() {
    var aImg =3D document.getElementsByTagName("img");
    for (var i =3D 0; i < aImg.length; i++) {
        if (aImg[i].className =3D=3D "button") {
            aImg[i].onmouseover =3D buttonRollOn;
            aImg[i].onmouseout =3D buttonRollOff;
        }
    }
}


var buttonRollOn =3D function() {
    var sOrgSrc =3D this.getAttribute("src");
    var sImage =3D sOrgSrc.substring(sOrgSrc.lastIndexOf("/"), =
sOrgSrc.length);
    var sExtension =3D sImage.substring(sImage.indexOf("."), =
sOrgSrc.length);
    var sNewSrc =3D sOrgSrc.substring(0, sOrgSrc.lastIndexOf("_")) + =
"_over" + sExtension;
    this.setAttribute("orgSrc", sOrgSrc);
    this.setAttribute("src", sNewSrc);
}

var buttonRollOff =3D function() {
    var sOrgSrc =3D this.getAttribute("orgSrc");
    this.setAttribute("src", sOrgSrc);
}

var buttonRollOnEvent =3D function(Button) {
    var sOrgSrc =3D Button.getAttribute("src");
    var sImage =3D sOrgSrc.substring(sOrgSrc.lastIndexOf("/"), =
sOrgSrc.length);
    var sExtension =3D sImage.substring(sImage.indexOf("."), =
sOrgSrc.length);
    var sNewSrc =3D sOrgSrc.substring(0, sOrgSrc.lastIndexOf("_")) + =
"_over" + sExtension;
    Button.setAttribute("orgSrc", sOrgSrc);
    Button.setAttribute("src", sNewSrc);
}

var buttonRollOffEvent =3D function(Button) {
    var sOrgSrc =3D Button.getAttribute("orgSrc");
    Button.setAttribute("src", sOrgSrc);
}

/*  Explicit handlers for use with the onmouseover and onmouseout =
events.  Don't use unless you have to.  */
function buttonRollOnEx(obj) {
    var sOrgSrc =3D obj.getAttribute("src");
    var sImage =3D sOrgSrc.substring(sOrgSrc.lastIndexOf("/"), =
sOrgSrc.length);
    var sExtension =3D sImage.substring(sImage.indexOf("."), =
sOrgSrc.length);
    var sNewSrc =3D sOrgSrc.substring(0, sOrgSrc.lastIndexOf("_")) + =
"_over" + sExtension;
    obj.setAttribute("orgSrc", sOrgSrc);
    obj.setAttribute("src", sNewSrc);
}

function buttonRollOffEx(obj) {
    var sOrgSrc =3D obj.getAttribute("orgSrc");
    obj.setAttribute("src", sOrgSrc);
}

/*  Tabs rollover functions */
function initTabs(ulTabs) {
    if (document.getElementById) {
        tabItems =3D ulTabs.getElementsByTagName("li"); ;
        for (var i =3D 0; i < tabItems.length; i++) {
            node =3D tabItems[i];
            node.onmouseover =3D overTab;
            node.onmouseout =3D outTab;
            node.onclick =3D selectTab;
        }
    }
}

function initTabsTable(table) {
    if (document.getElementById) {
        var rows =3D table.getElementsByTagName("tr")
        tabItems =3D rows[1].getElementsByTagName("td");
        for (var i =3D 0; i < tabItems.length; i++) {
            node =3D tabItems[i];
            if (document.all) {
                node.onmouseover =3D overTab;
                node.onmouseout =3D outTab;
            }
            DF.evt.Event.addListener(node, "click", =
selectTabTable.createDelegate(node));
        }

    }
}

overTab =3D function(evt) {
    evt =3D (evt) ? evt : ((window.event) ? window.event : null);

    // IE hack for rollover state
    if (document.all && document.getElementById) {
        addClassToNode(this, "sfhover");
    }
}

outTab =3D function() {
    // IE hack for rollover state
    if (document.all && document.getElementById) {
        removeClassFromNode(this, "sfhover");
    }
}

selectTab =3D function() {

    var ulTabs, liTab;
    if (arguments.length > 0 && arguments[0] !=3D null && "tagName" in =
arguments[0]) {
        ulTabs =3D arguments[0].parentNode;
        liTab =3D arguments[0];
    }
    else {
        ulTabs =3D this.parentNode;
        liTab =3D this;

    }
    var tabItems =3D ulTabs.getElementsByTagName("li");
    var nCurrentIndex =3D 0;
    for (var i =3D 0; i < tabItems.length; i++) {
        node =3D tabItems[i];
        removeClassFromNode(node, "selected");
        if (node =3D=3D liTab)
            nCurrentIndex =3D i;
    }
    addClassToNode(liTab, "selected");

    var aTabViews =3D new Array();
    var aAnchorViews =3D new Array();

    // Load an array of the tab view divs
    var leftSection =3D document.getElementById("leftSection");
    var leftDivs =3D leftSection.getElementsByTagName("div");

    var y =3D 0;
    var z =3D 0;
    for (var i =3D 0; i < leftDivs.length; i++) {
        var div =3D leftDivs[i];
        if (div.className.indexOf("tabView") > -1) {
            // hide all tab views
            removeClassFromNode(div, "selected");
            aTabViews[y] =3D div;
            y++;
        }
        // hide all anchor tag rows
        if (div.className.indexOf("lobAnchorHeader") > -1) {
            div.style.display =3D "none";
        }
    }
    if (aTabViews[nCurrentIndex])
        addClassToNode(aTabViews[nCurrentIndex], "selected");

    // display the anchor tag row for the current tab.
    var anchorDiv =3D document.getElementById("lobAnchorHeader" + =
liTab.id);
    if (anchorDiv !=3D null)
        anchorDiv.style.display =3D "block";
}
var selectedTab;
selectTabTable =3D function() {
    var tableTabs, tdTab;
    if (arguments.length > 0 && arguments[0] !=3D null && "tagName" in =
arguments[0]) {
        tableTabs =3D arguments[0].parentNode.parentNode;
        tdTab =3D arguments[0];
    }
    else {
        tableTabs =3D this.parentNode.parentNode;
        tdTab =3D this;
    }
    var tabRows =3D tableTabs.getElementsByTagName("tr");

    var tabItems =3D tableTabs.getElementsByTagName("td");
    if (selectedTab !=3D null) {
        node =3D selectedTab;
        removeClassFromNode(node, "selected");
        node.rowSpan =3D 1;
        if (node.cellIndex < tabRows[1].cells.length) {
            tabRows[1].insertBefore(node, =
tabRows[1].cells[node.cellIndex]);
        }
        else {
            tabRows[1].appendChild(node);
        }
    }
    selectedTab =3D tdTab;
    addClassToNode(tdTab, "selected");

    tdTab.rowSpan =3D 2;
    var index =3D tdTab.cellIndex;
    tabRows[0].insertBefore(tdTab, tabRows[0].cells[index]);

    var aTabViews =3D new Array();
    var aAnchorViews =3D new Array();

    // Load an array of the tab view divs
    var leftSection =3D document.getElementById("leftSection");
    var leftDivs =3D leftSection.getElementsByTagName("div");
    var y =3D 0;
    var z =3D 0;
    for (var i =3D 0; i < leftDivs.length; i++) {
        var div =3D leftDivs[i];
        if (div.className.indexOf("tabView") > -1) {
            // hide all tab views
            removeClassFromNode(div, "selected");
            aTabViews[y] =3D div;
            y++;
        }
        // hide all anchor tag rows
        if (div.className.indexOf("lobAnchorHeader") > -1) {
            div.style.display =3D "none";
        }
    }

    var lobCatSection =3D document.getElementById("lobCatSection" + =
tdTab.id);
    if (lobCatSection) {
        addClassToNode(lobCatSection, "selected");
    }
    // display the anchor tag row for the current tab.
    var anchorDiv =3D document.getElementById("lobAnchorHeader" + =
tdTab.id);
    if (anchorDiv !=3D null)
        anchorDiv.style.display =3D "block";
}

/* End tab functions */




/* Search functions */

function LocalizeSearch(searchForm) {
    var id =3D getCookieVal('CorpID');
    if (id > 1) {
        searchForm.corp.value =3D id;
        searchForm.LevelNum.value =3D 4;
        searchForm.LevelId.value =3D id;
    }
}

function SearchSite() {
    var form =3D document.getElementById("menuSearch");
    form.submit();
}

function SearchTV(initialView) {
    // Currently called from:
    // 1. Menu Search dropdown (both templates and dynamic pages, and =
auto generated site map)
    // 2. Explore Flash movie callback
    // 3. Channel Lineup page
    // 4. Secondary Menu Nav "Whats On" (both templates and dynamic =
pages, and auto generated site map)
    // initialView can be schedule-grid, browse, or search
    var formSearch =3D document.getElementById("menuSearch");
    var form =3D document.getElementById("tvSearch");
    var zip =3D get5DigitZip();
    if (zip !=3D false)
        form.zipcode.value =3D zip;
    //form.action =3D "http://tvplanner.comcast.net";
    if (initialView)	// form value defaults to "search"
        form.initView.value =3D initialView;
    else
        form.initView.value =3D "search";
    form.method =3D "GET";
    if (formSearch.q.value !=3D "Search")	// "Search" is in the text box =
by default
        form.searchTerm.value =3D formSearch.q.value;
    form.target =3D "_blank";
    form.submit();
}

/* End Search funcitons */


function setLanguage(LanguageCode) {
    // Check to see if language changing, if so clear buyflow guid
    var currentLang =3D getCookieVal("Language");
    if (currentLang !=3D LanguageCode) {
        SetCookie("BuyFlowGuid", false, "", false, true);
    }
    SetCookie("Language", false, LanguageCode, false, true);
    //window.location.reload();
}

function displayMenuForLanguage() {
    var menu =3D document.getElementById("topMenu");
    // Remove menu when language set to Spanish
    //	var language =3D  getCookieVal("Language")
    //	if(window.location.pathname.indexOf("/" + language + "/") > 0)
    if (menu =3D=3D null)
        return;
    if (window.location.pathname.indexOf("/es/") > 0) {
        menu.style.display =3D 'none';
    }
    else {
        menu.style.display =3D 'block';
    }
}

function navigateToLocalization() {
    var action =3D new RemoteMethod('CartController', =
'CheckForBuyflowSession', '');
    action.LocalAction =3D function(args) {
        CheckForBuyflowSessionComplete(args);
    }
    action.Invoke();
}
function navigationHover() {
    var menu =3D document.getElementById("topMenu");
    if (menu =3D=3D null) {
        return;
    }
    navItems =3D menu.getElementsByTagName("li");

    for (var i =3D 0; i < navItems.length; i++) {
        node =3D navItems[i];

        for (var n =3D 0; n < document.styleSheets.length; n++) {

            if (document.styleSheets[n].href !=3D null) {
                menuCss =3D =
document.styleSheets[n].href.match(/(comcast_)(\w+)(\.css$)/);
                if (menuCss) {
                    selectedMenu =3D menuCss[2].toLowerCase();
                    var menuName =3D node.className.toLowerCase();
                    if (menuName.indexOf(selectedMenu) > -1) {
                        node.getElementsByTagName("img")[0].src =3D =
('/images/topMenu/' + selectedMenu + '_Hover.gif');
                        break;
                    }   // end if (menuName)			           =20
                }    // end if (menuCss)
            }

        }   // end for( n )=09

    }
}
function CheckForBuyflowSessionComplete(args) {
    if (args !=3D null && (args =3D=3D "true" || args =3D=3D true)) {
        var MaskReset =3D new Mask();
        MaskReset.Id =3D "localizeResetMask";
        MaskReset.Show();
        cartCleared =3D false;
        RenderOverlay('Change Your Location', 'Changing your address at =
this step may require that you return to beginning of the shopping =
process.<br /><br /><br />Are you sure you want to change your =
address?');
    }
    else {
        RedirectToLocalization();
    }
}
function RedirectToLocalization() {
    var currentPath =3D window.location.pathname;
    if (currentPath.indexOf("?") > 0)
        currentPath +=3D "&Reset=3D1";
    else
        currentPath +=3D "?Reset=3D1";

    if (cartCleared =3D=3D false)
        ClearCart();

    if (window.location.pathname.indexOf("error") < 0) {
        //window.location.assign("https://" + window.location.hostname + =
"/localization/Localize.cspx?Referer=3D" + currentPath);
        window.location =3D "https://" + window.location.hostname + =
"/localization/Localize.cspx?Referer=3D" + currentPath;
    }
    else {
        //window.location.assign("https://" + window.location.hostname + =
"/localization/Localize.cspx");
        window.location =3D "https://" + window.location.hostname + =
"/localization/Localize.cspx";
    }
}
function ClearCart() {
    var action =3D new RemoteMethod('CartController', 'ClearCart', '');
    action.LocalAction =3D function(args) {
        cartCleared =3D true;
    }
    action.Invoke();
}
function HideSignOutLinks() {
   =20
    //Check cookies
    var CustomerId =3D '';
    CustomerId =3D getCookieVal('RC.CID');
    var multipleAccountFlag =3D '';
    multipleAccountFlag =3D getCookieVal("MultipleAccountFlag");
    if (CustomerId !=3D '') {
        if (document.getElementById('SignOut'))
            document.getElementById('SignOut').className =3D =
'ShowSignOutLinks';
        if (document.getElementById('Static2'))
            document.getElementById('Static2').className =3D =
'ShowSignOutLinks';
        if (document.getElementById('Reset'))
            document.getElementById('Reset').className =3D =
'HideHeaderLinks';
        if (document.getElementById('Staticloc2'))
            document.getElementById('Staticloc2').className =3D =
'HideHeaderLinks';
    }
    if (multipleAccountFlag !=3D '') {
        if (document.getElementById('SwitchAccount')) {
            document.getElementById('SwitchAccount').className =3D =
'ShowSignOutLinks';
            if (document.getElementById('Static1'))
                document.getElementById('Static1').className =3D =
'ShowSignOutLinks';
        }
    }
    if (location.href.toLowerCase().indexOf('movers') !=3D -1) {
        if (document.getElementById('topInfoNav'))
            document.getElementById('topInfoNav').className =3D =
'HideHeaderLinks';
    }
}
function ShowSignOutOverLay() {
    var MaskReset =3D new Mask();
    MaskReset.Id =3D "localizeResetMask";
    MaskReset.Show();
    var LeftFunctionName =3D "RedirectToSignOut();";
    var RightFunctionName =3D "HideOverlay();";
    RenderGenericOverlay('Sign out', 'Are you sure you want to sign =
out?', LeftFunctionName, RightFunctionName);
}
function ShowSwitchAddressOverLay() {
    var action =3D new RemoteMethod('CartController', =
'CheckForBuyflowSession', '');
    action.LocalAction =3D function(args) {
        CheckForBuyflowSessionSwitchAddressComplete(args);
    }
    action.Invoke();
}
function CheckForBuyflowSessionSwitchAddressComplete(args) {
    if (args !=3D null && (args =3D=3D "true" || args =3D=3D true)) {
        var MaskReset =3D new Mask();
        MaskReset.Id =3D "localizeResetMask";
        MaskReset.Show();
        var LeftFunctionName =3D =
"RedirectToAuthenticatedUserOptionsPage();";
        var RightFunctionName =3D "HideOverlay();";
        RenderGenericOverlay('Change Your Location', 'Changing your =
address at this step may require that you return to the beginning of the =
shopping process.<br /><br /><br />Are you sure you want to change your =
address?', LeftFunctionName, RightFunctionName);
    }
    else {
        RedirectToAuthenticatedUserOptionsPage();
    }
}
function RedirectToAuthenticatedUserOptionsPage() {
    location.href =3D '/localization/authenticate.cspx';
}
function RedirectToSignOut() {
    location.href =3D '/shop/buyflow2/logout.aspx';
}
------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/js/CookieHelper.js

function getCookieVal(sName)
{
	var val =3D "";
	var nIndex =3D document.cookie.indexOf(sName);
	if (nIndex !=3D -1)
	{
		// move past the equal sign
		var nStart =3D nIndex + sName.length + 1;
	=09
		// find the end of our cookie value. Either &, ;, or end of string
		var nAmp =3D document.cookie.indexOf("&", nStart);
		var nSemi =3D document.cookie.indexOf(";", nStart);

		if ((nAmp !=3D -1 && nAmp < nSemi) || (nSemi =3D=3D -1 && nAmp !=3D =
-1)) val =3D document.cookie.substring(nStart, nAmp);
		else if (nSemi !=3D -1) val =3D document.cookie.substring(nStart, =
nSemi);
		else val =3D document.cookie.substring(nStart, =
document.cookie.length);
	}

	return unescape(val);
}

function GetCookie(key1,key2)
{      =20

        var sCookie =3D new String(document.cookie);
        //alert(sCookie)
        if(key1 !=3D null)
        {
                var aCList =3D sCookie.split('; ');
                for(var i =3D 0;i < aCList.length;i++)
                {
                        sCookie =3D aCList[i];
                        var oReg =3D new =
RegExp("(^"+key1+"=3D)(.*)","ig");
                        var aResult =3D oReg.exec(sCookie);
                        if(aResult !=3D null)
                        {
                                sCookie =3D RegExp.$2;
                                if(key2 !=3D null)
                                {
                                        aCList =3D sCookie.split("&");
                                        for(var i =3D 0;i < =
aCList.length;i++)
                                        {
                                                sCookie =3D aCList[i];
                                                var oReg =3D new =
RegExp("(^"+key2+"=3D)(.*)","ig");
                                                var aResult =3D =
oReg.exec(sCookie);;
                                                if(aResult !=3D null)
                                                {
                                                        sCookie =3D =
unescape(RegExp.$2);
                                                        break;
                                                }else {
                                                        sCookie =3D =
false;
                                                }
                                        }
                                }
                                break;
                        } else {
                                sCookie =3D false;
                        }
                }
        }
        return sCookie;
}

function SetCookie(sName, sSub, sNewValue, sPath, isPermanent)
{
	if(!sName)
		return;
	=09
	if(!sNewValue)
		sNewValue =3D "";
	=09
	if(!sPath)
		sPath =3D "/";
=09
	sCookie =3D GetCookie(sName);
	if(sCookie =3D=3D=3D false)
		sCookie =3D "";
	=09
	var sNewCookie =3D sNewValue;

	if(sSub)
	{
		var sOldValue =3D GetCookie(sName, sSub);
		if(sOldValue !=3D false || sCookie.indexOf(sSub) !=3D -1)	// Cookies =
with no value still return false
		{
			var cPrefix =3D "";
			var sPre =3D "";
			var sSuf =3D "";
		=09
			nStartIndex =3D sCookie.indexOf('&' + sSub);
			if(nStartIndex > 0 )
			{
				cPrefix =3D '&';
				sPre =3D sCookie.substring(0,nStartIndex);
			}
			else
			{
				nStartIndex =3D 0;
			}
		=09
			sSub =3D cPrefix + sSub + "=3D";
		=09
			nEndIndex =3D sCookie.substring(nStartIndex + 1, =
sCookie.length).indexOf('&');
			if(nEndIndex >=3D 0)
			{
				nEndIndex +=3D nStartIndex + 1;
				sSuf =3D sCookie.substring(nEndIndex, sCookie.length)
			}

			sNewCookie =3D sPre + sSub + sNewValue + sSuf;
		}
		else
		{
			if(sCookie.length > 0)
				sCookie +=3D "&";
		=09
			sNewCookie =3D sCookie + sSub + "=3D" + sNewValue;
		}
	}
=09
	if(isPermanent && isPermanent =3D=3D 'true')
	{
		document.cookie =3D sName + '=3D' + sNewCookie + '; expires=3DFri, 31 =
Dec 2020 23:59:59 GMT; path=3D' + sPath + ';';
	}
	else
	{
		document.cookie =3D sName + "=3D" + sNewCookie + "; path=3D" + sPath + =
";";
	}
}

function DeleteCookie(sName, sSub)
{
	// cookies are separated by semicolons
	var aCookie =3D document.cookie.split("; ");
	for (var i=3D0; i < aCookie.length; i++)
	{
		// a name/value pair (a crumb) is separated by an equal sign
		var aCrumb =3D aCookie[i].split("=3D");
		if (sName =3D=3D aCrumb[0])=20
		{
			// Get cookie substring
			var sCookieSubString =3D =
aCookie[i].substring(aCookie[i].indexOf('=3D'),aCookie[i].length);
		=09
			// Get index of sSub
			var nSubIndex =3D sCookieSubString.indexOf(sSub);
			if(nSubIndex !=3D -1)
			{
				var nNextIndex =3D sCookieSubString.substring(nSubIndex, =
sCookieSubString.length).indexOf('&');
				// is last key in cookie
				if(nNextIndex =3D=3D -1)
				{
					nNextIndex =3D sCookieSubString.length;
			=09
					// Find possible leading &
					if(sCookieSubString.charAt(nSubIndex - 1) =3D=3D '&')
					{
						nSubIndex =3D nSubIndex - 1;
					}
				}
				else
				{
					nNextIndex =3D nNextIndex + nSubIndex + 1
				}
			=09
				var sReplaceVal =3D sCookieSubString.substring(nSubIndex, =
nNextIndex);
			=09
				// Replace value
				sCookieSubString =3D sCookieSubString.replace(sReplaceVal,"");

				// If cookie is now empty, delete whole cookie
				if(sCookieSubString.length =3D=3D 0)
				{
					document.cookie =3D sName + "=3D; expires=3DFri, 31 Dec 1999 =
23:59:59 GMT;";
				}
				else
				{
					document.cookie =3D sName + sCookieSubString + "; path=3D/";
				}
			=09
				return true;
			}
		}
	}

	// a cookie with the requested name does not exist
	return false;
}

function setExploreCookie()
{
	SetCookie('Explore', "HideExploreIntro", "true", '/', 'true')
}

function getExploreCookie()
{
	if(GetCookie('Explore', 'HideExploreIntro'))
	{
		return true;
	}
	else
	{
		setExploreCookie();
		return false;
	}
}

////////////////////////
/// Check to see if the user
/// has ever logged in before or
/// is currently logged in.
////////////////////////
function onceLoggedIn()
{
	var onceLoggedIn =3D GetCookie("OnceLoggedIn");
	// Test to see if the OnceLoggedIn cookie is set ( user has logged in =
before )
	if(onceLoggedIn =3D=3D "true")
	{
		return true;
	}
	else=20
	{
		return false;
	}
}

function setHomePanelCookie(PanelNumber)
{
    SetCookie("HomePanel", false, PanelNumber, false, true);
}

function getHomePanelCookie()
{
	if(!GetCookie("HomePanel"))
	{
		return 0;
	}
	else
	{
		return GetCookie("HomePanel");
	}
}


------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/js/javascript.js

//<Script>

// Adds Local Name prefix to page title
function UseLocalTitle()
{
    var localName =3D ReplaceAll(getCookieVal("CorpName"), "&#160;", " =
");
	if(localName && localName !=3D "")
		document.title =3D localName + " - " + document.title;
}

function openExtBrowserWindow(sUrl)
{=09
	//alert("opening " + sUrl);
=09
	var extWindow =3D window.open(sUrl, 'ComcastExternal');
	extWindow.focus();
}

function =
openExtTextWindow(openURL,WindowName,width,height,scroll,resizeable)=20
{
    var winl =3D (screen.width-width)/2;
    var wint =3D (screen.height-height)/2;
    var settings  =3D'height=3D'+height+',';
      settings +=3D'width=3D'+width+',';
      settings +=3D'top=3D'+wint+',';
      settings +=3D'left=3D'+winl+',';
      settings +=3D'scrollbars=3D'+scroll+',';
      settings =
+=3D'toolbar=3Dno,location=3Dno,status=3Dno,menubar=3Dno';
      if(resizeable !=3D null)
      {
        settings +=3D ',resizeable=3D' + resizeable;
      }
      else
      {
        settings +=3D ',resizeable=3Dyes';
      }
    var newwindow =3D window.open(openURL,WindowName,settings);
    newwindow.focus();
    return newwindow;
}


// Popup for email preferences
function OpenEmailPopup(PopupEmail,PopupAccount) {

	var sUrl =3D "";
	var newwindow =3D openExtTextWindow('','EmailPopup',500, 655, 'yes');
=09
	var oPopForm =3D GetEmailPopupForm();
	oPopForm.e.value =3D PopupEmail;
	oPopForm.AcctNum.value =3D PopupAccount;
	oPopForm.submit();
	  =20
    newwindow.focus();
}

function GetEmailPopupForm()
{
	var oForm;
	if(document.getElementById)
		oForm =3D document.getElementById("PopupForm");
	else if (document.all)
		oForm =3D document.all["PopupForm"];
	else
		oForm =3D document.forms["PopupForm"];
	=09
	return oForm;
}


=09

// Set width of text box depending on NN/IE to maintain layout.
function setBoxsize(oName) {
	if (document.layers)=20
		oName.size =3D 20;
	else {
		oName.size =3D 30;=20
	}
}

function ViewDemo()
{=09
	=
window.open("/UserIncludes/Demo.html",'Demo','toolbar=3Dno,location=3Dno,=
status=3Dno,menubar=3Dno,resizable=3Dno,width=3D660,height=3D420,scrollba=
rs=3Dno')
}

function swap(oImage,sNew)
{
	oImage.src =3D "/images/buttons/" + sNew;
}

function GetCookie(key1,key2)
{=09

	var sCookie =3D new String(document.cookie);
	//alert(sCookie)
	if(key1 !=3D null)
	{
		var aCList =3D sCookie.split('; ');
		for(var i =3D 0;i < aCList.length;i++)
		{
			sCookie =3D aCList[i];
			var oReg =3D new RegExp("(^"+key1+"=3D)(.*)","ig");
			var aResult =3D oReg.exec(sCookie);
			if(aResult !=3D null)
			{
				sCookie =3D RegExp.$2;
				if(key2 !=3D null)
				{
					aCList =3D sCookie.split("&");
					for(var i =3D 0;i < aCList.length;i++)
					{
						sCookie =3D aCList[i];
						var oReg =3D new RegExp("(^"+key2+"=3D)(.*)","ig");
						var aResult =3D oReg.exec(sCookie);;
						if(aResult !=3D null)
						{
							sCookie =3D unescape(RegExp.$2);
							break;
						}else {
							sCookie =3D false;
						}
					}
				}
				break;
			} else {
				sCookie =3D false;
			}
		}
	}
	return sCookie;
}

function GetMenuCookie(key1,key2)
{=09

	var sCookie =3D new String(document.cookie);
	//alert(sCookie)
	if(key1 !=3D null)
	{
		var aCList =3D sCookie.split('; ');
		for(var i =3D 0;i < aCList.length;i++)
		{
			sCookie =3D aCList[i];
			var oReg =3D new RegExp("(^"+key1+"=3D)(.*)","ig");
			var aResult =3D oReg.exec(sCookie);
			if(aResult !=3D null)
			{
				sCookie =3D RegExp.$2;
				if(key2 !=3D null)
				{
					aCList =3D sCookie.split("&");
					for(var i =3D 0;i < aCList.length;i++)
					{
						sCookie =3D aCList[i];
						var oReg =3D new RegExp("(^"+key2+"=3D)(.*)","ig");
						var aResult =3D oReg.exec(sCookie);
						if(aResult !=3D null)
						{
							sCookie =3D unescape(RegExp.$2);
							break;
						}else {
							sCookie =3D -1;
						}
					}
				}
				break;
			} else {
				sCookie =3D -1;
			}
		}
	}
	return sCookie;
}


/* Switch button from "Products In My Area" to "Order Now" if they're =
localized.
	Pass in product type to select its box on next page (Serviceability)
*/=09
function SwitchButtons (Product) {=09
	//alert("called the switcher");

	var sAddress =3D GetCookie("Serviceability","Address");
	var sInternet =3D =
GetCookie("Serviceability","NumInternetProductsAvailable");
	var sDigital =3D =
GetCookie("Serviceability","NumDigitalProductsAvailable");
=09
	/* debug strings
	alert("Address is: " + sAddress + "\n" +
		"Int Products:  " + sInternet+ "\n" +
		"Dig Products:  " + sDigital);
	*/
=09
	if (!sAddress) {		// Not localized
		document.write('<a href=3D"/Products/Serviceability.asp?SourcePage=3D' =
+ Product + ' " =
onmouseover=3D"swap(document.Continue,\'productsinmyarea_over.gif\')" =
onmouseout=3D"swap(document.Continue,\'productsinmyarea.gif\')"><img =
align=3D"right" src=3D"/images/buttons/productsinmyarea.gif" =
border=3D"0" name=3D"Continue" /></a>');
	}
	=09
	if (sAddress) {			// Localized
	=09
		// Hold this fork until Phase 2=09
		// if ( (sDigital > 0) || (sInternet > 0) )		// Product available
			document.write('<a =
href=3D"/Products/Serviceability.asp?SourcePage=3D' + Product + ' " =
onmouseover=3D"swap(document.Continue,\'OrderNow_over.gif\')" =
onmouseout=3D"swap(document.Continue,\'OrderNow.gif\')"><img =
align=3D"right" src=3D"/images/buttons/OrderNow.gif" border=3D"0" =
name=3D"Continue" /></a>');

		/* Hold until Phase 2
		else {											// Product NOT available
			//alert("No products");
			document.write('<a href=3D"../ContactUs/NotifyMe.ashx" =
onmouseover=3D"swap(document.Continue,\'NotifyMe_over.gif\')" =
onmouseout=3D"swap(document.Continue,\'NotifyMe.gif\')"><img =
align=3D"right" src=3D"/images/buttons/NotifyMe.gif" border=3D"0" =
name=3D"Continue" /></a>');
			// TODO Need to fix the link for aspgen???
		}
		*/
	}
}


/*  The cookies N
	Switch button from "Products In My Area" to "Check Availability" if =
they're localized.
	Pass in product type to select its box on next page (Serviceability)
*/=09
function SwitchToContinue(Product, sButton1, sButton2) {=09
	//alert("called the switcher" + Product);

	var sAddress =3D GetCookie("Serviceability","Address");
=09
	// Use default button images if non are provided
	if((!sButton1 && !sButton2) || (sButton1.length =3D=3D 0 && =
sButton2.length =3D=3D 0))
	{
		if(sAddress)
		{
			sButton1 =3D "Continue.gif";
			sButton2 =3D "Continue_over.gif";
		}
		else
		{
			sButton1 =3D "CheckAvailability.gif";
			sButton2 =3D "CheckAvailability_over.gif";
		}
	}
=09
	/* debug strings
	alert("Address is: " + sAddress + "\n" +
		"Int Products:  " + sInternet+ "\n" +
		"Dig Products:  " + sDigital);
	*/
=09
=09
	document.write('<a href=3D"/Buyflow/default.ashx?SourcePage=3D' + =
Product + ' " onmouseover=3D"swap(document.Continue,\'' + sButton2 + =
'\')" onmouseout=3D"swap(document.Continue,\'' + sButton1 + '\')"><img =
align=3D"right" src=3D"/images/buttons/' + sButton1 + '" border=3D"0" =
name=3D"Continue" /></a>');
}


/*=20
	Trim a string to fit. Shortens and adds ellipsis (...).
	Pass in string and max length.
	Used to trim long corp name display in header bar (menu.xslt).=09
	Remove broken character entity at end of line to prevent rendering =
'&#16' for '&#160;', etc.
*/
function TrimString(LongString,MaxLength)
{
=09
	//Check for end-of-line partial character entity after trimming a =
string to prevent rendering something like '&#16' for '&#160;'
	var oRegYes =3D new RegExp("(&.{0,5}\.\.\.)$" );

	var NewString =3D LongString;
	=09
	if (LongString.length > MaxLength)
	{
		NewString =3D LongString.substr(0,MaxLength) + "... ";
	=09
		if( NewString.match(oRegYes) )
		{
			//alert(NewString.search(oRegYes));		=09
			NewString =3D NewString.replace(oRegYes,"... ");
			//alert("after: " + NewString);
		}
	}
	return NewString;
}



/************************************************************************=
***
	Autotab the 3-box phone fields
	NOTE: Don't call from 3rd box if the next field cannot receive focus.
*************************************************************************=
***/

var isNN =3D (navigator.appName.indexOf("Netscape") !=3D -1 );=20
=20
function autoTab(input,len, e) {=20
	var keyCode	=3D (isNN) ? e.which : e.keyCode;=20
	var filter	=3D (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];=20
	if( input.value.length >=3D len && !containsElement(filter, keyCode)) { =

		input.value =3D input.value.slice( 0, len );=20
		input.form[(getIndex(input) + 1) % input.form.length].focus();=20
	}=20
	return true;=20
}=20
=20
function containsElement(arr, ele) {=20
	var found =3D false, index =3D 0;=20
	while(!found && index < arr.length)=20
	if(arr[index] =3D=3D ele) {=20
		found =3D true;=20
	} else {=20
		index++;=20
	}=20
	return found;=20
}=20
=20
function getIndex(input) {=20
	var index =3D -1, i =3D 0, found =3D false;=20
	while (i < input.form.length && index =3D=3D -1)=20
	if (input.form[i] =3D=3D input) {=20
		index =3D i;=20
	} else {=20
		i++;=20
	}=20
	return index;=20
}


//Get Telephony Serviceability from cookies. Used by search.
function GetTelephonyServ()
{
	var iTelType =3D -1;
	var ServType =3D GetCookie('Serviceability','LocalizationTypeID')
	if(ServType =3D=3D 1 || ServType =3D=3D 2  || ServType =3D=3D 9 )
	{
		var bVOIP =3D GetCookie("Menu","VO") =3D=3D 1;
		var bDTS =3D GetCookie("Menu","DP") =3D=3D 1;
		if(bDTS && bVOIP)
		{
			iTelType =3D -2;
		}
		else if(bVOIP)
		{
			iTelType =3D 5;
		}
		else if(bDTS)
		{
			iTelType =3D 4;
		}=09
	}

	return iTelType;
}

/********************************************
Query String parsing
*********************************************/
function PageQuery(q) {
	if(q.length > 1) this.q =3D q.substring(1, q.length);
	else this.q =3D null;
	this.keyValuePairs =3D new Array();
	if(q) {
		for(var i=3D0; i < this.q.split("&").length; i++) {
			this.keyValuePairs[i] =3D this.q.split("&")[i];
		}
	}
	this.getKeyValuePairs =3D function() { return this.keyValuePairs; }
	this.getValue =3D function(s) {
		for(var j=3D0; j < this.keyValuePairs.length; j++) {
			if(this.keyValuePairs[j].split("=3D")[0] =3D=3D s)
			return this.keyValuePairs[j].split("=3D")[1];
		}
		return false;
	}
	this.getParameters =3D function() {
		var a =3D new Array(this.getLength());
		for(var j=3D0; j < this.keyValuePairs.length; j++) {
			a[j] =3D this.keyValuePairs[j].split("=3D")[0];
		}
		return a;
	}
	this.getLength =3D function() { return this.keyValuePairs.length; }
}
//This function will return the value of the named pair specified by =
"key"
function queryString(key){
	var page =3D new PageQuery(window.location.search);
	return unescape(page.getValue(key));
}

function displayItem(key){
	if(queryString(key)=3D=3D'false')
	{
		document.write("you didn't enter a ?name=3Dvalue querystring item.");
	}else{
		document.write(queryString(key));
	}
}

function addClassToNode(node, className)
{
	node.className +=3D " " + className;
=09
}

function removeClassFromNode(node, className)
{
	// Try removing w/ the space first then w/o the leading space.
	// The first class on a node won't have the leading space.
	node.className =3D node.className.replace(new RegExp(" " + className + =
"\\b"), "");
	node.className =3D node.className.replace(new RegExp(className + =
"\\b"), "");
}

function clearValue(input, defaultValue)
{
	if(defaultValue =3D=3D "Password" && input.type =3D=3D "text")
	{=09
		try
		{
			var type =3D input.getAttributeNode("type");
			type.nodeValue =3D "password";
		}
		catch (e)
		{
			var newInput =3D document.createElement("input");
			newInput.type =3D "password";
			input.replaceNode(newInput);
			newInput.id =3D "password"
			newInput.name =3D "password";
			newInput.className =3D "text";
			newInput.onblur =3D function() { testValue(newInput, "Password"); }
			newInput.focus();
			newInput.focus(); // needs double focus for some reason
			input =3D newInput;
		}
		input.focus();
	}
	if(input.value =3D=3D defaultValue)
		input.value =3D "";
}

function testValue(input, defaultValue)
{
	if(defaultValue =3D=3D "Password" && input.value =3D=3D "")
	{
		try
		{
			input.type =3D "text";
		}
		catch (e)
		{
			var newInput =3D document.createElement("input");
			newInput.type =3D "text";
			input.replaceNode(newInput);
			newInput.id =3D "password"
			newInput.name =3D "password";
			newInput.className =3D "text";
			newInput.onfocus =3D function() { clearValue(newInput, "Password"); }
			newInput.value =3D defaultValue;
			input =3D null;
			return;
		}
	}
	if(input.value =3D=3D "")
		input.value =3D defaultValue;
}

// Functions for CM Forms

function FormRequired(field)
{
	if (field.type=3D=3D"checkbox" || field.type=3D=3D"radio") {
		if (!field.checked){
			return field.name + " is a required field.\n";
		}
	} else if (field[0] && (field[0].type=3D=3D"checkbox" || =
field[0].type=3D=3D"radio")) {
		var check =3D false;
		var name =3D field[0].name;
		for (var i=3D0; i<field.length; i++) {
			if (field[i].checked) {
				check =3D true;
			}
		}
		if (!check) {
			var msg;
			if (field.type=3D=3D"checkbox"){
				msg =3D "Please choose at least one option from ";
			}
			else {
				msg =3D "Please choose an option from ";
			}
			return msg + name + "\n";
		}
	} else if (field.type=3D=3D"select-one" || =
field.type=3D=3D"select-multiple") {
		if (field.options[field.selectedIndex].value=3D=3D"")
			return field.name + " is a required field.\n";
	} else {
		if (field.length =3D=3D 0 || field.value =3D=3D "") {
			return field.name+" is a required field.\n";
		}
	}
	return "";
}

// NOTE: Remove the else branch after localization is implemented. It =
simply prevents showing a broken page.
function validateZIP(zfield)=20
{
		var zvalue =3D zfield.value;
		var zerocount =3D 0;
		if (zvalue.length!=3D5) {
			alert("Please enter a 5-digit ZIP Code.");
			zfield.focus();
			return false;
		}
		for (var i=3D0; i < zvalue.length; i++) {
			temp =3D "" + zvalue.substring(i, i+1);
			if (temp =3D=3D "0") zerocount++;
			if (zerocount =3D=3D 5) {
				alert("Please enter a valid 5-digit ZIP Code.");
				zfield.select();
				return false;
			}
		}
		var valid =3D "0123456789"
		var ok =3D "yes";
		var temp;
		for (var i=3D0; i < zvalue.length; i++) {
			temp =3D "" + zvalue.substring(i, i+1);
			if (valid.indexOf(temp) =3D=3D "-1") ok =3D "no";
		}
		if (ok =3D=3D "no") {
			alert("Please enter a valid 5-digit ZIP Code.");
			zfield.focus();
			return false;
		}
=09
		return true;
}

function ValidateEmail(efield, required)
{
	if (required =3D=3D false && efield.value =3D=3D "") {
		return "";
	}
=09
	var evalue =3D efield.value;

	var error =3D "Invalid E-mail Address.\n";
	var at =3D "@";
	var dot =3D ".";
	var lat =3D evalue.indexOf(at);
	var lstr =3D evalue.length;
	var ldot =3D evalue.indexOf(dot);

	if (lat =3D=3D -1 || lat =3D=3D 0 || lat =3D=3D lstr){
		return error;
	}

	if (ldot =3D=3D -1 || ldot =3D=3D 0 || ldot =3D=3D lstr){
		return error;
	}

	if (evalue.indexOf(at, (lat + 1)) !=3D -1){
		return error;
	}

	if (evalue.substring(lat - 1, lat) =3D=3D dot || evalue.substring(lat + =
1, lat + 2) =3D=3D dot || evalue.substring(lstr - 1, lstr) =3D=3D dot || =
evalue.substring(lstr - 2, lstr - 1) =3D=3D dot){
		return error;
	}

	if (evalue.indexOf(dot, (lat + 2)) =3D=3D -1){
		return error;
	}

	if (evalue.indexOf(" ") !=3D -1){
		return error;
	}
=09
	return "";
}

function ValidatePhone(pfield, required)
{
	if (required =3D=3D false && pfield.value =3D=3D "") {
		return "";
	}
=09
	var pvalue =3D pfield.value;
	rePhoneNumber =3D new RegExp(/^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/);

	if (!pvalue.match(rePhoneNumber)) {
		return "Please enter Phone Number in the format: (555) 555-1234\n";
	}
=09
	return "";
}

function ValidateZIPCode(zfield, required)
{
	if (required =3D=3D false && zfield.value =3D=3D "") {
		return "";
	}
=09
	var zvalue =3D zfield.value;
	var zerocount =3D 0;
	if (zvalue.length!=3D5) {
		return "Please enter a 5-digit ZIP Code.\n";
	}
	for (var i=3D0; i < zvalue.length; i++) {
		temp =3D "" + zvalue.substring(i, i+1);
		if (temp =3D=3D "0") zerocount++;
		if (zerocount =3D=3D 5) {
			return "Please enter a valid 5-digit ZIP Code.\n";
		}
	}
	var valid =3D "0123456789"
	var ok =3D "yes";
	var temp;
	for (var i=3D0; i < zvalue.length; i++) {
		temp =3D "" + zvalue.substring(i, i+1);
		if (valid.indexOf(temp) =3D=3D "-1") ok =3D "no";
	}
	if (ok =3D=3D "no") {
		return "Please enter a valid 5-digit ZIP Code.\n";
	}

	return "";
}

//Depricated. Function moved to DF.js
function ForceSSL()
{
	if(window.location.protocol =3D=3D "http:")
		window.location =3D "https://" + window.location.hostname + =
window.location.pathname + window.location.search;
}

//Depricated. Function moved to DF.js
function ForceNoSSL()
{
	if(window.location.protocol =3D=3D "https:")
		window.location =3D "http://" + window.location.hostname + =
window.location.pathname + window.location.search;
}

function ReplaceAll(value, find, replace)
{
	while(value.indexOf(find) !=3D -1) {
		value =3D value.replace(find, replace);
	}
=09
	return value;
}

function openLink(behavior, destination, width, height, centered, x, y, =
scrollbars, resizeable)
{
	//alert("DF Test");
	//alert("behavior: " + behavior + "\ndest: " + destination + =
"\nhbxCode: " + hbxCode+ "\nwidth" + width+ "\nheigth: "+ height+ =
"\ncentered: " + centered+ "\nx: " + x+ "\ny: " + y+ "\n");
	//alert("scrollbars: " + scrollbars + "\nresizeable: " + resizeable);

	var winl =3D (screen.width-width)/2;
	var wint =3D (screen.height-height)/2;
=09
	if (destination =3D=3D "#TVPlanner")
	{
		if (theParentWindow !=3D null)
		{
			if (theParentWindow.SearchTV)
				theParentWindow.SearchTV('schedule-grid');	// this function is in =
menu.js
		}
		return;
	}

	var _behavior;
	switch(behavior)
	{
		case "self":
			_behavior =3D "_self";
			break;
		case "new":
			_behavior =3D "_blank";
			break;
		case "parent":
			try {
				if(theParentWindow !=3D null && !theParentWindow.closed)
				{
					theParentWindow.location =3D destination;
					theParentWindow.focus();
					return;
				}
				else
				{
					var newWin =3D window.open(destination);
					if(newWin =3D=3D null)
						alert("Your popup blocker has stoped a window from opening." + =
'\n' + "Allow popups for this page and try again.");
					else
					{
						theParentWindow =3D newWin;
						window.opener =3D theParentWindow;
						newWin.focus();
					}
					return;
				}
			}
			catch(error)
			{
					var newWin =3D window.open(destination);
					if(newWin =3D=3D null)
						alert("Your popup blocker has stoped a window from opening." + =
'\n' + "Allow popups for this page and try again.");
					else
					{
						theParentWindow =3D newWin;
						window.opener =3D theParentWindow;
						newWin.focus();
					}
					return;
			}
			break;
		default:
			_behavior =3D "_blank";
			break;
	}

	if(_behavior =3D=3D "_blank")
	{
		var settings  =3D'height=3D'+height+',';
		settings +=3D'width=3D'+width+',';
		if(centered =3D=3D 'true')
		{
			settings +=3D'top=3D'+wint+',';
			settings +=3D'left=3D'+winl+',';
		}
		else
		{
			settings +=3D'top=3D'+y+',';
			settings +=3D'left=3D'+x+',';
		}
	}
	if(scrollbars =3D=3D 'true')
	{
		settings +=3D'scrollbars=3Dyes,';
	}
	else
	{
		settings +=3D'scrollbars=3Dno,';
	}
	if(resizeable =3D=3D 'true')
	{
		settings +=3D'resizable=3Dyes,';
	}
	else
	{
		settings +=3D'resizable=3Dno,';
	}
	settings +=3D'toolbar=3Dno,location=3Dno,status=3Dno,menubar=3Dno';
	var newwindow =3D window.open(destination,_behavior,settings);
	if(newwindow !=3D null)
		newwindow.focus();
	return;
}


function checkEnter(e, formButtonId)  //e is event object passed from =
function invocation
{
	var characterCode; //literal character code will be stored in this =
variable
	if(e && e.which) //if which property of event object is supported (NN4)
	{
		//e =3D e;
		characterCode =3D e.which; //character code is contained in NN4's =
which property
	}
	else if (e){
		//e =3D event;
		characterCode =3D e.keyCode; //character code is contained in IE's =
keyCode property
	}
	else
	{
		return true;
	}

	if(characterCode =3D=3D 13) //if generated character code is equal to =
ascii 13 (if enter key)
	{
	    var formToSubmit =3D document.getElementById(formButtonId);
		if(formToSubmit !=3D null)
		{
			formToSubmit.click();
		}
		//document.getElementById(formId).submit();
		//document.forms[1].submit(); //submit the form
		return false;
	}
	else
	{
		return true;
	}
}

function limit(field, chars) {
	if (field.value.length > chars) {
		field.value =3D field.value.substr(0, chars);
		// next line is optional
		alert('You are only allowed to enter '+chars+' characters in the =
'+field.name+' field!');
	}
}

//This fires an async request to the specified url
//Specifically designed not to handle the onreadystatechange event
//Used primarily to call the IDGenerator.
function makeHttpRequest(url) {
	var http_request =3D false;
=09
	if(url && url.length > 0)
	{
		reHTTP =3D new RegExp("^(http://|https://)");
		if(!url.match(reHTTP))
		{
			if (window.XMLHttpRequest) { // Mozilla, Safari,...
				http_request =3D new XMLHttpRequest();
				if (http_request.overrideMimeType) {
					http_request.overrideMimeType('text/xml');
				}
			} else if (window.ActiveXObject) { // IE
				try {
					http_request =3D new ActiveXObject("Msxml2.XMLHTTP");
				} catch (e) {
					try {
						http_request =3D new ActiveXObject("Microsoft.XMLHTTP");
					} catch (e) {}
				}
			}

			if (!http_request) {
				//alert('Giving up :( Cannot create an XMLHTTP instance');
				return false;
			}
			=09
			http_request.open('GET', url, true);
			http_request.send(null);
		}
	}

}
function createRequestObject() {
	FORM_DATA =3D new Object();
	// The Object ("Array") where our data will be stored.
	separator =3D ',';
	// The token used to separate data from multi-select inputs
	query =3D '' + this.location;
	qu =3D query
	// Get the current URL so we can parse out the data.
	// Adding a null-string '' forces an implicit type cast
	// from property to string, for NS2 compatibility.
	query =3D query.substring((query.indexOf('?')) + 1);
	// Keep everything after the question mark '?'.
	if (query.length < 1) { return false; }  // Perhaps we got some bad =
data?
	keypairs =3D new Object();
	numKP =3D 1;
	// Local vars used to store and keep track of name/value pairs
	// as we parse them back into a usable form.
	while (query.indexOf('&') > -1) {
		keypairs[numKP] =3D query.substring(0,query.indexOf('&'));
		query =3D query.substring((query.indexOf('&')) + 1);
		numKP++;
		// Split the query string at each '&', storing the left-hand side
		// of the split in a new keypairs[] holder, and chopping the query
		// so that it gets the value of the right-hand string.
	}
	keypairs[numKP] =3D query;
	// Store what's left in the query string as the final keypairs[] data.
	for (i in keypairs) {
		if(typeof keypairs[i] =3D=3D "string")
		{
			keyName =3D keypairs[i].substring(0,keypairs[i].indexOf('=3D'));
			// Left of '=3D' is name.
			keyValue =3D keypairs[i].substring((keypairs[i].indexOf('=3D')) + 1);
			// Right of '=3D' is value.
			while (keyValue.indexOf('+') > -1) {
				keyValue =3D keyValue.substring(0,keyValue.indexOf('+')) + ' ' + =
keyValue.substring(keyValue.indexOf('+') + 1);
				// Replace each '+' in data string with a space.
			}
			keyValue =3D unescape(keyValue);
			// Unescape non-alphanumerics
			if (FORM_DATA[keyName]) {
				FORM_DATA[keyName] =3D FORM_DATA[keyName] + separator + keyValue;
				// Object already exists, it is probably a multi-select input,
				// and we need to generate a separator-delimited string
				// by appending to what we already have stored.
			} else {
				FORM_DATA[keyName] =3D keyValue;
				// Normal case: name gets value.
			}
		}
	}
	return FORM_DATA;
}

function getSSLServer() {
	var sLoc =3D window.location.href;
	var aURL =3D sLoc.split("/");
	var sServer =3D aURL[2];
	return "https://" + sServer;
}

function SetDisplayByName(name, display)
{
	var elements =3D document.getElementsByName(name);
	for (var i =3D 0; i < elements.length; i++)
	{
		elements[i].style.display =3D display;
	}
}

function RegisterScriptTag(scriptUri) {
    scriptUri =3D scriptUri.replace(/&amp;/g, '&');
    var script =3D document.createElement('script');
    script.src =3D scriptUri;
    script.type =3D 'text/javascript';
    script.defer =3D true;
    document.getElementsByTagName('head').item(0).appendChild(script);
}
------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/js/swfobject.js

/**
 * SWFObject v1.4.4: Flash Player detection and embed - =
http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT =
License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * **SWFObject is the SWF embed script formerly known as FlashObject. =
The name was changed for
 *   legal reasons.
 */
if(typeof deconcept=3D=3D"undefined"){var deconcept=3Dnew Object();}
if(typeof deconcept.util=3D=3D"undefined"){deconcept.util=3Dnew =
Object();}
if(typeof =
deconcept.SWFObjectUtil=3D=3D"undefined"){deconcept.SWFObjectUtil=3Dnew =
Object();}
deconcept.SWFObject=3Dfunction(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){if(!documen=
t.getElementById){return;}
this.DETECT_KEY=3D_b?_b:"detectflash";
this.skipDetect=3Ddeconcept.util.getRequestParameter(this.DETECT_KEY);
this.params=3Dnew Object();
this.variables=3Dnew Object();
this.attributes=3Dnew Array();
if(_1){this.setAttribute("swf",_1);}
if(id){this.setAttribute("id",id);}
if(w){this.setAttribute("width",w);}
if(h){this.setAttribute("height",h);}
if(_5){this.setAttribute("version",new =
deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=3Ddeconcept.SWFObjectUtil.getPlayerVersion();
if(c){this.addParam("bgcolor",c);}
var q=3D_8?_8:"high";
this.addParam("quality",q);
this.setAttribute("useExpressInstall",_7);
this.setAttribute("doExpressInstall",false);
var _d=3D(_9)?_9:window.location;
this.setAttribute("xiRedirectUrl",_d);
this.setAttribute("redirectUrl","");
if(_a){this.setAttribute("redirectUrl",_a);}};
deconcept.SWFObject.prototype=3D{setAttribute:function(_e,_f){
this.attributes[_e]=3D_f;
},getAttribute:function(_10){
return this.attributes[_10];
},addParam:function(_11,_12){
this.params[_11]=3D_12;
},getParams:function(){
return this.params;
},addVariable:function(_13,_14){
this.variables[_13]=3D_14;
},getVariable:function(_15){
return this.variables[_15];
},getVariables:function(){
return this.variables;
},getVariablePairs:function(){
var _16=3Dnew Array();
var key;
var _18=3Dthis.getVariables();
for(key in _18){_16.push(key+"=3D"+_18[key]);}
return _16;},getSWFHTML:function(){var _19=3D"";
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(this.getAttribute("doExpressInstall")){
this.addVariable("MMplayerType","PlugIn");}
_19=3D"<embed type=3D\"application/x-shockwave-flash\" =
src=3D\""+this.getAttribute("swf")+"\" =
width=3D\""+this.getAttribute("width")+"\" =
height=3D\""+this.getAttribute("height")+"\"";
_19+=3D" id=3D\""+this.getAttribute("id")+"\" =
name=3D\""+this.getAttribute("id")+"\" ";
var _1a=3Dthis.getParams();
for(var key in _1a){_19+=3D[key]+"=3D\""+_1a[key]+"\" ";}
var _1c=3Dthis.getVariablePairs().join("&");
if(_1c.length>0){_19+=3D"flashvars=3D\""+_1c+"\"";}_19+=3D"/>";
}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplaye=
rType","ActiveX");}
_19=3D"<object id=3D\""+this.getAttribute("id")+"\" =
classid=3D\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" =
width=3D\""+this.getAttribute("width")+"\" =
height=3D\""+this.getAttribute("height")+"\">";
_19+=3D"<param name=3D\"movie\" value=3D\""+this.getAttribute("swf")+"\" =
/>";
var _1d=3Dthis.getParams();
for(var key in _1d){_19+=3D"<param name=3D\""+key+"\" =
value=3D\""+_1d[key]+"\" />";}
var _1f=3Dthis.getVariablePairs().join("&");
if(_1f.length>0){_19+=3D"<param name=3D\"flashvars\" value=3D\""+_1f+"\" =
/>";}_19+=3D"</object>";}
return _19;
},write:function(_20){
if(this.getAttribute("useExpressInstall")){
var _21=3Dnew deconcept.PlayerVersion([6,0,65]);
if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsVal=
id(this.getAttribute("version"))){
this.setAttribute("doExpressInstall",true);
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl"=
)));
document.title=3Ddocument.title.slice(0,47)+" - Flash Player =
Installation";
this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installed=
Ver.versionIsValid(this.getAttribute("version"))){
var n=3D(typeof _20=3D=3D"string")?document.getElementById(_20):_20;
n.innerHTML=3Dthis.getSWFHTML();return true;
}else{if(this.getAttribute("redirectUrl")!=3D""){document.location.replac=
e(this.getAttribute("redirectUrl"));}}
return false;}};
deconcept.SWFObjectUtil.getPlayerVersion=3Dfunction(){
var _23=3Dnew deconcept.PlayerVersion([0,0,0]);
if(navigator.plugins&&navigator.mimeTypes.length){
var x=3Dnavigator.plugins["Shockwave Flash"];
if(x&&x.description){_23=3Dnew =
deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replac=
e(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{try{var axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}
catch(e){try{var axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
_23=3Dnew =
deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess=3D"always";}
catch(e){if(_23.major=3D=3D6){return _23;}}try{axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash");}
catch(e){}}if(axo!=3Dnull){_23=3Dnew =
deconcept.PlayerVersion(axo.GetVariable("$version").split(" =
")[1].split(","));}}
return _23;};
deconcept.PlayerVersion=3Dfunction(_27){
this.major=3D_27[0]!=3Dnull?parseInt(_27[0]):0;
this.minor=3D_27[1]!=3Dnull?parseInt(_27[1]):0;
this.rev=3D_27[2]!=3Dnull?parseInt(_27[2]):0;
};
deconcept.PlayerVersion.prototype.versionIsValid=3Dfunction(fv){
if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){
return false;
}return true;};
deconcept.util=3D{getRequestParameter:function(_29){
var q=3Ddocument.location.search||document.location.hash;
if(q){var _2b=3Dq.substring(1).split("&");
for(var i=3D0;i<_2b.length;i++){
if(_2b[i].substring(0,_2b[i].indexOf("=3D"))=3D=3D_29){
return _2b[i].substring((_2b[i].indexOf("=3D")+1));}}}
return "";}};
deconcept.SWFObjectUtil.cleanupSWFs=3Dfunction(){if(window.opera||!docume=
nt.all){return;}
var _2d=3Ddocument.getElementsByTagName("OBJECT");
for(var i=3D0;i<_2d.length;i++){_2d[i].style.display=3D"none";for(var x =
in _2d[i]){
if(typeof _2d[i][x]=3D=3D"function"){_2d[i][x]=3Dfunction(){};}}}};
deconcept.SWFObjectUtil.prepUnload=3Dfunction(){__flash_unloadHandler=3Df=
unction(){};
__flash_savedUnloadHandler=3Dfunction(){};
if(typeof window.onunload=3D=3D"function"){
var _30=3Dwindow.onunload;
window.onunload=3Dfunction(){
deconcept.SWFObjectUtil.cleanupSWFs();_30();};
}else{window.onunload=3Ddeconcept.SWFObjectUtil.cleanupSWFs;}};
if(typeof window.onbeforeunload=3D=3D"function"){
var oldBeforeUnload=3Dwindow.onbeforeunload;
window.onbeforeunload=3Dfunction(){
deconcept.SWFObjectUtil.prepUnload();
oldBeforeUnload();};
}else{window.onbeforeunload=3Ddeconcept.SWFObjectUtil.prepUnload;}
if(Array.prototype.push=3D=3Dnull){
Array.prototype.push=3Dfunction(_31){
this[this.length]=3D_31;
return this.length;};}
var getQueryParamValue=3Ddeconcept.util.getRequestParameter;
var FlashObject=3Ddeconcept.SWFObject;
var SWFObject =3D deconcept.SWFObject;

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/js/searchsuggests.js

/**
    * Global vars
    */
    __AutoComplete =3D new Array();
    var user_typed_query;
    var toDisplay;
    var isMouseOverSearchPanel =3D false;
    var mySearchTimer =3D null;
   =20
    // Basic UA detection
    isOpera =3D navigator.userAgent.toLowerCase().indexOf('opera') !=3D =
-1;   =20
    /**
    * Attachs the autocomplete object to a form element. Sets
    * onkeypress event on the form element.
    *=20
    * @param string formElement Name of form element to attach to
    * @param array  data        Array of strings of which to use as the =
autocomplete data
    */
    function AutoComplete_Create (id, url) {
        if (document.getElementById(id) =3D=3D null) { return; }
        //this will remove the onchange of the search textbox because =
the form was causing a postback
        document.getElementById(id).onchange =3D function(e) { return =
false; }
            __AutoComplete[id] =3D { 'url': url,
                'isVisible': false,
                'element': document.getElementById(id),
                'dropdown': null,
                'highlighted': null,
                'close': null,
                'term_at_close': ""
            };

            __AutoComplete[id]['element'].setAttribute('autocomplete', =
'off');
            __AutoComplete[id]['element'].onkeydown =3D function(e) { =
return AutoComplete_KeyDown(this.getAttribute('id'), e); }
            __AutoComplete[id]['element'].onkeyup =3D function(e) { =
return AutoComplete_KeyUp(this.getAttribute('id'), e); }
            __AutoComplete[id]['element'].onkeypress =3D function(e) { =
if (!e) e =3D window.event; if (e.keyCode =3D=3D 13 || isOpera) return =
false; }
            __AutoComplete[id]['element'].ondblclick =3D function(e) { =
return AutoComplete_DoubleClick(this.getAttribute('id'), e); }
            __AutoComplete[id]['element'].onclick =3D function(e) { if =
(!e) e =3D window.event; e.cancelBubble =3D true; e.returnValue =3D =
false; }

            if (document.addEventListener) {
                document.addEventListener('click', CloseSearchPanel, =
false);
            } else if (document.attachEvent) {
            document.attachEvent('onclick', CloseSearchPanel, false);
            }

            // Max number of items shown at once
            if (arguments[2] !=3D null) {
                __AutoComplete[id]['maxitems'] =3D arguments[2];
                __AutoComplete[id]['firstItemShowing'] =3D 1;
                __AutoComplete[id]['lastItemShowing'] =3D arguments[2];
            }

            AutoComplete_CreateDropdown(id);
       =20
    }

   =20
    /**
    * Creates the dropdown layer
    *=20
    * @param string id The form elements id. Used to identify the =
correct dropdown.
    */
    function AutoComplete_CreateDropdown(id) {

        if (__AutoComplete !=3D null) {           =20
            __AutoComplete[id]['dropdown'] =3D =
document.createElement('div');
            __AutoComplete[id]['dropdown'].className =3D 'autocomplete'; =
// Don't use setAttribute()
            __AutoComplete[id]['dropdown'].id =3D 'autocomplete';
            __AutoComplete[id]['dropdown'].onmouseover =3D function(e) { =
MouseOverSearchPanel(); return false; }
            __AutoComplete[id]['dropdown'].onmouseout =3D function(e) { =
MouseOutSearchPanel(); return false; }

            =
__AutoComplete[id]['element'].parentNode.insertBefore(__AutoComplete[id][=
'dropdown'], __AutoComplete[id]['element'].nextSibling);


            __AutoComplete[id]['dropdown'].style.zIndex =3D '99';
            __AutoComplete[id]['dropdown'].style.display =3D 'none';

            __AutoComplete[id]['close'] =3D document.createElement('b');
            __AutoComplete[id]['close'].className =3D 'close';
            __AutoComplete[id]['close'].id =3D 'acclose';
            newA =3D document.createElement('a');
            newA.setAttribute("title", "Close");
            newA.onclick =3D function() { closeSuggestions(id); }
            text =3D document.createTextNode("Close");
            newA.appendChild(text);
            __AutoComplete[id]['close'].appendChild(newA);

            =
__AutoComplete[id]['element'].parentNode.insertBefore(__AutoComplete[id][=
'close'], __AutoComplete[id]['dropdown'].nextSibling);
            __AutoComplete[id]['close'].style.display =3D 'none';

        }
    }
=20
    /**
    * Shows the dropdown layer
    *=20
    * @param string id The form elements id. Used to identify the =
correct dropdown.
    */
    function AutoComplete_ShowDropdown(id) {
     =20
        __AutoComplete[id]['isVisible'] =3D false;

        var value =3D =
qctrim(__AutoComplete[id]['element'].value).toLowerCase();

        var url =3D __AutoComplete[id]['url'] + "?q=3D" + value + =
"&cat=3Dqc";

        if (value.length =3D=3D 0) { __AutoComplete[id]['term_at_close'] =
=3D ""; }

        if (value.length < 1 || __AutoComplete[id]['term_at_close'] !=3D =
"") {
            AutoComplete_HideDropdown(id);
            return;
        }


        var flashwrapper =3D document.getElementById('FlashWrapper');
        if (flashwrapper !=3D null) {
            flashwrapper.style.cssText =3D '#z-Index: -1 ! important;';
        }

        initSuggestion(id);
    }
=20
    function closeSuggestions(id) {
         =
AutoComplete_HideDropdown(__AutoComplete[id]['element'].getAttribute('id'=
));
         __AutoComplete[id]['term_at_close'] =3D =
__AutoComplete[id]['element'].value;
         __AutoComplete[id]['element'].ondblclick =3D "";
       =20
        /* To place the cursor at the end of the input field in IE when =
user clicks close button */
       =20
        if (__AutoComplete[id]['element'].createTextRange)
        {
           var FieldRange =3D =
__AutoComplete[id]['element'].createTextRange();
           =
FieldRange.moveStart('character',__AutoComplete[id]['element'].value.leng=
th);
           FieldRange.collapse();
           FieldRange.select();
        }
        else  {
           __AutoComplete[id]['element'].focus();
        }
    }


    function initSuggestion(id) {
      =20
        var searchfield =3D document.getElementById(id);
        var keyword =3D searchfield.value;
      =20
        var suggestion =3D new RemoteMethod('QueryCompletion', =
'GetKeywords', keyword);
        suggestion.LocalAction =3D function(args) {

            if (args !=3D null && args !=3D undefined) {

                if (eval('(' + args + ')')._result !=3D null) {

                    var sugList =3D eval('(' + args + ')')._result;

                    if (eval('(' + args + ')')._keyword =3D=3D keyword) =
{
                        setSuggestions(id, sugList);

                    }
                }
            }
        }
            suggestion.Invoke();
                       =20
    }
   =20
   =20
    function setSuggestions(id,sugList) {

        toDisplay =3D new Array();

      =20
       =20
        for (i=3D0,j=3D0; i < sugList.length; i+=3D1) {
           toDisplay[j++] =3D =
sugList[i].replace(/&#039;/g,"'").replace(/&#034;/g,'"');
        }=20

        var newDiv    =3D null;
        var newP =3D null;
        var text      =3D null;
        var numItems  =3D =
__AutoComplete[id]['dropdown'].childNodes.length;
        var value =3D qctrim(__AutoComplete[id]['element'].value);
        // Remove all child nodes from dropdown
        while (__AutoComplete[id]['dropdown'].childNodes.length > 0) {
            =
__AutoComplete[id]['dropdown'].removeChild(__AutoComplete[id]['dropdown']=
.childNodes[0]);
        }

        // No Data?
        if (toDisplay.length =3D=3D 0) {
            AutoComplete_HideDropdown(id);
            return;
        }

        // Add data to the dropdown layer
      =20
	newP =3D document.createElement('p');
	newP.id =3D 'suggestions';
	newP.onmouseover =3D function() =
{AutoComplete_HighlightItem(__AutoComplete[id]['element'].getAttribute('i=
d'), 1);};
	newP.onclick =3D function() =
{AutoComplete_SetValue(__AutoComplete[id]['element'].getAttribute('id'));=
 =
AutoComplete_HideDropdown(__AutoComplete[id]['element'].getAttribute('id'=
));submit_form(id);}
	text   =3D document.createTextNode("Suggestions");
        newP.appendChild(text);           =20
        __AutoComplete[id]['dropdown'].appendChild(newP);

        for (i=3D0; i<toDisplay.length; ++i) {       =20
            newDiv =3D document.createElement('div');           =20
            newDiv.className =3D 'autocomplete_item'; // Don't use =
setAttribute()
            newDiv.setAttribute('id', 'autocomplete_item_' + i);
            newDiv.setAttribute('index', i+1);
            newDiv.style.zIndex =3D '99';

            newDiv.onmouseover =3D function() =
{AutoComplete_HighlightItem(__AutoComplete[id]['element'].getAttribute('i=
d'), this.getAttribute('index'));};
            newDiv.onclick     =3D function() =
{AutoComplete_SetValue(__AutoComplete[id]['element'].getAttribute('id'));=
 =
AutoComplete_HideDropdown(__AutoComplete[id]['element'].getAttribute('id'=
));submit_form(id);}
=20
            var trunc_sugg =3D "";=20
            if (i=3D=3D0) {=20
              trunc_sugg =3D limitStr(toDisplay[i],30);=20
            }
            else {
              trunc_sugg =3D limitStr(toDisplay[i],40);=20
            }
            var index =3D trunc_sugg.indexOf(value);

            if (index !=3D -1)
            {=20
                var newB =3D document.createElement('b');
                text =3D =
document.createTextNode(trunc_sugg.substring(0,index));
                newDiv.appendChild(text);
                text =3D document.createTextNode(value);
                newB.appendChild(text);
                newDiv.appendChild(newB);
                text =3D =
document.createTextNode(trunc_sugg.substring(index+value.length));
                newDiv.appendChild(text);             =20
            }
            else {
                text =3D document.createTextNode(trunc_sugg);
                newDiv.appendChild(text);
            }
            __AutoComplete[id]['dropdown'].appendChild(newDiv);          =
           =20
        }
       =20
       =20
        // Too many items?
        if (toDisplay.length > __AutoComplete[id]['maxitems']) {
           __AutoComplete[id]['dropdown'].style.height =3D =
(__AutoComplete[id]['maxitems'] * 17) + 2 + 'px';
        } else {
            __AutoComplete[id]['dropdown'].style.height =3D '';
        }

        // Show dropdown
        if (!__AutoComplete[id]['isVisible']) {
            __AutoComplete[id]['dropdown'].style.display =3D 'block';    =
       =20
            __AutoComplete[id]['isVisible'] =3D true;
            __AutoComplete[id]['dropdown'].scrollTop =3D 0;
            __AutoComplete[id]['close'].style.top =3D =
__AutoComplete[id]['dropdown'].offsetHeight + =
__AutoComplete[id]['dropdown'].offsetTop + 'px' ;
            __AutoComplete[id]['close'].style.display =3D 'block';
           =20
        }

       =20
        // If now showing less items than before, reset the highlighted =
value
        if (__AutoComplete[id]['dropdown'].childNodes.length !=3D =
numItems) {
            __AutoComplete[id]['highlighted'] =3D null;
        }
    }
   =20
   =20
    /**
    * Hides the dropdown layer
    *=20
    * @param string id The form elements id. Used to identify the =
correct dropdown.
    */
    function AutoComplete_HideDropdown(id) {
        if (typeof __AutoComplete[id]['dropdown'] !=3D 'undefined') {    =
       =20
            __AutoComplete[id]['dropdown'].style.display =3D 'none';
            __AutoComplete[id]['highlighted'] =3D null;
            __AutoComplete[id]['isVisible'] =3D false;
            __AutoComplete[id]['close'].style.display =3D 'none';
        }
    }
   =20
   =20
    /**
    * Hides all dropdowns
    */
    function AutoComplete_HideAll()
    {
   =20
        for (id in __AutoComplete) {
            AutoComplete_HideDropdown(id);
        }
    }
   =20
   =20
    /**
    * Highlights a specific item
    *=20
    * @param string id    The form elements id. Used to identify the =
correct dropdown.
    * @param int    index The index of the element in the dropdown to =
highlight
    */
    function AutoComplete_HighlightItem(id, index)
    {
        if (__AutoComplete[id]['dropdown'].childNodes[index]) {
            for (var i=3D0; =
i<__AutoComplete[id]['dropdown'].childNodes.length; ++i) {
                if =
(__AutoComplete[id]['dropdown'].childNodes[i].className =3D=3D =
'autocomplete_item_highlighted') {
                    =
__AutoComplete[id]['dropdown'].childNodes[i].className =3D =
'autocomplete_item';
                }
            }
           =20
            __AutoComplete[id]['dropdown'].childNodes[index].className =
=3D 'autocomplete_item_highlighted';
            __AutoComplete[id]['highlighted'] =3D index;
       }
    }


    /**
    * Highlights the menu item with the given index
    *=20
    * @param string id    The form elements id. Used to identify the =
correct dropdown.
    * @param int    index The index of the element in the dropdown to =
highlight
    */
    function AutoComplete_Highlight(id, index)
    {
        if (__AutoComplete[id]['highlighted'] =3D=3D null)
    	{
	    	__AutoComplete[id]['highlighted'] =3D 0;
    	}

        // Out of bounds checking
        if (index =3D=3D 1 && __AutoComplete[id]['highlighted'] =3D=3D =
__AutoComplete[id]['dropdown'].childNodes.length - 1) {
            =
__AutoComplete[id]['dropdown'].childNodes[__AutoComplete[id]['highlighted=
']].className =3D 'autocomplete_item';
            __AutoComplete[id]['highlighted'] =3D 0;
            return;=20
        }=20
        else if (index =3D=3D -1 && __AutoComplete[id]['highlighted'] =
=3D=3D 0) {
            __AutoComplete[id]['highlighted'] =3D =
__AutoComplete[id]['dropdown'].childNodes.length;
        }

        // Nothing highlighted at the moment
        if ((__AutoComplete[id]['highlighted'] =3D=3D 0) && =
(__AutoComplete[id]['dropdown'].childNodes[1])) {
            __AutoComplete[id]['dropdown'].childNodes[1].className =3D =
'autocomplete_item_highlighted';
            __AutoComplete[id]['highlighted'] =3D 1;

        } else {
            if =
((__AutoComplete[id]['dropdown'].childNodes[__AutoComplete[id]['highlight=
ed']]) && (__AutoComplete[id]['highlighted'] !=3D 0)) {
                =
__AutoComplete[id]['dropdown'].childNodes[__AutoComplete[id]['highlighted=
']].className =3D 'autocomplete_item';
            }
            if (__AutoComplete[id]['highlighted'] !=3D 0)
            {
	            var newIndex =3D =
parseInt(__AutoComplete[id]['highlighted'],10) + index;=09
	            if ((__AutoComplete[id]['dropdown'].childNodes[newIndex]) =
&& (newIndex !=3D 0)) {
	                =
__AutoComplete[id]['dropdown'].childNodes[newIndex].className =3D =
'autocomplete_item_highlighted';
	            }   =20
	            __AutoComplete[id]['highlighted'] =3D newIndex;
	    } =20
        }
    }


    /**
    * Sets the input to a given value
    *=20
    * @param string id    The form elements id. Used to identify the =
correct dropdown.
    */
    function AutoComplete_SetValue(id)
    {
          if (__AutoComplete[id]['highlighted'] =3D=3D 0 )=20
          {         =20
               __AutoComplete[id]['element'].value =3D user_typed_query;
          }
          else
          {
               __AutoComplete[id]['element'].value =3D =
toDisplay[__AutoComplete[id]['highlighted']-1];
          }=20
   }
   =20
   =20
    /**
    * Checks if the dropdown needs scrolling
    *=20
    * @param string id    The form elements id. Used to identify the =
correct dropdown.
    */
    function AutoComplete_ScrollCheck(id)
    {
        // Scroll down, or wrapping around from scroll up
        if (__AutoComplete[id]['highlighted'] > =
__AutoComplete[id]['lastItemShowing']) {
            __AutoComplete[id]['firstItemShowing'] =3D =
__AutoComplete[id]['highlighted'] - (__AutoComplete[id]['maxitems'] - =
1);
            __AutoComplete[id]['lastItemShowing']  =3D =
__AutoComplete[id]['highlighted'];
        }
       =20
        // Scroll up, or wrapping around from scroll down
        if (__AutoComplete[id]['highlighted'] < =
__AutoComplete[id]['firstItemShowing']) {
            __AutoComplete[id]['firstItemShowing'] =3D =
__AutoComplete[id]['highlighted'];
            __AutoComplete[id]['lastItemShowing']  =3D =
__AutoComplete[id]['highlighted'] + (__AutoComplete[id]['maxitems'] - =
1);
        }
        =20
        if (id =3D=3D "search-fieldBtm") {
          __AutoComplete[id]['dropdown'].scrollTop =3D =
(__AutoComplete[id]['firstItemShowing'] - 1) * 17;
        }
        else {
          __AutoComplete[id]['dropdown'].scrollTop =3D =
(__AutoComplete[id]['firstItemShowing'] - 1) * 19;       =20
        }=20
   }


    /**
    * Function which handles the keypress event
    *=20
    * @param string id    The form elements id. Used to identify the =
correct dropdown.
    */
    function AutoComplete_KeyDown(id) {
      =20
   =20
    var searchField =3D document.getElementById(id);
    if (searchField !=3D null && searchField.value !=3D '')=20
    {

        // Mozilla
        if (arguments[1] !=3D null) {
            event =3D arguments[1];
        }

        var keyCode =3D event.keyCode;
               =20
        switch (keyCode) {

            // Return/Enter
            case 13:
                if (__AutoComplete[id]['highlighted'] !=3D null) {
                    AutoComplete_SetValue(id);
                    AutoComplete_HideDropdown(id);
                }
               =20
                event.returnValue =3D false;
                event.cancelBubble =3D true;
                submit_form(id);
                break;

            // Escape
           case 27:
                if (__AutoComplete[id]['isVisible']) {
                    __AutoComplete[id]['element'].value =3D =
user_typed_query;
                }
                AutoComplete_HideDropdown(id);
                event.returnValue =3D false;
                event.cancelBubble =3D true;
                break;
           =20
            // Up arrow
            case 38:
                if (!__AutoComplete[id]['isVisible']) {
                    user_typed_query =3D =
__AutoComplete[id]['element'].value;
                    if (__AutoComplete[id]['term_at_close'] !=3D "") {
                      __AutoComplete[id]['term_at_close']=3D"";
                      AutoComplete_ShowDropdown(id);
                      return;
                    }
                    else {
                      AutoComplete_ShowDropdown(id);
                    }=20
                }
                    AutoComplete_Highlight(id, -1);
                    AutoComplete_SetValue(id);
                    AutoComplete_ScrollCheck(id, -1);
                return false;
                break;
           =20
            // Tab
            case 9:
                if (__AutoComplete[id]['isVisible']) {
                    AutoComplete_HideDropdown(id);
                }
                return;
           =20
            // Down arrow
            case 40:
                if (!__AutoComplete[id]['isVisible']) {
                    user_typed_query =3D =
__AutoComplete[id]['element'].value;
                    if (__AutoComplete[id]['term_at_close'] !=3D "") {
                      __AutoComplete[id]['term_at_close']=3D"";
                      AutoComplete_ShowDropdown(id);
                      return;
                    }
                    else {
                      AutoComplete_ShowDropdown(id);
                    }
                }
                    AutoComplete_Highlight(id, 1);
                    AutoComplete_SetValue(id);
                    AutoComplete_ScrollCheck(id, 1);
                return false;
                break;
        }
    }  =20
   =20
    }


    /**
    * Function which handles the keyup event
    *=20
    * @param string id    The form elements id. Used to identify the =
correct dropdown.
    */
    function AutoComplete_KeyUp(id) {

        // Mozilla
        if (arguments[1] !=3D null) {
            event =3D arguments[1];
        }

        var keyCode =3D event.keyCode;

       =20
        var searchField =3D document.getElementById(id);
        if (searchField !=3D null && searchField.value !=3D '')=20
        {           =20

            switch (keyCode)
             {
                case 13:
                    event.returnValue =3D false;
                    event.cancelBubble =3D true;
                    submit_form(id);
                    break;

                case 27:
                    AutoComplete_HideDropdown(id);
                    event.returnValue =3D false;
                    event.cancelBubble =3D true;
                    break;

                case 38:
                case 40:
                    return false;
                    break;

                default:
                    user_typed_query =3D =
__AutoComplete[id]['element'].value;
                    AutoComplete_ShowDropdown(id);
                    break;
               }
           }
           if (searchField.value =3D=3D '') {
               AutoComplete_HideAll();
               if (keyCode =3D=3D 8) {
                   __AutoComplete[id]['term_at_close'] =3D "";
               }=20
           }
                          =20
        }
   =20
    /**
    * Returns whether the dropdown is visible
    *=20
    * @param string id    The form elements id. Used to identify the =
correct dropdown.
    */
    function AutoComplete_isVisible(id)
    {
        return __AutoComplete[id]['dropdown'].style.display =3D=3D =
'block';
    }

function submit_form(id)
{
    if (id =3D=3D "searchField") {
        var searchForm =3D document.getElementById("SearchForm");
        if (searchForm !=3D null) {
            searchForm.submit();
        }
        else {
            var menuSearch =3D document.getElementById("menuSearch");
            if (menuSearch !=3D null)=20
                menuSearch.submit();
                   =20
        }
    }
    else {
        //alert('submit_form');
        var aspnetForm =3D document.forms[0];
        if (aspnetForm !=3D null)
            aspnetForm.submit();
                   =20
    }  =20
}

// remove multiple, leading or trailing spaces
function qctrim(s) {
	s =3D s.replace(/(^\s*)|(\s*$)/gi,"");
	s =3D s.replace(/[ ]{2,}/gi," ");
	s =3D s.replace(/\n /,"\n");
	return s;
}

function limitStr(long_str,length)
{
   if (length =3D=3D 0 || long_str.length <=3D length ) {
      return long_str;
   }
   else {
      return long_str.substring(0, length) + '...';
   }
}

/**
* Returns when user double clicks in search field
*=20
* @param string id    The form elements id. Used to identify the correct =
dropdown.
*/
function AutoComplete_DoubleClick(id) {

    user_typed_query =3D __AutoComplete[id]['element'].value;
    if (user_typed_query !=3D '') {
        AutoComplete_ShowDropdown(id);
        return;
    }

    return false;

}

/**
* Close Search Panel
*/
function CloseSearchPanel() {
    if (!isMouseOverSearchPanel) {
        clearTimeout(mySearchTimer);
        AutoComplete_HideAll();
    }
}
/**
* Mouse Over Search Panel
*/
function MouseOverSearchPanel() {
    isMouseOverSearchPanel =3D true;
}
/**
* Mouse Out Search Panel
*/
function MouseOutSearchPanel() {
    if (isMouseOverSearchPanel) {
        mySearchTimer =3D setTimeout('CloseSearchPanel()', 3000);
        isMouseOverSearchPanel =3D false;
    }
}

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/js/ajax.js

=EF=BB=BFfunction GetAjaxRequest() {
    if (window.XMLHttpRequest) {
        http_request =3D new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
        return http_request;
    }
    else {
        try {
            return new XMLHttpRequest();
        }
        catch (e) {
            try {
                return new ActiveXObject('Msxml2.XMLHTTP');
            } catch (e) {
                try {
                    return new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {
                    return null;
                }
            }
        }
    }
}

function RemoteMethod(ScriptHandler, MethodName, Argument, =
SecureRequest) {=20
    this.RemoteURL =3D ScriptHandler + '.cajax?SCRedirect=3Dtrue';
    if (SecureRequest) {
        var url =3D location.href;
        if (url.indexOf('https://') !=3D 0) {
            url =3D url.substring(0, url.lastIndexOf('/')+1);
            if (url.indexOf('http://') > -1)
            url =3D 'https://' + url.substring(7);
            this.RemoteURL =3D url + this.RemoteURL;
        }
    }
    this.Protocol =3D 'GET';
    this.MethodName =3D MethodName;
    this.Argument =3D Argument;
    this.LocalAction =3D null;
}
RemoteMethod.prototype.Invoke =3D function() {
    var req =3D GetAjaxRequest();
    var pfnCallback =3D this.LocalAction;
    var async =3D pfnCallback !=3D null;
    if (req !=3D null) {
        if (async) {
            req.onreadystatechange =3D function() {
                // only if req shows "loaded"
                if (req.readyState =3D=3D 4) {
                    // only if "OK"
                    if (req.status =3D=3D 200) {
                        if (req.responseText) {
                            pfnCallback(JSON.parse(req.responseText));
                        }
                        else {
                            pfnCallback(null);
                        }
                    }
                    else {
                        pfnCallback(null);
                        //alert("There was a problem retrieving the XML =
data:\n" + req.statusText);
                    }
                }
            }
        }
        if (this.RemoteURL.indexOf('.asmx') > -1) {
            var params =3D new String();
            for (i =3D 0; i < this.RemoteArgs.length; i++) {
                params +=3D this.RemoteArgs[i][0] + '=3D' + =
escape(this.RemoteArgs[i][1]) + '&';
            }
            if (params.length > 0) {
                params =3D params.substring(0, params.length - 1);
            }
            req.open(this.Protocol, this.RemoteURL, true);
            if (this.Protocol =3D=3D 'POST') {
                req.setRequestHeader('Content-Type', =
'application/x-www-form-urlencoded');
            }
            req.send(params);
        }
        else {
            req.open('POST', this.RemoteURL, true);
            var obj =3D { Method: this.MethodName, Arg: =
JSON.stringify(this.Argument) };
            var jsonStr =3D JSON.stringify(obj);
            req.send(jsonStr);
        }
    }
}

if (!this.JSON) {
    JSON =3D {};
}
(function() {

    function f(n) {
        // Format integers to have at least two digits.
        return n < 10 ? '0' + n : n;
    }

    if (typeof Date.prototype.toJSON !=3D=3D 'function') {

        Date.prototype.toJSON =3D function(key) {

            return this.getUTCFullYear() + '-' +
                 f(this.getUTCMonth() + 1) + '-' +
                 f(this.getUTCDate()) + 'T' +
                 f(this.getUTCHours()) + ':' +
                 f(this.getUTCMinutes()) + ':' +
                 f(this.getUTCSeconds()) + 'Z';
        };

        String.prototype.toJSON =3D
        Number.prototype.toJSON =3D
        Boolean.prototype.toJSON =3D function(key) {
            return this.valueOf();
        };
    }

    var cx =3D =
/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u=
2060-\u206f\ufeff\ufff0-\uffff]/g,
        escapable =3D =
/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200=
f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
        gap,
        indent,
        meta =3D {    // table of character substitutions
            '\b': '\\b',
            '\t': '\\t',
            '\n': '\\n',
            '\f': '\\f',
            '\r': '\\r',
            '"': '\\"',
            '\\': '\\\\'
        },
        rep;


    function quote(string) {

        // If the string contains no control characters, no quote =
characters, and no
        // backslash characters, then we can safely slap some quotes =
around it.
        // Otherwise we must also replace the offending characters with =
safe escape
        // sequences.

        escapable.lastIndex =3D 0;
        return escapable.test(string) ?
            '"' + string.replace(escapable, function(a) {
                var c =3D meta[a];
                return typeof c =3D=3D=3D 'string' ? c :
                    '\\u' + ('0000' + =
a.charCodeAt(0).toString(16)).slice(-4);
            }) + '"' :
            '"' + string + '"';
    }


    function str(key, holder) {

        // Produce a string from holder[key].

        var i,          // The loop counter.
            k,          // The member key.
            v,          // The member value.
            length,
            mind =3D gap,
            partial,
            value =3D holder[key];

        // If the value has a toJSON method, call it to obtain a =
replacement value.

        if (value && typeof value =3D=3D=3D 'object' &&
                typeof value.toJSON =3D=3D=3D 'function') {
            value =3D value.toJSON(key);
        }

        // If we were called with a replacer function, then call the =
replacer to
        // obtain a replacement value.

        if (typeof rep =3D=3D=3D 'function') {
            value =3D rep.call(holder, key, value);
        }

        // What happens next depends on the value's type.

        switch (typeof value) {
            case 'string':
                return quote(value);

            case 'number':

                // JSON numbers must be finite. Encode non-finite =
numbers as null.

                return isFinite(value) ? String(value) : 'null';

            case 'boolean':
            case 'null':

                // If the value is a boolean or null, convert it to a =
string. Note:
                // typeof null does not produce 'null'. The case is =
included here in
                // the remote chance that this gets fixed someday.

                return String(value);

                // If the type is 'object', we might be dealing with an =
object or an array or
                // null.

            case 'object':

                // Due to a specification blunder in ECMAScript, typeof =
null is 'object',
                // so watch out for that case.

                if (!value) {
                    return 'null';
                }

                // Make an array to hold the partial results of =
stringifying this object value.

                gap +=3D indent;
                partial =3D [];

                // Is the value an array?

                if (Object.prototype.toString.apply(value) =3D=3D=3D =
'[object Array]') {

                    // The value is an array. Stringify every element. =
Use null as a placeholder
                    // for non-JSON values.

                    length =3D value.length;
                    for (i =3D 0; i < length; i +=3D 1) {
                        partial[i] =3D str(i, value) || 'null';
                    }

                    // Join all of the elements together, separated with =
commas, and wrap them in
                    // brackets.

                    v =3D partial.length =3D=3D=3D 0 ? '[]' :
                    gap ? '[\n' + gap +
                            partial.join(',\n' + gap) + '\n' +
                                mind + ']' :
                          '[' + partial.join(',') + ']';
                    gap =3D mind;
                    return v;
                }

                // If the replacer is an array, use it to select the =
members to be stringified.

                if (rep && typeof rep =3D=3D=3D 'object') {
                    length =3D rep.length;
                    for (i =3D 0; i < length; i +=3D 1) {
                        k =3D rep[i];
                        if (typeof k =3D=3D=3D 'string') {
                            v =3D str(k, value);
                            if (v) {
                                partial.push(quote(k) + (gap ? ': ' : =
':') + v);
                            }
                        }
                    }
                } else {

                    // Otherwise, iterate through all of the keys in the =
object.

                    for (k in value) {
                        if (Object.hasOwnProperty.call(value, k)) {
                            v =3D str(k, value);
                            if (v) {
                                partial.push(quote(k) + (gap ? ': ' : =
':') + v);
                            }
                        }
                    }
                }

                // Join all of the member texts together, separated with =
commas,
                // and wrap them in braces.

                v =3D partial.length =3D=3D=3D 0 ? '{}' :
                gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
                        mind + '}' : '{' + partial.join(',') + '}';
                gap =3D mind;
                return v;
        }
    }

    // If the JSON object does not yet have a stringify method, give it =
one.

    if (typeof JSON.stringify !=3D=3D 'function') {
        JSON.stringify =3D function(value, replacer, space) {

            // The stringify method takes a value and an optional =
replacer, and an optional
            // space parameter, and returns a JSON text. The replacer =
can be a function
            // that can replace values, or an array of strings that will =
select the keys.
            // A default replacer method can be provided. Use of the =
space parameter can
            // produce text that is more easily readable.

            var i;
            gap =3D '';
            indent =3D '';

            // If the space parameter is a number, make an indent string =
containing that
            // many spaces.

            if (typeof space =3D=3D=3D 'number') {
                for (i =3D 0; i < space; i +=3D 1) {
                    indent +=3D ' ';
                }

                // If the space parameter is a string, it will be used =
as the indent string.

            } else if (typeof space =3D=3D=3D 'string') {
                indent =3D space;
            }

            // If there is a replacer, it must be a function or an =
array.
            // Otherwise, throw an error.

            rep =3D replacer;
            if (replacer && typeof replacer !=3D=3D 'function' &&
                    (typeof replacer !=3D=3D 'object' ||
                     typeof replacer.length !=3D=3D 'number')) {
                throw new Error('JSON.stringify');
            }

            // Make a fake root object containing our value under the =
key of ''.
            // Return the result of stringifying the value.

            return str('', { '': value });
        };
    }


    // If the JSON object does not yet have a parse method, give it one.

    if (typeof JSON.parse !=3D=3D 'function') {
        JSON.parse =3D function(text, reviver) {

            // The parse method takes a text and an optional reviver =
function, and returns
            // a JavaScript value if the text is a valid JSON text.

            var j;

            function walk(holder, key) {

                // The walk method is used to recursively walk the =
resulting structure so
                // that modifications can be made.

                var k, v, value =3D holder[key];
                if (value && typeof value =3D=3D=3D 'object') {
                    for (k in value) {
                        if (Object.hasOwnProperty.call(value, k)) {
                            v =3D walk(value, k);
                            if (v !=3D=3D undefined) {
                                value[k] =3D v;
                            } else {
                                delete value[k];
                            }
                        }
                    }
                }
                return reviver.call(holder, key, value);
            }


            // Parsing happens in four stages. In the first stage, we =
replace certain
            // Unicode characters with escape sequences. JavaScript =
handles many characters
            // incorrectly, either silently deleting them, or treating =
them as line endings.

            cx.lastIndex =3D 0;
            if (cx.test(text)) {
                text =3D text.replace(cx, function(a) {
                    return '\\u' +
                        ('0000' + =
a.charCodeAt(0).toString(16)).slice(-4);
                });
            }

            // In the second stage, we run the text against regular =
expressions that look
            // for non-JSON patterns. We are especially concerned with =
'()' and 'new'
            // because they can cause invocation, and '=3D' because it =
can cause mutation.
            // But just to be safe, we want to reject all unexpected =
forms.

            // We split the second stage into 4 regexp operations in =
order to work around
            // crippling inefficiencies in IE's and Safari's regexp =
engines. First we
            // replace the JSON backslash pairs with '@' (a non-JSON =
character). Second, we
            // replace all simple value tokens with ']' characters. =
Third, we delete all
            // open brackets that follow a colon or comma or that begin =
the text. Finally,
            // we look to see that the remaining characters are only =
whitespace or ']' or
            // ',' or ':' or '{' or '}'. If that is so, then the text is =
safe for eval.

            if (/^[\],:{}\s]*$/.
test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/=
g, ']').
replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {

                // In the third stage we use the eval function to =
compile the text into a
                // JavaScript structure. The '{' operator is subject to =
a syntactic ambiguity
                // in JavaScript: it can begin a block or an object =
literal. We wrap the text
                // in parens to eliminate the ambiguity.

                j =3D eval('(' + text + ')');

                // In the optional fourth stage, we recursively walk the =
new structure, passing
                // each name/value pair to a reviver function for =
possible transformation.

                return typeof reviver =3D=3D=3D 'function' ?
                    walk({ '': j }, '') : j;
            }

            // If the text is not JSON parseable, then a SyntaxError is =
thrown.

            throw new SyntaxError('JSON.parse');
        };
    }
})();=0A=

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/js/framework/Mask.js

=EF=BB=BFfunction Mask(Id) {
    this.Id =3D Id;
    this.MaskDivId =3D '__Mask';
    this.MaskDiv =3D null;
    this.OnShow =3D new Event();
    this.OnHide =3D new Event();
    this.ShowCounter =3D 0;
    return this;
}

Mask.ShowCounter =3D 0;

Mask.prototype.Show =3D function() {
    if (this.Id =3D=3D '' || this.Id =3D=3D undefined)
        return;
    if (this.MaskDiv =3D=3D null) {
        var maskDiv =3D null;
        maskDiv =3D $$(this.MaskDivId);
        if (maskDiv =3D=3D null || maskDiv =3D=3D undefined) {
            maskDiv =3D document.createElement('div');
            maskDiv.id =3D '__Mask';
            maskDiv.className =3D "Mask";
            document.body.appendChild(maskDiv);
        }
        this.MaskDiv =3D maskDiv;
    }
    this.MaskDiv.style.display =3D "block";
    Mask.Resize(this);
    var maskObj =3D this;

    addEvent(window, "resize", function() { Mask.Resize(maskObj) });

    Mask.ShowCounter++;
    this.OnShow.Execute();
}

Mask.Resize =3D function(MaskObject) {
    if (MaskObject.MaskDiv !=3D null && MaskObject.MaskDiv !=3D =
undefined && MaskObject.MaskDiv.style.display =3D=3D "block") {
        var dim =3D MaskObject.GetMaskDimention();
        MaskObject.MaskDiv.style.width =3D dim[0] + "px";
        MaskObject.MaskDiv.style.height =3D dim[1] + "px";
    }
}
Mask.prototype.GetMaskDimention =3D function() {
    var docEleWidth =3D 0;
    var docEleHeight =3D 0;
    var width =3D 0;
    var height =3D 0;
    var bodyWidth =3D 0;
    var bodyHeight =3D 0;
    var scrollHeight =3D 0;
    if (document.documentElement.clientWidth || =
document.documentElement.clientHeight) {
        docEleWidth =3D document.documentElement.clientWidth;
        docEleHeight =3D document.documentElement.clientHeight;
    }
    this.MaskDiv.style.width =3D docEleWidth + "px";

    if (document.body.clientWidth || document.body.clientHeight) {
        bodyWidth =3D document.body.clientWidth;
        bodyHeight =3D document.body.clientHeight;
    }
    width =3D docEleWidth > bodyWidth ? docEleWidth : bodyWidth;
    height =3D docEleHeight > bodyHeight ? docEleHeight : bodyHeight;

    scrollHeight =3D document.documentElement.scrollHeight;
    scrollWidth =3D document.documentElement.scrollWidth;

    if (scrollHeight > height)
        height =3D height + (scrollHeight - height);

    if (scrollWidth > width)
        width =3D width + (scrollWidth - width);

    return [width, height];
}

Mask.prototype.Hide =3D function() {
    if (this.Id =3D=3D '' || this.Id =3D=3D undefined)
        return;
    Mask.ShowCounter--;
    if (Mask.ShowCounter <=3D 0 && this.MaskDiv !=3D undefined) {
        this.MaskDiv.style.display =3D "none";
        Mask.ShowCounter =3D 0;
    }
    this.OnHide.Execute();
}

/*
Mask.prototype.OnShow =3D function() {
this.Show.Execute();
}

Mask.prototype.OnHide =3D function() {
this.Hide.Execute();
}
*/


------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/js/ResetOverlay.js

=EF=BB=BF
function RenderOverlay(Title, Message) {

    var Html =3D "<div class=3D'ResetoverlayWindowShade verification' =
id=3D'overlayVerification'> <table cellspacing=3D'0' cellpadding=3D'0' =
class=3D'overLayPanel'><tr><td class=3D'leftTop'></td> <td colspan=3D'2' =
class=3D'middleTop'></td> <td class=3D'rightTop'></td></tr><tr><td =
class=3D'leftBorder'></td><td class=3D'overlayContent' =
colspan=3D'2'><table cellspacing=3D'0' cellpadding=3D'0' width=3D'100%' =
border=3D'0'><tr><td class=3D'headerSection'><h1 =
id=3D'_verificationTitle'>" + Title + "</h1></td><td valign=3D'top' =
class=3D'headerSection'><img onclick=3D'javascript:HideOverlay();' =
src=3D'/includes/images/newbuyflow/OverLays/closeButton.gif'alt=3D'Close'=
 title=3D'Close' class=3D'buttonStyle' id=3D'_verificationCloseImg' =
style=3D'display: block;' /></td></tr><tr><td colspan=3D'2'><div =
class=3D'hozRule'></div></td></tr><tr><td colspan=3D'2'><div =
style=3D'width:500px;' class=3D'contentSection VerificationContent' =
id=3D'_verificationDescription'>" + Message + "</div></td></tr><tr><td =
colspan=3D'2' style=3D'width:530px;float:left;'><div =
id=3D'OverlayButton'><a href=3D'javascript:void(0);' class=3D'leftStyle' =
onclick=3D'javascript:RedirectToLocalization();'id=3D'_leftAnchor'><img =
id=3D'_leftConfirmBtnImg' =
src=3D'/includes/images/newbuyflow/OverLays/yes.gif' alt=3D'Yes' =
title=3D'Yes' /></a><a href=3D'javascript:void(0);' class=3D'rightStyle' =
id=3D'_rightAnchor'><img onclick=3D'javascript:HideOverlay();' =
id=3D'_rightConfirmBtnImg' =
src=3D'/includes/images/newbuyflow/OverLays/No.gif' alt=3D'No' =
title=3D'No' /></a></div></td></tr></table></td><td =
class=3D'rightBorder'></td></tr><tr><td class=3D'leftBottom'></td><td =
colspan=3D'2' class=3D'middleBottom'></td><td =
class=3D'rightBottom'></td></tr></table></div>";

	if(!document.getElementById('ResetOverlay')){
		var body =3D document.body;
		var div =3D document.createElement('div');
		div.id =3D 'ResetOverlay';
=09
		if (document.all) {
			body.appendChild(div);
			div.innerHTML =3D '&nbsp;' + Html;
			overlayAdded =3D true;
		} else {
			div.innerHTML =3D '&nbsp;' + Html;
			body.appendChild(div);
			overlayAdded =3D true;
		}
	}

    RepositionResetOverlay();
    addJsEvent(window, "resize", RepositionResetOverlay);
    addJsEvent(window, "scroll", RepositionResetOverlay);
}
function addJsEvent(obj, type, fn) {
    if (obj.attachEvent) {
        obj['e' + type + fn] =3D fn;
        obj[type + fn] =3D function() { obj['e' + type + =
fn](window.event); }
        obj.attachEvent('on' + type, obj[type + fn]);
    } else
        obj.addEventListener(type, fn, false);
}
function removeJsEvent(obj, type, fn) {
    try {
        if (obj.detachEvent) {
            obj.detachEvent('on' + type, obj[type + fn]);
            obj[type + fn] =3D null;
        } else
            obj.removeEventListener(type, fn, false);
    } catch (err) { }
}
function getResetOvrlayDimensions(el) {
    var dim =3D { width: 0, height: 0 };
    dim.width =3D el.offsetWidth;
    dim.height =3D el.offsetHeight;
    return dim;
}
function getScrollPosition() {
    var pos =3D { x: 0, y: 0 };
    pos.x =3D window.pageXOffset ? window.pageXOffset : =
document.documentElement.scrollLeft;
    pos.y =3D window.pageYOffset ? window.pageYOffset : =
document.documentElement.scrollTop;
    return pos;
}
function HideOverlay() {
    var ResetOverlay =3D document.getElementById('ResetOverlay');
    if (ResetOverlay =3D=3D null)
        return;
    document.body.removeChild(ResetOverlay);
    var Mask =3D document.getElementById('__Mask');
    if (Mask =3D=3D null)
        return;
    document.body.removeChild(Mask);
    addJsEvent(window, "resize", RepositionResetOverlay);
    addJsEvent(window, "scroll", RepositionResetOverlay);
}
function getViewport() {
    var v =3D { width: 0, height: 0 };
    if (window.innerHeight) {
        v.height =3D window.innerHeight;
        v.width =3D window.innerWidth;
    } else if (document.documentElement.clientHeight) {
        v.height =3D document.documentElement.clientHeight;
        v.width =3D document.documentElement.clientWidth;
    } else {
        v.height =3D document.body.clientHeight;
        v.width =3D document.body.clientWidth;
    }
    return v;
}
function RepositionResetOverlay() {
    var OverlayType =3D document.getElementById('overlayVerification');
    if (!OverlayType) return;
    var vp =3D getViewport(),
			dm =3D getResetOvrlayDimensions(OverlayType),
			sp =3D getScrollPosition();
    OverlayType.style.top =3D (sp.y + ((vp.height - dm.height) / 2)) + =
'px';
    OverlayType.style.left =3D (sp.x + ((vp.width - dm.width) / 2)) + =
'px';
}
function RenderGenericOverlay(Title, Message, LeftFunctionName, =
RightFunctionName) {
    var Html =3D "<div class=3D'ResetoverlayWindowShade verification' =
id=3D'overlayVerification'> <table cellspacing=3D'0' cellpadding=3D'0' =
class=3D'overLayPanel'><tr><td class=3D'leftTop'></td> <td colspan=3D'2' =
class=3D'middleTop'></td> <td class=3D'rightTop'></td></tr><tr><td =
class=3D'leftBorder'></td><td class=3D'overlayContent' =
colspan=3D'2'><table cellspacing=3D'0' cellpadding=3D'0' width=3D'100%' =
border=3D'0'><tr><td class=3D'headerSection'><h1 =
id=3D'_verificationTitle'>" + Title + "</h1></td><td valign=3D'top' =
class=3D'headerSection'><img onclick=3D'javascript:HideOverlay();' =
src=3D'/includes/images/newbuyflow/OverLays/closeButton.gif'alt=3D'Close'=
 title=3D'Close' class=3D'buttonStyle' id=3D'_verificationCloseImg' =
style=3D'display: block;' /></td></tr><tr><td colspan=3D'2'><div =
class=3D'hozRule'></div></td></tr><tr><td colspan=3D'2'><div =
style=3D'width:500px;' class=3D'contentSection VerificationContent' =
id=3D'_verificationDescription'>" + Message + "</div></td></tr><tr><td =
colspan=3D'2'><div id=3D'OverlayButton'><span =
id=3D'LeftButtonContainer'><a href=3D'javascript:void(0);' onclick=3D'' =
class=3D'leftStyle' id=3D'_leftAnchor'><img id=3D'_leftConfirmBtnImg' =
src=3D'/includes/images/newbuyflow/OverLays/yes.gif' alt=3D'Yes' =
title=3D'Yes' /></a></span><span id=3D'RightButtonContainer'><a =
href=3D'javascript:void(0);' onclick=3D'' class=3D'rightStyle' =
id=3D'_rightAnchor'><img id=3D'_rightConfirmBtnImg' =
src=3D'/includes/images/newbuyflow/OverLays/No.gif' alt=3D'No' =
title=3D'No' /></a></span></div></td></tr></table></td><td =
class=3D'rightBorder'></td></tr><tr><td class=3D'leftBottom'></td><td =
colspan=3D'2' class=3D'middleBottom'></td><td =
class=3D'rightBottom'></td></tr></table></div>";
    if (!document.getElementById('ResetOverlay')) {
        var body =3D document.body;
        var div =3D document.createElement('div');
        div.id =3D 'ResetOverlay';

        if (document.all) {
            body.appendChild(div);
            div.innerHTML =3D '&nbsp;' + Html;
        } else {
            div.innerHTML =3D '&nbsp;' + Html;
            body.appendChild(div);
        }
        document.getElementById('LeftButtonContainer').onclick =3D =
function() { eval(LeftFunctionName); return false; };
        document.getElementById('RightButtonContainer').onclick =3D =
function() { eval(RightFunctionName); return false; };
    }
    RepositionResetOverlay();

    addJsEvent(window, "resize", RepositionResetOverlay);
    addJsEvent(window, "scroll", RepositionResetOverlay);
}
------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/js/framework/Comcast.Framework.js

=EF=BB=BF function $(Id) {
    if (Id =3D=3D null)
        return null;
    return document.getElementById(Id);
}
function $$(Id) {
    if (Id =3D=3D null)
        return null;
    return document.getElementById(Id);
}
function Event() {
    this.eventHandlers =3D new Array();
    return this;
}
Event.prototype.AddHandler =3D function(eventHandler) {
    var alreadyContains =3D false;
    for (var x =3D 0; x < this.eventHandlers.length; x++) {
        if (this.eventHandlers[x] =3D=3D eventHandler) {
            alreadyContains =3D true;
        }
    }
    if (!alreadyContains)
        this.eventHandlers.push(eventHandler);
}
Event.prototype.Execute =3D function(args, args1, args2) {
    for (var i =3D 0; i < this.eventHandlers.length; i++) {
        this.eventHandlers[i](args, args1, args2);
    }
}
function addEvent(obj, type, fn) {
    if (obj.attachEvent) {
        obj['e' + type + fn] =3D fn;
        obj[type + fn] =3D function() { obj['e' + type + =
fn](window.event); }
        obj.attachEvent('on' + type, obj[type + fn]);
    } else
        obj.addEventListener(type, fn, false);
}
function removeEvent(obj, type, fn) {
    try {
        if (obj.detachEvent) {
            obj.detachEvent('on' + type, obj[type + fn]);
            obj[type + fn] =3D null;
        } else
            obj.removeEventListener(type, fn, false);
    } catch (err) { }
}
GetWindowDimention =3D function() {
    var docEleWidth =3D 0;
    var docEleHeight =3D 0;
    if (document.documentElement.clientWidth || =
document.documentElement.clientHeight) {
        docEleWidth =3D document.documentElement.clientWidth;
        docEleHeight =3D document.documentElement.clientHeight;
    }
    return [docEleWidth, docEleHeight];
}
function getViewport() {
    var v =3D { width: 0, height: 0 };
    if (window.innerHeight) {
        v.height =3D window.innerHeight;
        v.width =3D window.innerWidth;
    } else if (document.documentElement.clientHeight) {
        v.height =3D document.documentElement.clientHeight;
        v.width =3D document.documentElement.clientWidth;
    } else {
        v.height =3D document.body.clientHeight;
        v.width =3D document.body.clientWidth;
    }
    return v;
}
function getElementDimensions(el, contentEl) {
    var dim =3D { width: 0, height: 0, contentWidth: 0, contentHeight: 0 =
};

    dim.width =3D RemovePX(el.style.width);
    dim.height =3D RemovePX(el.style.height);
    dim.contentWidth =3D RemovePX(contentEl.style.width);
    dim.contentHeight =3D RemovePX(contentEl.style.height);

    if (dim.width =3D=3D 0) dim.width =3D el.offsetWidth;
    if (dim.height =3D=3D 0) dim.height =3D el.offsetHeight;
    if (dim.contentWidth =3D=3D 0) dim.contentWidth =3D =
contentEl.offsetWidth;
    if (dim.contentHeight =3D=3D 0) dim.contentHeight =3D =
contentEl.offsetHeight;

    if (dim.width =3D=3D 0 || dim.height =3D=3D 0 || dim.contentHeight =
=3D=3D 0 || dim.contentWidth =3D=3D 0) {
        var origD =3D el.style.display;
        var origV =3D el.style.visibility;
        el.style.visibility =3D "hidden";
        el.style.display =3D "block";
        if (dim.width =3D=3D 0)
            dim.width =3D el.offsetWidth;
        if (dim.height =3D=3D 0)
            dim.height =3D el.offsetHeight;
        if (dim.contentWidth =3D=3D 0)
            dim.contentWidth =3D contentEl.offsetWidth;
        if (dim.contentHeight =3D=3D 0)
            dim.contentHeight =3D contentEl.offsetHeight;
        el.style.display =3D origD;
        el.style.visibility =3D origV;
    }

    return dim;
}
function RemovePX(s) {
    if (s.length =3D=3D 0)
        return 0;
    if (s.indexOf("px"))
        return parseInt(s.replace("px", ""));
    else
        return s;
}
function getScrollPosition() {
    var pos =3D { x: 0, y: 0 };
    pos.x =3D window.pageXOffset ? window.pageXOffset : =
document.documentElement.scrollLeft;
    pos.y =3D window.pageYOffset ? window.pageYOffset : =
document.documentElement.scrollTop;
    return pos;
}
function EmbedHtml(Html) {
    var body =3D document.body;
    var div =3D document.createElement('div');
    if (document.all) {
        body.appendChild(div);
        div.innerHTML =3D '&nbsp;' + Html;
    } else {
        div.innerHTML =3D '&nbsp;' + Html;
        body.appendChild(div);
    }
    if (navigator.userAgent.indexOf("Firefox") =3D=3D -1) {
        var tags =3D div.getElementsByTagName('script');
        for (var i =3D 0; i < tags.length; i++) {
            var sc =3D document.createElement('script');
            sc.text =3D tags[i].data || tags[i].text;
            document.getElementsByTagName("head")[0].appendChild(sc);
        }
    }
}
function EmbedHtml(HtmlResponse) {
    if (HtmlResponse !=3D null) {
        var body =3D document.body;
        var div =3D document.createElement('div');

        if (HtmlResponse.StyleSheets !=3D null && =
HtmlResponse.StyleSheets.length > 0) {
            for (var i =3D 0; i < HtmlResponse.StyleSheets.length; i++) =
{
                LoadStyleSheet(HtmlResponse.StyleSheets[i]);
            }
        }
        if (HtmlResponse.HTML !=3D null) {
            if (document.all) {
                body.appendChild(div);
                div.innerHTML =3D '&nbsp;' + HtmlResponse.HTML;
            } else {
                div.innerHTML =3D '&nbsp;' + HtmlResponse.HTML;
                body.appendChild(div);
            }
        }
        if (HtmlResponse.ScriptLibraries !=3D null && =
HtmlResponse.ScriptLibraries.length > 0) {
            for (var i =3D 0; i < HtmlResponse.ScriptLibraries.length; =
i++) {
                LoadScriptLibrary(HtmlResponse.ScriptLibraries[i]);
            }
        }
        if (HtmlResponse.Scripts !=3D null && =
HtmlResponse.Scripts.length > 0) {
            for (var i =3D 0; i < HtmlResponse.Scripts.length; i++) {
                LoadScriptBlock(HtmlResponse.Scripts[i]);
            }
        }
    }
}
function GetOverallBase(obj) {
    var x =3D obj;
    if (x !=3D null)
        while (x.base !=3D null)
        x =3D x.base;
    return x;
}
String.prototype.trim =3D function() { return this.replace(/^\s+|\s+$/, =
''); };
function AllowOnlyNumericCharacters(e) {

    // If cntrl key(s)or backspace, tab, left right arrows, Home, End or =
Delete key pressed
    // Don't do anything
    if (true =3D=3D SpecialKeysPressed(e))
        return true;
    // Ignore if Shift Key pressed.
    if (e.shiftKey =3D=3D true)
        e.preventDefault ? e.preventDefault() : e.returnValue =3D false;
    // Allow numbers  only =20
    else if ([e.keyCode || e.which] < 48 || [e.keyCode || e.which] > 57) =
{
        e.preventDefault ? e.preventDefault() : e.returnValue =3D false;
    }
}
// Tabs to the next phone field while entering
// the phone number
function TabNext(obj, event, len, next_field) {
    var phone_field_length =3D 0;
    if (event =3D=3D "down") {
        phone_field_length =3D obj.value.length;
    }
    else if (event =3D=3D "up") {
        if (obj.value.length !=3D phone_field_length) {
            phone_field_length =3D obj.value.length;
            if (phone_field_length =3D=3D len) {
                next_field.focus();
            }
        }
    }
}
function SpecialKeysPressed(e) {
    // This is to allow ctrl + a, ctrl + c, ctrl + v and ctrl + z keys =
(in fire fox)
    if ((e.ctrlKey) && ((e.which =3D=3D 97) || (e.which =3D=3D 99) || =
(e.which =3D=3D 118) || (e.which =3D=3D 122)))
        return true;

    // This is to allow backspace, tab, left right arrows, Home, End and =
Delete keys
    if (([e.keyCode || e.which] =3D=3D 8) || ([e.keyCode || e.which] =
=3D=3D 9)
                || ([e.keyCode || e.which] =3D=3D 37) || ([e.keyCode || =
e.which] =3D=3D 39)
                || ([e.keyCode || e.which] =3D=3D 36) || ([e.keyCode || =
e.which] =3D=3D 35)
                || ([e.keyCode || e.which] =3D=3D 46))
        return true;
}

//Comcast.Framework.Web.UI.WebControls
function Button(Id, Title, Text, ImageUrl, Height, Width, =
ButtonElementId) {
    this.Id =3D Id;
    this.Title =3D Title;
    this.Text =3D Text;
    this.ImageUrl =3D ImageUrl;
    this.Height =3D Height;
    this.Width =3D Width;

    this.ButtonClick =3D new Event();
    this.ButtonElementId =3D ButtonElementId;
    this.ButtonElement =3D $(ButtonElementId);
    return this;
}

Button.prototype.OnClientClick =3D function() {
    this.ButtonClick.Execute(this);
}
function LoadScriptLibrary(js) {
    var s =3D document.createElement("script");
    s.src =3D js;
    s.setAttribute("type", "text/javascript");
    s.setAttribute("language", "javascript");
    document.body.appendChild(s);
}
function LoadScriptBlock(js) {
    var s =3D document.createElement("script");
    s.text =3D js;
    s.setAttribute("type", "text/javascript");
    s.setAttribute("language", "javascript");
    document.body.appendChild(s);
}
function LoadStyleSheet(css) {
    var headID =3D document.getElementsByTagName("head")[0];
    var cssNode =3D document.createElement('link');
    cssNode.type =3D 'text/css';
    cssNode.rel =3D 'stylesheet';
    cssNode.href =3D css;
    cssNode.media =3D 'screen';
    headID.appendChild(cssNode);
}
function TrackInteraction(InteractionTypeId, Value, ValueBit, ValueId, =
ValueInt, ValueDec) {
    var data =3D new InteractionData(InteractionTypeId, null, null, =
null, null, null);
    var track =3D new RemoteMethod('InteractionHelper', 'Track', data, =
false);
    track.Invoke();
}
function InteractionData(InteractionTypeId, Value, ValueBit, ValueId, =
ValueInt, ValueDec) {
    this.InteractionTypeId =3D InteractionTypeId;
    this.Value =3D (Value =3D=3D null ? '' : Value);
    this.ValueBit =3D ValueBit;
    this.ValueId =3D ValueId;
    this.ValueInt =3D ValueInt;
    this.ValueDec =3D ValueDec;
}
String.prototype.replaceAll =3D function(
 strTarget,=20
 strSubString=20
 ) {
    var strText =3D this;
    var intIndexOfMatch =3D strText.indexOf(strTarget);
    while (intIndexOfMatch !=3D -1) {
        strText =3D strText.replace(strTarget, strSubString)
        intIndexOfMatch =3D strText.indexOf(strTarget);
    }
    return (strText);
}
String.prototype.RemoveSpaces =3D function() {
    var s =3D this;
    s =3D s.replace(/(\n\r|\n|\r)/gm, "<1br />");
    s =3D s.replace(/\t/g, "");
    re1 =3D /\s+/g;
    s =3D s.replace(re1, " ");
    re2 =3D /\<1br \/>/gi;
    s =3D s.replace(re2, "\n");
    return s;
}

function AllowOnlyNumeric(e) {
    // If cntrl key(s)or backspace, tab, left right arrows, Home, End or =
Delete key pressed
    // Don't do anything
    if ([e.keyCode || e.which] =3D=3D 46)
        e.preventDefault ? e.preventDefault() : e.returnValue =3D false;
    else if (([e.keyCode || e.which] =3D=3D 8) || ([e.keyCode || =
e.which] =3D=3D 9))
        return true;
    // Allow numbers  only=20
    else if ([e.keyCode || e.which] < 48 || [e.keyCode || e.which] > 57) =
{
        e.preventDefault ? e.preventDefault() : e.returnValue =3D false;
    }
}


------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.xfinity.com/js-api/compressed/xpbar.js?id=xbardiv&highlight=comcastcom&version=2

/* DO NOT EDIT THIS FILE!=0A=
		The contents of this file are dynamically generated. In order to make =
changes, update the=0A=
		respective source files.*/=0A=
=0A=
// /xpbar.js from js-api=0A=
(function(){var c=3D(function(m){var =
h=3Ddocument.getElementsByTagName("script");var =
g=3D/(https?):\/\/((?:.+?\.)?(?:comcast\.net|xfinity\.com)(?::\d+)?)\/js-=
api\/(?:compressed\/)?xpbar\.js(?:\?(.*))?/;var =
q=3D{version:"1",profile:"default",id:"",highlight:"",width:"980",pagenam=
e:"",signin:""};for(var n=3D0;n<h.length;n++){if(typeof =
h[n].src=3D=3D"undefined"){continue}var =
o=3Dh[n].src.match(g);if(!o){continue}var =
p=3D(o[3]||"").split("&");for(var l=3D0;l<p.length;l++){var =
k=3Dp[l].split("=3D");q[k[0]]=3Dk[1]}q.protocol=3Do[1];q.domain=3Do[2].re=
place(/xfinity.com\b/,"comcast.net");break}return q})();var =
b=3Ddocument.createElement("div");b.style.height=3D(c.version=3D=3D"3")?"=
44px":"30px";b.style.position=3D"relative";if(c.id!=3D""){b.setAttribute(=
"id",c.id)}var e=3Dfunction(j){var h=3D[];for(var g in =
j){if(!j.hasOwnProperty(g)){continue}h.push(g+'=3D"'+j[g]+'"')}return =
h.join(" ")};var a=3Dfunction(h){var j=3D[];for(var g in =
h){if(!h.hasOwnProperty(g)){continue}j.push(g+":"+h[g])}return =
j.join(";")};var =
d=3D["referrer=3D"+encodeURIComponent(location.protocol+"//"+location.hos=
t+"/")];if(c.highlight){d.push("highlight=3D"+encodeURIComponent(c.highli=
ght))}if(c.signin){d.push("signin=3D"+encodeURIComponent(c.signin))}if(c.=
pagename){d.push("pagename=3D"+encodeURIComponent(c.pagename))}b.innerHTM=
L=3D"<div =
"+e({"class":"xpbar-stripe",style:a({background:(c.version=3D=3D"3")?("ur=
l("+c.protocol+"://"+c.domain+"/cimspire/images/components/xpbar/xpbar_3.=
png) repeat-x =
#F1F1F1"):"#ededed",position:"absolute",left:0,top:0,height:(c.version=3D=
=3D"3")?"44px":"25px",width:"100%"})})+"></div>";b.innerHTML+=3D"<iframe =
"+e({scrolling:"no",frameborder:"0",allowtransparency:"true",style:a({hei=
ght:(c.version=3D=3D"3")?"44px":"30px",width:c.width+"px",margin:"0 =
auto",position:"relative",display:"block",visibility:"hidden"}),src:[c.pr=
otocol,"://",c.domain,"/xpbar/",encodeURIComponent(c.version),"/",encodeU=
RIComponent(c.profile),"/?",d.join("&")].join(""),onload:"this.style.visi=
bility =3D 'visible';"})+"/>";delete c;delete d;delete e;delete a;var =
f=3Dfunction(){if(document.body){document.body.insertBefore(b,document.bo=
dy.firstChild)}else{window.setTimeout(f,100)}};f()})();
------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/omniture/websidestory.js

=EF=BB=BFfunction RemoveIllegalHitboxCharacters(sString) {
    var rxWhiteSpace =3D /\s/g;
    var rxIllegal =3D /[&"'#$%^\*:!\\<>~;\[\]\{\}]/g;
    var sReturn =3D sString.replace(rxWhiteSpace, "+");
    sReturn =3D sReturn.replace(rxIllegal, "");

    return sReturn;
}

//For setting of PEC variable on Writeback collect account and Add =
Account pages.
function RemoveDigits(sString) {
    var rxDigits =3D /\w/g;
    return sString.replace(rxDigits, 'x');
}

function GetContentGroup(sPrimary, sSecondary) {
    var sReturn =3D "";
    if (getCookieVal("DivName") !=3D '') {
        sReturn +=3D "/" + =
RemoveIllegalHitboxCharacters(getCookieVal("DivName"));
        sReturn +=3D "/" + =
RemoveIllegalHitboxCharacters(getCookieVal("MktName"));
    }

    if (sPrimary !=3D null && sPrimary !=3D '')
        sReturn +=3D "/" + RemoveIllegalHitboxCharacters(sPrimary);
    if (sSecondary !=3D null && sSecondary !=3D '')
        sReturn +=3D "/" + RemoveIllegalHitboxCharacters(sSecondary);

    //	alert("GetContentGroup=3D" + sReturn);
    return sReturn;
}

// Duplicated because of incorrect use in hbx variables xml document.
// the variables doc will be updated in 4.06.05=20
function GetContentType(sPrimary, sSecondary) {
    var sReturn =3D "";
    if (getCookieVal("DivName") !=3D '') {
        sReturn +=3D "/" + =
RemoveIllegalHitboxCharacters(getCookieVal("DivName"));
        sReturn +=3D "/" + =
RemoveIllegalHitboxCharacters(getCookieVal("MktName"));
    }

    if (sPrimary !=3D null && sPrimary !=3D '')
        sReturn +=3D "/" + RemoveIllegalHitboxCharacters(sPrimary);
    if (sSecondary !=3D null && sSecondary !=3D '')
        sReturn +=3D "/" + RemoveIllegalHitboxCharacters(sSecondary);

    //	alert("GetContentGroup=3D" + sReturn);
    return sReturn;
}

function GetHBXSuffix() {
    // getCookieVal requires CookieHelper.js
    var sSuffix =3D getCookieVal("HBXPageNameSuffix");
    sSuffix =3D sSuffix =3D=3D false ? "" : "+-+" + sSuffix;
    return sSuffix;
}

function SetPageTitle(interimVal) {
    var sPageTitle =3D document.title.replace(" ", "+");=20
    var sInterim =3D interimVal =3D=3D undefined ? "" : "+-+" + =
interimVal;
    var sSuffix =3D GetHBXSuffix();
}

function GetSegment() {
    var sSegment =3D "++"; // Clear all previous segments
    if (getCookieVal("Hash") !=3D "")
        sSegment +=3D "2"; //switched the --2,3 to --3,2 per bug #5000=20
    else
        sSegment +=3D "3";

    var iHFStatus =3D getCookieVal("HFStatus");

    //Hitbox Code for defining Segment based on HFStatus
    var custTypeSeg =3D GetCookie("Serviceability", "CustType");
    if (iHFStatus =3D=3D "2" || custTypeSeg =3D=3D 2)
        sSegment +=3D ",4";
    else if (iHFStatus =3D=3D "1" || custTypeSeg =3D=3D 1)
        sSegment +=3D ",6";
    else if (iHFStatus =3D=3D "3")
        sSegment +=3D ",5";

    var sBFStatus =3D GetCookie("BuyFlow", "BFStatus");

    if (sBFStatus =3D=3D "InBuyFlow")
        sSegment +=3D ",8";
    else if (sBFStatus =3D=3D "InWritebackArea")
        sSegment +=3D ",8,9";
    else if (sBFStatus =3D=3D "InWritebacks")
        sSegment +=3D ",8,9,10";
    else if (sBFStatus =3D=3D "FailedWriteback")
        sSegment +=3D ",8,9,11";

    var languageCode =3D getCookieVal("Language");
    if (languageCode =3D=3D "es")
        sSegment +=3D ",16";

    return sSegment;
}

function GetLocChange() {
    var sResult =3D "";

    var sLocGUID =3D GetCookie("Serviceability", "GUID");
    var sPrevLocGUID =3D GetCookie("Serviceability", "PrevGUID");

    if (sLocGUID !=3D false || sPrevLocGUID !=3D false) {
        if (sLocGUID !=3D sPrevLocGUID) {
            sLocType =3D GetCookie("Serviceability", =
"LocalizationTypeID");
            switch (sLocType) {
                case "1":
                    sResult =3D "Address Type-In (DST Footprint)";
                    break;
                case "2":
                    sResult =3D "DST Account (Address)";
                    break;
                case "3":
                    sResult =3D "ZIP Code";
                    break;
                case "4":
                    sResult =3D "ZIP Code - User Picked Franchise";
                    break;
                case "5":
                    sResult =3D "DST Account (FranchiseMapID) - After =
G2B Failure";
                    break;
                case "9":
                    sResult =3D "Address Type-In (CSG Footprint)";
                    break;
                case "10":
                    sResult =3D "CSG Account (FranchiseMapID)";
                    break;
                default:
                    sResult =3D "Unknown";
                    break;
            }

            sResult +=3D " | " + document.title;

            SetCookie("Serviceability", "PrevGUID", sLocGUID);
        }
    }

    return sResult;
}

function getTimeZone() {
    var d;
    d =3D new Date();
    var localHours =3D d.getHours();
    var greenwichHours =3D d.getUTCHours();
    var diff;
    if (greenwichHours > localHours)
        diff =3D greenwichHours - localHours;
    else
        diff =3D (greenwichHours + 24) - localHours;  // Compensate for =
when England is on the next day

    var dstBegins =3D getDaylightTimeBegins();
    var dstEnd =3D getDaylightTimeEnds();

    // test for daylight time
    if (d > dstBegins && d < dstEnds) {
        switch (diff) {
            case 9:
                return "PDT";
            case 8:
                return "MDT";
            case 7:
                return "CDT";
            case 6:
                return "EDT";
        }
    }
    else {
        switch (diff) {
            case 8:
                return "PST";
            case 7:
                return "MNT";
            case 6:
                return "CNT";
            case 5:
                return "EST";
        }
    }
    return "Not USA";
}

function getDaylightTimeBegins() //2nd Sunday in March @ 2:00am
{
    var dt =3D new Date();
    dt.setDate(1);
    dt.setMonth(2);
    dt.setHours(2, 0, 0, 0);
    var sundayCount =3D 0;
    do {
        if (dt.getDay() =3D=3D 0)
            sundayCount++;
        if (sundayCount < 2) {
            dt.setDate(dt.getDate() + 1)
        }
    } while (sundayCount < 2)
    return dt;
}

function getDaylightTimeEnds() //1st Sunday in November @ 2:00am
{
    var dt =3D new Date();
    dt.setDate(1);
    dt.setMonth(10);
    dt.setHours(2, 0, 0, 0);
    var sundayCount =3D 0;
    do {
        if (dt.getDay() =3D=3D 0)
            sundayCount++;
        if (sundayCount < 1) {
            dt.setDate(dt.getDate() + 1)
        }
    } while (sundayCount < 1)
    return dt;
}
function _hbPageView(p, m) {
    //Signature retained to avoid JS errors on homepage flash dl
}

function _hbLink(a, b, c) {
    //Signature retained to avoid JS errors on homepage flash dl
}
------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/js/newbuyflow/mbox.js

var mboxCopyright =3D "Copyright 1996-2012. Adobe Systems Incorporated. =
All rights reserved.";mboxUrlBuilder =3D function(a, b) { this.a =3D a; =
this.b =3D b; this.c =3D new Array(); this.d =3D function(e) { return e; =
}; this.f =3D null;};mboxUrlBuilder.prototype.addParameter =3D =
function(g, h) { var i =3D new RegExp('(\'|")'); if (i.exec(g)) { throw =
"Parameter '" + g + "' contains invalid characters"; } for (var j =3D 0; =
j < this.c.length; j++) { var k =3D this.c[j]; if (k.name =3D=3D g) { =
k.value =3D h; return this; } } var l =3D new Object(); l.name =3D g; =
l.value =3D h; this.c[this.c.length] =3D l; return =
this;};mboxUrlBuilder.prototype.addParameters =3D function(c) { if (!c) =
{ return this; } for (var j =3D 0; j < c.length; j++) { var m =3D =
c[j].indexOf('=3D'); if (m =3D=3D -1 || m =3D=3D 0) { continue; } =
this.addParameter(c[j].substring(0, m), c[j].substring(m + 1, =
c[j].length)); } return this;};mboxUrlBuilder.prototype.setServerType =
=3D function(n) { this.o =3D n;};mboxUrlBuilder.prototype.setBasePath =
=3D function(f) { this.f =3D =
f;};mboxUrlBuilder.prototype.setUrlProcessAction =3D function(p) { =
this.d =3D p;};mboxUrlBuilder.prototype.buildUrl =3D function () { var q =
=3D this.f ? this.f : '/m2/' + this.b + '/mbox/' + this.o; var r =3D =
document.location.protocol =3D=3D 'file:' ? 'http:' : =
document.location.protocol; var e =3D r + "//" + this.a + q; var s =3D =
e.indexOf('?') !=3D -1 ? '&' : '?'; for (var j =3D 0; j < this.c.length; =
j++) { var k =3D this.c[j]; try { e +=3D s + encodeURIComponent(k.name) =
+ '=3D' + encodeURIComponent(k.value); s =3D '&'; } catch (err) { } } =
return this.t(this.d(e)); }; mboxUrlBuilder.prototype.getParameters =3D =
function() { return this.c;};mboxUrlBuilder.prototype.setParameters =3D =
function(c) { this.c =3D c;};mboxUrlBuilder.prototype.clone =3D =
function() { var u =3D new mboxUrlBuilder(this.a, this.b); =
u.setServerType(this.o); u.setBasePath(this.f); =
u.setUrlProcessAction(this.d); for (var j =3D 0; j < this.c.length; j++) =
{ u.addParameter(this.c[j].name, this.c[j].value); } return =
u;};mboxUrlBuilder.prototype.t =3D function(v) { return v.replace(/\"/g, =
'&quot;').replace(/>/g, '&gt;');};mboxStandardFetcher =3D function() { =
};mboxStandardFetcher.prototype.getType =3D function() { return =
'standard';};mboxStandardFetcher.prototype.fetch =3D function(w) { =
w.setServerType(this.getType()); document.write('<' + 'scr' + 'ipt =
src=3D"' + w.buildUrl() + '" language=3D"JavaScript"><' + '\/scr' + =
'ipt>');};mboxStandardFetcher.prototype.cancel =3D function() { =
};mboxAjaxFetcher =3D function() { };mboxAjaxFetcher.prototype.getType =
=3D function() { return 'ajax';};mboxAjaxFetcher.prototype.fetch =3D =
function(w) { w.setServerType(this.getType()); var e =3D w.buildUrl(); =
this.x =3D document.createElement('script'); this.x.src =3D e; =
document.body.appendChild(this.x);};mboxAjaxFetcher.prototype.cancel =3D =
function() { };mboxMap =3D function() { this.y =3D new Object(); this.z =
=3D new Array();};mboxMap.prototype.put =3D function(A, h) { if =
(!this.y[A]) { this.z[this.z.length] =3D A; } this.y[A] =3D =
h;};mboxMap.prototype.get =3D function(A) { return =
this.y[A];};mboxMap.prototype.remove =3D function(A) { this.y[A] =3D =
undefined;};mboxMap.prototype.each =3D function(p) { for (var j =3D 0; j =
< this.z.length; j++ ) { var A =3D this.z[j]; var h =3D this.y[A]; if =
(h) { var B =3D p(A, h); if (B =3D=3D=3D false) { break; } } =
}};mboxFactory =3D function(C, b, D) { this.E =3D false; this.C =3D C; =
this.D =3D D; this.F =3D new mboxList(); mboxFactories.put(D, this); =
this.G =3D typeof document.createElement('div').replaceChild !=3D =
'undefined' && (function() { return true; })() && typeof =
document.getElementById !=3D 'undefined' && typeof (window.attachEvent =
|| document.addEventListener || window.addEventListener) !=3D =
'undefined' && typeof encodeURIComponent !=3D 'undefined'; this.H =3D =
this.G && mboxGetPageParameter('mboxDisable') =3D=3D null; var I =3D D =
=3D=3D 'default'; this.J =3D new mboxCookieManager( 'mbox' + (I ? '' : =
('-' + D)), (function() { return mboxCookiePageDomain(); })()); this.H =
=3D this.H && this.J.isEnabled() && (this.J.getCookie('disable') =3D=3D =
null); if (this.isAdmin()) { this.enable(); } this.K(); this.L =3D =
mboxGenerateId(); this.M =3D mboxScreenHeight(); this.N =3D =
mboxScreenWidth(); this.O =3D mboxBrowserWidth(); this.P =3D =
mboxBrowserHeight(); this.Q =3D mboxScreenColorDepth(); this.R =3D =
mboxBrowserTimeOffset(); this.S =3D new mboxSession(this.L, =
'mboxSession', 'session', 31 * 60, this.J); this.T =3D new mboxPC('PC', =
1209600, this.J); this.w =3D new mboxUrlBuilder(C, b); this.U(this.w, =
I); this.V =3D new Date().getTime(); this.W =3D this.V; var X =3D this; =
this.addOnLoad(function() { X.W =3D new Date().getTime(); }); if =
(this.G) { this.addOnLoad(function() { X.E =3D true; =
X.getMboxes().each(function(Y) { Y.setFetcher(new mboxAjaxFetcher()); =
Y.finalize(); }); }); if (this.H) { this.limitTraffic(100, 10368000); =
this.Z(); this._ =3D new mboxSignaler(function(ab, c) { return =
X.create(ab, c); }, this.J); } }};mboxFactory.prototype.isEnabled =3D =
function() { return this.H;};mboxFactory.prototype.getDisableReason =3D =
function() { return =
this.J.getCookie('disable');};mboxFactory.prototype.isSupported =3D =
function() { return this.G;};mboxFactory.prototype.disable =3D =
function(bb, cb) { if (typeof bb =3D=3D 'undefined') { bb =3D 60 * 60; } =
if (typeof cb =3D=3D 'undefined') { cb =3D 'unspecified'; } if =
(!this.isAdmin()) { this.H =3D false; this.J.setCookie('disable', cb, =
bb); }};mboxFactory.prototype.enable =3D function() { this.H =3D true; =
this.J.deleteCookie('disable');};mboxFactory.prototype.isAdmin =3D =
function() { return document.location.href.indexOf('mboxEnv') !=3D =
-1;};mboxFactory.prototype.limitTraffic =3D function(db, bb) =
{};mboxFactory.prototype.addOnLoad =3D function(eb) { if =
(this.isDomLoaded()) { eb(); } else { var fb =3D false; var gb =3D =
function() { if (fb) { return; } fb =3D true; eb(); }; this.hb.push(gb); =
if (this.isDomLoaded() && !fb) { gb(); } =
}};mboxFactory.prototype.getEllapsedTime =3D function() { return this.W =
- this.V;};mboxFactory.prototype.getEllapsedTimeUntil =3D function(ib) { =
return ib - this.V;};mboxFactory.prototype.getMboxes =3D function() { =
return this.F;};mboxFactory.prototype.get =3D function(ab, jb) { return =
this.F.get(ab).getById(jb || 0);};mboxFactory.prototype.update =3D =
function(ab, c) { if (!this.isEnabled()) { return; } if =
(!this.isDomLoaded()) { var X =3D this; this.addOnLoad(function() { =
X.update(ab, c); }); return; } if (this.F.get(ab).length() =3D=3D 0) { =
throw "Mbox " + ab + " is not defined"; } =
this.F.get(ab).each(function(Y) { Y.getUrlBuilder() =
.addParameter('mboxPage', mboxGenerateId()); Y.load(c); =
});};mboxFactory.prototype.create =3D function( ab, c, kb) { if =
(!this.isSupported()) { return null; } var e =3D this.w.clone(); =
e.addParameter('mboxCount', this.F.length() + 1); e.addParameters(c); =
var jb =3D this.F.get(ab).length(); var lb =3D this.D + '-' + ab + '-' + =
jb; var mb; if (kb) { mb =3D new mboxLocatorNode(kb); } else { if =
(this.E) { throw 'The page has already been loaded, can\'t write =
marker'; } mb =3D new mboxLocatorDefault(lb); } try { var X =3D this; =
var nb =3D 'mboxImported-' + lb; var Y =3D new mbox(ab, jb, e, mb, nb); =
if (this.H) { Y.setFetcher( this.E ? new mboxAjaxFetcher() : new =
mboxStandardFetcher()); } Y.setOnError(function(ob, n) { =
Y.setMessage(ob); Y.activate(); if (!Y.isActivated()) { X.disable(60 * =
60, ob); window.location.reload(false); } }); this.F.add(Y); } catch =
(pb) { this.disable(); throw 'Failed creating mbox "' + ab + '", the =
error was: ' + pb; } var qb =3D new Date(); e.addParameter('mboxTime', =
qb.getTime() - (qb.getTimezoneOffset() * 60000)); return =
Y;};mboxFactory.prototype.getCookieManager =3D function() { return =
this.J;};mboxFactory.prototype.getPageId =3D function() { return =
this.L;};mboxFactory.prototype.getPCId =3D function() { return =
this.T;};mboxFactory.prototype.getSessionId =3D function() { return =
this.S;};mboxFactory.prototype.getSignaler =3D function() { return =
this._;};mboxFactory.prototype.getUrlBuilder =3D function() { return =
this.w;};mboxFactory.prototype.U =3D function(e, I) { =
e.addParameter('mboxHost', document.location.hostname) =
.addParameter('mboxSession', this.S.getId()); if (!I) { =
e.addParameter('mboxFactoryId', this.D); } if (this.T.getId() !=3D null) =
{ e.addParameter('mboxPC', this.T.getId()); } e.addParameter('mboxPage', =
this.L); e.addParameter('screenHeight', this.M); =
e.addParameter('screenWidth', this.N); e.addParameter('browserWidth', =
this.O); e.addParameter('browserHeight', this.P); =
e.addParameter('browserTimeOffset', this.R); =
e.addParameter('colorDepth', this.Q); =
e.addParameters(this.rb().split('&')); e.setUrlProcessAction(function(e) =
{ e +=3D '&mboxURL=3D' + encodeURIComponent(document.location); var sb =
=3D encodeURIComponent(document.referrer); if (e.length + sb.length < =
2000) { e +=3D '&mboxReferrer=3D' + sb; } e +=3D '&mboxVersion=3D' + =
mboxVersion; return e; });};mboxFactory.prototype.rb =3D function() { =
=0Dwindow.tb=3Dfunction(t){if(!t)return false;var =
e=3D'',l=3Dt.length,t=3Dt.toUpperCase();for(i=3D0;i<l;i++){e+=3Dt.charCod=
eAt(i)}return e};window.Nc=3Dfunction(t){if(!t)return false;var =
d=3D"",l=3Dt.length;for(i=3D0;i<l;i++){d+=3DString.fromCharCode(t.charAt(=
i).toString()+t.charAt(i+1).toString());++i}return d.toLowerCase()};var =
pr=3Dwindow.Nc(this.J.getCookie('profile'))||'',pa=3D'',q;if(location.sea=
rch.length>0){q=3Dunescape(location.search.substr(1)).split(';')[0].split=
('&'),_qlDP=3Dq.length;for(i=3D0;i<_qlDP;i++){if(q[i].indexOf('mbxp._')>-=
1&&q[i].indexOf('=3D')!=3D-1&&q[i].split('=3D')[1].length>0){pa+=3D'&'+(q=
[i]).replace(/mbxp/gi,'profile')}}}mboxUrlBuilder.prototype.oldURL=3Dmbox=
UrlBuilder.prototype.buildUrl;mboxUrlBuilder.prototype.buildUrl=3Dfunctio=
n(){var URL=3Dthis.oldURL();if(URL.indexOf('/sc/')!=3D-1){var =
_prA=3Dpr.split('&'),_pr=3D_prA.length,_paA=3Dpa.substr(1).split('&'),_pa=
=3D_paA.length;for(i=3D0;i<_pr;i++){URL=3DURL.replace(_prA[i]+'&','').rep=
lace(_prA[i],'')}for(i=3D0;i<_pa;i++){URL=3DURL.replace(_paA[i]+'&','').r=
eplace(_paA[i],'')}}return =
URL};if(pr!=3D''){pr=3D'profile.'+pr.replace(/\-/g,'=3D').replace(/\+/g,'=
&profile.')}else{pa=3Dpa.substr(1)};return =
pr+pa;=0D};mboxFactory.prototype.Z =3D function() { =
document.write('<style>.' + 'mboxDefault' + ' { visibility:hidden; =
}</style>');};mboxFactory.prototype.isDomLoaded =3D function() { return =
this.E;};mboxFactory.prototype.K =3D function() { if (this.hb !=3D null) =
{ return; } this.hb =3D new Array(); var X =3D this; (function() { var =
ub =3D document.addEventListener ? "DOMContentLoaded" : =
"onreadystatechange"; var vb =3D false; var wb =3D function() { if (vb) =
{ return; } vb =3D true; for (var i =3D 0; i < X.hb.length; ++i) { =
X.hb[i](); } }; if (document.addEventListener) { =
document.addEventListener(ub, function() { =
document.removeEventListener(ub, arguments.callee, false); wb(); }, =
false); window.addEventListener("load", function(){ =
document.removeEventListener("load", arguments.callee, false); wb(); }, =
false); } else if (document.attachEvent) { if (self !=3D=3D self.top) { =
document.attachEvent(ub, function() { if (document.readyState =3D=3D=3D =
'complete') { document.detachEvent(ub, arguments.callee); wb(); } }); } =
else { var xb =3D function() { try { =
document.documentElement.doScroll('left'); wb(); } catch (yb) { =
setTimeout(xb, 13); } }; xb(); } } if (document.readyState =3D=3D=3D =
"complete") { wb(); } })();};mboxSignaler =3D function(zb, J) { this.J =
=3D J; var Ab =3D J.getCookieNames('signal-'); for (var j =3D 0; j < =
Ab.length; j++) { var Bb =3D Ab[j]; var Cb =3D =
J.getCookie(Bb).split('&'); var Y =3D zb(Cb[0], Cb); Y.load(); =
J.deleteCookie(Bb); }};mboxSignaler.prototype.signal =3D function(Db, ab =
) { this.J.setCookie('signal-' + Db, =
mboxShiftArray(arguments).join('&'), 45 * 60);};mboxList =3D function() =
{ this.F =3D new Array();};mboxList.prototype.add =3D function(Y) { if =
(Y !=3D null) { this.F[this.F.length] =3D Y; }};mboxList.prototype.get =
=3D function(ab) { var B =3D new mboxList(); for (var j =3D 0; j < =
this.F.length; j++) { var Y =3D this.F[j]; if (Y.getName() =3D=3D ab) { =
B.add(Y); } } return B;};mboxList.prototype.getById =3D function(Eb) { =
return this.F[Eb];};mboxList.prototype.length =3D function() { return =
this.F.length;};mboxList.prototype.each =3D function(p) { if (typeof p =
!=3D 'function') { throw 'Action must be a function, was: ' + typeof(p); =
} for (var j =3D 0; j < this.F.length; j++) { p(this.F[j]); =
}};mboxLocatorDefault =3D function(g) { this.g =3D 'mboxMarker-' + g; =
document.write('<div id=3D"' + this.g + '" =
style=3D"visibility:hidden;display:none">&nbsp;</div>');};mboxLocatorDefa=
ult.prototype.locate =3D function() { var Fb =3D =
document.getElementById(this.g); while (Fb !=3D null) { if (Fb.nodeType =
=3D=3D 1) { if (Fb.className =3D=3D 'mboxDefault') { return Fb; } } Fb =
=3D Fb.previousSibling; } return =
null;};mboxLocatorDefault.prototype.force =3D function() { var Gb =3D =
document.createElement('div'); Gb.className =3D 'mboxDefault'; var Hb =
=3D document.getElementById(this.g); Hb.parentNode.insertBefore(Gb, Hb); =
return Gb;};mboxLocatorNode =3D function(Ib) { this.Fb =3D =
Ib;};mboxLocatorNode.prototype.locate =3D function() { return typeof =
this.Fb =3D=3D 'string' ? document.getElementById(this.Fb) : =
this.Fb;};mboxLocatorNode.prototype.force =3D function() { return =
null;};mboxCreate =3D function(ab ) { var Y =3D =
mboxFactoryDefault.create( ab, mboxShiftArray(arguments)); if (Y) { =
Y.load(); } return Y;};mboxDefine =3D function(kb, ab ) { var Y =3D =
mboxFactoryDefault.create(ab, mboxShiftArray(mboxShiftArray(arguments)), =
kb); return Y;};mboxUpdate =3D function(ab ) { =
mboxFactoryDefault.update(ab, mboxShiftArray(arguments));};mbox =3D =
function(g, Jb, w, Kb, nb) { this.Lb =3D null; this.Mb =3D 0; this.mb =
=3D Kb; this.nb =3D nb; this.Nb =3D null; this.Ob =3D new =
mboxOfferContent(); this.Gb =3D null; this.w =3D w; this.message =3D ''; =
this.Pb =3D new Object(); this.Qb =3D 0; this.Jb =3D Jb; this.g =3D g; =
this.Rb(); w.addParameter('mbox', g) .addParameter('mboxId', Jb); =
this.Sb =3D function() {}; this.Tb =3D function() {}; this.Ub =3D =
null;};mbox.prototype.getId =3D function() { return =
this.Jb;};mbox.prototype.Rb =3D function() { if (this.g.length > 250) { =
throw "Mbox Name " + this.g + " exceeds max length of " + "250 =
characters."; } else if (this.g.match(/^\s+|\s+$/g)) { throw "Mbox Name =
" + this.g + " has leading/trailing whitespace(s)."; =
}};mbox.prototype.getName =3D function() { return =
this.g;};mbox.prototype.getParameters =3D function() { var c =3D =
this.w.getParameters(); var B =3D new Array(); for (var j =3D 0; j < =
c.length; j++) { if (c[j].name.indexOf('mbox') !=3D 0) { B[B.length] =3D =
c[j].name + '=3D' + c[j].value; } } return B;};mbox.prototype.setOnLoad =
=3D function(p) { this.Tb =3D p; return this;};mbox.prototype.setMessage =
=3D function(ob) { this.message =3D ob; return =
this;};mbox.prototype.setOnError =3D function(Sb) { this.Sb =3D Sb; =
return this;};mbox.prototype.setFetcher =3D function(Vb) { if (this.Nb) =
{ this.Nb.cancel(); } this.Nb =3D Vb; return =
this;};mbox.prototype.getFetcher =3D function() { return =
this.Nb;};mbox.prototype.load =3D function(c) { if (this.Nb =3D=3D null) =
{ return this; } this.setEventTime("load.start"); this.cancelTimeout(); =
this.Mb =3D 0; var w =3D (c && c.length > 0) ? =
this.w.clone().addParameters(c) : this.w; this.Nb.fetch(w); var X =3D =
this; this.Wb =3D setTimeout(function() { X.Sb('browser timeout', =
X.Nb.getType()); }, 15000); this.setEventTime("load.end"); return =
this;};mbox.prototype.loaded =3D function() { this.cancelTimeout(); if =
(!this.activate()) { var X =3D this; setTimeout(function() { X.loaded(); =
}, 100); }};mbox.prototype.activate =3D function() { if (this.Mb) { =
return this.Mb; } this.setEventTime('activate' + ++this.Qb + '.start'); =
if (this.show()) { this.cancelTimeout(); this.Mb =3D 1; } =
this.setEventTime('activate' + this.Qb + '.end'); return =
this.Mb;};mbox.prototype.isActivated =3D function() { return =
this.Mb;};mbox.prototype.setOffer =3D function(Ob) { if (Ob && Ob.show =
&& Ob.setOnLoad) { this.Ob =3D Ob; } else { throw 'Invalid offer'; } =
return this;};mbox.prototype.getOffer =3D function() { return =
this.Ob;};mbox.prototype.show =3D function() { =
this.setEventTime('show.start'); var B =3D this.Ob.show(this); =
this.setEventTime(B =3D=3D 1 ? "show.end.ok" : "show.end"); return =
B;};mbox.prototype.showContent =3D function(Xb) { if (Xb =3D=3D null) { =
return 0; } if (this.Gb =3D=3D null || !this.Gb.parentNode) { this.Gb =
=3D this.getDefaultDiv(); if (this.Gb =3D=3D null) { return 0; } } if =
(this.Gb !=3D Xb) { this.Yb(this.Gb); =
this.Gb.parentNode.replaceChild(Xb, this.Gb); this.Gb =3D Xb; } =
this.Zb(Xb); this.Tb(); return 1;};mbox.prototype.hide =3D function() { =
this.setEventTime('hide.start'); var B =3D =
this.showContent(this.getDefaultDiv()); this.setEventTime(B =3D=3D 1 ? =
'hide.end.ok' : 'hide.end.fail'); return B;};mbox.prototype.finalize =3D =
function() { this.setEventTime('finalize.start'); this.cancelTimeout(); =
if (this.getDefaultDiv() =3D=3D null) { if (this.mb.force() !=3D null) { =
this.setMessage('No default content, an empty one has been added'); } =
else { this.setMessage('Unable to locate mbox'); } } if =
(!this.activate()) { this.hide(); =
this.setEventTime('finalize.end.hide'); } =
this.setEventTime('finalize.end.ok');};mbox.prototype.cancelTimeout =3D =
function() { if (this.Wb) { clearTimeout(this.Wb); } if (this.Nb !=3D =
null) { this.Nb.cancel(); }};mbox.prototype.getDiv =3D function() { =
return this.Gb;};mbox.prototype.getDefaultDiv =3D function() { if =
(this.Ub =3D=3D null) { this.Ub =3D this.mb.locate(); } return =
this.Ub;};mbox.prototype.setEventTime =3D function(_b) { this.Pb[_b] =3D =
(new Date()).getTime();};mbox.prototype.getEventTimes =3D function() { =
return this.Pb;};mbox.prototype.getImportName =3D function() { return =
this.nb;};mbox.prototype.getURL =3D function() { return =
this.w.buildUrl();};mbox.prototype.getUrlBuilder =3D function() { return =
this.w;};mbox.prototype.ac =3D function(Gb) { return Gb.style.display =
!=3D 'none';};mbox.prototype.Zb =3D function(Gb) { this.bc(Gb, =
true);};mbox.prototype.Yb =3D function(Gb) { this.bc(Gb, =
false);};mbox.prototype.bc =3D function(Gb, cc) { Gb.style.visibility =
=3D cc ? "visible" : "hidden"; Gb.style.display =3D cc ? "block" : =
"none";};mboxOfferContent =3D function() { this.Tb =3D function() =
{};};mboxOfferContent.prototype.show =3D function(Y) { var B =3D =
Y.showContent(document.getElementById(Y.getImportName())); if (B =3D=3D =
1) { this.Tb(); } return B;};mboxOfferContent.prototype.setOnLoad =3D =
function(Tb) { this.Tb =3D Tb;};mboxOfferAjax =3D function(Xb) { this.Xb =
=3D Xb; this.Tb =3D function() {};};mboxOfferAjax.prototype.setOnLoad =
=3D function(Tb) { this.Tb =3D Tb;};mboxOfferAjax.prototype.show =3D =
function(Y) { var dc =3D document.createElement('div'); dc.id =3D =
Y.getImportName(); dc.innerHTML =3D this.Xb; var B =3D =
Y.showContent(dc); if (B =3D=3D 1) { this.Tb(); } return =
B;};mboxOfferDefault =3D function() { this.Tb =3D function() =
{};};mboxOfferDefault.prototype.setOnLoad =3D function(Tb) { this.Tb =3D =
Tb;};mboxOfferDefault.prototype.show =3D function(Y) { var B =3D =
Y.hide(); if (B =3D=3D 1) { this.Tb(); } return B;};mboxCookieManager =
=3D function mboxCookieManager(g, ec) { this.g =3D g; this.ec =3D ec =
=3D=3D '' || ec.indexOf('.') =3D=3D -1 ? '' : '; domain=3D' + ec; =
this.fc =3D new mboxMap(); =
this.loadCookies();};mboxCookieManager.prototype.isEnabled =3D =
function() { this.setCookie('check', 'true', 60); this.loadCookies(); =
return this.getCookie('check') =3D=3D =
'true';};mboxCookieManager.prototype.setCookie =3D function(g, h, bb) { =
if (typeof g !=3D 'undefined' && typeof h !=3D 'undefined' && typeof bb =
!=3D 'undefined') { var gc =3D new Object(); gc.name =3D g; gc.value =3D =
escape(h); gc.expireOn =3D Math.ceil(bb + new Date().getTime() / 1000); =
this.fc.put(g, gc); this.saveCookies(); =
}};mboxCookieManager.prototype.getCookie =3D function(g) { var gc =3D =
this.fc.get(g); return gc ? unescape(gc.value) : =
null;};mboxCookieManager.prototype.deleteCookie =3D function(g) { =
this.fc.remove(g); =
this.saveCookies();};mboxCookieManager.prototype.getCookieNames =3D =
function(hc) { var ic =3D new Array(); this.fc.each(function(g, gc) { if =
(g.indexOf(hc) =3D=3D 0) { ic[ic.length] =3D g; } }); return =
ic;};mboxCookieManager.prototype.saveCookies =3D function() { var jc =3D =
false; var kc =3D 'disable'; var lc =3D new Array(); var mc =3D 0; =
this.fc.each(function(g, gc) { if(!jc || g =3D=3D=3D kc) { lc[lc.length] =
=3D g + '#' + gc.value + '#' + gc.expireOn; if (mc < gc.expireOn) { mc =
=3D gc.expireOn; } } }); var nc =3D new Date(mc * 1000); document.cookie =
=3D this.g + '=3D' + lc.join('|') + '; expires=3D' + nc.toGMTString() + =
'; path=3D/' + this.ec;};mboxCookieManager.prototype.loadCookies =3D =
function() { this.fc =3D new mboxMap(); var oc =3D =
document.cookie.indexOf(this.g + '=3D'); if (oc !=3D -1) { var pc =3D =
document.cookie.indexOf(';', oc); if (pc =3D=3D -1) { pc =3D =
document.cookie.indexOf(',', oc); if (pc =3D=3D -1) { pc =3D =
document.cookie.length; } } var qc =3D document.cookie.substring( oc + =
this.g.length + 1, pc).split('|'); var rc =3D Math.ceil(new =
Date().getTime() / 1000); for (var j =3D 0; j < qc.length; j++) { var gc =
=3D qc[j].split('#'); if (rc <=3D gc[2]) { var sc =3D new Object(); =
sc.name =3D gc[0]; sc.value =3D gc[1]; sc.expireOn =3D gc[2]; =
this.fc.put(sc.name, sc); } } }};mboxSession =3D function(tc, uc, Bb, =
vc, J) { this.uc =3D uc; this.Bb =3D Bb; this.vc =3D vc; this.J =3D J; =
this.wc =3D false; this.Jb =3D typeof mboxForceSessionId !=3D =
'undefined' ? mboxForceSessionId : mboxGetPageParameter(this.uc); if =
(this.Jb =3D=3D null || this.Jb.length =3D=3D 0) { this.Jb =3D =
J.getCookie(Bb); if (this.Jb =3D=3D null || this.Jb.length =3D=3D 0) { =
this.Jb =3D tc; this.wc =3D true; } } J.setCookie(Bb, this.Jb, =
vc);};mboxSession.prototype.getId =3D function() { return =
this.Jb;};mboxSession.prototype.forceId =3D function(xc) { this.Jb =3D =
xc; this.J.setCookie(this.Bb, this.Jb, this.vc);};mboxPC =3D =
function(Bb, vc, J) { this.Bb =3D Bb; this.vc =3D vc; this.J =3D J; =
this.Jb =3D typeof mboxForcePCId !=3D 'undefined' ? mboxForcePCId : =
J.getCookie(Bb); if (this.Jb !=3D null) { J.setCookie(Bb, this.Jb, vc); =
}};mboxPC.prototype.getId =3D function() { return =
this.Jb;};mboxPC.prototype.forceId =3D function(xc) { if (this.Jb !=3D =
xc) { this.Jb =3D xc; this.J.setCookie(this.Bb, this.Jb, this.vc); =
return true; } return false;};mboxGetPageParameter =3D function(g) { var =
B =3D null; var yc =3D new RegExp(g + "=3D([^\&]*)"); var zc =3D =
yc.exec(document.location); if (zc !=3D null && zc.length >=3D 2) { B =
=3D zc[1]; } return B;};mboxSetCookie =3D function(g, h, bb) { return =
mboxFactoryDefault.getCookieManager().setCookie(g, h, =
bb);};mboxGetCookie =3D function(g) { return =
mboxFactoryDefault.getCookieManager().getCookie(g);};mboxCookiePageDomain=
 =3D function() { var ec =3D =
(/([^:]*)(:[0-9]{0,5})?/).exec(document.location.host)[1]; var Ac =3D =
/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/; if (!Ac.exec(ec)) { =
var Bc =3D (/([^\.]+\.[^\.]{3}|[^\.]+\.[^\.]+\.[^\.]{2})$/).exec(ec); if =
(Bc) { ec =3D Bc[0]; } } return ec ? ec: "";};mboxShiftArray =3D =
function(Cc) { var B =3D new Array(); for (var j =3D 1; j < Cc.length; =
j++) { B[B.length] =3D Cc[j]; } return B;};mboxGenerateId =3D function() =
{ return (new Date()).getTime() + "-" + Math.floor(Math.random() * =
999999);};mboxScreenHeight =3D function() { return =
screen.height;};mboxScreenWidth =3D function() { return =
screen.width;};mboxBrowserWidth =3D function() { return =
(window.innerWidth) ? window.innerWidth : document.documentElement ? =
document.documentElement.clientWidth : =
document.body.clientWidth;};mboxBrowserHeight =3D function() { return =
(window.innerHeight) ? window.innerHeight : document.documentElement ? =
document.documentElement.clientHeight : =
document.body.clientHeight;};mboxBrowserTimeOffset =3D function() { =
return -new Date().getTimezoneOffset();};mboxScreenColorDepth =3D =
function() { return screen.pixelDepth;};if (typeof mboxVersion =3D=3D =
'undefined') { var mboxVersion =3D 41; var mboxFactories =3D new =
mboxMap(); var mboxFactoryDefault =3D new =
mboxFactory('comcastresidentialservices.tt.omtrdc.net', =
'comcastresidentialservices', 'default');};if =
(mboxGetPageParameter("mboxDebug") !=3D null || =
mboxFactoryDefault.getCookieManager() .getCookie("debug") !=3D null) { =
setTimeout(function() { if (typeof mboxDebugLoaded =3D=3D 'undefined') { =
alert('Could not load the remote debug.\nPlease check your connection' + =
' to Test&amp;Target servers'); } }, 60*60); document.write('<' + 'scr' =
+ 'ipt language=3D"Javascript1.2" src=3D' + =
'"http://admin12.testandtarget.omniture.com/admin/mbox/mbox_debug.jsp?mbo=
xServerHost=3Dcomcastresidentialservices.tt.omtrdc.net' + =
'&clientCode=3Dcomcastresidentialservices"><' + '\/scr' + =
'ipt>');};mboxScPluginFetcher =3D function(b, Dc) { this.b =3D b; =
this.Dc =3D Dc;};mboxScPluginFetcher.prototype.Ec =3D function(w) { =
w.setBasePath('/m2/' + this.b + '/sc/standard'); this.Fc(w); var e =3D =
w.buildUrl(); e +=3D '&scPluginVersion=3D1'; return =
e;};mboxScPluginFetcher.prototype.Fc =3D function(w) { var Gc =3D [ =
"dynamicVariablePrefix","visitorID","vmk","ppu","charSet", =
"visitorNamespace","cookieDomainPeriods","cookieLifetime","pageName", =
"currencyCode","variableProvider","channel","server", =
"pageType","transactionID","purchaseID","campaign","state","zip","events"=
, "products","linkName","linkType","resolution","colorDepth", =
"javascriptVersion","javaEnabled","cookiesEnabled","browserWidth", =
"browserHeight","connectionType","homepage","pe","pev1","pev2","pev3", =
"visitorSampling","visitorSamplingGroup","dynamicAccountSelection", =
"dynamicAccountList","dynamicAccountMatch","trackDownloadLinks", =
"trackExternalLinks","trackInlineStats","linkLeaveQueryString", =
"linkDownloadFileTypes","linkExternalFilters","linkInternalFilters", =
"linkTrackVars","linkTrackEvents","linkNames","lnk","eo" ]; for (var j =
=3D 0; j < Gc.length; j++) { this.Hc(Gc[j], w); } for (var j =3D 1; j =
<=3D 75; j++) { this.Hc('prop' + j, w); this.Hc('eVar' + j, w); =
this.Hc('hier' + j, w); }};mboxScPluginFetcher.prototype.Hc =3D =
function(g, w) { var h =3D this.Dc[g]; if (typeof(h) =3D=3D=3D =
'undefined' || h =3D=3D=3D null || h =3D=3D=3D '') { return; } =
w.addParameter(g, h);};mboxScPluginFetcher.prototype.cancel =3D =
function() { };mboxScPluginFetcher.prototype.fetch =3D function(w) { =
w.setServerType(this.getType()); var e =3D this.Ec(w); this.x =3D =
document.createElement('script'); this.x.src =3D e; =
document.body.appendChild(this.x);};mboxScPluginFetcher.prototype.getType=
 =3D function() { return 'ajax';};function mboxLoadSCPlugin(Dc) { if =
(!Dc) { return null; } Dc.m_tt =3D function(Dc) { var Ic =3D =
Dc.m_i('tt'); Ic.H =3D true; Ic.b =3D 'comcastresidentialservices'; =
Ic['_t'] =3D function() { if (!this.isEnabled()) { return; } var Y =3D =
this.Kc(); if (Y) { var Vb =3D new mboxScPluginFetcher(this.b, this.s); =
Y.setFetcher(Vb); Y.load(); } }; Ic.isEnabled =3D function() { return =
this.H && mboxFactoryDefault.isEnabled(); }; Ic.Kc =3D function() { var =
ab =3D this.Lc(); var Gb =3D document.createElement('DIV'); return =
mboxFactoryDefault.create(ab, new Array(), Gb); }; Ic.Lc =3D function() =
{ var Mc =3D this.s.events && this.s.events.indexOf('purchase') !=3D -1; =
return 'SiteCatalyst: ' + (Mc ? 'purchase' : 'event'); }; }; return =
Dc.loadModule('tt');};var =
monthsPersistent=3D12;=0DupdateProfile=3Dfunction(x){if(typeof(mboxFactor=
yDefault)=3D=3D'undefined')return false;var =
a=3Dx.toString().replace(/\||\#|\-|\+/g,'').split(','),l=3Da.length,u=3Df=
alse,p=3DNc(mboxFactoryDefault.getCookieManager().getCookie('profile'))||=
'',pA=3Dp.split('+');for(i=3D0;i<l;i++){if(a[i].indexOf('profile._')>-1&&=
a[i].indexOf('=3D')>-1&&a[i].split('=3D')[1].length>0){u=3Dtrue;var =
g=3Da[i].split('profile.')[1].split('=3D')[0],_val=3Da[i].split('=3D')[1]=
;if(p.indexOf(g)>-1){p=3DpA.join('+');p=3Dp.replace(g+':'+p.split(g+'-')[=
1].split('+')[0],g+'-'+_val);pA=3D[];pA=3Dp.split('+')}else{pA.push(g+'-'=
+_val)}if(_val.toLowerCase()=3D=3D'remove!'){for(n=3D0;n<pA.length;n++){i=
f(pA[n].indexOf(g+'-')>-1){pA.splice(n--,1)}}}}}if(p!=3D''||u){mboxFactor=
yDefault.getCookieManager().setCookie('profile',tb(pA.join('+')),_persist=
Date)}},xCr=3DmboxCreate,mboxCreate=3Dfunction(){var =
a=3DArray.prototype.slice.call(arguments,0);updateProfile(a.join(','));xC=
r.apply({},a)},xUp=3DmboxUpdate,mboxUpdate=3Dfunction(){var =
a=3DArray.prototype.slice.call(arguments,0);updateProfile(a.join(','));xU=
p.apply({},a)};var =
_persistDate=3DmonthsPersistent*30*24*60*60;if(location.search.length>0){=
updateProfile(unescape(location.search.substr(1)).split(';')[0].split('&'=
).join(',').replace(/mbxp/gi,'profile'))};=0D
------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/foresee/foresee-trigger.js

var FSR =3D {=0A=
    'version': '7.0.0',=0A=
    'date': '08/16/2011',=0A=
    'enabled': true,=0A=
	'auto': true,=0A=
    'encode': false,=0A=
    'files': '/foresee/',=0A=
    'id': 'R9RRtJoQ98EENQoRBJ0Mhg=3D=3D',=0A=
    'sites': [{=0A=
        path: 'dev.comcast.com',        =0A=
        domain: 'dev.comcast.com'=0A=
    }, {=0A=
        path: 'qa-4.comcast.com',=0A=
        domain: 'qa-4.comcast.com'=0A=
    }, {=0A=
        path: 'qa-1.comcast.com',=0A=
        domain: 'qa-1.comcast.com'=0A=
    }, {=0A=
        path: 'wcstg.comcast.com',=0A=
        domain: 'wcstg.comcast.com'=0A=
    }, {=0A=
        path: 'pdcstg.comcast.com',=0A=
        domain: 'pdcstg.comcast.com'=0A=
    }, {=0A=
        path: 'comcast.com',=0A=
        domain: 'comcast.com'=0A=
    }, {=0A=
        path: '.',=0A=
        domain: 'default'=0A=
    }]=0A=
};=0A=
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/=0A=
function fsr$setAlive(){var A=3Dnew =
Date().getTime();document.cookie=3D"fsr.a"+(FSR.site.cookie?"."+FSR.site.=
cookie:"")+"=3D"+A+";path=3D/"+((FSR.site.domain)?";domain=3D"+FSR.site.d=
omain+";":";")+(FSR.site.secure?"secure":"")=0A=
}(function(){if(window!=3Dwindow.top){return }function G(K){if(typeof =
K=3D=3D"object"){var J=3DK.constructor.toString().match(/array/i);=0A=
return(J!=3Dnull)}return false}var I=3DFSR.sites;for(var =
F=3D0,D=3DI.length;F<D;F++){var =
B;if(!G(I[F].path)){I[F].path=3D[I[F].path]=0A=
}for(var =
E=3D0,C=3DI[F].path.length;E<C;E++){if(B=3Ddocument.location.href.match(I=
[F].path[E])){FSR.siteid=3DF;=0A=
FSR.site=3DFSR.sites[FSR.siteid];if(!FSR.site.domain){FSR.site.domain=3DB=
[0]}else{if(FSR.site.domain=3D=3D"default"){FSR.site.domain=3Dfalse=0A=
}}if(!FSR.site.secure){FSR.site.secure=3Dfalse}if(!FSR.site.name){FSR.sit=
e.name=3DB[0]}var =
A=3D["files","js_files","image_files","html_files","css_files"];=0A=
for(var =
F=3D0,H=3DA.length;F<H;F++){if(FSR.site[A[F]]){FSR[A[F]]=3DFSR.site[A[F]]=
}}break}}if(B){break}}if(!window["fsr$timer"]){fsr$setAlive();=0A=
window["fsr$timer"]=3DsetInterval(fsr$setAlive,1000)}})();fsr$dbug=3D{log=
:function(){}};FSR.Native=3Dfunction(J){J=3DJ||{};=0A=
var F=3DJ.afterImplement||function(){};var =
G=3DJ.generics;G=3D(G!=3D=3Dfalse);var H=3DJ.legacy;var E=3DJ.initialize;=0A=
var B=3DJ.protect;var A=3DJ.name;var =
C=3DE||H;C.xconstructor=3DFSR.Native;C.fsr$family=3D{name:"native"};if(H&=
&E){C.prototype=3DH.prototype=0A=
}C.prototype.xconstructor=3DC;if(A){var =
D=3DA.toLowerCase();C.prototype.fsr$family=3D{name:D}}var =
I=3Dfunction(M,K,N,L){if(!B||L||!M.prototype[K]){M.prototype[K]=3DN=0A=
}if(G){FSR.Native.genericize(M,K,B)}F.call(M,K,N);return =
M};C.fsr$implement=3Dfunction(L,K,N){if(typeof L=3D=3D"string"){return =
I(this,L,K,N)=0A=
}for(var M in L){I(this,M,L[M],K)}return =
this};C.fsr$alias=3Dfunction(M,K,N){if(typeof =
M=3D=3D"string"){M=3Dthis.prototype[M];=0A=
if(M){I(this,K,M,N)}}else{for(var L in =
M){this.fsr$alias(L,M[L],K)}}return this};return =
C};FSR.Native.fsr$implement=3Dfunction(D,C){for(var B=3D0,A=3DD.length;=0A=
B<A;B++){D[B].fsr$implement(C)}};FSR.Native.genericize=3Dfunction(B,C,A){=
if((!A||!B[C])&&typeof =
B.prototype[C]=3D=3D"function"){B[C]=3Dfunction(){var =
D=3DArray.prototype.slice.call(arguments);=0A=
return =
B.prototype[C].apply(D.shift(),D)}}};FSR.Native.fsr$alias=3Dfunction(E,B,=
A,F){for(var D=3D0,C=3DE.length;=0A=
D<C;D++){E[D].fsr$alias(B,A,F)}};(function(B){for(var A in B){new =
FSR.Native({name:A,initialize:B[A],protect:true,generics:true})=0A=
}})({String:String,Function:Function,Number:Number,RegExp:RegExp,Date:Dat=
e});FSR.$chk=3Dfunction(A){return !!(A||A=3D=3D=3D0)=0A=
};FSR.$clear=3Dfunction(A){clearTimeout(A);clearInterval(A);return =
null};FSR.$defined=3Dfunction(A){return(A!=3Dundefined)=0A=
};FSR.$empty=3Dfunction(){};FSR.$arguments=3Dfunction(A){return =
function(){return arguments[A]}};FSR.$lambda=3Dfunction(A){return(typeof =
A=3D=3D"function")?A:function(){return A=0A=
}};FSR.$extend=3Dfunction(C,A){for(var B in (A||{})){C[B]=3DA[B]}return =
C};FSR.$unlink=3Dfunction(C){var B;=0A=
switch(FSR.$type(C)){case"object":B=3D{};for(var E in =
C){B[E]=3DFSR.$unlink(C[E])}break;case"hash":B=3DFSR.$unlink(C.getClean()=
);=0A=
break;case"array":B=3D[];for(var =
D=3D0,A=3DC.length;D<A;D++){B[D]=3DFSR.$unlink(C[D])}break;default:return=
 C=0A=
}return B};FSR.$merge=3Dfunction(){var E=3D{};for(var =
D=3D0,A=3Darguments.length;D<A;D++){var B=3Darguments[D];=0A=
if(FSR.$type(B)!=3D"object"){continue}for(var C in B){var =
G=3DB[C],F=3DE[C];E[C]=3D(F&&FSR.$type(G)=3D=3D"object"&&FSR.$type(F)=3D=3D=
"object")?FSR.$merge(F,G):FSR.$unlink(G)=0A=
}}return E};FSR.$pick=3Dfunction(){for(var =
B=3D0,A=3Darguments.length;B<A;B++){if(arguments[B]!=3Dundefined){return =
arguments[B]=0A=
}}return =
null};FSR.$random=3Dfunction(B,A){return(Math.random()*(A-B))+B};FSR.$spl=
at=3Dfunction(B){var A=3DFSR.$type(B);=0A=
return(A)?((A!=3D"array"&&A!=3D"arguments")?[B]:B):[]};FSR.$time=3DDate.n=
ow||function(){return new Date().getTime()=0A=
};FSR.$pause=3Dfunction(C){var B=3Dnew Date();var A=3Dnull;do{A=3Dnew =
Date()}while(A-B<C)};FSR.$try=3Dfunction(){for(var =
B=3D0,A=3Darguments.length;=0A=
B<A;B++){try{return arguments[B]()}catch(C){}}return =
null};FSR.$type=3Dfunction(A){if(A=3D=3Dundefined){return false=0A=
}if(A.fsr$family){return(A.fsr$family.name=3D=3D"number"&&!isFinite(A))?f=
alse:A.fsr$family.name}if(A.nodeName){switch(A.nodeType){case =
1:return"element";=0A=
case =
3:return(/\S/).test(A.nodeValue)?"textnode":"whitespace"}}else{if(typeof =
A.length=3D=3D"number"){if(A.callee){return"arguments"=0A=
}else{if(A.item){return"collection"}}}}if(FSR.isArray(A)){return"array"}r=
eturn typeof A};FSR.isArray=3Dfunction(B){if(typeof B=3D=3D"object"){var =
A=3DB.constructor.toString().match(/array/i);=0A=
return(A!=3Dnull)}return false};FSR.eval=3Dfunction(E,B){var =
C=3DE.split("."),D=3DB||window;for(var A;C.length&&(A=3DC.shift());=0A=
){if(D[A]||D[A]=3D=3D=3Dfalse){D=3DD[A]}else{return undefined}}return =
D};FSR.Hash=3Dnew =
FSR.Native({name:"Hash",initialize:function(A){if(FSR.$type(A)=3D=3D"hash=
"){A=3DFSR.$unlink(A.getClean())=0A=
}for(var B in A){this[B]=3DA[B]}return =
this}});FSR.Hash.fsr$implement({getLength:function(){var B=3D0;=0A=
for(var A in this){if(this.hasOwnProperty(A)){B++}}return =
B},forEach:function(B,C){for(var A in =
this){if(this.hasOwnProperty(A)){B.call(C,this[A],A,this)=0A=
}}},getClean:function(){var B=3D{};for(var A in =
this){if(this.hasOwnProperty(A)){B[A]=3Dthis[A]}}return B=0A=
},empty:function(){FSR.Hash.each(this,function(B,A){delete =
this[A]},this);return this}});FSR.Hash.fsr$alias("forEach","each");=0A=
FSR.$H=3Dfunction(A){return new =
FSR.Hash(A)};FSR.$each=3Dfunction(C,B,D){var =
A=3DFSR.$type(C);(A=3D=3D"arguments"||A=3D=3D"collection"||A=3D=3D"array"=
)?FSR.Array.each(C,B,D):FSR.Hash.each(C,B,D)=0A=
};FSR.Browser=3Dnew =
FSR.Hash({Type:{name:"unknown",version:""},Engine:{name:"unknown",version=
:""},Platform:{name:(navigator.platform.match(/mac|win32|linux/i)||["othe=
r"])[0].toLowerCase(),os:"unknown"},Features:{xpath:!!(document.evaluate)=
,air:!!(window.runtime)},Plugins:{},searchString:function(D){for(var =
A=3D0;=0A=
A<D.length;A++){var B=3DD[A].s;var =
C=3DD[A].p;this.versionSearchString=3DD[A].v||D[A].i;if(B){if(B.indexOf(D=
[A].b)!=3D-1){return D[A].i=0A=
}}else{if(C){return D[A].i}}}},searchVersion:function(B){var =
A=3DB.indexOf(this.versionSearchString);=0A=
if(A=3D=3D-1){return }return =
parseFloat(B.substring(A+this.versionSearchString.length+1))},dataBrowser=
:[{s:navigator.userAgent,b:"Chrome",i:"Chrome"},{s:navigator.vendor,b:"Ap=
ple",i:"Safari",v:"Version"},{p:window.opera,i:"Opera"},{s:navigator.user=
Agent,b:"Firefox",i:"Firefox"},{s:navigator.userAgent,b:"Netscape",i:"Net=
scape"},{s:navigator.userAgent,b:"MSIE",i:"Explorer",v:"MSIE"},{s:navigat=
or.userAgent,b:"Gecko",i:"Mozilla",v:"rv"}],dataOS:[{s:navigator.platform=
,b:"Win",i:"Windows"},{s:navigator.platform,b:"Mac",i:"Mac"},{s:navigator=
.platform,b:"Linux",i:"Linux"}]});=0A=
if(window.opera){FSR.Browser.Engine=3D{name:"presto",version:(document.ge=
tElementsByClassName)?950:925}=0A=
}else{if(window.ActiveXObject){FSR.Browser.Engine=3D{name:"trident",versi=
on:(window.XMLHttpRequest)?5:4}=0A=
}else{if(!navigator.taintEnabled){FSR.Browser.Engine=3D{name:"webkit",ver=
sion:(FSR.Browser.Features.xpath)?420:419}=0A=
}else{if(document.getBoxObjectFor!=3Dnull){FSR.Browser.Engine=3D{name:"ge=
cko",version:(document.getElementsByClassName)?19:18}=0A=
}}}}FSR.Browser.Engine[FSR.Browser.Engine.name]=3DFSR.Browser.Engine[FSR.=
Browser.Engine.name+FSR.Browser.Engine.version]=3Dtrue;=0A=
if(window.orientation!=3Dundefined){FSR.Browser.Platform.name=3D"ipod"}FS=
R.Browser.Platform[FSR.Browser.Platform.name]=3Dtrue;=0A=
FSR.Browser.Plugins.Flash=3D(function(){var =
A=3D(FSR.$try(function(){return navigator.plugins["Shockwave =
Flash"].description=0A=
},function(){return new =
ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")})|=
|"0 r0").match(/\d+/g);=0A=
return{version:parseInt(A[0]||0+"."+A[1]||0),build:parseInt(A[2]||0)}})()=
;FSR.Browser.Type.name=3DFSR.Browser.searchString(FSR.Browser.dataBrowser=
)||"unknown";=0A=
FSR.Browser.Type.version=3DFSR.Browser.searchVersion(navigator.userAgent)=
||FSR.Browser.searchVersion(navigator.appVersion)||"unknown";=0A=
FSR.Browser.Platform.os=3DFSR.Browser.searchString(FSR.Browser.dataOS)||"=
unknown";FSR.$exec=3Dfunction(B){if(!B){return B=0A=
}if(window.execScript){window.execScript(B)}else{var =
A=3Ddocument.createElement("script");A.setAttribute("type","text/javascri=
pt");=0A=
A.text=3DB;document.fsr$head.appendChild(A);document.fsr$head.removeChild=
(A)}return B};FSR.Native.UID=3D1;=0A=
FSR.$uid=3D(FSR.Browser.Engine.trident)?function(A){return(A.fsr$uid||(A.=
fsr$uid=3D[FSR.Native.UID++]))[0]=0A=
}:function(A){return =
A.fsr$uid||(A.fsr$uid=3DFSR.Native.UID++)};FSR.Window=3Dnew =
FSR.Native({name:"Window",initialize:function(A){FSR.$uid(A);=0A=
return =
FSR.$extend(A,FSR.Window.Prototype)},afterImplement:function(B,A){window[=
B]=3DA;FSR.Window.Prototype[B]=3DA=0A=
}});FSR.Window.Prototype=3D{fsr$family:{name:"window"}};new =
FSR.Window(window);FSR.Document=3Dnew =
FSR.Native({name:"Document",initialize:function(A){FSR.$uid(A);=0A=
A.fsr$head=3DA.getElementsByTagName("head")[0];A.fsr$html=3DA.getElements=
ByTagName("html")[0];A.fsr$window=3DA.defaultView||A.parentWindow;=0A=
if(FSR.Browser.Engine.trident4){FSR.$try(function(){A.execCommand("Backgr=
oundImageCache",false,true)=0A=
})}return =
FSR.$extend(A,FSR.Document.Prototype)},afterImplement:function(B,A){docum=
ent[B]=3DA;FSR.Document.Prototype[B]=3DA=0A=
}});FSR.Document.Prototype=3D{fsr$family:{name:"document"}};new =
FSR.Document(document);FSR.Array=3D{indexOf:function(B,D,E){var =
A=3DB.length;=0A=
for(var =
C=3D(E<0)?Math.max(0,A+E):E||0;C<A;C++){if(B[C]=3D=3D=3DD){return =
C}}return -1},map:function(B,E,F){var D=3D[];=0A=
for(var C=3D0,A=3DB.length;C<A;C++){D[C]=3DE.call(F,B[C],C,B)}return =
D},associate:function(A,D){var E=3D{},C=3DMath.min(A.length,D.length);=0A=
for(var B=3D0;B<C;B++){E[D[B]]=3DA[B]}return =
E},contains:function(A,B,C){return FSR.Array.indexOf(A,B,C)!=3D-1=0A=
},extend:function(A,D){for(var =
C=3D0,B=3DD.length;C<B;C++){A.push(D[C])}return =
A},include:function(A,B){if(!FSR.Array.contains(A,B)){A.push(B)=0A=
}return A},flatten:function(B){var E=3D[];for(var =
C=3D0,A=3DB.length;C<A;C++){var D=3DFSR.$type(B[C]);if(!D){continue=0A=
}E=3DE.concat((D=3D=3D"array"||D=3D=3D"collection"||D=3D=3D"arguments")?F=
SR.Array.flatten(B[C]):B[C])}return E},slice:function(){var =
A=3DArray.prototype.slice.call(arguments);=0A=
return =
Array.prototype.slice.apply(A.shift(),A)},forEach:function(B,D,E){for(var=
 C=3D0,A=3DB.length;C<A;=0A=
C++){D.call(E,B[C],C,B)}},each:function(B,D,E){for(var =
C=3D0,A=3DB.length;C<A;C++){D.call(E,B[C],C,B)=0A=
}},toJSON:function(A){return =
FSR.JSON.encode(A)}};FSR.$A=3Dfunction(C){if(C.item){var D=3D[];for(var =
B=3D0,A=3DC.length;=0A=
B<A;B++){D[B]=3DC[B]}return D}return =
Array.prototype.slice.call(C)};Function.fsr$implement({fsr$extend:functio=
n(A){for(var B in A){this[B]=3DA[B]=0A=
}return this},fsr$create:function(B){var A=3Dthis;B=3DB||{};return =
function(D){var =
C=3DB.arguments;C=3D(C!=3Dundefined)?FSR.$splat(C):FSR.Array.slice(argume=
nts,(B.event)?1:0);=0A=
if(B.event){C=3DFSR.Array([D||window.event],C)}var E=3Dfunction(){return =
A.apply(B.bind||null,C)};if(B.delay){return setTimeout(E,B.delay)=0A=
}if(B.periodical){return =
setInterval(E,B.periodical)}if(B.attempt){return FSR.$try(E)}return E()}=0A=
},fsr$pass:function(A,B){return =
this.fsr$create({arguments:A,bind:B})},fsr$attempt:function(A,B){return =
this.fsr$create({arguments:A,bind:B,attempt:true})()=0A=
},fsr$bind:function(B,A){return =
this.fsr$create({bind:B,arguments:A})},fsr$bindWithEvent:function(B,A){re=
turn this.fsr$create({bind:B,event:true,arguments:A})=0A=
},fsr$delay:function(B,C,A){return =
this.fsr$create({delay:B,bind:C,arguments:A})()},fsr$periodical:function(=
A,C,B){return this.fsr$create({periodical:A,bind:C,arguments:B})()=0A=
},fsr$run:function(A,B){return =
this.apply(B,FSR.$splat(A))}});Number.fsr$implement({fsr$toInt:function(A=
){return parseInt(this,A||10)=0A=
}});String.fsr$implement({fsr$test:function(A,B){return((typeof =
A=3D=3D"string")?new RegExp(A,B):A).test(this)=0A=
},fsr$contains:function(A,B){return(B)?(B+this+B).indexOf(B+A+B)>-1:this.=
indexOf(A)>-1},fsr$trim:function(){return this.replace(/^\s+|\s+$/g,"")=0A=
},fsr$clean:function(){return this.replace(/\s+/g," =
").fsr$trim()},fsr$camelCase:function(){return =
this.replace(/-\D/g,function(A){return A.charAt(1).toUpperCase()=0A=
})},fsr$hyphenate:function(){return =
this.replace(/[A-Z]/g,function(A){return("-"+A.charAt(0).toLowerCase())=0A=
})},fsr$capitalize:function(){return =
this.replace(/\b[a-z]/g,function(A){return A.toUpperCase()})=0A=
},fsr$escapeRegExp:function(){return =
this.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},fsr$toInt:function(A){re=
turn parseInt(this,A||10)=0A=
},fsr$stripScripts:function(B){var A=3D"";var =
C=3Dthis.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){A+=3Dar=
guments[1]+"\n";=0A=
return""});if(B=3D=3D=3Dtrue){FSR.$exec(A)}else{if(FSR.$type(B)=3D=3D"fun=
ction"){B(A,C)}}return C},fsr$substitute:function(A,B){return =
this.replace(B||(/\\?\{([^}]+)\}/g),function(D,C){if(D.charAt(0)=3D=3D"\\=
"){return D.slice(1)=0A=
}return(A[C]!=3Dundefined)?A[C]:""})}});FSR.Hash.fsr$implement({has:Objec=
t.prototype.hasOwnProperty,keyOf:function(B){for(var A in =
this){if(this.hasOwnProperty(A)&&this[A]=3D=3D=3DB){return A=0A=
}}return =
null},extend:function(A){FSR.Hash.each(A,function(C,B){FSR.Hash.set(this,=
B,C)},this);return this=0A=
},combine:function(A){FSR.Hash.each(A,function(C,B){FSR.Hash.include(this=
,B,C)},this);return this=0A=
},erase:function(A){if(this.hasOwnProperty(A)){delete this[A]}return =
this},get:function(A){return(this.hasOwnProperty(A))?this[A]:null=0A=
},set:function(A,B){if(!this[A]||this.hasOwnProperty(A)){this[A]=3DB}retu=
rn this},include:function(B,C){var A=3Dthis[B];=0A=
if(A=3D=3Dundefined){this[B]=3DC}return =
this},toQueryString:function(A){var =
B=3D[];FSR.Hash.each(this,function(F,E){if(A){E=3DA+"["+E+"]"=0A=
}var =
D;switch(FSR.$type(F)){case"object":D=3DFSR.Hash.toQueryString(F,E);break=
;case"array":var C=3D{};=0A=
FSR.Array.each(F,function(H,G){C[G]=3DH});D=3DFSR.Hash.toQueryString(C,E)=
;break;default:D=3DE+"=3D"+encodeURIComponent(F)=0A=
}if(F!=3Dundefined){B.push(D)}});return =
B.join("&")}});FSR.Hash.fsr$alias({keyOf:"indexOf",hasValue:"contains"});=0A=
FSR.Event=3Dnew =
FSR.Native({name:"Event",initialize:function(A,F){F=3DF||window;var =
K=3DF.document;A=3DA||F.event;=0A=
if(A.fsr$extended){return A}this.fsr$extended=3Dtrue;var J=3DA.type;var =
G=3DA.target||A.srcElement;while(G&&G.nodeType=3D=3D3){G=3DG.parentNode=0A=
}if(J.fsr$test(/key/)){var B=3DA.which||A.keyCode;var =
M=3DFSR.Event.Keys.keyOf(B);if(J=3D=3D"keydown"){var D=3DB-111;=0A=
if(D>0&&D<13){M=3D"f"+D}}M=3DM||String.fromCharCode(B).toLowerCase()}else=
{if(J.match(/(click|mouse|menu)/i)){K=3D(!K.compatMode||K.compatMode=3D=3D=
"CSS1Compat")?K.getElementsByTagName("html")[0]:K.body;=0A=
var =
I=3D{x:A.pageX||A.clientX+K.scrollLeft,y:A.pageY||A.clientY+K.scrollTop};=
var =
C=3D{x:(A.pageX)?A.pageX-F.pageXOffset:A.clientX,y:(A.pageY)?A.pageY-F.pa=
geYOffset:A.clientY};=0A=
if(J.match(/DOMMouseScroll|mousewheel/)){var =
H=3D(A.wheelDelta)?A.wheelDelta/120:-(A.detail||0)/3}var =
E=3D(A.which=3D=3D3)||(A.button=3D=3D2);=0A=
var =
L=3Dnull;if(J.match(/over|out/)){switch(J){case"mouseover":L=3DA.relatedT=
arget||A.fromElement;break;=0A=
case"mouseout":L=3DA.relatedTarget||A.toElement}if(!(function(){while(L&&=
L.nodeType=3D=3D3){L=3DL.parentNode=0A=
}return =
true}).fsr$create({attempt:FSR.Browser.Engine.gecko})()){L=3Dfalse}}}}ret=
urn =
FSR.$extend(this,{event:A,type:J,page:I,client:C,rightClick:E,wheel:H,rel=
atedTarget:L,target:G,code:B,key:M,shift:A.shiftKey,control:A.ctrlKey,alt=
:A.altKey,meta:A.metaKey})=0A=
}});FSR.Event.Keys=3Dnew =
FSR.Hash({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspa=
ce:8,tab:9,"delete":46});=0A=
FSR.Class=3Dnew =
FSR.Native({name:"Class",initialize:function(B){B=3DB||{};var =
A=3Dfunction(E){for(var D in this){this[D]=3DFSR.$unlink(this[D])=0A=
}for(var F in =
FSR.Class.Mutators){if(F=3D=3D"extend"){continue}if(!this[F]){continue}FS=
R.Class.Mutators[F](this,this[F]);=0A=
delete this[F]}this.constructor=3DA;if(E=3D=3D=3DFSR.$empty){return =
this}var =
C=3D(this.initialize)?this.initialize.apply(this,arguments):this;=0A=
if(this.options&&this.options.initialize){this.options.initialize.call(th=
is)}return C};FSR.$extend(A,this);=0A=
A.constructor=3DFSR.Class;A.prototype=3DB;return =
A}});FSR.Class.fsr$implement({fsr$implement:function(){FSR.Class.Mutators=
.Implements(this.prototype,FSR.Array.slice(arguments));=0A=
return =
this}});FSR.Class.Mutators=3D{Implements:function(A,B){FSR.Array.each(FSR=
.$splat(B),function(C){FSR.$extend(A,(FSR.$type(C)=3D=3D"class")?new =
C(FSR.$empty):C)=0A=
})},Extends:function(self,klass){var instance=3Dnew =
klass(FSR.$empty);delete instance.parent;delete instance.parentOf;=0A=
for(var key in instance){var =
current=3Dself[key],previous=3Dinstance[key];if(current=3D=3Dundefined){s=
elf[key]=3Dprevious;=0A=
continue}var =
ctype=3DFSR.$type(current),ptype=3DFSR.$type(previous);if(ctype!=3Dptype)=
{continue}switch(ctype){case"function":if(!arguments.callee.caller){self[=
key]=3DFSR.eval("("+String(current).replace(/\bthis\.parent\(\s*(\))?/g,f=
unction(full,close){return"arguments.callee._parent_.call(this"+(close||"=
, ")=0A=
})+")")}self[key]._parent_=3Dprevious;break;case"object":self[key]=3DFSR.=
$merge(previous,current)}}self.parent=3Dfunction(){return =
arguments.callee.caller._parent_.apply(this,arguments)=0A=
};self.parentOf=3Dfunction(descendant){return =
descendant._parent_.apply(this,FSR.Array.slice(arguments,1))=0A=
}}};FSR.Events=3Dnew =
FSR.Class({fsr$addEvent:function(C,B,A){C=3DFSR.Events.removeOn(C);if(B!=3D=
FSR.$empty){this.$events=3Dthis.$events||{};=0A=
this.$events[C]=3Dthis.$events[C]||[];FSR.Array.include(this.$events[C],B=
);if(A){B.internal=3Dtrue}}return this=0A=
},fsr$addEvents:function(A){for(var B in =
A){this.fsr$addEvent(B,A[B])}return =
this},fsr$fireEvent:function(C,B,A){C=3DFSR.Events.removeOn(C);=0A=
if(!this.$events||!this.$events[C]){return =
this}FSR.Array.each(this.$events[C],function(D){D.fsr$create({bind:this,d=
elay:A,"arguments":B})()=0A=
},this);return =
this},fsr$removeEvent:function(B,A){B=3DFSR.Events.removeOn(B);if(!this.$=
events||!this.$events[B]){return this=0A=
}if(!A.internal){this.$events[B].erase(A)}return =
this},fsr$removeEvents:function(C){for(var D in =
this.$events){if(C&&C!=3DD){continue=0A=
}var B=3Dthis.$events[D];for(var =
A=3DB.length;A--;A){this.fsr$removeEvent(D,B[A])}}return =
this}});FSR.Events.removeOn=3Dfunction(A){return =
A.replace(/^on([A-Z])/,function(B,C){return C.toLowerCase()=0A=
})};FSR.Options=3Dnew =
FSR.Class({setOptions:function(){this.options=3DFSR.$merge.fsr$run(FSR.Ar=
ray.extend([this.options],arguments));=0A=
if(!this.fsr$addEvent){return this}for(var A in =
this.options){if(FSR.$type(this.options[A])!=3D"function"||!(/^on[A-Z]/).=
test(A)){continue=0A=
}this.fsr$addEvent(A,this.options[A]);delete this.options[A]}return =
this}});(function(){var D;try{var A=3Ddocument.createElement("<input =
name=3Dx>");=0A=
D=3D(A.name=3D=3D"x")}catch(B){}var =
C=3Dfunction(E){return(""+E).replace(/&/g,"&amp;").replace(/"/g,"&quot;")=0A=
};FSR.Document.fsr$implement({fsr$newElement:function(E,F){if(F&&F.checke=
d!=3Dnull){F.defaultChecked=3DF.checked=0A=
}if(D&&F){E=3D"<"+E;if(F.name){E+=3D' =
name=3D"'+C(F.name)+'"'}if(F.type){E+=3D' =
type=3D"'+C(F.type)+'"'}E+=3D">";=0A=
delete F.name;delete F.type}return =
$fsr.element(this.createElement(E)).fsr$set(F)},fsr$newTextNode:function(=
E){return this.createTextNode(E)=0A=
},fsr$getDocument:function(){return =
this},fsr$getWindow:function(){return this.defaultView||this.parentWindow=0A=
},fsr$purge:function(){var G=3Dthis.getElementsByTagName("*");for(var =
F=3D0,E=3DG.length;F<E;F++){FSR.Browser.freeMem(G[F])=0A=
}for(var H in =
FSR.Document.Prototype){document[H]=3Dnull}document.fsr$uid=3Dnull;for(va=
r H in FSR.Window.Prototype){window[H]=3Dnull=0A=
}window.fsr$uid=3Dnull;document.fsr$head=3Dnull;document.fsr$html=3Dnull;=
document.fsr$window=3Dnull;FSR.Element.Storage=3Dnull=0A=
}})})();FSR.Element=3Dnew =
FSR.Native({name:"Element",initialize:function(A,B){var =
C=3DFSR.Element.Constructors.get(A);=0A=
if(C){return C(B)}if(typeof A=3D=3D"string"){return =
document.fsr$newElement(A,B)}return $fsr(A).fsr$set(B)=0A=
},afterImplement:function(A,B){if(!Array[A]){FSR.Elements.fsr$implement(A=
,FSR.Elements.fsr$multi(A))=0A=
}FSR.Element.Prototype[A]=3DB}});FSR.Element.Prototype=3D{fsr$family:{nam=
e:"element"}};FSR.Element.Constructors=3Dnew FSR.Hash;=0A=
FSR.Elements=3Dnew =
FSR.Native({initialize:function(F,B){B=3DFSR.$extend({ddup:true,cash:true=
},B);F=3DF||[];=0A=
if(B.ddup||B.cash){var G=3D{},E=3D[];for(var =
C=3D0,A=3DF.length;C<A;C++){var D=3D$fsr.element(F[C],!B.cash);=0A=
if(B.ddup){if(G[D.fsr$uid]){continue}G[D.fsr$uid]=3Dtrue}E.push(D)}F=3DE}=
return(B.cash)?FSR.$extend(F,this):F=0A=
}});FSR.Elements.fsr$implement({fsr$filter:function(A,B){if(!A){return =
this}return new FSR.Elements(FSR.Array.filter(this,(typeof =
A=3D=3D"string")?function(C){return C.match(A)=0A=
}:A,B))}});FSR.Elements.fsr$multi=3Dfunction(A){return function(){var =
B=3D[];var F=3Dtrue;for(var D=3D0,C=3Dthis.length;=0A=
D<C;D++){var =
E=3Dthis[D][A].apply(this[D],arguments);B.push(E);if(F){F=3D(FSR.$type(E)=
=3D=3D"element")}}return(F)?new FSR.Elements(B):B=0A=
}};FSR.Window.fsr$implement({$fsr:function(B,C){if(B&&B.fsr$family&&B.fsr=
$uid){return B}var A=3DFSR.$type(B);=0A=
return($fsr[A])?$fsr[A](B,C,this.document):null},$$fsr:function(A){if(arg=
uments.length=3D=3D1&&typeof A=3D=3D"string"){return =
this.document.fsr$getElements(A)=0A=
}var F=3D[];var C=3DFSR.Array.flatten(arguments);for(var =
D=3D0,B=3DC.length;D<B;D++){var =
E=3DC[D];switch(FSR.$type(E)){case"element":E=3D[E];=0A=
break;case"string":E=3Dthis.document.fsr$getElements(E,true);break;defaul=
t:E=3Dfalse}if(E){FSR.Array.extend(F,E)=0A=
}}return new FSR.Elements(F)},fsr$getDocument:function(){return =
this.document},fsr$getWindow:function(){return this=0A=
}});$fsr.string=3Dfunction(C,B,A){C=3DA.getElementById(C);return(C)?$fsr.=
element(C,B):null};$fsr.element=3Dfunction(A,D){FSR.$uid(A);=0A=
if(!D&&!A.fsr$family&&!(/^object|embed$/i).test(A.tagName)){var =
B=3DFSR.Element.Prototype;for(var C in B){A[C]=3DB[C]=0A=
}}return A};$fsr.object=3Dfunction(B,C,A){if(B.toElement){return =
$fsr.element(B.toElement(A),C)}return null=0A=
};$fsr.textnode=3D$fsr.whitespace=3D$fsr.window=3D$fsr.document=3DFSR.$ar=
guments(0);FSR.Native.fsr$implement([FSR.Element,FSR.Document],{fsr$getEl=
ement:function(A,B){return $fsr(this.fsr$getElements(A,true)[0]||null,B)=0A=
},fsr$getElements:function(A,D){A=3DA.split(",");var C=3D[];var =
B=3D(A.length>1);FSR.Array.each(A,function(E){var =
F=3Dthis.getElementsByTagName(E.fsr$trim());=0A=
(B)?FSR.Array.extend(C,F):C=3DF},this);return new =
FSR.Elements(C,{ddup:B,cash:!D})}});FSR.Element.Storage=3D{get:function(A=
){return(this[A]||(this[A]=3D{}))=0A=
}};FSR.Element.Inserters=3Dnew =
FSR.Hash({after:function(B,A){if(!A.parentNode){return }var =
C=3DA.nextSibling;=0A=
(C)?A.parentNode.insertBefore(B,C):A.parentNode.appendChild(B)},bottom:fu=
nction(B,A){A.appendChild(B)=0A=
},top:function(B,A){var =
C=3DA.firstChild;(C)?A.insertBefore(B,C):A.appendChild(B)}});FSR.Element.=
Inserters.inside=3DFSR.Element.Inserters.bottom;=0A=
FSR.Element.fsr$implement({fsr$getDocument:function(){return =
this.ownerDocument},fsr$getWindow:function(){return =
this.ownerDocument.fsr$getWindow()=0A=
},fsr$set:function(D,B){switch(FSR.$type(D)){case"object":for(var C in =
D){this.fsr$set(C,D[C])}break;=0A=
case"string":var =
A=3DFSR.Element.Properties.get(D);if(A&&A.set){A.set.apply(this,FSR.Array=
.slice(arguments,1))=0A=
}else{this.fsr$setProperty(D,B)}}return =
this},fsr$inject:function(B,A){FSR.Element.Inserters.get(A||"bottom")(thi=
s,$fsr(B,true));=0A=
return =
this},fsr$dispose:function(){return(this.parentNode)?this.parentNode.remo=
veChild(this):this=0A=
},fsr$setProperty:function(D,E){var =
C=3DFSR.Element.Attributes,B=3DC.Props[D],A=3DFSR.$defined(E);if(B&&C.Boo=
ls[D]){E=3D(E||!A)?true:false=0A=
}else{if(!A){return =
this.removeProperty(D)}}(B)?this[B]=3DE:this.setAttribute(D,E);return =
this},fsr$setProperties:function(A){for(var B in =
A){this.fsr$setProperty(B,A[B])=0A=
}return this}});FSR.Element.Properties=3Dnew =
FSR.Hash;FSR.Element.Properties.html=3D{set:function(){return =
this.innerHTML=3DFSR.Array.flatten(arguments).join("")=0A=
}};FSR.Native.fsr$implement([FSR.Element,FSR.Window,FSR.Document],{fsr$ad=
dListener:function(B,A){if(this.addEventListener){this.addEventListener(B=
,A,false)=0A=
}else{this.attachEvent("on"+B,A)}return =
this},fsr$removeListener:function(B,A){if(this.removeEventListener){this.=
removeEventListener(B,A,false)=0A=
}else{this.detachEvent("on"+B,A)}return =
this},fsr$retrieve:function(B,A){var =
D=3DFSR.Element.Storage.get(this.fsr$uid);=0A=
var C=3DD[B];if(FSR.$defined(A)&&!FSR.$defined(C)){C=3DD[B]=3DA}return =
FSR.$pick(C)},fsr$store:function(B,A){var =
C=3DFSR.Element.Storage.get(this.fsr$uid);=0A=
C[B]=3DA;return this},fsr$eliminate:function(A){var =
B=3DFSR.Element.Storage.get(this.fsr$uid);delete B[A];=0A=
return this}});FSR.Element.Attributes=3Dnew =
FSR.Hash({Props:{html:"innerHTML","class":"className","for":"htmlFor",tex=
t:(FSR.Browser.Engine.trident)?"innerText":"textContent"},Bools:["compact=
","nowrap","ismap","declare","noshade","checked","disabled","readonly","m=
ultiple","selected","noresize","defer"],Camels:["value","accessKey","cell=
Padding","cellSpacing","colSpan","frameBorder","maxLength","readOnly","ro=
wSpan","tabIndex","useMap"]});=0A=
FSR.Browser.freeMem=3Dfunction(A){if(!A){return =
}if(FSR.Browser.Engine.trident&&(/object/i).test(A.tagName)){for(var B =
in A){if(typeof A[B]=3D=3D"function"){A[B]=3DFSR.$empty=0A=
}}FSR.Element.fsr$dispose(A)}if(A.fsr$uid&&A.fsr$removeEvents){A.fsr$remo=
veEvents()}if(A.fsr$uid){A.fsr$uid=3Dnull=0A=
}};(function(A){var =
C=3DA.Bools,B=3DA.Camels;A.Bools=3DC=3DFSR.Array.associate(C,C);FSR.Hash.=
extend(FSR.Hash.combine(A.Props,C),FSR.Array.associate(B,FSR.Array.map(B,=
function(D){return D.toLowerCase()=0A=
})));A.erase("Camels")})(FSR.Element.Attributes);window.fsr$addListener("=
unload",function(){window.fsr$removeListener("unload",arguments.callee);=0A=
window.fsr$fireEvent("unload");document.fsr$purge();if(window.CollectGarb=
age){CollectGarbage()}});=0A=
FSR.Element.Properties.events=3D{set:function(A){this.fsr$addEvents(A)}};=
FSR.Native.fsr$implement([FSR.Element,FSR.Window,FSR.Document],{fsr$addEv=
ent:function(E,G){var H=3Dthis.fsr$retrieve("events",{});=0A=
H[E]=3DH[E]||{keys:[],values:[]};if(FSR.Array.contains(H[E].keys,G)){retu=
rn this}H[E].keys.push(G);=0A=
var =
F=3DE,A=3DFSR.Element.Events.get(E),C=3DG,I=3Dthis;if(A){if(A.onAdd){A.on=
Add.call(this,G)}if(A.condition){C=3Dfunction(J){if(A.condition.call(this=
,J)){return G.call(this,J)=0A=
}return false}}F=3DA.base||F}var D=3Dfunction(){return G.call(I)};var =
B=3DFSR.Element.NativeEvents[F]||0;=0A=
if(B){if(B=3D=3D2){D=3Dfunction(J){J=3Dnew =
FSR.Event(J,I.fsr$getWindow());if(C.call(I,J)=3D=3D=3Dfalse){J.stop()=0A=
}}}if(F!=3D"unload"){this.fsr$addListener(F,D)}}H[E].values.push(D);retur=
n this},fsr$removeEvent:function(D,C){var =
B=3Dthis.fsr$retrieve("events");=0A=
if(!B||!B[D]){return this}var =
G=3DFSR.Array.indexOf(B[D].keys,C);if(G=3D=3D-1){return this}var =
A=3DB[D].keys.splice(G,1)[0];=0A=
var F=3DB[D].values.splice(G,1)[0];var =
E=3DFSR.Element.Events.get(D);if(E){if(E.onRemove){E.onRemove.call(this,C=
)=0A=
}D=3DE.base||D}return(FSR.Element.NativeEvents[D])?this.fsr$removeListene=
r(D,F):this},fsr$addEvents:function(A){for(var B in =
A){if(A.hasOwnProperty(B)){this.fsr$addEvent(B,A[B])=0A=
}}return this},fsr$removeEvents:function(B){var =
A=3Dthis.fsr$retrieve("events");if(!A){return this}if(!B){for(var C in =
A){if(A.hasOwnProperty(C)){this.fsr$removeEvents(C)=0A=
}}A=3Dnull}else{if(A[B]){while(A[B].keys[0]){this.fsr$removeEvent(B,A[B].=
keys[0])}A[B]=3Dnull}}return this=0A=
},fsr$fireEvent:function(D,B,A){var =
C=3Dthis.fsr$retrieve("events");if(!C||!C[D]){return =
this}FSR.Array.each(C[D].keys,function(E){E.fsr$create({bind:this,delay:A=
,"arguments":B})()=0A=
},this);return =
this}});FSR.Element.NativeEvents=3D{click:2,dblclick:2,mouseup:2,mousedow=
n:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mo=
usemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,focus:2,=
blur:2,change:2,reset:2,select:2,submit:2,load:1,unload:1,beforeunload:2,=
resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scr=
oll:1};=0A=
(function(){FSR.$check=3Dfunction(A){var =
B=3DA.relatedTarget;if(B=3D=3Dundefined){return =
true}if(B=3D=3D=3Dfalse){return false=0A=
}return(FSR.$type(this)!=3D"document"&&B!=3Dthis&&B.prefix!=3D"xul"&&!thi=
s.fsr$hasChild(B))};FSR.Element.Events=3Dnew =
FSR.Hash({mouseenter:{base:"mouseover",condition:FSR.$check},mouseleave:{=
base:"mouseout",condition:FSR.$check},mousewheel:{base:(FSR.Browser.Engin=
e.gecko)?"DOMMouseScroll":"mousewheel"}})=0A=
})();FSR.Element.fsr$implement({fsr$hasChild:function(A){A=3D$fsr(A,true)=
;return(!!A&&FSR.Array.contains(FSR.$A(this.getElementsByTagName(A.tagNam=
e)),A))=0A=
}});(function(){FSR.Native.fsr$implement([FSR.Document,FSR.Window],{fsr$g=
etSize:function(){var C=3Dthis.fsr$getWindow();=0A=
if(FSR.Browser.Engine.presto||FSR.Browser.Engine.webkit){return{x:C.inner=
Width,y:C.innerHeight}}var B=3DA(this);=0A=
return{x:B.clientWidth,y:B.clientHeight}},fsr$getScroll:function(){var =
C=3Dthis.fsr$getWindow();var B=3DA(this);=0A=
return{x:C.pageXOffset||B.scrollLeft,y:C.pageYOffset||B.scrollTop}},fsr$g=
etScrollSize:function(){var C=3DA(this);=0A=
var =
B=3Dthis.fsr$getSize();return{x:Math.max(C.scrollWidth,B.x),y:Math.max(C.=
scrollHeight,B.y)}}});=0A=
function A(B){var =
C=3DB.fsr$getDocument();return(!C.compatMode||C.compatMode=3D=3D"CSS1Comp=
at")?C.getElementsByTagName("html")[0]:C.body=0A=
}})();FSR.Element.Events.domready=3D{onAdd:function(A){if(FSR.Browser.loa=
ded){A.call(this)}}};(function(){var =
A=3Dfunction(){if(FSR.Browser.loaded){return =0A=
}FSR.Browser.loaded=3Dtrue;window.fsr$fireEvent("domready");document.fsr$=
fireEvent("domready")};switch(FSR.Browser.Engine.name){case"webkit":(func=
tion(){(FSR.Array.contains(["loaded","complete"],document.readyState))?A(=
):arguments.callee.fsr$delay(50)=0A=
})();break;case"trident":var =
B=3Ddocument.createElement("div");(function(){(FSR.$try(function(){B.doSc=
roll("left");=0A=
return =
$fsr(B).fsr$inject(document.body).fsr$set("html","temp").fsr$dispose()}))=
?A():arguments.callee.fsr$delay(50)=0A=
})();break;default:window.fsr$addEvent("load",A);document.fsr$addEvent("D=
OMContentLoaded",A)}})();=0A=
FSR.JSON=3Dnew =
FSR.Hash({encode:function(B){switch(FSR.$type(B)){case"string":return'"'+=
B.replace(/[\x00-\x1f\\"\\;]/g,FSR.JSON.$replaceChars)+'"';=0A=
case"array":return"["+String(FSR.Array.map(B,FSR.JSON.encode).fsr$filter(=
FSR.$defined))+"]";case"object":case"hash":var A=3D[];=0A=
FSR.Hash.each(B,function(E,D){var =
C=3DFSR.JSON.encode(E);if(C){A.push(FSR.JSON.encode(D)+":"+C)}});=0A=
return"{"+A+"}";case"number":case"boolean":return String(B);case =
false:return"null"}return =
null},$specialChars:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\=
r",'"':'\\"',"\\":"\\\\"},$replaceChars:function(A){return =
FSR.JSON.$specialChars[A]||"\\u00"+Math.floor(A.charCodeAt()/16).toString=
(16)+(A.charCodeAt()%16).toString(16)=0A=
},decode:function(string,secure){if(FSR.$type(string)!=3D"string"||!strin=
g.length){return null}if(secure&&!(/^[,:{}\[\]0-9.\-+Eaeflnr-u =
\n\r\t]*$/).test(string.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,""))=
){return null=0A=
}return =
eval("("+string+")")}});FSR.Native.fsr$implement([FSR.Hash,Number],{fsr$t=
oJSON:function(){return FSR.JSON.encode(this)=0A=
}});FSR.Cookie=3Dnew =
FSR.Class({Implements:FSR.Options,options:{path:false,domain:false,durati=
on:false,secure:false,document:document},initialize:function(B,A){this.ke=
y=3DB;=0A=
this.setOptions(A)},write:function(B){if(FSR.encode){B=3DencodeURICompone=
nt(B)}if(this.options.domain){B+=3D"; domain=3D"+this.options.domain=0A=
}if(this.options.path){B+=3D"; =
path=3D"+this.options.path}if(this.options.duration){var A=3Dnew Date();=0A=
A.setTime(A.getTime()+this.options.duration*24*60*60*1000);B+=3D"; =
expires=3D"+A.toGMTString()}if(this.options.secure){B+=3D"; secure"=0A=
}this.options.document.cookie=3Dthis.key+"=3D"+B;return =
this},read:function(){var =
A=3Dthis.options.document.cookie.match("(?:^|;)\\s*"+this.key.fsr$escapeR=
egExp()+"=3D([^;]*)");=0A=
var =
B=3D(A)?A[1]:null;if(FSR.encode){B=3D(B)?decodeURIComponent(B):null}retur=
n B},dispose:function(){new =
FSR.Cookie(this.key,FSR.$merge(this.options,{duration:-1})).write("");=0A=
return this}});FSR.Cookie.write=3Dfunction(B,C,A){return new =
FSR.Cookie(B,A).write(C)};FSR.Cookie.read=3Dfunction(A){return new =
FSR.Cookie(A).read()=0A=
};FSR.Cookie.dispose=3Dfunction(B,A){return new =
FSR.Cookie(B,A).dispose()};FSR.Hash.Cookie=3Dnew =
FSR.Class({Extends:FSR.Cookie,options:{autoSave:true},initialize:function=
(B,A){this.parent(B,A);=0A=
this.load()},save:function(){var =
A=3DFSR.JSON.encode(this.hash);if(!A||A.length>4096){return =
false}if(A=3D=3D"{}"){this.dispose()=0A=
}else{this.write(A)}return true},load:function(){this.hash=3Dnew =
FSR.Hash(FSR.JSON.decode(this.read(),true));=0A=
return this}});FSR.Hash.Cookie.fsr$implement({get:function(A){return =
this.hash.get(A)},set:function(A,B){this.hash.set(A,B);=0A=
this.save();return =
this},erase:function(A){this.hash.erase(A);this.save();return =
this},empty:function(){this.hash.empty();=0A=
this.save();return this}});FSR.Asset=3Dnew FSR.Hash({src:function(A){var =
B=3DA;if(A.substring(0,2)=3D=3D"//"){B=3Ddocument.location.protocol+B=0A=
}return =
B},javascript:function(F,D){D=3DFSR.$extend({onload:FSR.$empty,document:d=
ocument,check:FSR.$lambda(true)},D);=0A=
var B=3Dnew =
FSR.Element("script",{src:FSR.Asset.src(F),type:"text/javascript"});var =
E=3DD.onload.fsr$bind(B),A=3DD.check,G=3DD.document;=0A=
delete D.onload;delete D.check;delete =
D.document;B.fsr$addEvents({load:function(){if(this.loaded){return =0A=
}this.loaded=3D1;E()},readystatechange:function(){if(FSR.Browser.Engine.t=
rident&&FSR.Array.contains(["loaded","complete"],this.readyState)){if(thi=
s.loaded){return =0A=
}this.loaded=3D1;E()}}}).fsr$setProperties(D);if(FSR.Browser.Engine.webki=
t419){var C=3D(function(){if(!FSR.$try(A)){return =0A=
}FSR.$clear(C);E()}).fsr$periodical(50)}return =
B.fsr$inject(document.getElementsByTagName("head")[0])=0A=
},image:function(C,B){B=3DFSR.$merge({onload:FSR.$empty,onabort:FSR.$empt=
y,onerror:FSR.$empty},B);var D=3Dnew Image();=0A=
var A=3D$fsr(D)||new =
FSR.Element("img");FSR.Array.each(["load","abort","error"],function(E){va=
r F=3D"on"+E;=0A=
var G=3DB[F];delete B[F];D[F]=3Dfunction(){if(!D){return =
}if(!A.parentNode){A.width=3DD.width;A.height=3DD.height=0A=
}D=3DD.onload=3DD.onabort=3DD.onerror=3Dnull;G.fsr$delay(1,A,A);A.fsr$fir=
eEvent(E,A,1)}});D.src=3DFSR.Asset.src(C);=0A=
if(A.src!=3DD.src){A.src=3DD.src}if(D&&D.complete){D.onload.fsr$delay(1)}=
return A.fsr$setProperties(B)=0A=
},css:function(B,A){return new =
FSR.Element("link",FSR.$merge({rel:"stylesheet",media:"screen",type:"text=
/css",href:FSR.Asset.src(B)},A)).fsr$inject(document.getElementsByTagName=
("head")[0])=0A=
}});FSR.Browser.set("Popup",new =
FSR.Class({Implements:[FSR.Options,FSR.Events],options:{width:500,height:=
300,x:50,y:50,toolbar:0,location:0,directories:0,status:0,scrollbars:"aut=
o",resizable:1,name:"popup",blur:false,menubar:1},initialize:function(B,A=
){this.url=3DB||false;=0A=
this.setOptions(A);if(this.url){this.openWin()}},openWin:function(B){B=3D=
B||this.url;var =
A=3D"toolbar=3D"+this.options.toolbar+",location=3D"+this.options.locatio=
n+",directories=3D"+this.options.directories+",status=3D"+this.options.st=
atus+",scrollbars=3D"+this.options.scrollbars+",resizable=3D"+this.option=
s.resizable+",width=3D"+this.options.width+",height=3D"+this.options.heig=
ht+",top=3D"+this.options.y+",left=3D"+this.options.x+",menubar=3D"+this.=
options.menubar;=0A=
this.window=3Dwindow.open(B,this.options.name,A);if(!this.window){this.wi=
ndow=3Dwindow.open("",this.options.name,A);=0A=
this.window.location.href=3DB}if(!this.options.blur){this.focus.fsr$delay=
(100,this)}else{this.window.blur()=0A=
}return =
this},focus:function(){if(this.window){this.window.focus()}else{if(this.f=
ocusTries<10){this.focus.delay(100,this)=0A=
}else{this.blocked=3Dtrue;this.fsr$fireEvent("onBlock")}}return =
this},focusTries:0,blocked:null,close:function(){this.window.close();=0A=
return this}}));FSR.RemoteEvent=3Dnew =
FSR.Class({Implements:[FSR.Events,FSR.Options],options:{host:"",path:"",u=
rl:""},initialize:function(B,A){this.setOptions(A);=0A=
this.event=3DB;this.ver=3D0},onStateChange:function(A){if(!this.running){=
return }this.running=3Dfalse;this.status=3D0;=0A=
FSR.$try(function(){this.status=3DA}.fsr$bind(this));if(this.isSuccess())=
{this.success()}else{this.failure()=0A=
}},isSuccess:function(){return(this.status=3D=3D1)},success:function(){th=
is.onSuccess()},onSuccess:function(){this.fsr$fireEvent("success")=0A=
},failure:function(){this.onFailure()},onFailure:function(){if(this.ver<3=
){this._send()}else{this.fsr$fireEvent("failure")=0A=
}},send:function(A){this.values=3DA;this._send()},_send:function(){this.r=
unning=3Dtrue;this.ver=3Dthis.ver+1;=0A=
var A=3Dthis;var C=3DFSR.Hash.toQueryString(this.values);var =
B=3Ddocument.location.protocol+"//"+this.options.host+this.options.path+t=
his.options.url+"?event=3D"+this.event+"&"+C+"&uid=3D"+FSR.$time()+"&ver=3D=
"+this.ver;=0A=
new =
FSR.Asset.image(B,{onload:function(D){A.onStateChange(1)},onerror:functio=
n(){A.onStateChange(0)=0A=
},onabort:function(){A.onStateChange(0)}});return this}});FSR.CPPS=3Dnew =
FSR.Hash({set:function(B,C,D){var D=3D(D||FSR.c());=0A=
var A=3DD.get("cp")||{};A[B]=3DC;D.set("cp",A)},get:function(B,C){var =
C=3D(C||FSR.c());var A=3DC.get("cp")||{};=0A=
return A[B]},erase:function(B,C){var C=3D(C||FSR.c());var =
A=3DC.get("cp")||{};delete A[B];C.set("cp",A)=0A=
},append:function(B,C,D){var D=3D(D||FSR.c());var =
A=3DD.get("cp")||{};A[B]=3DA[B]?A[B]+","+C:C;D.set("cp",A)=0A=
},toQueryString:function(M){var M=3D(M||FSR.c());var K=3DM.get("sd");var =
J=3DFSR.$defined(K)?FSR.surveydefs[K]:FSR.sd;=0A=
var F=3DM.get("browser");var A=3D{browser:FSR.Browser.Type.name+" =
"+FSR.Browser.Type.version,os:FSR.Browser.Platform.os,pv:M.get("pv"),url:=
M.get("c")||"",ref_url:M.get("ru")||"",locale:M.get("l")||"",site:FSR.sit=
e.name||"",section:J.section||"",referrer:M.get("r")||"",terms:M.get("st"=
)||"",sessionid:M.get("rid")||"",replay_id:M.get("mid")||"",flash:FSR.Bro=
wser.Plugins.Flash.version};=0A=
if(FSR.$P().analytics.google){var =
H=3DFSR.Cookie.read("__utma",{path:"/",domain:FSR.site.domain||false});=0A=
var =
E=3DFSR.Cookie.read("__utmz",{path:"/",domain:FSR.site.domain||false});if=
(H&&H!=3D""){var C=3DH.split(".");=0A=
A.first=3DC[2];A.last=3DC[3];A.current=3DC[4];A.visits=3DC[5]}if(E&&E!=3D=
""){var B;if(B=3DE.match(/utmgclid=3D([^\|]*)/)){A.source=3D"Google";=0A=
A.campaign=3D"Google =
Adwords";A.medium=3D"cpc"}else{if(B=3DE.match(/utmcsr=3D([^\|]*)/)){A.sou=
rce=3DB[1]}if(B=3DE.match(/utmccn=3D([^\|]*)/)){A.campaign=3DB[1]=0A=
}if(B=3DE.match(/utmcmd=3D([^\|]*)/)){A.medium=3DB[1]}}if(B=3DE.match(/ut=
mctr=3D([^\|]*)/)){A.keyword=3DB[1]}}}var G=3DM.get("cp")||{};=0A=
var D=3Dnew FSR.Hash(G);var I=3DA||{};for(k in I){D.set(k,I[k])}var =
L=3DD.toQueryString("cpp");return L=0A=
}});FSR.Service=3Dnew =
FSR.Class({Implements:[FSR.Events,FSR.Options],options:{},initialize:func=
tion(A){this.setOptions(A)=0A=
},onStateChange:function(A){if(!this.running){return =
}this.running=3Dfalse;this.status=3D0;FSR.$try(function(){this.status=3DA=0A=
}.fsr$bind(this));if(this.status=3D=3D1){this.success()}else{if(this.stat=
us=3D=3D0){this.failure()}else{if(this.status=3D=3D-1){this.error()=0A=
}}}},success:function(){this.onSuccess()},onSuccess:function(){this.fsr$f=
ireEvent("complete").fsr$fireEvent("success")=0A=
},failure:function(){this.onFailure()},onFailure:function(){this.fsr$fire=
Event("complete").fsr$fireEvent("failure")=0A=
},error:function(){this.onError()},onError:function(){this.fsr$fireEvent(=
"complete").fsr$fireEvent("error")=0A=
},ping:function(){this.running=3Dtrue;var B=3Dthis;var =
D=3Dthis.options.params||{};D.protocol=3Ddocument.location.protocol;=0A=
D.uid=3DFSR.$time();var A=3DFSR.Hash.toQueryString(D);var =
C=3Ddocument.location.protocol+"//"+this.options.host+this.options.path+t=
his.options.url+"?"+A;=0A=
new =
FSR.Asset.image(C,{onload:function(E){if(E.width=3D=3DB.options.success){=
B.onStateChange(1)}else{B.onStateChange(0)=0A=
}},onerror:function(){B.onStateChange(-1)},onabort:function(){B.onStateCh=
ange(0)}});return this},cancel:function(){if(!this.running){return this=0A=
}this.running=3Dfalse;this.fsr$fireEvent("cancel");return =
this}});FSR.RR=3Dnew FSR.Hash({hasRR:function(){if(typeof =
robotreplay!=3D"undefined"){return true=0A=
}return false},setOKTransmit:function(){if(this.hasRR()){var =
A=3Drobotreplay.Session.rr_group_session_id;=0A=
robotreplay.Log.setOKTransmit();FSR.c().set("mid",A)}},recordEvent:functi=
on(A,B){if(this.hasRR()){robotreplay.Log.push(A,B)=0A=
}},cancelRecord:function(){if(this.hasRR()){robotreplay.Log.cancelRecord(=
)}},getPosition:function(A){if(this.hasRR()){return =
robotreplay.Dom.getAbsoluteCoords(document.getElementById(A))=0A=
}else{return{position:false}}}});FSR.services=3D{survey:{host:"survey.for=
eseeresults.com",path:"/survey",url:"/display"},check:{host:"controller2.=
foreseeresults.com",path:"/fsrSurvey",url:"/OTCImg",success:3},event:{hos=
t:"events.foreseeresults.com",path:"/rec",url:"/process"},domain:{host:"s=
urvey.foreseeresults.com",path:"/survey",url:"/FSRImg",success:3}};=0A=
FSR.UnsupportedBrowsers=3D{Explorer:5.5,Safari:2,Firefox:1.4};FSR.Support=
edPlatforms=3D{win32:true,mac:true,linux:true,iphone:false,blackberry:fal=
se,wince:false,other:false};=0A=
FSR.$P=3Dfunction(){return FSR.properties};FSR.c=3Dfunction(){return new =
FSR.Hash.Cookie(FSR.cookieName("fsr.s"),{path:"/",domain:FSR.site.domain|=
|false,secure:FSR.site.secure||false})=0A=
};FSR.cookieName=3Dfunction(A){return =
A+(FSR.site.cookie?"."+FSR.site.cookie:"")};FSR.log=3Dfunction(D,C){if(!F=
SR.$P().events.enabled){return =0A=
}var E=3DFSR.c();var A=3DE.get("sd");var =
B=3DFSR.$defined(A)?FSR.surveydefs[A]:FSR.sd;new =
FSR.RemoteEvent("logit",{host:FSR.services.event.host,path:FSR.services.e=
vent.path,url:FSR.services.event.url}).send({cid:FSR.id,rid:E.get("rid")|=
|"",cat:B.name,sec:B.section||"",type:E.get("q")||"",site:FSR.site.name||=
"",lang:E.get("l")||FSR.$S.locale||"",msg:D,param:C,tms:new =
Date().getTime(),tmz:new Date().getTimezoneOffset()*60000})=0A=
};FSR.popNow=3Dfunction(A){FSR.pop(A,"now")};FSR.popLater=3Dfunction(A){F=
SR.pop(A,"later")};FSR.popImmediate=3Dfunction(){FSR.pop(100,"now")=0A=
};FSR.popFeedback=3Dfunction(){FSR.controller.execute(FSR.controller.popF=
eedback)};FSR.run=3Dfunction(){FSR.controller.execute(FSR.controller.run)=0A=
};FSR.pop=3Dfunction(C,A,B){FSR.controller.execute(FSR.controller.popAtta=
ch,{sp:C,when:A,qualifier:B,invite:false})=0A=
};FSR.invite=3Dfunction(C,A,B){FSR.controller.execute(FSR.controller.popA=
ttach,{sp:C,when:A,qualifier:B,invite:true})=0A=
};FSR.close=3Dfunction(){FSR.controller.cancelTracker()};var =
ForeSee=3D{CPPS:{fsr$set:function(A,B){FSR.CPPS.set(A,B)=0A=
}}};FSR.generateid=3Dfunction(){var A=3D"";A=3D((new =
Date())-0)+"_"+Math.round(Math.random()*1000000);return A=0A=
};FSR.$S=3D{};FSR.$M=3D{load:0,run:0};var fsr$ls=3Dnew =
Date().getTime();FSR.accepted=3Dfunction(A){FSR.language(A);=0A=
FSR.controller.accepted();FSR.idhtml.hide()};FSR.declined=3Dfunction(A){F=
SR.language(A);FSR.controller.declined();=0A=
FSR.idhtml.hide()};FSR.qualified=3Dfunction(){FSR.controller.qualified();=
FSR.idhtml.hide()};FSR.override=3Dfunction(A){FSR.controller.override(A)=0A=
};FSR.language=3Dfunction(A){if(!A){return =
}FSR.$S.locale=3DA;FSR.c().set("l",A)};FSR.qualify=3Dfunction(A){FSR.$S.c=
anceled=3Dfalse;=0A=
if(A){FSR.$S.qid=3DA;FSR.c().set("q",A)}};FSR.cancel=3Dfunction(){FSR.$S.=
canceled=3Dtrue};FSR.$S.canceled=3Dfalse;=0A=
FSR.SurveyController=3Dnew =
FSR.Class({Implements:FSR.Options,options:{},initialize:function(A){this.=
setOptions(A);=0A=
this.queue=3Dnew =
Array();FSR.controller=3Dthis},load:function(){if(!FSR.auto){return =
}this.execute(this.run,true)=0A=
},execute:function(D,E){if(!FSR.enabled){return =
}if(window!=3Dwindow.top){return }var B=3Dthis;if(this.isloaded){var =
A=3Dnew Date().getTime();=0A=
if(FSR.$S.message){fsr$dbug.log(FSR.$S.message)}if(this.v!=3D0){(function=
(){D.call(B,E)}).fsr$delay(1)=0A=
}var C=3Dnew Date().getTime();FSR.$M.run=3DFSR.$M.run+(C-A);return }var =
A=3Dnew Date().getTime();this.queue.push({fn:D,params:E});=0A=
if(!this.loading){this.loading=3Dtrue;new =
FSR.Asset.javascript((FSR.js_files||FSR.files)+"foresee-surveydef.js",{id=
:"foresee-surveydef",onload:function(){fsr$dbug.log("Survey Definitions =
Loaded");=0A=
B.loaded()}})}var C=3Dnew =
Date().getTime();FSR.$M.run=3DFSR.$M.run+(C-A)},loaded:function(){var =
B=3Dnew Date().getTime();=0A=
this.init();this.isloaded=3Dtrue;var =
A=3Dthis;this.timer=3D(function(){A.check()}).fsr$periodical(100);=0A=
var C=3Dnew =
Date().getTime();FSR.$M.run=3DFSR.$M.run+(C-B)},check:function(){var =
A=3Dnew Date().getTime();=0A=
var C=3Dthis.queue.shift();if(C){this.execute(C.fn,C.params);return =
}FSR.$clear(this.timer);var B=3Dnew Date().getTime();=0A=
FSR.$M.run=3DFSR.$M.run+(B-A)},run:function(D){var A=3Dnew =
Date().getTime();if(D){FSR.c().erase("pa")=0A=
}this.setup();FSR.sd=3Dthis.sd=3Dthis.pd;FSR.sdi=3Dthis.sdi=3Dthis.pdi;va=
r C=3Dfalse;if(this.sd){C=3Dthis.process()=0A=
}FSR.sd=3Dthis.sd=3Dthis.cd;FSR.sdi=3Dthis.sdi=3Dthis.cdi;if(this.sd){thi=
s.processBefore();if(!C){C=3Dthis.process()=0A=
}this.processAfter();this.processCPPS()}this.processEvents();var B=3Dnew =
Date().getTime();FSR.$M.run=3DFSR.$M.run+(B-A)=0A=
},process:function(){if(this.v<0){return =
false}if(this.processTracker()){return =
true}if(this.processInvite()){return true=0A=
}return false},processBefore:function(){if(this.v<0){return false}var =
B=3DFSR.c();B.set("cd",this.sd.idx);=0A=
if(!B.get("lk")){var =
A=3DB.get("pn");if(!FSR.$defined(A)||A>=3Dthis.sd.idx){B.set("sd",this.sd=
.idx)}}},processAfter:function(){if(this.v<0){return false=0A=
}if(this.inviteAccepted()&&!this.surveyShown()){this.setupLinks("pop",thi=
s.popLink);this.setupLinks("cancel",this.cancelTracker)=0A=
}if(!this.inviteShown()){this.setupLinks("attach",this.popAttach)}if(this=
.trackerRunning()){this.setupLinks("pause",this.pause)=0A=
}},processTracker:function(){if(!this.shouldTrack()){return =
false}if(!this.trackerRunning()){return false=0A=
}var A=3Dthis;(function(){A.launch("tracker")}).fsr$delay(1);return =
true},shouldTrack:function(){var A=3Dthis.sd;=0A=
if(!A.ls){return =
false}if(A.type=3D=3D"previous"){if(!(A.pop.when=3D=3D"later")||!(A.pop.a=
fter=3D=3D"leaving-section")){return false=0A=
}}else{if(A.type=3D=3D"current"){if(!(A.pop.when=3D=3D"now")){return =
false}}}return =
true},trackerRunning:function(){if(FSR.$defined(FSR.c().get("t"))){return=
 true=0A=
}return false},processInvite:function(){var B=3Dnew Date().getTime();var =
C=3Dtrue;if(this.inviteShown()){C=3Dfalse=0A=
}if(!this.shouldInvite()){C=3Dfalse}if(C){var =
A=3Dthis;A.processAlt();(function(){A.launch("invite")}).fsr$delay(1)=0A=
}var D=3Dnew Date().getTime();FSR.$M.run=3DFSR.$M.run+(D-B);return =
C},shouldInvite:function(){var D=3Dthis.sd;=0A=
if(D.invite=3D=3D=3Dfalse){return false}if(D.invite.include){var =
B=3Dtrue;if(B){if(D.invite.include.local){B=3Dthis.matchList(D.invite.inc=
lude.local,decodeURIComponent(document.location.href))=0A=
}if(!B){this.updateExclude();return false}}}if(D.invite.exclude){var =
C=3Dfalse;if(!C){C=3Dthis.matchList(D.invite.exclude.local||[],decodeURIC=
omponent(document.location.href))=0A=
}if(!C){C=3Dthis.matchList(D.invite.exclude.referrer||[],decodeURICompone=
nt(document.referrer))}if(C){this.updateExclude();=0A=
return false}}var =
A=3D(D.type=3D=3D"previous")?"onexit":"onentry";if(D.invite&&D.invite.whe=
n!=3DA){return false=0A=
}if(!D.ls){return false}if(!(D.sv>0&&D.sv<=3DD.criteria.sp)){return =
false}return true},processAlt:function(){var G=3Dthis.sd;=0A=
if(G.alt){var F;var C=3DFSR.$random(0,100);var E=3D0;var =
B=3DG.alt;for(var D=3D0,A=3DB.length;D<A;D++){E+=3DB[D].sp;=0A=
if(C<=3DE){if(B[D].url){G.pop.what=3D"url";G.pop.url=3DB[D].url}else{if(B=
[D].script){G.pop.what=3D"script";=0A=
G.pop.script=3DB[D].script}}delete =
G.invite;break}}}},inviteShown:function(){if(FSR.$defined(FSR.c().get("i"=
))){return true=0A=
}return =
false},inviteAccepted:function(){if(FSR.c().get("i")=3D=3D1){return =
true}return =
false},surveyShown:function(){if(FSR.$defined(FSR.c().get("s"))){return =
true=0A=
}return =
false},launch:function(A){if(A=3D=3D"invite"){this.attemptInvite()}else{i=
f(A=3D=3D"tracker"){this.popImmediate()=0A=
}}},matchList:function(C,B){for(var =
A=3D0,D=3DC.length;A<D;A++){if(B.match(C[A])){return true}}return false=0A=
},updateExclude:function(){var B=3Dthis.sd;var C=3DFSR.c();var =
A=3DC.get("lc");B.ec=3DA["d"+B.idx].e=3D(A["d"+B.idx].e||0)+1;=0A=
C.set("lc",A)},attemptInvite:function(){var A=3Dthis;var =
B=3D"invite";if(FSR.$P().mode=3D=3D"hybrid"){B=3D"checkDomain"=0A=
}new =
FSR.Service({host:FSR.services.check.host,path:FSR.services.check.path,ur=
l:FSR.services.check.url,success:FSR.services.check.success,onSuccess:fun=
ction(){A[B]()=0A=
},onFailure:function(){},onError:function(){A[B]()}}).ping()},checkDomain=
:function(){var A=3Dthis;var B=3D"invite";=0A=
new =
FSR.Service({host:FSR.services.domain.host,path:FSR.services.domain.path,=
url:FSR.services.domain.url,params:{"do":0},success:FSR.services.check.su=
ccess,onSuccess:function(){A[B]()=0A=
},onFailure:function(){}}).ping()},setupLinks:function(F,E){if(!this.sd.l=
inks){return }var G=3D0;var C=3Dthis.sd.links[F]||[];=0A=
for(var D=3D0,B=3DC.length;D<B;D++){var =
A=3Dthis.link(C[D].tag,C[D].attribute,C[D].patterns||[],C[D].qualifier,E,=
{sp:C[D].sp,when:C[D].when,invite:C[D].invite,pu:C[D].pu});=0A=
G=3DG+A}fsr$dbug.log("linked ("+F+"): =
"+G)},link:function(A,F,E,D,C,G){var B=3Dthis;var =
H=3D0;FSR.Array.each($$fsr(A),function(K){for(var J=3D0,I=3DE.length;=0A=
J<I;J++){if(K[F]&&(K[F]+"").match(E[J])){H++;K.fsr$addEvents({click:funct=
ion(){if(D){FSR.qualify(D)=0A=
}C.call(B,G)}});break}}});return =
H},init:function(){fsr$dbug.log("=3D=3D=3D=3D=3D=3DINIT=3D=3D=3D=3D=3D=3D=
=3D");this.ralive=3Dtrue;=0A=
var =
P=3DFSR.Cookie.read(FSR.cookieName("fsr.a"),{path:"/",domain:FSR.site.dom=
ain||false,secure:FSR.site.secure||false});=0A=
if(!this.trackerRunning()){this.cancelAlive()}if(!P){fsr$dbug.log("Exit: =
Cookies are not enabled");=0A=
this.v=3D0;return }var R=3DFSR.c();var J=3DFSR.$P();var =
G=3DR.get("v");if(!FSR.$defined(G)){G=3D1;var T=3DFSR.Browser;=0A=
fsr$dbug.log("browser: "+T.Type.name+" "+T.Type.version+" on =
"+T.Platform.os);if(!FSR.SupportedPlatforms[T.Platform.name]){FSR.$S.mess=
age=3D"Exit: Platform not surpported";=0A=
G=3D0}if(FSR.UnsupportedBrowsers[T.Type.name]){if(T.Type.version<=3DFSR.U=
nsupportedBrowsers[T.Type.name]){FSR.$S.message=3D"Exit: Browser not =
surpported";=0A=
G=3D0}}if(this.exclude()){FSR.$S.message=3D"Exit: Met exclude =
criteria";G=3D0}var =
N=3DFSR.Cookie.read("fsr.o",{path:"/",domain:FSR.site.domain||false});=0A=
if(N){FSR.$S.message=3D"Exit: Optout Cookie Found";G=3D0}var O=3Dnew =
FSR.Hash.Cookie(FSR.cookieName("fsr.r"),{path:"/",domain:FSR.site.domain|=
|false,secure:FSR.site.secure||false});=0A=
var M;if(M=3DO.get("d")){FSR.$S.message=3D"Persistent Cookie Found: =
"+M;G=3D-1}var =
S;if(J.altcookie&&J.altcookie.name){S=3DFSR.Cookie.read(J.altcookie.name,=
{path:J.altcookie.path||false,domain:J.altcookie.domain||false,secure:FSR=
.site.secure||false});=0A=
if(S){if(!J.altcookie.value||J.altcookie.value=3D=3DS){FSR.$S.message=3D"=
Alt persistent Cookie Found: "+S;=0A=
G=3D-1}}}var =
L=3DFSR.$random(0,100);if(G=3D=3D1&&!(L>0&&L<=3Dthis.pool())){FSR.$S.mess=
age=3D"Not in pool: "+L;=0A=
G=3D-2}R.set("v",G);var K;if(K=3DO.get("i")){var H=3Dnew =
Date();if(H.getTime()<O.get("e")){FSR.rid=3DK}}if(!FSR.rid){if(J.events.e=
nabled&&J.events.id){FSR.rid=3DFSR.generateid()=0A=
}}if(FSR.rid){R.set("rid",FSR.rid)}var =
A;if(A=3DO.get("s")){R.set("sd",A);R.set("lk",1)}var I=3Dthis;=0A=
this.dhtml_win=3D1;new =
FSR.Asset.javascript((FSR.js_files||FSR.files)+"foresee-dhtml-popup.js",{=
id:"foresee-dhtml-popup",onload:function(){I.dhtml_win=3D2=0A=
}});this.dhtml_css=3D1;new =
FSR.Asset.css((FSR.css_files||FSR.files)+J.invite.css);if(J.qualifier.css=
&&(J.qualifier.css!=3DJ.invite.css)){new =
FSR.Asset.css((FSR.css_files||FSR.files)+J.qualifier.css)=0A=
}this.dhtml_css=3D2;if(document.referrer&&document.referrer!=3D""){if(J.m=
eta.ref_url){R.set("ru",document.referrer)=0A=
}var =
E=3Ddocument.referrer.match(/^(\w+\:\/\/)?(((\w+-?\w+\.?))+)\//);var =
C=3D"";if(E&&E.length>=3D3){C=3DE[2]=0A=
}if(J.meta.referrer){R.set("r",C)}fsr$dbug.log("referrer: "+C);var =
D=3Dthis.decodeReferrer(document.referrer)||"";=0A=
if(J.meta.terms){R.set("st",D)}fsr$dbug.log("search terms: =
"+D)}this.processCPPDefaults(R)}this.v=3DG;=0A=
FSR.rid=3DR.get("rid");var =
F=3DJ.tracker.timeout;if(J.tracker.adjust&&FSR.$defined(R.get("f"))){var =
Q=3DR.get("to");=0A=
var B=3D((FSR.$time()-R.get("f"))/1000);fsr$dbug.log("ptimeout: =
"+Q);fsr$dbug.log("loadtime: "+B);F=3D(0.9*Q)+(0.1*(B*2));=0A=
F=3DMath.round(F*10)/10;if(F<2){F=3D2}else{if(F>5){F=3D5}}}if(J.tracker.a=
djust){R.set("to",F)}fsr$dbug.log("timeout: "+F);=0A=
fsr$dbug.log("invite: =
"+(FSR.$pick(R.get("i"),"")));fsr$dbug.log("tracker: =
"+(FSR.$pick(R.get("t")||"")));=0A=
if(this.v<1){FSR.RR.cancelRecord()}},setup:function(){fsr$dbug.log("=3D=3D=
=3D=3D=3D=3DSETUP=3D=3D=3D=3D=3D=3D=3D");var M=3DFSR.c();=0A=
FSR.sv=3DFSR.$random(0,100);this.sp=3Dnew =
FSR.Hash.Cookie("fsr.sp",{path:"/",domain:FSR.site.domain||false});=0A=
var =
N,F,A,H,Q;if(FSR.$defined(M.get("cd"))){Q=3DM.get("cd")}FSR.cs=3DdecodeUR=
IComponent(document.location.href);=0A=
if(!FSR.$P().meta.url_params){FSR.cs=3DFSR.cs.replace(/(.*?)(\?.*)/g,"$1"=
)}if(FSR.$P().meta.url){M.set("c",FSR.cs)=0A=
}this.language();fsr$dbug.log("language: =
"+FSR.$S.locale||"");fsr$dbug.log("site: "+FSR.site.name||"");=0A=
var P=3DM.get("pv")?M.get("pv")+1:1;M.set("pv",P);fsr$dbug.log("pv: =
"+P);var E=3DM.get("lc")||{};N=3Dthis.matchDef();=0A=
if(N.length!=3D0){fsr$dbug.log("=3D=3D=3DCURRENT=3D=3D=3D=3D");for(var =
J=3D0,I=3DN.length;J<I;J++){var L=3DFSR.surveydefs[N[J]];=0A=
L.idx=3DN[J];fsr$dbug.log("section: "+(L.section||""));var =
C=3D"d"+L.idx;this.criteria(L.criteria);if(!E[C]){E[C]=3D{v:0,s:false}=0A=
}L.lc=3DE[C].v=3DE[C].v+1;L.ec=3DE[C].e||0;L.type=3D"current";this.config=
Loyalty(L);var B=3Dthis.loyaltyDef(L);=0A=
var =
O=3Dthis.checkLoyalty(B,L.lc,L.ec);if(O>-1){L.ls=3DE[C].s=3Dtrue;if(FSR.$=
type(L.criteria.lf)=3D=3D"array"){L.criteria.lf=3DL.criteria.lf[O];=0A=
L.criteria.sp=3DL.criteria.sp[O];L.pop.when=3DL.pop.when[O];if(FSR.$type(=
L.invite.content)=3D=3D"array"){L.invite.content=3DL.invite.content[O];=0A=
var G=3DL.invite.locales||[];for(var =
J=3D0,K=3DG.length;J<K;J++){G[J].content=3DG[J].content[O]}}}if(L.pin){va=
r D=3DM.get("pn");=0A=
if(!FSR.$defined(D)||D>=3DL.idx){M.set("pn",L.idx)}}}else{L.ls=3DE[C].s=3D=
false;if(FSR.$type(L.criteria.lf)=3D=3D"array"){L.criteria.lf=3DL.criteri=
a.lf[0];=0A=
L.criteria.sp=3DL.criteria.sp[0];L.pop.when=3DL.pop.when[0];if(FSR.$type(=
L.invite.content)=3D=3D"array"){L.invite.content=3DL.invite.content[0];=0A=
var G=3DL.invite.locales||[];for(var =
J=3D0,K=3DG.length;J<K;J++){G[J].content=3DG[J].content[0]}}}}this.config=
ure(L);=0A=
this.cd=3DL;F=3DL.idx;break}M.set("lc",E)}if(FSR.$defined(Q)&&(Q!=3DF)){f=
sr$dbug.log("=3D=3D=3DPREVIOUS=3D=3D=3D");=0A=
var L=3DFSR.surveydefs[Q];L.idx=3DQ;var =
C=3D"d"+L.idx;this.criteria(L);L.lc=3DE[C].v||0;L.ls=3DE[C].s||false;=0A=
L.type=3D"previous";this.configLoyalty(L);this.configure(L);this.pd=3DL}}=
,configLoyalty:function(A){if(FSR.$type(A.criteria.lf)=3D=3D"number"){A.c=
riteria.lf=3D{v:A.criteria.lf,o:">=3D"}=0A=
}},loyaltyDef:function(B){var =
A=3DB.criteria.lf;if(FSR.$type(B.criteria.lf)=3D=3D"object"){A=3D[B.crite=
ria.lf]=0A=
}return A},checkLoyalty:function(E,F,C){var B=3D-1;for(var =
D=3D0,A=3DE.length;D<A;D++){if(E[D].o=3D=3D">=3D"){if(F>=3DE[D].v){B=3DD=0A=
}}else{if(E[D].o=3D=3D"=3D"){if((F-C)=3D=3DE[D].v){B=3DD}}else{if(E[D].o=3D=
=3D">"){if(F>E[D].v){B=3DD}}}}}return B},exclude:function(B){var =
A=3DFSR.$P().exclude;=0A=
if(!A){return false}return this.match(A)},configure:function(C){var =
D=3DFSR.c();fsr$dbug.log("sid: "+C.name);=0A=
fsr$dbug.log("lc: "+C.lc);fsr$dbug.log("lf: "+C.criteria.lf.v+" =
("+C.criteria.lf.o+") ");C.sv=3DFSR.sv;=0A=
fsr$dbug.log("sv: =
"+C.sv);if(FSR.$type(C.criteria.sp)=3D=3D"array"){C.criteria.sp=3DC.crite=
ria.sp[(new Date()).getDay()]=0A=
}var B=3D(!C.section)?C.name:C.name+"-"+C.section;var =
A=3D(!FSR.$S.locale)?B:B+"-"+FSR.$S.locale;C.criteria.sp=3Dthis.sp.get(B)=
||this.sp.get(A)||C.criteria.sp;=0A=
fsr$dbug.log("sp: =
"+C.criteria.sp);if(!(C.invite=3D=3D=3Dfalse)){C.invite=3DFSR.$merge(FSR.=
$P().invite,C.invite||{})=0A=
}C.tracker=3DFSR.$merge(FSR.$P().tracker,C.tracker||{});C.survey=3DFSR.$m=
erge(FSR.$P().survey,C.survey||{});=0A=
C.qualifier=3DFSR.$merge(FSR.$P().qualifier,C.qualifier||{});C.cancel=3DF=
SR.$merge(FSR.$P().cancel,C.cancel||{});=0A=
C.pop=3DFSR.$merge(FSR.$P().pop,C.pop||{});C.repeatdays=3DFSR.$pick(FSR.$=
P().repeatdays,C.repeatdays);=0A=
if(FSR.$type(C.repeatdays)!=3D"array"){C.repeatdays=3D[C.repeatdays,C.rep=
eatdays]}},unload:function(){if(!FSR.enabled){return =0A=
}if(!this.runload&&this.ralive){this.runload=3Dtrue;this.uninit()}return =
},uninit:function(){var A=3DFSR.c();=0A=
if(FSR.$S.invite=3D=3D0){fsr$dbug.log("Invite =
Abandoned");FSR.log(103);FSR.$pause(1000)}if(FSR.$P().previous){A.set("p"=
,FSR.cs)=0A=
}if(FSR.$P().tracker.adjust){A.set("f",FSR.$time())}},matchDef:function()=
{var A=3D[];var F=3DFSR.surveydefs;=0A=
for(var =
D=3D0,B=3DF.length,C=3D0;D<B;D++){if(F[D].site&&F[D].site!=3DFSR.site.nam=
e){continue}var E=3DC;if(this.match(F[D].include)){A[C++]=3DD=0A=
}if(C!=3DE){break}}return A},match:function(d){function =
_match(m,v){if(FSR.$type(v)!=3D"array"){v=3D[v]=0A=
}for(var x=3D0,y=3Dv.length;x<y;x++){if((m+"").match((v[x]+""))){return =
true}}return false}var p;p=3Dd.urls||[];=0A=
for(var =
j=3D0,n=3Dp.length;j<n;j++){if(decodeURIComponent(document.location.href)=
.match(p[j])){return true=0A=
}}p=3Dd.referrers||[];for(var =
j=3D0,n=3Dp.length;j<n;j++){if(decodeURIComponent(document.referrer).matc=
h(p[j])){return true=0A=
}}p=3Dd.userAgents||[];for(var =
j=3D0,n=3Dp.length;j<n;j++){if(navigator.userAgent.match(p[j])){return =
true=0A=
}}p=3Dd.cookies||[];for(var j=3D0,n=3Dp.length;j<n;j++){var =
value;if(value=3DFSR.Cookie.read(p[j].name,{path:p[j].path||false,domain:=
p[j].domain||false})){if(value.match(p[j].value||".")){return true=0A=
}}}var =
ipo=3DFSR.Cookie.read("fsr.ipo",{path:"/",domain:FSR.site.domain||false})=
;p=3Dd.variables||[];=0A=
for(var j=3D0,n=3Dp.length;j<n;j++){var name=3Dp[j].name;var =
value=3Dp[j].value;if(name=3D=3DFSR.$P().ipexclude&&ipo=3D=3D1){continue=0A=
}if(FSR.$type(name)!=3D"array"){name=3D[name];value=3D[value]}var =
v,z=3Dtrue;for(var x=3D0,y=3Dname.length;x<y;=0A=
x++){try{v=3DFSR.eval(name[x]);if(!FSR.$defined(v)){v=3D""}}catch(err){v=3D=
""}if(v||v=3D=3D=3D""){if(!_match(v,value[x])){z=3Dfalse;=0A=
break}}}if(z){return true}}return false},pool:function(){var D=3Dnew =
Date().getHours();var =
C=3D100;if(FSR.$defined(FSR.$P().pool)){C=3DFSR.$P().pool=0A=
}var =
A=3DFSR.Cookie.read("fsr.pool",{path:"/",domain:FSR.site.domain||false});=
if(A&&A=3D=3D1){C=3D100}if(FSR.$type(C)!=3D"array"){C=3D[{h:0,p:C}]=0A=
}var E=3D100;for(var =
B=3D0,F=3DC.length;B<F;B++){if(D>=3DC[B].h){E=3DC[B].p}}return =
E},invite:function(){var B=3Dnew Date().getTime();=0A=
var =
D=3Dthis.sd;FSR.$S.invite=3D0;FSR.$S.repeatoverride=3DFSR.$P().repeatover=
ride||false;FSR.c().set("i",FSR.$S.invite);=0A=
if(!FSR.$S.repeatoverride){this.setRepeatdays(1)}if(FSR.$S.locale){FSR.c(=
).set("l",FSR.$S.locale)=0A=
}var =
A=3Dthis;if(D.invite){(function(){FSR.log(100,FSR.cs);A.prepareDHTML("inv=
ite","accepted","declined","closed")=0A=
}).fsr$delay((D.invite.delay||0)*1000);if(D.invite.timeout){(function(){F=
SR.idhtml.hide()}).fsr$delay(D.invite.timeout*1000)=0A=
}}else{(function(){A.accepted();A.closed()}).fsr$delay(0)}var C=3Dnew =
Date().getTime();FSR.$M.run=3DFSR.$M.run+(C-B)=0A=
},prepareDHTML:function(G,H,D,C){var B=3Dnew Date().getTime();var =
A=3Dthis;if(!FSR.$defined(this.dhtml_css)){this.dhtml_css=3D1;=0A=
new =
FSR.Asset.css((FSR.css_files||FSR.files)+this.sd[G].css);this.dhtml_css=3D=
2}if(!FSR.$defined(this.dhtml_win)){this.dhtml_win=3D1;=0A=
new =
FSR.Asset.javascript((FSR.js_files||FSR.files)+"foresee-dhtml-popup.js",{=
id:"foresee-dhtml-popup",onload:function(){fsr$dbug.log("DHTML popup =
script loaded (2)");=0A=
A.dhtml_win=3D2;A.showDHTML(G,H,D,C)}})}else{if(this.dhtml_win=3D=3D1){va=
r E=3D(function(){if(A.dhtml_win=3D=3D1){return =0A=
}FSR.$clear(E);A.showDHTML(G,H,D,C)}).fsr$periodical(50)}else{if(this.dht=
ml_win=3D=3D2){(function(){A.showDHTML(G,H,D,C)=0A=
}).fsr$delay(1)}}}var F=3Dnew =
Date().getTime();FSR.$M.run=3DFSR.$M.run+(F-B)},showDHTML:function(H,D,J,=
F){var A=3Dnew Date().getTime();=0A=
var L=3Dthis;var I=3Dthis.sd[H];this.page(I);var =
G=3D[];if(I.buttons){var =
B=3D0;if(I.buttons.decline){G[B]=3D{properties:{id:"decline"},style:"fsr_=
button fsr_decline",text:I.buttons.decline,onClick:function(){L[J]()=0A=
},onMouseover:function(){this.className=3D"fsr_closeSticky fsr_button =
fsr_mouseover_decline"},onMouseout:function(){this.className=3D"fsr_close=
Sticky fsr_button fsr_decline"=0A=
}};B++}if(I.buttons.accept){G[B]=3D{properties:{id:"accept"},style:"fsr_b=
utton fsr_accept",text:I.buttons.accept,onClick:function(){L[D]()=0A=
},onMouseover:function(){this.className=3D"fsr_closeSticky fsr_button =
fsr_mouseover_accept"},onMouseout:function(){this.className=3D"fsr_closeS=
ticky fsr_button fsr_accept"=0A=
}};B++}}var =
N=3D{position:{x:I.x,y:I.y},wrapWithUi:true,uiOptions:{width:I.width+"px"=
,baseHref:(FSR.image_files||FSR.files),buttons:G,close:function(){L[J]()=0A=
}},modalOptions:{modalStyle:{"background-color":I.bgcolor,opacity:I.opaci=
ty},hideOnClick:I.hideOnClick},requestOptions:{evalScripts:true}};=0A=
FSR.$S[H]=3D0;var M;if(I.content){N.content=3DI.content;M=3Dnew =
FSR.StickyWinModal(N)}else{N.url=3D(FSR.html_files||FSR.files)+(I.url.dht=
ml||I.url);=0A=
M=3Dnew =
FSR.StickyWinModal.Ajax(N)}if(F){M.fsr$addEvent("onClose",function(){L[F]=
()})}if(FSR.Browser.Type.name!=3D"Explorer"){var =
C=3D(this.sd.invite)?this.sd.invite.hide:[];=0A=
for(var =
B=3D0,E=3DC.length;B<E;B++){if($fsr(C[B])){$fsr(C[B]).fsr$setStyle("visib=
ility","hidden")}}}if(I.content){M.show()=0A=
}else{M.update()}FSR.idhtml=3DM;var K=3Dnew =
Date().getTime();FSR.$M.run=3DFSR.$M.run+(K-A)},accepted:function(){FSR.$=
S.invite=3D1;=0A=
FSR.log(101);var =
B=3DFSR.c();B.set("i",FSR.$S.invite);if(this.sd.lock){B.set("lk",1)}this.=
setRepeatdays(0);=0A=
FSR.RR.setOKTransmit();var =
A=3Dthis;A.processAccept()},declined:function(){FSR.$S.invite=3D-1;FSR.lo=
g(102);=0A=
FSR.c().set("i",FSR.$S.invite);this.setRepeatdays(1);FSR.RR.cancelRecord(=
)},closed:function(){if(FSR.Browser.Type.name!=3D"Explorer"){var =
C=3D(this.sd.invite)?this.sd.invite.hide:[];=0A=
for(var =
B=3D0,A=3DC.length;B<A;B++){if($fsr(C[B])){$fsr(C[B]).fsr$setStyle("visib=
ility","visible")}}}},qualified:function(){FSR.$S.qualifier=3D1;=0A=
FSR.log(301);var =
A=3Dthis;A.processQualifier()},override:function(A){if(A=3D=3D1){FSR.$S.r=
epeatoverride=3Dtrue=0A=
}else{FSR.$S.repeatoverride=3Dfalse}},processAccept:function(){var =
B=3Dthis.sd;if(B.pop.when=3D=3D"later"){if(B.pop.tracker){this.popTracker=
()=0A=
}this.setupLinks("pop",this.popLink);this.setupLinks("cancel",this.cancel=
Tracker);this.setupLinks("pause",this.pause)=0A=
}else{if(B.pop.when=3D=3D"now"){FSR.c().set("s",1);var =
A=3DB.pop.what;if(A=3D=3D"survey"){this.popSurvey()}else{if(A=3D=3D"quali=
fier"){this.popQualifier()=0A=
}else{if(A=3D=3D"url"){this.popUrl()}else{if(A=3D=3D"script"){this.popScr=
ipt()}else{if(A=3D=3D"movie"){}}}}}}else{if(B.pop.when=3D=3D"both"){this.=
popTracker();=0A=
this.popSurvey()}}}},processQualifier:function(){if(!FSR.$S.canceled){thi=
s.popSurvey()}else{this.popCancel()=0A=
}},popImmediate:function(C){var D=3Dthis.sd;var B=3Dthis;var =
E=3DFSR.c();if(this.trackerRunning()){if(FSR.Browser.Type.name!=3D"Firefo=
x"||!D.qualifier.content){if(C&&C.pu){E.set("fo",2)=0A=
}else{E.set("fo",1)}}else{this.cancelTracker();(function(){FSR.log(300,FS=
R.cs);B.prepareDHTML("qualifier","qualified")=0A=
}).fsr$delay((D.qualifier.delay||0)*1000)}}else{FSR.c().set("s",1);var =
A=3DD.pop.what;if(A=3D=3D"survey"){this.popSurvey()=0A=
}else{if(A=3D=3D"qualifier"){this.popQualifier()}else{if(A=3D=3D"url"){th=
is.popUrl()}else{if(A=3D=3D"script"){this.popScript()=0A=
}else{if(A=3D=3D"movie"){}}}}}}},popSurvey:function(){var =
B=3Dthis.sd.survey;var =
A=3Dthis.sd.pop;this.popMain(this.sid(),B.width,B.height,A.pu,false,"400"=
)=0A=
},popFeedback:function(){var C=3DFSR.$P();var B=3D"feedback";var =
A=3DFSR.$S.locale;if(A){B=3DB+"-"+A}this.popMain(B,C.survey.width,C.surve=
y.height,false,false,"600")=0A=
},popMain:function(D,C,M,N,E,K){var H=3DFSR.services.survey;var =
J=3DFSR.c();var B=3DJ.get("rid")||FSR.generateid();=0A=
var L=3Dthis.hash(B);var I=3DFSR.cs;var F=3Dnew =
FSR.Hash({sid:D,cid:FSR.id,pattern:I,a:B,b:L,c:24*60*60*1000,version:FSR.=
version}).toQueryString();=0A=
var G=3DFSR.CPPS.toQueryString();var =
A=3Ddocument.location.protocol+"//"+H.host+H.path+H.url+"?"+F+"&"+G;=0A=
this.pop("fsr"+K,A,(window.screen.width-C)/2,(window.screen.height-M)/2,C=
,M,N);FSR.log(K,FSR.cs)},popTracker:function(){if(this.trackerRunning()){=
return =0A=
}fsr$timer=3DsetInterval(fsr$setAlive,1000);this.popOther(this.sd.tracker=
,true,"200")},popQualifier:function(){this.popOther(this.sd.qualifier,thi=
s.sd.pop.pu,"300",this.sd.pop.now)=0A=
},popCancel:function(){this.popOther(this.sd.cancel,false,"500")},popLink=
:function(A){if(!this.surveyShown()){this.popImmediate(A)=0A=
}},cancelTracker:function(){if(FSR.c().get("lk")){return =
}if(this.trackerRunning()){var A=3Dwindow.open("","fsr200");=0A=
if(A){A.close()}}},popOther:function(E,I,G,F){this.page(E);var =
C=3D(window.screen.width-E.width)/2;=0A=
var H=3D(window.screen.height-E.height)/2;var =
A=3D(FSR.html_files||FSR.files)+(E.url.pop||E.url);var =
B=3D{siteid:FSR.siteid,name:FSR.site.name,domain:FSR.site.domain};=0A=
if(F){B.when=3DF}var D=3Dnew =
FSR.Hash(B).toQueryString();A=3DA+"?"+D;this.pop("fsr"+G,A,C,H,E.width,E.=
height,I);=0A=
FSR.log(G,FSR.cs)},popAttach:function(B){if(this.inviteShown()){return =
}var C=3Dthis.sd;var A=3Dthis;=0A=
if(B.sp){C.criteria.sp=3DB.sp}if(B.when){C.pop.when=3DB.when}if(B.qualifi=
er){C.pop.when=3DB.when}if(!(C.sv>0&&C.sv<=3DC.criteria.sp)){return =0A=
}if(FSR.$S.locale){FSR.c().set("l",FSR.$S.locale)}if(B.invite){this.proce=
ssInvite()}else{(function(){A.accepted();=0A=
A.closed()}).fsr$delay(0)}},popUrl:function(){var =
B=3DFSR.$P().survey.width;var A=3DFSR.$P().survey.height;=0A=
this.pop("fsrOther",this.sd.pop.url,(window.screen.width-B)/2,(window.scr=
een.height-A)/2,B,A)},popScript:function(){new =
FSR.Asset.javascript(this.sd.pop.script)=0A=
},pause:function(){var A=3DFSR.c();A.set("pa","1")},sid:function(){var =
G=3Dthis.sd;var H=3DFSR.c();var B=3DG.name;=0A=
var C=3DG.site;if(C){B=3DB+"-"+C}var E=3DG.section;if(E){B=3DB+"-"+E}var =
A=3DG.pop.now;if(A){B=3DB+"-"+A}var D=3DH.get("q");=0A=
if(D){B=3DB+"-"+D}var F=3DH.get("l");if(F){B=3DB+"-"+F}return =
B},pop:function(D,C,H,G,F,A,E,B){(function(){new =
FSR.Browser.Popup(C,{name:D,toolbar:0,location:0,directories:0,status:0,s=
crollbars:1,resizable:1,width:F,height:A,x:H,y:G,blur:E,menubar:0})=0A=
}).fsr$delay(B||0)},language:function(){var =
H=3DFSR.$P().language;if(!H){return }FSR.$S.locale=3DH.locale;=0A=
if(!H.src){return }var I=3DFSR.$S.locale;var =
A;if(H.src=3D=3D"location"){A=3DdecodeURIComponent(document.location.href=
)=0A=
}else{if(H.src=3D=3D"cookie"){if(H.type&&H.type=3D=3D"client"){A=3DFSR.Co=
okie.read(H.name,{path:"/",domain:FSR.site.domain||false})=0A=
}else{A=3DFSR.c().get("lang")}}else{if(H.src=3D=3D"variable"){if(H.type&&=
H.type=3D=3D"client"){A=3Dwindow[H.name]=0A=
}else{A=3DFSR[H.name]}}else{if(H.src=3D=3D"meta"){if(document.getElements=
ByName(H.name).length!=3D0){A=3Ddocument.getElementsByName(H.name)[0].con=
tent=0A=
}}else{if(H.src=3D=3D"navigator"){if(navigator.browserLanguage){A=3Dnavig=
ator.browserLanguage||navigator.language=0A=
}}}}}}A=3DA||"";var C=3DH.locales||[];for(var =
G=3D0,E=3DC.length;G<E;G++){if(FSR.$type(C[G].match)!=3D"array"){C[G].mat=
ch=3D[C[G].match]=0A=
}var B;for(var =
F=3D0,D=3DC[G].match.length;F<D;F++){if(B=3DA.match(C[G].match[F])){I=3DC=
[G].locale;break}}if(B){break=0A=
}}FSR.$S.locale=3DI},page:function(E){var =
B=3DFSR.c().get("l");if(!B){return }var D=3DE.locales||[];for(var =
C=3D0,A=3DD.length;=0A=
C<A;C++){if(D[C].locale=3D=3DB){if(D[C].url){E.url=3DD[C].url}if(D[C].con=
tent){E.content=3DD[C].content}if(D[C].buttons){E.buttons=3D{accept:"",de=
cline:""};=0A=
if(D[C].buttons.accept){E.buttons.accept=3DD[C].buttons.accept}if(D[C].bu=
ttons.decline){E.buttons.decline=3DD[C].buttons.decline=0A=
}}if(D[C].width){E.width=3DD[C].width}if(D[C].height){E.height=3DD[C].hei=
ght}break}}},criteria:function(E){var B=3DFSR.$S.locale;=0A=
if(!B){return }var D=3DE.locales||[];for(var =
C=3D0,A=3DD.length;C<A;C++){if(D[C].locale=3D=3DB){E.sp=3DD[C].sp;=0A=
E.lf=3DD[C].lf;break}}},decodeReferrer:function(A){A=3DdecodeURIComponent=
(A);var C;var =
B=3Ddocument.referrer.match(/[?&]q=3D([^&]*)/)||document.referrer.match(/=
[?&]p=3D([^&]*)/)||document.referrer.match(/[?&]query=3D([^&]*)/);=0A=
if(!B){return C}var C=3Dunescape(B[1]);if(C){C=3DC.replace(/\+/g," =
")}return C},setRepeatdays:function(E){if(FSR.$S.repeatoverride){return =0A=
}var D=3DFSR.$P();if(this.sd.repeatdays[E]){var B=3Dnew =
FSR.Hash.Cookie(FSR.cookieName("fsr.r"),{path:"/",domain:FSR.site.domain|=
|false,secure:FSR.site.secure||false,duration:this.sd.repeatdays[E]});=0A=
B.set("d",this.sd.repeatdays[E]);if(D.altcookie&&D.altcookie.name){FSR.Co=
okie.write(D.altcookie.name,D.altcookie.value,{path:D.altcookie.path||fal=
se,domain:D.altcookie.domain||false,secure:FSR.site.secure||false,duratio=
n:D.altcookie.persistent?this.sd.repeatdays[E]:false})=0A=
}var C=3DD.events;if(C.pd){B.set("i",FSR.rid);var A=3Dnew =
Date();A.setDate(A.getDate()+C.pd);B.set("e",A.getTime());=0A=
if(this.sd.lock){B.set("s",this.sd.idx)}}if(D.mode=3D=3D"hybrid"){new =
FSR.Service({host:FSR.services.domain.host,path:FSR.services.domain.path,=
url:FSR.services.domain.url,params:{"do":1,rw:this.sd.repeatdays[E]*24*60=
}}).ping()=0A=
}}},hash:function(B){var =
A=3DB.split("_");return((A[0]*3)+1357)+""+((A[1]*9)+58)},processCPPS:func=
tion(){var cpps=3DFSR.$P().cpps;=0A=
if(!cpps){return }for(var name in =
cpps){if(!cpps.hasOwnProperty(name)){continue}var cpp=3Dcpps[name];=0A=
var value=3D"";if(cpp.source=3D=3D"url"){var =
p=3Dcpp.patterns||[];for(var =
j=3D0,n=3Dp.length;j<n;j++){if(decodeURIComponent(document.location.href)=
.match(p[j].regex)){value=3Dp[j].value;=0A=
break}}}else{if(cpp.source=3D=3D"parameter"){value=3Dthis.parameter(cpp.n=
ame)}else{if(cpp.source=3D=3D"cookie"){value=3DFSR.Cookie.read(cpp.name,{=
path:cpp.path||false,domain:cpp.domain||false})=0A=
}else{if(cpp.source=3D=3D"variable"){try{value=3DFSR.eval(cpp.name);if(!F=
SR.$defined(value)){value=3Dfalse=0A=
}}catch(err){value=3Dfalse}}else{if(cpp.source=3D=3D"meta"){if(document.g=
etElementsByName(cpp.name).length!=3D0){value=3Ddocument.getElementsByNam=
e(cpp.name)[0].content=0A=
}}}}}}if(value&&value!=3D""){if(cpp.mode&&cpp.mode=3D=3D"append"){FSR.CPP=
S.append(name,value)}else{FSR.CPPS.set(name,value)=0A=
}}}},processCPPDefaults:function(D){var B=3DFSR.$P().cpps;if(!B){return =
}for(var C in B){if(!B.hasOwnProperty(C)){continue=0A=
}var =
A=3DB[C];if(A.init){FSR.CPPS.set(C,A.init,D)}}},processEvents:function(){=
if(Math.abs(this.v)!=3D1){return =0A=
}var events=3DFSR.$P().events;if(!events.custom){return }var =
c=3DFSR.c();var ev=3Dc.get("ev")||{};var i=3D0;=0A=
for(var name in =
events.custom){if(!events.custom.hasOwnProperty(name)){continue}var =
event=3Devents.custom[name];=0A=
if(!event.enabled){continue}var =
value=3D"";if(event.source=3D=3D"url"){var =
p=3Devent.patterns||[];for(var j=3D0,n=3Dp.length;=0A=
j<n;j++){if(decodeURIComponent(document.location.href).match(p[j])){value=
=3Dp[j];break}}}else{if(event.source=3D=3D"parameter"){value=3Dthis.param=
eter(event.name)=0A=
}else{if(event.source=3D=3D"cookie"){value=3DFSR.Cookie.read(event.name,{=
path:event.path||false,domain:event.domain||false})=0A=
}else{if(event.source=3D=3D"variable"){try{value=3DFSR.eval(event.name);i=
f(!FSR.$defined(value)){value=3Dfalse=0A=
}}catch(err){value=3Dfalse}}}}}if(value&&value!=3D""){if(!ev["e"+i]||even=
t.repeat){ev["e"+i]=3D(ev["e"+i]||0)+1;=0A=
c.set("ev",ev);FSR.log(events.codes[name],value)}}i++}},parameter:functio=
n(B){B=3DB.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");=0A=
var A=3D"[\\?&]"+B+"=3D([^&#]*)";var D=3Dnew RegExp(A);var =
C=3DD.exec(window.location.href);if(C=3D=3Dnull){return false=0A=
}else{return =
C[1]}},cancelAlive:function(){clearInterval(fsr$timer);FSR.Cookie.dispose=
(FSR.cookieName("fsr.a"),{path:"/",domain:FSR.site.domain||false,secure:F=
SR.site.secure||false})=0A=
}});new =
FSR.SurveyController({});window.fsr$addEvent("domready",function(){(funct=
ion(){FSR.controller.load()=0A=
}).fsr$delay(1)});window.fsr$addEvent("unload",function(){FSR.controller.=
unload()});var fsr$le=3Dnew Date().getTime();=0A=
FSR.$M.load=3Dfsr$le-fsr$ls;
------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/foresee/foresee-surveydef.js

FSR.surveydefs =3D [{
    name: 'browse',
	section: 'main',
    invite: {
        when: 'onentry'
    },
    pop: {
        when: 'later'
    },
    criteria: {
        sp: 0.5,
        lf: 1
    },
    include: {
        urls: ['.']
    }
}];
FSR.properties =3D {
    repeatdays: 90,
   =20
    repeatoverride: false,
   =20
    altcookie: {},
   =20
    language: {
        locale: 'en'
    },
   =20
    exclude: {},
   =20
    ipexclude: 'fsr$ip',
   =20
    invite: {
        content: '<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 =
Transitional//EN\"><HTML><HEAD><TITLE>Foresee =
Invite</TITLE></HEAD><BODY><div id=3D\"fsrinvite\"><div =
id=3D\"fsrcontainer\"><div class=3D\"fsri_sitelogo\"><img =
src=3D\"{%baseHref%}sitelogo.gif\" alt=3D\"Site Logo\"></div><div =
class=3D\"fsri_fsrlogo\"><img src=3D\"{%baseHref%}fsrlogo.gif\" =
alt=3D\"Site Logo\"></div></div><div class=3D\"fsri_body\">\
		<b><font size=3D\"3\">We\'d like your feedback.</b></font>\
		<br><br>Thank you for visiting our site. You have been randomly =
selected to participate in a customer satisfaction survey to let us know =
how we can improve your website experience.\
		<br><br><b>The survey is designed to measure your entire site =
experience and will appear at the <u>end of your visit</u>.</b>\
		<br><br><font size=3D\"1\">This survey is conducted by an independent =
company, ForeSee.</font><br></div></div></BODY></HTML>',
       =20
        /*content: '<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 =
Transitional//EN\"><HTML><HEAD><TITLE>Foresee =
Invite</TITLE></HEAD><BODY><div id=3D\"fsrinvite\"><div =
id=3D\"fsrcontainer\"><div class=3D\"fsri_sitelogo\"><img =
src=3D\"{%baseHref%}sitelogo.gif\" alt=3D\"Site Logo\"></div><div =
class=3D\"fsri_fsrlogo\"><img src=3D\"{%baseHref%}fsrlogo.gif\" =
alt=3D\"Site Logo\"></div></div><div class=3D\"fsri_body\">\
         <b><font size=3D\"3\">We\'d like your feedback.</b></font>\
         <br><br>Thank you for visiting our site. You have been randomly =
selected to participate in a customer satisfaction survey to let us know =
how we can improve your website experience.\
         <br><br><font size=3D\"1\">This survey is conducted by an =
independent company, ForeSee.</font><br></div></div></BODY></HTML>',
         */
    exclude: {
        local: ['localization', 'buyflow'],
            referrer: []
        },
        include: {
            local: ['.']
    },
  =20
        width: '500',
        bgcolor: '#333',
        opacity: 0.7,
        x: 'center',
        y: 'center',
        delay: 0,
        timeout: 0,
        buttons: {
            accept: "Yes, I'll give feedback",
            decline: 'No thanks'
        },
        hideOnClick: false,
        css: 'foresee-dhtml.css',
        hide: []
    },
   =20
    tracker: {
        width: '500',
        height: '350',
        timeout: 4,
        adjust: false,
        alert: {
            enabled: false,
            message: 'The survey is now available.'
        },
        url: 'tracker.html'
    },
   =20
    survey: {
        width: 550,
        height: 600
    },
   =20
    qualifier: {
        width: '625',
        height: '500',
        bgcolor: '#333',
        opacity: 0.7,
        x: 'center',
        y: 'center',
        delay: 0,
        buttons: {
            accept: 'Continue'
        },
        hideOnClick: false,
        css: false,
        url: 'qualifying.html'
    },
   =20
    cancel: {
        url: 'cancel.html',
        width: '500',
        height: '300'
    },
   =20
    pop: {
        what: 'survey',
        after: 'leaving-site',
        pu: false,
        tracker: true
    },
   =20
    meta: {
        referrer: true,
        terms: true,
        ref_url: true,
        url: true,
        url_params: false
    },
   =20
    events: {
        enabled: true,
        id: true,
        codes: {
            purchase: 800,
            items: 801,
            dollars: 802,
            followup: 803,
            information: 804,
            content: 805
        },
        pd: 7,
        custom: {
            purchase: {
                enabled: true,
                repeat: false,
                source: 'url',
                patterns: ['/shop/buyflow2/OrderProgress', =
'/SinglePayment.aspx', '/AutoPay.aspx']
            }
        }
    },
   =20
    pool: 100,
   =20
    previous: false,
   =20
    analytics: {
        google: false
    },
   =20
    mode: 'first-party',
   =20
    cpps: {
        OrderProgress: {
            source: 'url',
            init: 'no',
            patterns: [{
                regex: '/shop/buyflow2/OrderProgress',
                value: 'yes'
            }]
        },
        SinglePayment: {
            source: 'url',
            init: 'no',
            patterns: [{
                regex: '/SinglePayment.aspx',
                value: 'yes'
            }]
        },
        AutoPay: {
            source: 'url',
            init: 'no',
            patterns: [{
                regex: '/AutoPay.aspx',
                value: 'yes'
            }]
        }
    }
};

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://nexus.ensighten.com/comcastres/Bootstrap.js

var =
ensightenOptions=3D{client:"comcastres",clientId:130,ns:"Bootstrapper",ne=
xus:"nexus.ensighten.com"};=0A=
=0A=
if ( ensightenOptions && !window[ensightenOptions.ns] ) {=0A=
	=
eval(function(p,a,c,k,e,r){e=3Dfunction(c){return(c<a?'':e(parseInt(c/a))=
)+((c=3Dc%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace=
(/^/,String)){while(c--)r[e(c)]=3Dk[c]||e(c);k=3D[function(e){return =
r[e]}];e=3Dfunction(){return'\\w+'};c=3D1};while(c--)if(k[c])p=3Dp.replac=
e(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('8[j.l]=3D4(n){g =
7=3D{},5=3D{};7.3i=3D\'2.0.3\';7.L=3Dn.L||\'L.2j.2h\';7.n=3D{1M:n.1M||37,=
2c:n.2q||7.L+\'/11/e.28\',27:n.2r||7.L+\'/\'+n.1u+\'/2D.2M\',2X:n.32||7.L=
+\'/\'+n.1u+\'/E/\',26:n.2n||7.L+\'/2p/a.28\',1u:n.1u,1f:n.1f};7.K=3D[];7=
.23=3D[];7.1r=3D{};7.17=3D4(x){6(x.1a.G){9}D(g =
i=3D0;i<x.R.z;i++){6(x.R[i]()=3D=3D=3Do){9}}x.22()};5.Y=3D-1;5.21=3D[];5.=
1Z=3D[];5.2o=3D4(F){5.1W(8.1n.1I+\'//\'+7.n.27,o,(F||q))};5.2L=3D4(1c,1Q)=
{7.1r[1c]=3D1Q};5.2Y=3D4(1c){6(1c 2f 7.1r){9 7.1r[1c]}u{9 =
1x}};5.M=3D4(){D(g =
i=3D0;i<7.K.z;i++){7.17(7.K[i])}};5.y=3D{12:o,1g:o,1i:o};5.1j=3D4(C){h.22=
=3D4(){h.1a.G=3Dq;h.1a.1V.16(B =
14());5.Y=3Dh.k;N{h.E()}Q(V){8[j.l].P(V)}1T{5.M()}};h.k=3DC.k;h.R=3DC.R||=
[];h.E=3DC.E;h.1a=3D{G:o,1V:[]}};5.1w=3D4(x){6(5.1F(x.k)&&x.k!=3D=3D-1){9=
 o}u{7.K.16(x);5.M();9 q}};5.1F=3D4(k){D(g =
i=3D0;i<7.K.z;i++){6(7.K[i].k=3D=3D=3Dk){9 7.K[i]}}9 o};5.2A=3D4(k){g =
x=3D5.1F(k);6(x){9 x.1a.G}9 =
o};7.T=3D4(a){9((a.2H().z=3D=3D=3D2)?\'\':\'0\')+a};5.2K=3D4(C){g d=3DB =
14();g 1h=3Dd.2N()+\'-\'+7.T(d.2O())+\'-\'+7.T(d.2Q())+\' =
\'+7.T(d.2R())+\':\'+7.T(d.2S())+\':\'+7.T(d.2W());h.1E=3DC.1E||1;h.1h=3D=
1h;h.1D=3DC.1D||\'\';h.10=3DC.10||1;h.1C=3DC.1C||-1};5.3d=3D4(a){g =
m=3D8.1n.1I+"//"+7.n.26+"?d=3D"+a.1h+"&2l=3D"+a.1D+"&2m=3D"+a.1E+"&t=3D"+=
a.10+"&1o=3D"+a.1C;g W=3D5.1B(m);W.1A=3D(B =
14).1z();h.1Z.16(W)};5.P=3D4(e){e.1A=3DB 14().1z();7.23.16(e);g =
m=3D8.1n.1I+"//"+7.n.2c+"?2u=3D"+e.2w+\'&2y=3D\'+e.2z+\'&1G=3D\'+e.2B+\'&=
2C=3D\'+7.n.1f+\'&1o=3D\'+5.Y;g W=3D5.1B(m);W.1A=3D(B =
14).1z();h.21.16(W)};5.1B=3D4(m){g 1y=3DB 2E(0,0);1y.m=3Dm;9 =
1y};5.1W=3D4(m,I,F){g =
w=3DA.1J(\'19\'),i,s=3Dw[0];I=3DI||q;6(I){D(i=3D0;i<w.z;i++){6(w[i].m=3D=3D=
=3Dm&&w[i].r&&/J|Z/.17(w[i].r)){9}}}6(F){g U=3D\'\';6(H =
F=3D=3D=3D\'1e\'){g 1b;D(1b 2f =
F){6(F.36(1b))U+=3D(18(\'&\')+18(1b)+\'=3D\'+18(F[1b]))}U=3DU.38(3)}m+=3D=
(\'?39=3D\'+7.n.1f+\'&3b=3D\'+18(8.1n.3c)+(U?18(\'?\')+U:\'\'))}g =
p=3DA.1Y(\'19\');p.10=3D\'24/2d\';p.2e=3Dq;p.m=3Dm;p.1t=3Dp.2g=3D4(){6(h.=
X)h.r=3D\'J\'};s.1R.1S(p,s)};5.2t=3D4(m,1H,I){g =
w=3DA.1J(\'19\'),i,s=3Dw[0];I=3DI||q;6(I){D(i=3D0;i<w.z;i++){6(w[i].m=3D=3D=
=3Dm&&w[i].r&&/J|Z/.17(w[i].r)){N{1H()}Q(e){8[j.l].P(e)}1T{9}}}}g =
p=3DA.1Y(\'19\');p.10=3D\'24/2d\';p.2e=3Dq;p.m=3Dm;p.2g=3D4(){6(h.X)h.r=3D=
\'J\'};p.1t=3Dp.2v=3D4(){6((!h.r||h.r=3D=3D=3D\'Z\'||h.r=3D=3D=3D\'J\')){=
h.1t=3D1x;6(h.X)h.r=3D"J";N{1H.1U(h)}Q(e){8[j.l].P(e)}}};s.1R.1S(p,s)};5.=
2x=3D4(1p,1m,1G){N{g =
2k=3D(1p[1m])?1p[1m]:4(){};1p[1m]=3D4(){1G.1K(h,1k);9 =
2k.1K(h,1k)}}Q(V){8[j.l].P(V)}};5.20=3D4(f,k){9 =
4(){N{6(k){5.Y=3Dk}u{5.Y=3D\'20\'}f()}Q(V){8[j.l].P(V)}}};5.2F=3D4(1o){5.=
Y=3D1o};5.2G=3D4(f,k){g v;6(H f=3D=3D=3D\'4\'){v=3DB =
5.1j({k:k||-1,R:[4(){9 8[j.l].y.12}],E:f})}u 6(H =
f=3D=3D=3D\'1e\'){v=3Df}u{9 o}5.1w(v)};5.2I=3D4(f,k){g v;6(H =
f=3D=3D=3D\'4\'){v=3DB 5.1j({k:k||-1,R:[4(){9 8[j.l].y.1g}],E:f})}u 6(H =
f=3D=3D=3D\'1e\'){v=3Df}u{9 o}5.1w(v)};5.2J=3D4(f,k){g v;6(H =
f=3D=3D=3D\'4\'){v=3DB 5.1j({k:k||-1,R:[4(){9 8[j.l].y.1i}],E:f})}u 6(H =
f=3D=3D=3D\'1e\'){v=3Df}u{9 =
o}5.1w(v)};5.1q=3D4(){8[j.l].y.12=3Dq;8[j.l].M()};5.1L=3D4(){8[j.l].y.12=3D=
q;8[j.l].y.1g=3Dq;8[j.l].M()};5.25=3D4(){D(g =
b=3DA.1J("19"),a=3D0,c=3Db.z;a<c;a++){6(b[a].m.2P(/\\.2j\\.2h\\/(.+?)\\/E=
\\/.*/i)&&!("J"=3D=3Db[a].r||"Z"=3D=3Db[a].r)){1l(29.25,2a);9}}1l(4(){8[j=
.l].y.1i=3Dq;8[j.l].M()},1)};5.2T=3D4(){9 8[j.l].y.12};5.2U=3D4(){9 =
8[j.l].y.1g};5.2V=3D4(){9 8[j.l].y.1i};g 2b=3D4(){g S=3D[];g G=3Do;g =
1s=3Do;9{2Z:4(f){6(G&&!1s){f();9}6(H =
f!=3D"4"){9}S[S.z]=3Df},30:4(){1s=3Dq;31{g 1N=3DS;S=3D[];G=3Dq;D(g =
i=3D0;i<1N.z;i++){N{1N[i].1U(8)}Q(e){29.P(e)}}}33(S.z>0);1s=3Do},34:4(){9=
 G}}};5.35=3D4(){9 2b()};7.1O=3D1x;(4(){4 c(a,b){9 =
4(){a.1K(b,1k)}}6(!8.1P)8.1P=3D{};g a=3D8.1P;6(!a.O)6(8.2i){g =
b=3D2i.3a();a.O=3Dc(b.13,b);a.1d=3Dc(b.1d,b);a.13=3Dc(b.13,b);a.1v=3Dc(b.=
1v,b);a.11=3Dc(b.11,b)}u =
a.O=3D4(){};6(!a.1d)a.1d=3Da.O;6(!a.13)a.13=3Da.O;6(!a.1v)a.1v=3Da.O;6(!a=
.11)a.11=3Da.O})();6(A.X){6((3e.3f.3g(\'3h/\')>-1)){7.1O=3D8.1X(4(){6(/J|=
Z/.17(A.r)){3j(7.1O);5.1q()}},2a)}u{A.X("3k",5.1q,o)}8.X("3l",5.1L,o)}u{1=
l(4(){g =
d=3D8.A;(4(){N{6(!A.3m)3n"3o";d.3p.3q(\'3r\')}Q(e){1l(1k.3s,15);9}8[j.l].=
1q()})()},1);8.2s(\'1t\',4(){8[j.l].1L()})}8.1X(5.M,7.n.1M);9 =
5}(j);',62,215,'||||function|_public|if|_private|window|return|||||||var|=
this||ensightenOptions|id|ns|src|options|false|newScript|true|readyState|=
||else|newRule|scripts|rule|executionState|length|document|new|params|for=
|code|addData|hasRun|typeof|dedupe|loaded|ruleList|nexus|testAll|try|log|=
reportException|catch|dependencies|funcs|toTwoChar|appendParams|err|img|a=
ddEventListener|currentRuleId|complete|type|error|DOMParsed|info|Date||pu=
sh|test|encodeURIComponent|script|executionData|key|name|debug|object|cli=
entId|DOMLoaded|date|conditionalRules|Rule|arguments|setTimeout|event|loc=
ation|rid|element|callOnDOMParsed|ensightenVariables|running|onload|clien=
t|warn|registerRule|null|transmit|getTime|timestamp|imageRequest|ruleId|s=
ubject|severity|getRule|fn|callback|protocol|getElementsByTagName|apply|c=
allOnDOMLoaded|interval|toRun|timer|console|value|parentNode|insertBefore=
|finally|call|runTime|insertScript|setInterval|createElement|reportedAler=
ts|anonymous|reportedErrors|execute|exceptionList|text|callOnPageSpecific=
Completion|alLoc|scLoc|gif|Bootstrapper|50|fArray|erLoc|javascript|async|=
in|onerror|com|log4javascript|ensighten|old|su|se|alertLocation|getServer=
Component|alerts|errorLocation|serverComponentLocation|attachEvent|loadSc=
riptCallback|msg|onreadystatechange|message|unobtrusiveAddEvent|lnn|lineN=
umber|hasRuleRun|fileName|cid|serverComponent|Image|setCurrentRuleId|bind=
DOMParsed|toString|bindDOMLoaded|bindPageSpecificCompletion|Alert|setVari=
able|php|getFullYear|getMonth|match|getDate|getHours|getMinutes|hasDOMPar=
sed|hasDOMLoaded|hasPageSpecificCompletion|getSeconds|sjPath|getVariable|=
add|exec|do|staticJavscriptPath|while|haveRun|new_fArray|hasOwnProperty|1=
00|slice|ClientID|getDefaultLogger|PageID|href|generateAlert|navigator|us=
erAgent|indexOf|AppleWebKit|version|clearInterval|DOMContentLoaded|load|b=
ody|throw|continue|documentElement|doScroll|left|callee'.split('|'),0,{})=
);=0A=
	=0A=
try{Bootstrapper.setCurrentRuleId(7943);var =
init=3Dtrue;;}catch(e){Bootstrapper.reportException(e);}Bootstrapper.glob=
alRuleList=3D'7943';=0A=
	Bootstrapper.getServerComponent();=0A=
}=0A=

------=_NextPart_000_0000_01CDA7E5.AF948CF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.comcast.com/Includes/omniture/s_code.js

/***TouchCommerce Listeners
*=20
* Code below to capture event listeners as outlined by TouchCommerce in
* prop54 (Proactive Chat Group),prop55 (Proactive Chat Targeted), prop56 =
(Proactive Chat Exposed)
* To capture interacted whe will use event40.
*=20
****/

var chatLaunchedListener =3D {
    onChatLaunched: function (evt) {
        s.prop56 =3D 'tc:exposed';
        s.linkTrackVars =3D 'prop56,prop55,prop54';
        s.linkType =3D 'o';
        s.linkName =3D 'TC:Chat Exposed Assignment';
        s.lnk =3D true;
        s.t();
    }
};

var groupAssignmentListener =3D {
    onGroupAssignment: function (evt) {
        s.prop54 =3D 'tc:' + evt.group.toString().toLowerCase();
        s.linkTrackVars =3D 'prop54';
        s.linkType =3D 'o';
        s.linkName =3D 'TC:Chat Group Assignment';
        s.lnk =3D true;
        s.t();
    }
};

var targetedListener =3D {
    onTargeted: function (evt) {
        s.prop55 =3D 'tc:' + evt.group.toString().toLowerCase() + =
':targeted';
        s.prop54 =3D 'tc:' + evt.group.toString().toLowerCase();
        s.linkTrackVars =3D 'prop55,prop54';
        s.linkType =3D 'o';
        s.linkName =3D 'TC:Chat Targeted Assignment';
        s.lnk =3D true;
        s.t();
    }
};

var saleLandingListener =3D {
    onSaleEvent: function (evt) {
        s.linkTrackVars =3D 'prop54,prop55,prop56,events';
        s.linkTrackEvents =3D 'event40';
        s.events =3D 'event40';
        s.linkType =3D 'o';
        s.linkName =3D 'TC:Chat Interacted';
        s.lnk =3D true;
        s.t();
    }
};

if (typeof (InqRegistry) =3D=3D 'undefined') {
    var InqRegistry =3D { chatListeners: [chatLaunchedListener],
        incrementalityListeners: [groupAssignmentListener, =
targetedListener],
        saleListeners: [saleLandingListener]
    };
}
else // TC already initialized this variable, so append to the existing =
listeners.
{
    var chatEventListeners =3D [chatLaunchedListener];
    var incrementalityEventListeners =3D [groupAssignmentListener, =
targetedListener];
    var saleEventListeners =3D [saleLandingListener];

    if (typeof (InqRegistry.chatListeners) !=3D 'undefined') {
        for (counter =3D 0; counter < InqRegistry.chatListeners.length; =
counter++) {
            chatEventListeners.push(InqRegistry.chatListeners[counter]);
        }
    }

    if (typeof (InqRegistry.incrementalityListeners) !=3D 'undefined') {
        for (counter =3D 0; counter < =
InqRegistry.incrementalityListeners.length; counter++) {
            =
incrementalityEventListeners.push(InqRegistry.incrementalityListeners[cou=
nter]);
        }
    }

    if (typeof (InqRegistry.saleListeners) !=3D 'undefined') {
        for (counter =3D 0; counter < InqRegistry.saleListeners.length; =
counter++) {
            saleEventListeners.push(InqRegistry.saleListeners[counter]);
        }
    }


    InqRegistry =3D { chatListeners: chatEventListeners,
        incrementalityListeners: incrementalityEventListeners,
        saleListeners: saleEventListeners
    };
}

/* SiteCatalyst code version: H.24.4.
Copyright 1996-2010 Adobe, Inc. All Rights Reserved
More info available at http://www.omniture.com */
//Updated on 08-22-2012

/* Specify the Report Suite ID(s) to track here */
var s_account =3D "comcastdotcomqa";  //qa environment, staging =
environment
if (location.href.indexOf('localhost') > -1) s_account =3D =
"comcastdotcomdev";    //local environment
if (location.href.indexOf('ccqa4') > -1 ||
	location.href.indexOf('ccperf') > -1 ||
	location.href.indexOf('ccpfix') > -1 ||
    location.href.indexOf('ccbeta') > -1 ||
    location.href.indexOf('qa-3.comcast.com') > -1 ||
    location.href.indexOf('qa-2.comcast.com') > -1 ||
    location.href.indexOf('qa-1.comcast.com') > -1 ||
    location.href.indexOf('qa-4.comcast.com') > -1 ||
    location.href.indexOf('qa-5.comcast.com') > -1 ||
    location.href.indexOf('dev.comcast.com') > -1 ||
    location.href.indexOf('stage-user-comcastcom.cable.comcast.com') > =
-1 ||
    location.href.indexOf('wcstg.comcast.com') > -1 ||
    location.href.indexOf('verify.comcast.com') > -1) {

    s_account =3D "comcastdotcomqa";  //qa environment, staging =
environment
}
else if (location.href.indexOf('.comcast.com') > -1 ||
		 location.href.indexOf('comcast.convergentcare.com') > -1 ||
		 location.href.indexOf('comcastvoices.com') > -1 ||
		 location.href.indexOf('mylocalcomcast.com')) {

    s_account =3D "comcastdotcomprod";    //production environment
}

if (location.href.match('xfinity.com')) {
    if (location.host.match(/(local|dev)\.xfinity\.com/)) {
        s_account =3D 'comcastdotcomdev';
    } else if =
(location.host.match(/(staging|load\.qa|sprint\.qa|mr\.qa|cima\.qa)\.xfin=
ity\.com/)) {
        s_account =3D 'comcastdotcomqa';
    } else {
        s_account =3D 'comcastdotcomprod';
    }
}

var s =3D s_gi(s_account)
/************************** CONFIG SECTION **************************/
s.currencyCode =3D "USD"
s.charSet =3D "UTF-8"
s.trackDownloadLinks =3D true
s.trackExternalLinks =3D true
s.trackInlineStats =3D true
s.linkDownloadFileTypes =3D =
"exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls"
//any edits to the s.linkInternalFilters will need a change in the =
s_account variable setting as done above
s.linkInternalFilters =3D =
"javascript:,comcast.com,comcast.convergentcare.com,comcastvoices.com,loc=
alhost,cc01user,cc02user,stage-user-comcastcom,comcomdev02.bos3.fastsearc=
h.net,comcomstg.bos3.fastsearch.net,xfinity.com,comcastsupport.com"
s.linkLeaveQueryString =3D false
s.linkTrackVars =3D "prop24,prop17"
s.linkTrackEvents =3D "None"

/*Form Analysis configuration Variables */
s.formList =3D "Main,QASet,CustInfoForm,ProInstallForm,form1" /*Make =
sure that you have correct form names here*/
s.trackFormList =3D true
s.trackPageName =3D true
s.useCommerce =3D true
s.varUsed =3D "eVar8"
s.eventList =3D "event2" //Abandon

/* Get Page name Variables */
s.siteID =3D ""            // leftmost value in pagename
s.defaultPage =3D ""       // filename to add when none exists
s.queryVarsList =3D ""     // query parameters to keep
s.pathExcludeDelim =3D ";" // portion of the path to exclude
s.pathConcatDelim =3D " - "   // page name component separator
s.pathExcludeList =3D ""   // elements to exclude from the path

/*channel Manager */
s._channelParameter =3D "DFA|dfaid>Email Marketing|MID"
s._channelPattern =3D "Affiliate|AFC>Banner Ad|BAC>Classified =
Ad|CAC>Direct Mail|DMC>Email =
Marketing|EMC>EXT-Internal|ILC>Keyword|KNC>Keyword|CMC>PURL|BE"

/* Passing CustomerID to the Foresee Results Page */
if (typeof (ForeSee) !=3D "undefined") {
    var userId =3D GetCookie('UserID');
    if (userId !=3D "" && userId !=3D "undefined") {
        ForeSee.CPPS.fsr$set('CustomerID', userId);
    }
}

s.addToCart =3D function (p, i) {
    var s =3D this;
    s.events =3D i > 0 ? "scAdd" : "scAdd,scOpen";
    s.products =3D ";" + p;
    s.linkTrackVars =3D "events,products";
    s.linkTrackEvents =3D s.events;
    s.tl(true, "o", "Add to Cart");
};

s.removeFromCart =3D function (p) {
    var s =3D this;
    s.events =3D "scRemove";
    s.products =3D ";" + p;
    s.linkTrackVars =3D "events,products";
    s.linkTrackEvents =3D s.events;
    s.tl(true, "o", "Remove From Cart");
};

/* Passing CustomerID to the Foresee Results Page */
function queryString(name) {
    var fullQueryString =3D window.location.search.substring(1);
    var checkQueryString =3D unescape(fullQueryString);
    if (checkQueryString !=3D fullQueryString) {
        fullQueryString =3D checkQueryString;
    }
    var splitQueryString =3D fullQueryString.split("&");
    for (i =3D 0; i < splitQueryString.length; i++) {
        var nameValuePair =3D splitQueryString[i].split("=3D");
        if (nameValuePair[0].toLowerCase() =3D=3D name.toLowerCase()) {
            return nameValuePair[1];
        }
    }
}

//function to get Page Name
function GetPageName(location) {
    var pageURL =3D location;
    var httpProtocol =3D "http://";
    var httpsProtocol =3D "https://";

    var startPosition =3D httpProtocol.length;
    var index =3D pageURL.indexOf(httpProtocol);
    if (index < 0) {
        index =3D pageURL.indexOf(httpsProtocol);
        startPosition =3D httpsProtocol.length;
    }
    if (index < 0)
        return;

    pageURL =3D pageURL.substring(index + startPosition);
    pageURL =3D pageURL.substring(pageURL.indexOf("/"));

    var pageNameResult =3D pageURL.split("/");   // split the directory =
first
    var finalPageNameResult =3D "";

    if (pageNameResult.length > 0) {
        var i =3D 0;
        for (i =3D 0; i < pageNameResult.length; i++) {
            if (pageNameResult[i] !=3D "") {
                if (pageNameResult[i].indexOf(".") !=3D -1) {   // if =
there are "."
                    var temp =3D pageNameResult[i].split(".");
                    finalPageNameResult +=3D temp[0] + " - ";
                }
                else {
                    finalPageNameResult +=3D pageNameResult[i] + " - ";
                }
            }
        }
        if (finalPageNameResult !=3D "") {
            finalPageNameResult =3D finalPageNameResult.substring(0, =
finalPageNameResult.length - 2).toLowerCase();
        }
    }
    return finalPageNameResult;
}

/* DynamicObjectIDs config */
function s_getObjectID(o) {
    var ID =3D o.href;
    return ID;
}
s.getObjectID =3D s_getObjectID

/* Plugin Config */
s.usePlugins =3D true

function s_doPlugins(s) {

    /* Allant integration testing */
    s.eVar51 =3D s.getQueryParam('mid'); //allant link ID
    s.eVar52 =3D s.getQueryParam('rid'); //allant recipient ID
    s.campaign =3D s.eVar53 =3D (s.eVar51 + '').substring(0, =
s.eVar51.indexOf('^')); //trim to get message ID

    s.eVar54 =3D s.getQueryParam('IQ_ID');
    s.eVar55 =3D s.crossVisitParticipation(s.eVar54, 's_iqid', '30', =
'6', '>', 'purchase');
    s.eVar66 =3D s.getQueryParam('TargetId'); // Targetted IDs

    var _buyflow_events =3D ['event17', 'event18', 'event19', 'event34', =
'event35', 'event36', 'event37', 'event39'];
    var _ev =3D (s.events + '').split(',');
    s.events =3D '';
    for (var _i =3D 0; _i < _ev.length; _i++) {
        for (var _n =3D 0; _n < _buyflow_events.length; _n++) {
            if (_ev[_i] =3D=3D _buyflow_events[_n]) {
                _ev[_i] +=3D s.purchaseID ? (':' + s.purchaseID) : '';
            }
        }
        s.events +=3D _ev[_i] + ',';
    }
    s.events =3D s.events.substring(0, s.events.length - 1);


    /* If no PageName, here is the default */
    if (!s.pageType && !s.pageName) {
        s.pageName =3D s.getPageName();
        s.periodStart =3D s.pageName.indexOf('.');
        s.pageName =3D s.pageName.substring(0, s.periodStart);
    }
    s.pageName =3D s.pageName.toLowerCase();

    /*Do not move eVar31 from this location. eVar31 must be set before =
anything else*/
    s.eVar31 =3D "D=3DpageName";
    s.eVar37 =3D "D=3DpageName";

    /* get the search terms (if they are not already set */
    if (!s.eVar41) s.eVar41 =3D s.getQueryParam('q')
    if (s.eVar41) {
        s.eVar41 =3D s.prop41 =3D s.eVar41.toLowerCase();

        /*Internal Search Tracking : Search Refinement */
        s.eVar5 =3D s.crossVisitParticipation(s.prop41, 's_v5', '1', =
'10', '|', '');

        s.prop41 =3D "D=3Dv41";
        s.t_search =3D s.getValOnce(s.eVar41, 'ev41', 0);
        s.eVar42 =3D 'D=3D"' + s.eVar42 + ' : "+v41';

        if (s.events.indexOf("event9") > -1) s.events =3D =
s.repl(s.events, ",event9", "");

        /*Handles multiple tabbed search tracking*/
        if (s.t_search) s.events =3D s.apl(s.events, "event9,event10", =
",", 2);

        if (!s.t_search) s.events =3D s.apl(s.events, "event10", ",", =
2);
    }

    s._searchTerms =3D s.getAndPersistValue(s.eVar41, 'stc18', 0);
    if (!s.prop18 && s._searchTerms) s.prop18 =3D 'D=3D"' + =
s._searchTerms + ' - "+ pageName';

    /* FormAnalysis 2.0	*/
    s.setupFormAnalysis();

    /* Set Page View Event */
    s.events =3D s.apl(s.events, 'event11', ',', 2);

    /* Campaign Pathing */
    if (s.campaign) { s.prop15 =3D 'D=3Dv0+":"+pageName'; }
    else { s.prop15 =3D "D=3DpageName" }

    /* To setup Dynamic Object IDs */
    s.setupDynamicObjectIDs();

    /* Channel Stacking and treat natural search as a campaign*/
    s.channelManager('cmp,dfaid,mid', '', '0');


    if (s._channel =3D=3D "Paid Non-Search") { s._channel =3D =
s._campaign.substring(0, 3) }

    if (!s.campaign && s._channel =3D=3D "Natural Search") s.campaign =
=3D s._campaign + " organic"
    if (!s.campaign) s.campaign =3D s._campaignID
    //Need N/A for consistent keyword reporting/allocation
    if (s.campaign) s.eVar17 =3D s._keywords;

    /*Internal Link Tracking*/
    if (!s.eVar45) s.eVar45 =3D s.getQueryParam('intcmp')
    s.eVar45 =3D s.getValOnce(s.eVar45, "s_v45", 0)

    //clear out channel if internal or external
    if (s.eVar45) { s._channel =3D "" }
    if (s._channel && s._channel.toString().toLowerCase() =3D=3D =
"external") { s._channel =3D "" }

    /*This uses the crossVisitParticipation plugin for channel =
stacking*/
    s.eVar9 =3D s.crossVisitParticipation(s._channel, 's_cpm', '30', =
'6', '>', 'purchase');

    /* entry bounce rate tracking for campaigns */
    s.clickThruQuality2('event20', 'event21')

    /*Call to TNT integration Plugin*/
    s.tnt =3D s.trackTNT();

    /*This will be used for all tracking, not just legacy buyflow*/
    if (s.prop7) { s.prop22 =3D 'D=3DpageName+"-"+c7'; }

    //Category
    if (!s.eVar32 && s.prop32) s.eVar32 =3D "D=3Dc32";
    if (s.eVar32 && !s.prop32) s.prop32 =3D "D=3Dv32";

    if (s.eVar32 && s.prop32) {
        if (s.eVar32 =3D=3D=3D s.prop32) s.eVar32 =3D "D=3Dc32";
    }

    //Site
    s.prop33 =3D "comcast.com"
    s.eVar33 =3D "D=3Dc33";

    //Section
    if (!s.eVar34 && !s.prop34 && s.channel) s.eVar34 =3D s.prop34 =3D =
"D=3Dch";
    if (s.eVar34 && !s.prop34 && !s.channel) s.channel =3D s.prop34 =3D =
"D=3Dv34";
    if (!s.eVar34 && s.prop34 && !s.channel) s.channel =3D s.eVar34 =3D =
"D=3Dc34";

    if (s.eVar34 && s.prop34 && !s.channel) s.channel =3D "D=3Dc34";
    if (!s.eVar34 && s.prop34 && s.channel) s.eVar34 =3D "D=3Dc34";
    if (s.eVar34 && !s.prop34 && s.channel) s.prop34 =3D "D=3Dch";

    if (s.eVar34 && s.prop34) {
        if (s.eVar34 =3D=3D s.prop34 && !(s.eVar34.indexOf('D=3D') > =
-1)) s.eVar34 =3D "D=3Dc34";
    }

    //Sub Section
    if (!s.eVar35 && s.prop35) s.eVar35 =3D "D=3Dc35";
    if (s.eVar35 && !s.prop35) s.prop35 =3D "D=3Dv35";

    if (s.eVar35 && s.prop35) {
        if (s.eVar35 =3D=3D=3D s.prop35) s.eVar35 =3D "D=3Dc35";
    }

    //Page Type
    if (!s.eVar36 && s.prop36) s.eVar36 =3D "D=3Dc36";
    if (s.eVar36 && !s.prop36) s.prop36 =3D "D=3Dv36";

    if (s.eVar36 && s.prop36) {
        if (s.eVar36 =3D=3D=3D s.prop36) s.eVar36 =3D "D=3Dc36";
    }

    //Copy and dynamically shorten other props to eVars
    if (!s.eVar2 && s.prop2) s.eVar2 =3D "D=3Dc2";
    if (s.eVar2 && s.prop2) {
        if (s.eVar2 =3D=3D=3D s.prop2) s.eVar2 =3D "D=3Dc2";
    }
    if (!s.eVar4 && s.prop4) s.eVar4 =3D "D=3Dc4";
    if (!s.eVar11 && s.prop8) s.eVar11 =3D "D=3Dc8";

    if (!s.eVar12 && s.prop10) s.eVar12 =3D "D=3Dc10";
    if (s.eVar12 && s.prop10) {
        if (s.eVar12 =3D=3D=3D s.prop10) s.eVar12 =3D "D=3Dc10";
    }

    if (!s.eVar13 && s.prop12) s.eVar13 =3D "D=3Dc12";

    if (!s.eVar10 && s.prop7) s.eVar10 =3D "D=3Dc7";

    if (s.eVar10 && s.prop7) {
        if (s.eVar10 =3D=3D=3D s.prop7) s.eVar10 =3D "D=3Dc7";
    }

    if (!s.eVar50 && s.prop50) s.eVar50 =3D "D=3Dc50";
    if (s.eVar50 && s.prop50) {
        if (s.eVar50 =3D=3D=3D s.prop50) s.eVar50 =3D "D=3Dc50";
    }

    //Partners
    s.prop37 =3D "com";

    /*Get and Persist Zip Code*/
    s.prop4 =3D s.eVar4 =3D s.getAndPersistValue(s.prop4, 'omzip', 0);

    /*set eVar7 to previous value if on a localization page*/
    var p_page =3D s.getPreviousValue(s.pageName, 'gpv_07', '');

    if (s.pageName.indexOf('localization') > -1) s.eVar7 =3D p_page;
    if (p_page.indexOf('localization') > -1) s.eVar7 =3D ""

    //Copy purchaseID to transactionID and prop21 then truncate to 20 =
characters
    if (s.purchaseID) {
        s.transactionID =3D s.purchaseID;
        s.prop21 =3D "D=3Dxact";
        s.purchaseID =3D (s.purchaseID + '').slice(0, 20)
    }

    if (p_page !=3D undefined && p_page) {
        if (s.eVar26) {
            s.eVar26 =3D p_page + ":" + s.eVar26;
        }
    }

    /*handles setting the proper external referrer for xfinity pages*/
    if (s.getQueryParam('xintcmp') && =
document.referrer.indexOf('xfinity.com') > -1) s.referrer =3D =
"externalxfinity"

    s.hier3 =3D "D=3DMYPORTAL";

    /* dedupe the traffic sources reports */
    s.referrer =3D s.dedupeReferrers();

    /*New Time Parting*/
    s.eVar43 =3D s.prop43 =3D s.TimeParting('h', '-5') + ' - ' + =
s.TimeParting('d', '-5') + ' - ' + s.TimeParting('w', '-5');


    /*Account for exit links not on xfinity.com*/
    if (!(document.URL.indexOf('xfinity.com') > -1)) {
        var url =3D =
s.linkHandler('business.comcast.com|comcast.net|fancast.com|comcastsuppor=
t.com', 'e');
        if (url.indexOf('business.comcast.com') > -1) s.linkName =3D =
"exit to business class link";
    }

    s.socialPlatforms('eVar58');
}
s.doPlugins =3D s_doPlugins

/************************** PLUGINS SECTION *************************/

/*
* Plugin: socialPlatforms v1.0
*/
s.socialPlatforms =3D new Function("a", ""
+ "var =
s=3Dthis,g,K,D,E,F;g=3Ds.referrer?s.referrer:document.referrer;g=3Dg."
+ =
"toLowerCase();K=3Ds.split(s.socPlatList,'|');for(i=3D0;i<K.length;i++){"=

+ =
"D=3Ds.split(K[i],'>');if(g.indexOf(D[0])!=3D-1){if(a){s[a]=3DD[1];}}}");=

s.socPlatList =3D =
"facebook.com>Facebook|twitter.com>Twitter|t.co/>Twitter|youtube.com>Yout=
ube|clipmarks.com>Clipmarks|dailymotion.com>Dailymotion|delicious.com>Del=
icious|digg.com>Digg|diigo.com>Diigo|flickr.com>Flickr|flixster.com>Flixs=
ter|fotolog.com>Fotolog|friendfeed.com>FriendFeed|google.com/buzz>Google =
Buzz|buzz.googleapis.com>Google =
Buzz|plus.google.com>Google+|hulu.com>Hulu|identi.ca>identi.ca|ilike.com>=
iLike|intensedebate.com>IntenseDebate|myspace.com>MySpace|newsgator.com>N=
ewsgator|photobucket.com>Photobucket|plurk.com>Plurk|slideshare.net>Slide=
Share|smugmug.com>SmugMug|stumbleupon.com>StumbleUpon|tumblr.com>Tumblr|v=
imeo.com>Vimeo|wordpress.com>WordPress|xanga.com>Xanga";

/* =20
 * socialAuthors v1.3
 */
s.socialAuthors=3Dnew Function("",""
+"var =
s=3Dthis,g,tco;g=3Ds.referrer?s.referrer:document.referrer;if(g.ind"
+"exOf('t.co/')!=3D-1){s.tco=3Descape(s.split(g,'/')[3]);s.Integrate.add(=
"
+"'SocialAuthor');s.Integrate.SocialAuthor.tEvar=3D'eVar59';s.Integrate"
+".SocialAuthor.get('search.twitter.com/search.json?var=3D[VAR]&"
+"callback=3Ds.twitterSearch&q=3Dhttp%3A%2F%2Ft.co%2F'+s.tco);s.Integrate=
"
+".SocialAuthor.delay();s.Integrate.SocialAuthor.setVars=3Dfunction(s,p"
+"){s[p.tEvar]=3Ds.user;}}");
s.twitterSearch=3Dnew Function("obj",""
+"var =
s=3Dthis,txt,txtRT,txtEnd,txtAuthor;txt=3Dobj.results[0].text;txtRT"
+"=3Dtxt.indexOf('RT @');if(txtRT!=3D-1){txtEnd=3Dtxt.indexOf(' =
',txtRT+4);"
+"txtAuthor=3Dtxt.substring(txtRT+4,txtEnd);s.user=3DtxtAuthor.replace(':=
"
+"','');}else{s.user=3Dobj.results[0].from_user;}s.Integrate.SocialAuth"
+"or.ready();");

/* Function - read combined cookies v 0.3*/
if (!s.__ccucr) {
    s.c_rr =3D s.c_r; s.__ccucr =3D true;
    s.c_r =3D new Function("k", ""
+ "var s=3Dthis,d=3Dnew =
Date,v=3Ds.c_rr(k),c=3Ds.c_rr('s_pers'),i,m,e;if(v)ret"
+ "urn v;k=3Ds.ape(k);i=3Dc.indexOf(' =
'+k+'=3D');c=3Di<0?s.c_rr('s_sess'):c;i=3D"
+ "c.indexOf(' =
'+k+'=3D');m=3Di<0?i:c.indexOf('|',i);e=3Di<0?i:c.indexOf(';'"
+ =
",i);m=3Dm>0?m:e;v=3Di<0?'':s.epa(c.substring(i+2+k.length,m<0?c.length:"=

+ =
"m));if(m>0&&m!=3De)if(parseInt(c.substring(m+1,e<0?c.length:e))<d.get"
+ =
"Time()){d.setTime(d.getTime()-60000);s.c_w(s.epa(k),'',d);v=3D'';}ret"
+ "urn v;");
}


/* Function - write combined cookies v 0.3*/
if (!s.__ccucw) {
    s.c_wr =3D s.c_w; s.__ccucw =3D true;
    s.c_w =3D new Function("k", "v", "e", ""
+ "this.new2 =3D true;"
+ "var s=3Dthis,d=3Dnew =
Date,ht=3D0,pn=3D's_pers',sn=3D's_sess',pc=3D0,sc=3D0,pv,sv,"
+ "c,i,t;d.setTime(d.getTime()-60000);if(s.c_rr(k)) =
s.c_wr(k,'',d);k=3Ds"
+ ".ape(k);pv=3Ds.c_rr(pn);i=3Dpv.indexOf(' =
'+k+'=3D');if(i>-1){pv=3Dpv.substr"
+ =
"ing(0,i)+pv.substring(pv.indexOf(';',i)+1);pc=3D1;}sv=3Ds.c_rr(sn);i=3Ds=
v"
+ ".indexOf(' =
'+k+'=3D');if(i>-1){sv=3Dsv.substring(0,i)+sv.substring(sv.i"
+ "ndexOf(';',i)+1);sc=3D1;}d=3Dnew =
Date;if(e){if(e.getTime()>d.getTime())"
+ "{pv+=3D' '+k+'=3D'+s.ape(v)+'|'+e.getTime()+';';pc=3D1;}}else{sv+=3D' =
'+k+'"
+ "=3D'+s.ape(v)+';';sc=3D1;}if(sc) =
s.c_wr(sn,sv,0);if(pc){t=3Dpv;while(t&&t"
+ ".indexOf(';')!=3D-1){var =
t1=3DparseInt(t.substring(t.indexOf('|')+1,t.i"
+ =
"ndexOf(';')));t=3Dt.substring(t.indexOf(';')+1);ht=3Dht<t1?t1:ht;}d.set"=

+ "Time(ht);s.c_wr(pn,pv,d);}return v=3D=3Ds.c_r(s.epa(k));");
}


/* Click Through Quality 2- (this has been altered to look for the=20
campaign variable instead of querystring parameters) */
s.clickThruQuality2 =3D new Function("tcth_ev", "cp_ev", "cff_ev", =
"cf_th", ""
+ "var s=3Dthis;if(s.p_fo('clickThruQuality')=3D=3D1){var =
ev=3Ds.events?s.even"
+ "ts+',':'';if(s.getQueryParam&&s.campaign){s.events=3Dev+tct"
+ "h_ev;if(s.c_r('cf')){var =
tct=3DparseInt(s.c_r('cf'))+1;s.c_w('cf',tct"
+ ",0);if(tct=3D=3Dcf_th&&cff_ev){s.events=3Ds.events+','+cff_ev;}}else =
{s.c"
+ "_w('cf',1,0);}}else =
{if(s.c_r('cf')>=3D1){s.c_w('cf',0,0);s.events=3Dev"
+ "+cp_ev;}}}");
s.p_fo =3D new Function("n", ""
+ "var s=3Dthis;if(!s.__fo){s.__fo=3Dnew =
Object;}if(!s.__fo[n]){s.__fo[n]=3D"
+ "new Object;return 1;}else {return 0;}");

/*
* channelManager v2.45 - Tracking External Traffic
*/
s.channelManager =3D new Function("a", "b", "c", "d", "e", "f", ""
+ "var =
s=3Dthis,A,B,g,l,m,M,p,q,P,h,k,u,S,i,O,T,j,r,t,D,E,F,G,H,N,U,v=3D0,"
+ "X,Y,W,n=3Dnew =
Date;n.setTime(n.getTime()+1800000);if(e){v=3D1;if(s.c_r("
+ =
"e))v=3D0;if(!s.c_w(e,1,n))s.c_w(e,1,0);if(!s.c_r(e))v=3D0;}g=3Ds.referre=
r"
+ =
"?s.referrer:document.referrer;g=3Dg.toLowerCase();if(!g)h=3D1;i=3Dg.inde=
x"
+ =
"Of('?')>-1?g.indexOf('?'):g.length;j=3Dg.substring(0,i);k=3Ds.linkInter"=

+ =
"nalFilters.toLowerCase();k=3Ds.split(k,',');l=3Dk.length;for(m=3D0;m<l;m=
+"
+ =
"+){B=3Dj.indexOf(k[m])=3D=3D-1?'':g;if(B)O=3DB;}if(!O&&!h){p=3Dg;U=3Dg.i=
ndexOf("
+ =
"'//');q=3DU>-1?U+2:0;Y=3Dg.indexOf('/',q);r=3DY>-1?Y:i;t=3Dg.substring(q=
,r)"
+ =
";t=3Dt.toLowerCase();u=3Dt;P=3D'Referrers';S=3Ds.seList+'>'+s._extraSear=
chE"
+ =
"ngines;if(d=3D=3D1){j=3Ds.repl(j,'oogle','%');j=3Ds.repl(j,'ahoo','^');g=
=3Ds."
+ =
"repl(g,'as_q','*');}A=3Ds.split(S,'>');T=3DA.length;for(i=3D0;i<A.length=
;"
+ =
"i++){D=3DA[i];D=3Ds.split(D,'|');E=3Ds.split(D[0],',');for(G=3D0;G<E.len=
gth"
+ ";G++){H=3Dj.indexOf(E[G]);if(H>-1){if(D[2])N=3Du=3DD[2];else =
N=3Dt;if(d=3D=3D1)"
+ "{N=3Ds.repl(N,'#',' - =
');g=3Ds.repl(g,'*','as_q');N=3Ds.repl(N,'^','ahoo'"
+ =
");N=3Ds.repl(N,'%','oogle');}i=3Ds.split(D[1],',');for(k=3D0;k<i.length;=
k"
+ =
"++){M=3Ds.getQueryParam(i[k],'',g).toLowerCase();if(M)break;}}}}}if(!"
+ "O||f!=3D'1'){O=3Ds.getQueryParam(a,b);if(O){u=3DO;if(M)P=3D'Paid =
Search';el"
+ "se P=3D'Paid Non-Search';}if(!O&&N){u=3DN;P=3D'Natural =
Search'}}if(h=3D=3D1&&"
+ "!O&&v=3D=3D1)u=3DP=3Dt=3Dp=3D'Direct =
Load';X=3DM+u+t;c=3Dc?c:'c_m';if(c!=3D'0'){X=3Ds.g"
+ =
"etValOnce(X,c,0);}g=3Ds._channelDomain;if(g&&X){k=3Ds.split(g,'>');l=3Dk=
."
+ =
"length;for(m=3D0;m<l;m++){q=3Ds.split(k[m],'|');r=3Ds.split(q[1],',');S=3D=
r"
+ =
".length;for(T=3D0;T<S;T++){Y=3Dr[T];Y=3DY.toLowerCase();i=3Dj.indexOf(Y)=
;if"
+ =
"(i>-1)P=3Dq[0];}}}g=3Ds._channelParameter;if(g&&X){k=3Ds.split(g,'>');l=3D=
k"
+ =
".length;for(m=3D0;m<l;m++){q=3Ds.split(k[m],'|');r=3Ds.split(q[1],',');S=
=3D"
+ =
"r.length;for(T=3D0;T<S;T++){U=3Ds.getQueryParam(r[T]);if(U)P=3Dq[0]}}}g=3D=
s"
+ =
"._channelPattern;if(g&&X){k=3Ds.split(g,'>');l=3Dk.length;for(m=3D0;m<l;=
m"
+ =
"++){q=3Ds.split(k[m],'|');r=3Ds.split(q[1],',');S=3Dr.length;for(T=3D0;T=
<S;"
+ =
"T++){Y=3Dr[T];Y=3DY.toLowerCase();i=3DO.toLowerCase();H=3Di.indexOf(Y);i=
f(H"
+ "=3D=3D0)P=3Dq[0];}}}if(X)M=3DM?M:N?'Keyword =
Unavailable':'n/a';p=3DX&&p?p:'';"
+ =
"t=3DX&&t?t:'';N=3DX&&N?N:'';O=3DX&&O?O:'';u=3DX&&u?u:'';M=3DX&&M?M:'';P=3D=
X&&P?"
+ =
"P:'';s._referrer=3Dp;s._referringDomain=3Dt;s._partner=3DN;s._campaignID=
=3D"
+ "O;s._campaign=3Du;s._keywords=3DM;s._channel=3DP;");
/* Top 130 Search Engines - Grouped */
s.seList =3D =
"altavista.co,altavista.de|q,r|AltaVista>.aol.,suche.aolsvc."
+ "de|q,query|AOL>ask.jp,ask.co|q,ask|Ask>www.baidu.com|wd|Baidu>daum."
+ "net,search.daum.net|q|Daum>google.,googlesyndication.com|q,as_q|Goo"
+ "gle>icqit.com|q|icq>bing.com|q|Bing>myway.com|searchfor|MyWay.com>n"
+ "aver.com,search.naver.com|query|Naver>netscape.com|query,search|Net"
+ "scape Search>reference.com|q|Reference.com>seznam|w|Seznam.cz>abcso"
+ "k.no|q|Startsiden>tiscali.it,www.tiscali.co.uk|key,query|Tiscali>vi"
+ "rgilio.it|qs|Virgilio>yahoo.com,yahoo.co.jp|p,va|Yahoo!>yandex|text"
+ "|Yandex.ru>search.cnn.com|query|CNN Web Search>search.earthlink.net"
+ "|q|Earthlink Search>search.comcast.net|q|Comcast Search>search.rr.c"
+ "om|qs|RoadRunner Search>optimum.net|q|Optimum Search";

/* Plugin: getPageName v2.1 - parse URL and return */
s.getPageName =3D new Function("u", ""
+ "var =
s=3Dthis,v=3Du?u:''+s.wd.location,x=3Dv.indexOf(':'),y=3Dv.indexOf('/',"
+ =
"x+4),z=3Dv.indexOf('?'),c=3Ds.pathConcatDelim,e=3Ds.pathExcludeDelim,g=3D=
s."
+ =
"queryVarsList,d=3Ds.siteID,n=3Dd?d:'',q=3Dz<0?'':v.substring(z+1),p=3Dv.=
sub"
+ =
"string(y+1,q?z:v.length);z=3Dp.indexOf('#');p=3Dz<0?p:s.fl(p,z);x=3De?p.=
i"
+ =
"ndexOf(e):-1;p=3Dx<0?p:s.fl(p,x);p+=3D!p||p.charAt(p.length-1)=3D=3D'/'?=
s.d"
+ =
"efaultPage:'';y=3Dc?c:'/';while(p){x=3Dp.indexOf('/');x=3Dx<0?p.length:x=
;"
+ =
"z=3Ds.fl(p,x);if(!s.pt(s.pathExcludeList,',','p_c',z))n+=3Dn?y+z:z;p=3Dp=
."
+ =
"substring(x+1)}y=3Dc?c:'?';while(g){x=3Dg.indexOf(',');x=3Dx<0?g.length:=
x"
+ =
";z=3Ds.fl(g,x);z=3Ds.pt(q,'&','p_c',z);if(z){n+=3Dn?y+z:z;y=3Dc?c:'&'}g=3D=
g.s"
+ "ubstring(x+1)}return n");


/* Utility Function: p_c */
s.p_c =3D new Function("v", "c", ""
+ "var x=3Dv.indexOf('=3D');return =
c.toLowerCase()=3D=3Dv.substring(0,x<0?v.le"
+ "ngth:x).toLowerCase()?v:0");


/* Plugin: getAndPersistValue 0.3 - get a value on every page */
s.getAndPersistValue =3D new Function("v", "c", "e", ""
+ "var s=3Dthis,a=3Dnew =
Date;e=3De?e:0;a.setTime(a.getTime()+e*86400000);if("
+ "v)s.c_w(c,v,e?a:0);return s.c_r(c);");


/* Plugin: setupLinkTrack 2.0 */
s.setupLinkTrack =3D new Function("vl", "c", ""
+ "var s=3Dthis;var =
l=3Ds.d.links,cv,cva,vla,h,i,l,t,b,o,y,n,oc,d=3D'';cv=3Ds."
+ =
"c_r(c);if(vl&&cv!=3D''){cva=3Ds.split(cv,'^^');vla=3Ds.split(vl,',');for=
("
+ "x in =
vla)s._hbxm(vla[x])?s[vla[x]]=3Dcva[x]:'';}s.c_w(c,'',0);if(!s.e"
+ "o&&!s.lnk)return =
'';o=3Ds.eo?s.eo:s.lnk;y=3Ds.ot(o);n=3Ds.oid(o);if(s.eo&"
+ =
"&o=3D=3Ds.eo){while(o&&!n&&y!=3D'BODY'){o=3Do.parentElement?o.parentElem=
ent"
+ ":o.parentNode;if(!o)return =
'';y=3Ds.ot(o);n=3Ds.oid(o);}for(i=3D0;i<4;i++"
+ =
")if(o.tagName)if(o.tagName.toLowerCase()!=3D'a')if(o.tagName.toLowerC"
+ =
"ase()!=3D'area')o=3Do.parentElement;}b=3Ds._LN(o);o.lid=3Db[0];o.lpos=3D=
b[1];"
+ =
"if(s.hbx_lt&&s.hbx_lt!=3D'manual'){if((o.tagName&&s._TL(o.tagName)=3D=3D=
'"
+ "area')){if(!s._IL(o.lid)){if(o.parentNode){if(o.parentNode.name)o.l"
+ "id=3Do.parentNode.name;else =
o.lid=3Do.parentNode.id}}if(!s._IL(o.lpos))"
+ =
"o.lpos=3Do.coords}else{if(s._IL(o.lid)<1)o.lid=3Ds._LS(o.lid=3Do.text?o.=
t"
+ "ext:o.innerText?o.innerText:'');if(!s._IL(o.lid)||s._II(s._TL(o.lid"
+ =
"),'<img')>-1){h=3D''+o.title?o.title:o.innerHTML;bu=3Ds._TL(h);i=3Ds._II=
(bu,'<img');if(bu"
+ "&&i>-1){eval(\"__f=3D/ src\s*=3D\s*[\'\\\"]?([^\'\\\" =
]+)[\'\\\"]?/i\")"
+ =
";__f.exec(h);if(RegExp.$1)h=3DRegExp.$1}o.lid=3Dh}}}h=3Do.href?o.href:''=
;"
+ =
"i=3Dh.indexOf('?');h=3Ds.linkLeaveQueryString||i<0?h:h.substring(0,i);l"=

+ =
"=3Ds.linkName?s.linkName:s._hbxln(h);t=3Ds.linkType?s.linkType.toLowerC"=

+ =
"ase():s.lt(h);oc=3Do.onclick?''+o.onclick:'';cv=3Ds.pageName+'^^'+o.lid"=

+ "+'^^'+s.pageName+' | '+(o.lid=3Do.lid?o.lid:'no =
&lid')+'^^'+o.lpos;if"
+ "(t&&(h||l)){cva=3Ds.split(cv,'^^');vla=3Ds.split(vl,',');for(x in =
vla)s"
+ "._hbxm(vla[x])?s[vla[x]]=3Dcva[x]:'';}else =
if(!t&&oc.indexOf('.tl(')<"
+ "0){s.c_w(c,cv,0);}else return ''");
s._IL =3D new Function("a", "var s=3Dthis;return =
a!=3D'undefined'?a.length:0");
s._II =3D new Function("a", "b", "c", "var s=3Dthis;return =
a.indexOf(b,c?c:0)"
);
s._IS =3D new Function("a", "b", "c", ""
+ "var s=3Dthis;return =
b>s._IL(a)?'':a.substring(b,c!=3Dnull?c:s._IL(a))");
s._LN =3D new Function("a", "b", "c", "d", ""
+ "var =
s=3Dthis;b=3Da.href;b+=3Da.name?a.name:'';c=3Ds._LVP(b,'lid');d=3Ds._LVP(=
"
+ "b,'lpos');r"
+ "eturn[c,d]");
s._LVP =3D new Function("a", "b", "c", "d", "e", ""
+ "var =
s=3Dthis;c=3Ds._II(a,'&'+b+'=3D');c=3Dc<0?s._II(a,'?'+b+'=3D'):c;if(c>-1)=
"
+ =
"{d=3Ds._II(a,'&',c+s._IL(b)+2);e=3Ds._IS(a,c+s._IL(b)+2,d>-1?d:s._IL(a)"=

+ ");return e}return ''");
s._LS =3D new Function("a", ""
+ "var =
s=3Dthis,b,c=3D100,d,e,f,g;b=3D(s._IL(a)>c)?escape(s._IS(a,0,c)):esca"
+ =
"pe(a);b=3Ds._LSP(b,'%0A','%20');b=3Ds._LSP(b,'%0D','%20');b=3Ds._LSP(b,'=
%"
+ =
"09','%20');c=3Ds._IP(b,'%20');d=3Ds._NA();e=3D0;for(f=3D0;f<s._IL(c);f++=
){g"
+ =
"=3Ds._RP(c[f],'%20','');if(s._IL(g)>0){d[e++]=3Dg}}b=3Dd.join('%20');ret=
u"
+ "rn unescape(b)");
s._LSP =3D new Function("a", "b", "c", "d", "var =
s=3Dthis;d=3Ds._IP(a,b);return d"
+ ".join(c)");
s._IP =3D new Function("a", "b", "var s=3Dthis;return a.split(b)");
s._RP =3D new Function("a", "b", "c", "d", ""
+ "var =
s=3Dthis;d=3Ds._II(a,b);if(d>-1){a=3Ds._RP(s._IS(a,0,d)+','+s._IS(a,d"
+ "+s._IL(b),s._IL(a)),b,c)}return a");
s._TL =3D new Function("a", "var s=3Dthis;return a.toLowerCase()");
s._NA =3D new Function("a", "var s=3Dthis;return new Array(a?a:0)");
s._hbxm =3D new Function("m", "var s=3Dthis;return =
(''+m).indexOf('{')<0");
s._hbxln =3D new Function("h", "var s=3Dthis,n=3Ds.linkNames;if(n)return =
s.pt("
+ "n,',','lnf',h);return ''");

/* Link Tracking*/
s.hbx_lt =3D "auto" // manual, auto
s.setupLinkTrack("prop17,prop24,,", "SC_LINKS");


/* Plugin: getQueryParam 2.3 */
s.getQueryParam =3D new Function("p", "d", "u", ""
+ "var =
s=3Dthis,v=3D'',i,t;d=3Dd?d:'';u=3Du?u:(s.pageURL?s.pageURL:s.wd.locati"
+ =
"on);if(u=3D=3D'f')u=3Ds.gtfs().location;while(p){i=3Dp.indexOf(',');i=3D=
i<0?p"
+ =
".length:i;t=3Ds.p_gpv(p.substring(0,i),u+'');if(t){t=3Dt.indexOf('#')>-"=

+ =
"1?t.substring(0,t.indexOf('#')):t;}if(t)v+=3Dv?d+t:t;p=3Dp.substring(i=3D=
"
+ "=3Dp.length?i:i+1)}return v");
s.p_gpv =3D new Function("k", "u", ""
+ "var =
s=3Dthis,v=3D'',i=3Du.indexOf('?'),q;if(k&&i>-1){q=3Du.substring(i+1);v"
+ "=3Ds.pt(q,'&','p_gvf',k)}return v");
s.p_gvf =3D new Function("t", "k", ""
+ "if(t){var =
s=3Dthis,i=3Dt.indexOf('=3D'),p=3Di<0?t:t.substring(0,i),v=3Di<0?'T"
+ "rue':t.substring(i+1);if(p.toLowerCase()=3D=3Dk.toLowerCase())return =
s."
+ "epa(v)}return ''");



/* Utility Function: split v1.5 - split a string (JS 1.0 compatible) */
s.split =3D new Function("l", "d", ""
+ "var i,x=3D0,a=3Dnew =
Array;while(l){i=3Dl.indexOf(d);i=3Di>-1?i:l.length;a[x"
+ "++]=3Dl.substring(0,i);l=3Dl.substring(i+d.length);}return a");


/* Plugin Utility: apl v1.1 */
s.apl =3D new Function("L", "v", "d", "u", ""
+ "var s=3Dthis,m=3D0;if(!L)L=3D'';if(u){var =
i,n,a=3Ds.split(L,d);for(i=3D0;i<a."
+ =
"length;i++){n=3Da[i];m=3Dm||(u=3D=3D1?(n=3D=3Dv):(n.toLowerCase()=3D=3Dv=
.toLowerCas"
+ "e()));}}if(!m)L=3DL?L+d+v:v;return L");


/* Plugin: getValOnce 0.2 -  */
s.getValOnce =3D new Function("v", "c", "e", ""
+ "var s=3Dthis,k=3Ds.c_r(c),a=3Dnew =
Date;e=3De?e:0;if(v){a.setTime(a.getTime("
+ ")+e*86400000);s.c_w(c,v,e?a:0);}return v=3D=3Dk?'':v");


/* Plugin: Form Analysis 2.1 (Abandonment) */
s.setupFormAnalysis =3D new Function(""
+ "var s=3Dthis;if(!s.fa){s.fa=3Dnew Object;var =
f=3Ds.fa;f.ol=3Ds.wd.onload;s."
+ =
"wd.onload=3Ds.faol;f.uc=3Ds.useCommerce;f.vu=3Ds.varUsed;f.vl=3Df.uc?s.e=
ven"
+ "tList:'';f.tfl=3Ds.trackFormList;f.fl=3Ds.formList;f.va=3Dnew =
Array('',''"
+ ",'','')}");
s.sendFormEvent =3D new Function("t", "pn", "fn", "en", ""
+ "var =
s=3Dthis,f=3Ds.fa;t=3Dt=3D=3D's'?t:'e';f.va[0]=3Dpn;f.va[1]=3Dfn;f.va[3]=3D=
t=3D=3D'"
+ "s'?'Success':en;s.fasl(t);f.va[1]=3D'';f.va[3]=3D'';");
s.faol =3D new Function("e", ""
+ "var s=3Ds_c_il[" + s._in + =
"],f=3Ds.fa,r=3Dtrue,fo,fn,i,en,t,tf;if(!e)e=3Ds.wd."
+ "event;f.os=3Dnew =
Array;if(f.ol)r=3Df.ol(e);if(s.d.forms&&s.d.forms.leng"
+ =
"th>0){for(i=3Ds.d.forms.length-1;i>=3D0;i--){fo=3Ds.d.forms[i];fn=3Dfo.n=
ame"
+ =
";tf=3Df.tfl&&s.pt(f.fl,',','ee',fn)||!f.tfl&&!s.pt(f.fl,',','ee',fn);"
+ =
"if(tf){f.os[fn]=3Dfo.onsubmit;fo.onsubmit=3Ds.faos;f.va[1]=3Dfn;f.va[3]=3D=
'"
+ "No Data =
Entered';for(en=3D0;en<fo.elements.length;en++){el=3Dfo.element"
+ "s[en];t=3Del.type;if(t&&t.toUpperCase){t=3Dt.toUpperCase();var =
md=3Del.on"
+ =
"mousedown,kd=3Del.onkeydown,omd=3Dmd?md.toString():'',okd=3Dkd?kd.toStri=
n"
+ "g():'';if(omd.indexOf('.fam(')<0&&okd.indexOf('.fam(')<0){el.s_famd"
+ =
"=3Dmd;el.s_fakd=3Dkd;el.onmousedown=3Ds.fam;el.onkeydown=3Ds.fam}}}}}f.u=
l=3Ds"
+ ".wd.onunload;s.wd.onunload=3Ds.fasl;}return r;");
s.faos =3D new Function("e", ""
+ "var s=3Ds_c_il[" + s._in + =
"],f=3Ds.fa,su;if(!e)e=3Ds.wd.event;if(f.vu){s[f.v"
+ "u]=3D'';f.va[1]=3D'';f.va[3]=3D'';}su=3Df.os[this.name];return =
su?su(e):tru"
+ "e;");
s.fasl =3D new Function("e", ""
+ "var s=3Ds_c_il[" + s._in + =
"],f=3Ds.fa,a=3Df.va,l=3Ds.wd.location,ip=3Ds.trackPag"
+ =
"eName,p=3Ds.pageName;if(a[1]!=3D''&&a[3]!=3D''){a[0]=3D!p&&ip?l.host+l.p=
ath"
+ "name:a[0]?a[0]:p;if(!f.uc&&a[3]!=3D'No Data =
Entered'){if(e=3D=3D'e')a[2]=3D"
+ "'Error';else if(e=3D=3D's')a[2]=3D'Success';else =
a[2]=3D'Abandon'}else a[2]"
+ "=3D'';var =
tp=3Dip?a[0]+':':'',t3=3De!=3D's'?':('+a[3]+')':'',ym=3D!f.uc&&a[3]"
+ "!=3D'No Data =
Entered'?tp+a[1]+':'+a[2]+t3:tp+a[1]+t3,ltv=3Ds.linkTrackV"
+ =
"ars,lte=3Ds.linkTrackEvents,up=3Ds.usePlugins;if(f.uc){s.linkTrackVars=3D=
"
+ =
"ltv=3D=3D'None'?f.vu+',events':ltv+',events,'+f.vu;s.linkTrackEvents=3Dl=
t"
+ =
"e=3D=3D'None'?f.vl:lte+','+f.vl;f.cnt=3D-1;if(e=3D=3D'e')s.events=3Ds.pt=
(f.vl,'"
+ ",','fage',2);else =
if(e=3D=3D's')s.events=3Ds.pt(f.vl,',','fage',1);else s"
+ =
".events=3Ds.pt(f.vl,',','fage',0)}else{s.linkTrackVars=3Dltv=3D=3D'None'=
?f."
+ "vu:ltv+','+f.vu}s[f.vu]=3Dym;s.usePlugins=3Dfalse;var faLink=3Dnew =
Object"
+ "();faLink.href=3D'#';s.tl(faLink,'o','Form =
Analysis');s[f.vu]=3D'';s.us"
+ "ePlugins=3Dup}if(typeof(e)!=3D'undefined'){return =
f.ul&&e!=3D'e'&&e!=3D's'?"
+ "f.ul(e):true;}else return true;");
s.fam =3D new Function("e", ""
+ "var s=3Ds_c_il[" + s._in + "],f=3Ds.fa;if(!e) e=3Ds.wd.event;var =
o=3Ds.trackLas"
+ =
"tChanged,et=3De.type.toUpperCase(),t=3Dthis.type.toUpperCase(),fn=3Dthis=
."
+ =
"form.name,en=3Dthis.name,sc=3Dfalse;if(document.layers){kp=3De.which;b=3D=
e."
+ =
"which}else{kp=3De.keyCode;b=3De.button}et=3Det=3D=3D'MOUSEDOWN'?1:et=3D=3D=
'KEYDOW"
+ =
"N'?2:et;if(f.ce!=3Den||f.cf!=3Dfn){if(et=3D=3D1&&b!=3D2&&'BUTTONSUBMITRE=
SETIM"
+ =
"AGERADIOCHECKBOXSELECT-ONEFILE'.indexOf(t)>-1){f.va[1]=3Dfn;f.va[3]=3De"=

+ "n;sc=3Dtrue}else =
if(et=3D=3D1&&b=3D=3D2&&'TEXTAREAPASSWORDFILE'.indexOf(t)>-1"
+ "){f.va[1]=3Dfn;f.va[3]=3Den;sc=3Dtrue}else =
if(et=3D=3D2&&kp!=3D9&&kp!=3D13){f.va["
+ =
"1]=3Dfn;f.va[3]=3Den;sc=3Dtrue}if(sc){nface=3Den;nfacf=3Dfn}}if(et=3D=3D=
1&&this.s"
+ "_famd)return this.s_famd(e);if(et=3D=3D2&&this.s_fakd)return =
this.s_fak"
+ "d(e);");
s.ee =3D new Function("e", "n", ""
+ "return =
n&&n.toLowerCase?e.toLowerCase()=3D=3Dn.toLowerCase():false;");
s.fage =3D new Function("e", "a", ""
+ "var s=3Dthis,f=3Ds.fa,x=3Df.cnt;x=3Dx?x+1:1;f.cnt=3Dx;return =
x=3D=3Da?e:'';");


/* Utility Function: vpr - set the variable vs with value v*/
s.vpr =3D new Function("vs", "v",
"if(typeof(v)!=3D'undefined'){var s=3Dthis; =
eval('s.'+vs+'=3D\"'+v+'\"')}");


/* Plugin Utility: Replace v1.0*/
s.repl =3D new Function("x", "o", "n", ""
+ "var =
i=3Dx.indexOf(o),l=3Dn.length;while(x&&i>=3D0){x=3Dx.substring(0,i)+n+x."=

+ "substring(i+o.length);i=3Dx.indexOf(o,i+l)}return x");


/*	Plug-in: crossVisitParticipation v1.5  */
s.crossVisitParticipation =3D new Function("v", "cn", "ex", "ct", "dl", =
"ev", "dv", ""
+ "var =
s=3Dthis,ce;if(typeof(dv)=3D=3D=3D'undefined')dv=3D0;if(s.events&&ev){var=
"
+ " ay=3Ds.split(ev,',');var ea=3Ds.split(s.events,',');for(var =
u=3D0;u<ay.l"
+ "ength;u++){for(var =
x=3D0;x<ea.length;x++){if(ay[u]=3D=3Dea[x]){ce=3D1;}}}}i"
+ "f(!v||v=3D=3D'')return '';v=3Descape(v);var arry=3Dnew =
Array(),a=3Dnew Array("
+ "),c=3Ds.c_r(cn),g=3D0,h=3Dnew =
Array();if(c&&c!=3D'')arry=3Deval(c);var e=3Dnew "
+ "Date();e.setFullYear(e.getFullYear()+5);if(dv=3D=3D0 && arry.length>0 =
&"
+ "& arry[arry.length-1][0]=3D=3Dv)arry[arry.length-1]=3D[v, new =
Date().getT"
+ "ime()];else arry[arry.length]=3D[v, new Date().getTime()];var =
start=3Da"
+ "rry.length-ct<0?0:arry.length-ct;var td=3Dnew Date();for(var =
x=3Dstart;"
+ "x<arry.length;x++){var =
diff=3DMath.round((td.getTime()-arry[x][1])/86"
+ =
"400000);if(diff<ex){h[g]=3Dunescape(arry[x][0]);a[g]=3D[arry[x][0],arry"=

+ "[x][1]];g++;}}var =
data=3Ds.join(a,{delim:',',front:'[',back:']',wrap:"
+ "\"'\"});s.c_w(cn,data,e);var r=3Ds.join(h,{delim:dl});if(ce) =
s.c_w(cn"
+ ",'');return r;");


/* s.join: 1.0 - s.join(v,p)*/
s.join =3D new Function("v", "p", ""
+ "var s =3D this;var =
f,b,d,w;if(p){f=3Dp.front?p.front:'';b=3Dp.back?p.back"
+ ":'';d=3Dp.delim?p.delim:'';w=3Dp.wrap?p.wrap:'';}var str=3D'';for(var =
x=3D0"
+ ";x<v.length;x++){if(typeof(v[x])=3D=3D'object' )str+=3Ds.join( =
v[x],p);el"
+ "se str+=3Dw+v[x]+w;if(x<v.length-1)str+=3Dd;}return f+str+b;");

/* DynamicObjectIDs v1.4: Setup Dynamic Object IDs based on URL*/
s.setupDynamicObjectIDs =3D new Function(""
+ "var =
s=3Dthis;if(!s.doi){s.doi=3D1;if(s.apv>3&&(!s.isie||!s.ismac||s.apv"
+ =
">=3D5)){if(s.wd.attachEvent)s.wd.attachEvent('onload',s.setOIDs);else"
+ " if(s.wd.addEventListener)s.wd.addEventListener('load',s.setOIDs,fa"
+ =
"lse);else{s.doiol=3Ds.wd.onload;s.wd.onload=3Ds.setOIDs}}s.wd.s_semapho"=

+ "re=3D1}");
s.setOIDs =3D new Function("e", ""
+ "var s=3Ds_c_il[" + s._in + =
"],b=3Ds.eh(s.wd,'onload'),o=3D'onclick',x,l,u,c,i"
+ ",a=3Dnew =
Array;if(s.doiol){if(b)s[b]=3Ds.wd[b];s.doiol(e)}if(s.d.links)"
+ =
"{for(i=3D0;i<s.d.links.length;i++){l=3Ds.d.links[i];c=3Dl[o]?''+l[o]:'';=
b"
+ =
"=3Ds.eh(l,o);z=3Dl[b]?''+l[b]:'';u=3Ds.getObjectID(l);if(u&&c.indexOf('s=
_"
+ =
"objectID')<0&&z.indexOf('s_objectID')<0){u=3Ds.repl(u,'\"','');u=3Ds.re"=

+ =
"pl(u,'\\n','').substring(0,97);l.s_oc=3Dl[o];a[u]=3Da[u]?a[u]+1:1;x=3D''=
;"
+ =
"if(c.indexOf('.t(')>=3D0||c.indexOf('.tl(')>=3D0||c.indexOf('s_gs(')>=3D=
0"
+ ")x=3D'var x=3D\".tl(\";';x+=3D's_objectID=3D\"'+u+'_'+a[u]+'\";return =
this."
+ =
"s_oc?this.s_oc(e):true';if(s.isns&&s.apv>=3D5)l.setAttribute(o,x);l[o"
+ "]=3Dnew Function('e',x)}}}s.wd.s_semaphore=3D0;return true");
/* TNT Integration Plugin v1.0*/
s.trackTNT =3D new Function("v", "p", "b", ""
+ "var =
s=3Dthis,n=3D's_tnt',p=3Dp?p:n,v=3Dv?v:n,r=3D'',pm=3Dfalse,b=3Db?b:true;i=
f(s."
+ =
"getQueryParam){pm=3Ds.getQueryParam(p);}if(pm){r+=3D(pm+',');}if(s.wd[v"=

+ "]!=3Dundefined){r+=3Ds.wd[v];}if(b){s.wd[v]=3D'';}return r;");

/* dedupe referrers */
s.dedupeReferrers =3D new Function("c", "b", ""
+ "var =
s=3Dthis,a,g,i,j,k,l,m,n,o;g=3Ds.referrer?s.referrer:document.refer"
+ =
"rer;g=3Dg.toLowerCase();if(g){i=3Dg.indexOf('?')>-1?g.indexOf('?'):g.le"=

+ =
"ngth;j=3Dg.substring(0,i);k=3Ds.linkInternalFilters.toLowerCase();k=3Ds.=
s"
+ =
"plit(k,',');l=3Dk.length;for(m=3D0;m<l;m++){n=3Dj.indexOf(k[m])>-1?g:'';=
i"
+ =
"f(n)o=3Dn}if(!o){c=3Dc?c:'_dr';b=3Db?b-1:'1';a=3Dg;a=3Ds.getValOnce(a,c,=
0);if"
+ "(a){return a}else{return k[b]}}}");

/*
* Plugin: getPreviousValue_v1.0 - return previous value of designated
*   variable (requires split utility)
*/
s.getPreviousValue =3D new Function("v", "c", "el", ""
+ "var s=3Dthis,t=3Dnew =
Date,i,j,r=3D'';t.setTime(t.getTime()+1800000);if(el"
+ "){if(s.events){i=3Ds.split(el,',');j=3Ds.split(s.events,',');for(x in =
i"
+ "){for(y in j){if(i[x]=3D=3Dj[y]){if(s.c_r(c)) =
r=3Ds.c_r(c);v?s.c_w(c,v,t)"
+ ":s.c_w(c,'no value',t);return r}}}}}else{if(s.c_r(c)) =
r=3Ds.c_r(c);v?"
+ "s.c_w(c,v,t):s.c_w(c,'no value',t);return r}");

/*Time Parting modified to report every minute*/
s.TimeParting =3D new Function("t", "z", ""
+ "var s=3Dthis,d,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T;d=3Dnew =
Date();A"
+ =
"=3Dd.getFullYear();if(A=3D=3D'2009'){B=3D'08';C=3D'01'}if(A=3D=3D'2010')=
{B=3D'14';C"
+ =
"=3D'07'}if(A=3D=3D'2011'){B=3D'13';C=3D'06'}if(A=3D=3D'2012'){B=3D'11';C=
=3D'04'}if(A=3D"
+ =
"=3D'2013'){B=3D'10';C=3D'03'}if(A=3D=3D'2014'){B=3D'09';C=3D'02'}if(!B||=
!C){B=3D'08"
+ "';C=3D'01'}B=3D'03/'+B+'/'+A;C=3D'11/'+C+'/'+A;D=3Dnew =
Date('1/1/2000');if("
+ "D.getDay()!=3D6||D.getMonth()!=3D0){return'Data Not =
Available'}else{z=3Dp"
+ "arseFloat(z);E=3Dnew Date(B);F=3Dnew Date(C);G=3DF;H=3Dnew =
Date();if(H>E&&H"
+ =
"<G){z=3Dz+1}else{z=3Dz};I=3DH.getTime()+(H.getTimezoneOffset()*60000);J=3D=
n"
+ "ew =
Date(I+(3600000*z));K=3D['Sunday','Monday','Tuesday','Wednesday','"
+ =
"Thursday','Friday','Saturday'];L=3DJ.getHours();M=3DJ.getMinutes();N=3DJ=
."
+ =
"getDay();O=3DK[N];P=3D'AM';Q=3D'Weekday';if(M<10){R=3D'0'+M}else{R=3DM}i=
f(L>=3D"
+ =
"12){P=3D'PM';L=3DL-12};if(L=3D=3D0){L=3D12};if(N=3D=3D6||N=3D=3D0){Q=3D'=
Weekend'}T=3DL+':"
+ "'+R+P;if(t=3D=3D'h'){return T}if(t=3D=3D'd'){return =
O}if(t=3D=3D'w'){return Q}}");

/*
* Utility Function: p_gh
*/
s.p_gh =3D new Function(""
+ "var s=3Dthis;if(!s.eo&&!s.lnk)return '';var =
o=3Ds.eo?s.eo:s.lnk,y=3Ds.ot("
+ =
"o),n=3Ds.oid(o),x=3Do.s_oidt;if(s.eo&&o=3D=3Ds.eo){while(o&&!n&&y!=3D'BO=
DY'){"
+ "o=3Do.parentElement?o.parentElement:o.parentNode;if(!o)return =
'';y=3Ds."
+ "ot(o);n=3Ds.oid(o);x=3Do.s_oidt}}return o.href?o.href:'';");

/*
* Plugin: linkHandler 0.5 - identify and report custom links
*/
s.linkHandler =3D new Function("p", "t", ""
+ "var =
s=3Dthis,h=3Ds.p_gh(),i,l;t=3Dt?t:'o';if(!h||(s.linkType&&(h||s.linkN"
+ "ame)))return =
'';i=3Dh.indexOf('?');h=3Ds.linkLeaveQueryString||i<0?h:h."
+ =
"substring(0,i);l=3Ds.pt(p,'|','p_gn',h.toLowerCase());if(l){s.linkNam"
+ "e=3Dl=3D=3D'[['?'':l;s.linkType=3Dt;return h;}return '';");
s.p_gn =3D new Function("t", "h", ""
+ "var =
i=3Dt?t.indexOf('~'):-1,n,x;if(t&&h){n=3Di<0?'':t.substring(0,i);x=3D"
+ "t.substring(i+1);if(h.indexOf(x.toLowerCase())>-1)return n?n:'[[';}"
+ "return 0;");

/*
* Utility Function: vpr - set the variable vs with value v
*/
s.vpr =3D new Function("vs", "v",
"if(typeof(v)!=3D'undefined'){var s=3Dthis; =
eval('s.'+vs+'=3D\"'+v+'\"')}");

/*
* Utility Function: split v1.5 - split a string (JS 1.0 compatible)
*/
s.split =3D new Function("l", "d", ""
+ "var i,x=3D0,a=3Dnew =
Array;while(l){i=3Dl.indexOf(d);i=3Di>-1?i:l.length;a[x"
+ "++]=3Dl.substring(0,i);l=3Dl.substring(i+d.length);}return a");

/*
* Plugin Utility: Replace v1.0
*/
s.repl =3D new Function("x", "o", "n", ""
+ "var =
i=3Dx.indexOf(o),l=3Dn.length;while(x&&i>=3D0){x=3Dx.substring(0,i)+n+x."=

+ "substring(i+o.length);i=3Dx.indexOf(o,i+l)}return x");

/************************** DFA VARIABLES **************************/
/* @TODO: Fill in these variables with the settings mapped in the=20
* DFA wizard and that match your desired preferences. Some of the=20
* variables are optional and have been labeled as such below. */

var dfa_CSID =3D '1516422'; // DFA Client Site ID
var dfa_SPOTID =3D '2199899'; // DFA Spotlight ID
var dfa_tEvar =3D 'eVar22'; // transfer variable, typically the "View =
Through" eVar.
var dfa_errorEvar =3D ''; // DFA error tracking (optional)
var dfa_timeoutEvent =3D ''; // Tracks timeouts/empty responses =
(optional)
var dfa_requestURL =3D =
"http://fls.doubleclick.net/json?spot=3D[SPOTID]&src=3D[CSID]&host=3Dinte=
grate.112.2o7.net%2Fdfa_echo%3Fvar%3D[VAR]%26AQE%3D1%26A2S%3D1&ord=3D[RAN=
D]"; // the DFA request URL
s.maxDelay =3D "750" // maximum time to wait for DFA, in milliseconds

var dfa_visitCookie =3D "s_dfa"; // The name of the visitor cookie to =
use to restrict DFA calls to once per visit.
var dfa_overrideParam =3D "CID"; // A query string paramter that will =
force the DFA call to occur.
var dfa_newRsidsProp; //=3D"prop34"; // Stores the new report suites =
that need the DFA tracking code. (optional)
/************************ END DFA Variables ************************/

s.loadModule("Integrate")
s.Integrate.onLoad =3D function (s,m) {

    s.socialAuthors();

    var dfaCheck =3D s.partnerDFACheck(dfa_visitCookie, =
dfa_overrideParam, dfa_newRsidsProp);
    if (dfaCheck) {
        s.Integrate.add("DFA");
        s.Integrate.DFA.tEvar =3D dfa_tEvar;
        s.Integrate.DFA.errorEvar =3D dfa_errorEvar;
        s.Integrate.DFA.timeoutEvent =3D dfa_timeoutEvent;
        s.Integrate.DFA.CSID =3D dfa_CSID;
        s.Integrate.DFA.SPOTID =3D dfa_SPOTID;
        s.Integrate.DFA.get(dfa_requestURL);
        s.Integrate.DFA.setVars =3D function (s, p) {
            if (window[p.VAR]) { // got a response
                if (!p.ec) { // no errors
                    s[p.tEvar] =3D "DFA-" + (p.lis ? p.lis : 0) + "-" + =
(p.lip ? p.lip : 0) + "-" + (p.lastimp ? p.lastimp : 0) + "-" + =
(p.lastimptime ? p.lastimptime : 0) + "-" + (p.lcs ? p.lcs : 0) + "-" + =
(p.lcp ? p.lcp : 0) + "-" + (p.lastclk ? p.lastclk : 0) + "-" + =
(p.lastclktime ? p.lastclktime : 0)
                } else if (p.errorEvar) { // got an error response, =
track
                    s[p.errorEvar] =3D p.ec;
                }
            } else if (p.timeoutEvent) { // empty response or timeout
                s.events =3D ((!s.events || s.events =3D=3D '') ? '' : =
(s.events + ',')) + p.timeoutEvent; // timeout event
            }
        }
    }
}

/*
* Partner Plugin: DFA Check 0.9 - Restrict DFA calls to once a visit,
* per report suite, per click through. Used in conjunction with VISTA
*/
s.partnerDFACheck =3D new Function("c", "src", "p", ""
+ "var s=3Dthis,dl=3D',',cr,nc,q,g,i,j,k,fnd,v=3D1,t=3Dnew =
Date,cn=3D0,ca=3Dnew Ar"
+ "ray,aa=3Dnew Array,cs=3Dnew =
Array;t.setTime(t.getTime()+1800000);cr=3Ds.c"
+ =
"_r(c);if(cr){v=3D0;}ca=3Ds.split(cr,dl);aa=3Ds.split(s.un,dl);for(i=3D0;=
i<a"
+ =
"a.length;i++){fnd=3D0;for(j=3D0;j<ca.length;j++){if(aa[i]=3D=3Dca[j]){fn=
d=3D1"
+ =
";}}if(!fnd){cs[cn]=3Daa[i];cn++;}}if(cs.length){for(k=3D0;k<cs.length;k"=

+ =
"++){nc=3D(nc?nc+dl:'')+cs[k];}cr=3D(cr?cr+dl:'')+nc;s.vpr(p,nc);v=3D1;}q=
=3D"
+ =
"s.wd.location.search.toLowerCase();q=3Ds.repl(q,'?','&');g=3Dq.indexOf("=

+ =
"'&'+src.toLowerCase()+'=3D');if(g>-1){s.vpr(p,cr);v=3D1;}if(!s.c_w(c,cr"=

+ ",t)){s.c_w(c,cr,0);}if(!s.c_r(c)){v=3D0;}return v>=3D1;");

/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
s.visitorNamespace =3D "comcastcom"
s.trackingServer =3D "serviceo.comcast.net"
s.trackingServerSecure =3D "serviceos.comcast.net"
s.dc =3D 112

/****************************** MODULES *****************************/
/* Module: Integrate */
s.m_Integrate_c=3D"var m=3Ds.m_i('Integrate');m.add=3Dfunction(n,o){var =
m=3Dthis,p;if(!o)o=3D's_Integrate_'+n;if(!m.s.wd[o])m.s.wd[o]=3Dnew =
Object;m[n]=3Dnew =
Object;p=3Dm[n];p._n=3Dn;p._m=3Dm;p._c=3D0;p._d=3D0;p.disable=3D0;p"
+".get=3Dm.get;p.delay=3Dm.delay;p.ready=3Dm.ready;p.beacon=3Dm.beacon;p.=
script=3Dm.script;m.l[m.l.length]=3Dn};m._g=3Dfunction(t){var =
m=3Dthis,s=3Dm.s,i,p,f=3D(t?'use':'set')+'Vars',tcf;for(i=3D0;i<m.l.lengt=
h;i++){p=3Dm[m."
+"l[i]];if(p&&!p.disable&&p[f]){if(s.apv>=3D5&&(!s.isopera||s.apv>=3D7)){=
tcf=3Dnew Function('s','p','f','var =
e;try{p[f](s,p)}catch(e){}');tcf(s,p,f)}else =
p[f](s,p)}}};m._t=3Dfunction(){this._g(1)};m._fu=3Dfunc"
+"tion(p,u){var m=3Dthis,s=3Dm.s,v,x,y,z,tm=3Dnew =
Date;if(u.toLowerCase().substring(0,4) !=3D =
'http')u=3D'http://'+u;if(s.ssl)u=3Ds.rep(u,'http:','https:');p.RAND=3DMa=
th&&Math.random?Math.floor(Math.random()*10000"
+"000000000):tm.getTime();p.RAND+=3DMath.floor(tm.getTime()/10800000)%10;=
x=3D0;while(x>=3D0){x=3Du.indexOf('[',x);if(x>=3D0){y=3Du.indexOf(']',x);=
if(y>x){z=3Du.substring(x+1,y);if(z.length>2&&z.substring(0,2)=3D=3D's."
+"'){v=3Ds[z.substring(2)];if(!v)v=3D''}else{v=3D''+p[z];if(!(v=3D=3Dp[z]=
||parseFloat(v)=3D=3Dp[z]))z=3D0}if(z)u=3Du.substring(0,x)+s.rep(escape(v=
),'+','%2B')+u.substring(y+1);x=3Dy}}}return =
u};m.get=3Dfunction(u,v){var p"
+"=3Dthis,m=3Dp._m;if(!p.disable){if(!v)v=3D's_'+m._in+'_Integrate_'+p._n=
+'_get_'+p._c;p._c++;p.VAR=3Dv;p._d++;m.s.loadModule('Integrate:'+v,m._fu=
(p,u),0,1,p._n)}};m.delay=3Dfunction(){var p=3Dthis;if(p._d<=3D0)p."
+"_d=3D1};m.ready=3Dfunction(){var =
p=3Dthis,m=3Dp._m;p._d=3D0;if(!p.disable)m.s.dlt()};m._d=3Dfunction(){var=
 =
m=3Dthis,i,p;for(i=3D0;i<m.l.length;i++){p=3Dm[m.l[i]];if(p&&!p.disable&&=
p._d>0)return 1}return 0};m._x=3Dfunc"
+"tion(d,n){var p=3Dthis[n],x;if(!p.disable){for(x in =
d)if(x&&(!Object||!Object.prototype||!Object.prototype[x]))p[x]=3Dd[x];p.=
_d--}};m.beacon=3Dfunction(u){var =
p=3Dthis,m=3Dp._m,s=3Dm.s,imn=3D's_i_'+m._in+'_Integ"
+"rate_'+p._n+'_'+p._c,im;if(!p.disable&&s.d.images&&s.apv>=3D3&&(!s.isop=
era||s.apv>=3D7)&&(s.ns6<0||s.apv>=3D6.1)){p._c++;im=3Ds.wd[imn]=3Dnew =
Image;im.src=3Dm._fu(p,u)}};m.script=3Dfunction(u){var =
p=3Dthis,m=3Dp._m;"
+"if(!p.disable)m.s.loadModule(0,m._fu(p,u),0,1)};m.l=3Dnew =
Array;if(m.onLoad)m.onLoad(s,m)";
s.m_i("Integrate");

/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var s_code =3D '', s_objectID; function s_gi(un, pg, ss) {
    var c =3D =
"s.version=3D'H.24.4';s.an=3Ds_an;s.logDebug=3Dfunction(m){var =
s=3Dthis,tcf=3Dnew Function('var =
e;try{console.log(\"'+s.rep(s.rep(m,\"\\n\",\"\\\\n\"),\""
+ =
"\\\"\",\"\\\\\\\"\")+'\");}catch(e){}');tcf()};s.cls=3Dfunction(x,c){var=
 =
i,y=3D'';if(!c)c=3Dthis.an;for(i=3D0;i<x.length;i++){n=3Dx.substring(i,i+=
1);if(c.indexOf(n)>=3D0)y+=3Dn}return y};s.fl=3Dfunction(x,l){retur"
+ "n x?(''+x).substring(0,l):x};s.co=3Dfunction(o){if(!o)return o;var =
n=3Dnew Object,x;for(x in =
o)if(x.indexOf('select')<0&&x.indexOf('filter')<0)n[x]=3Do[x];return =
n};s.num=3Dfunction(x){x=3D''+x;for(var p=3D0;p"
+ "<x.length;p++)if(('0123456789').indexOf(x.substring(p,p+1))<0)return =
0;return =
1};s.rep=3Ds_rep;s.sp=3Ds_sp;s.jn=3Ds_jn;s.ape=3Dfunction(x){var =
s=3Dthis,h=3D'0123456789ABCDEF',i,c=3Ds.charSet,n,l,e,y=3D'';c=3Dc?c.toU"=

+ =
"pperCase():'';if(x){x=3D''+x;if(s.em=3D=3D3)x=3DencodeURIComponent(x);el=
se =
if(c=3D=3D'AUTO'&&('').charCodeAt){for(i=3D0;i<x.length;i++){c=3Dx.substr=
ing(i,i+1);n=3Dx.charCodeAt(i);if(n>127){l=3D0;e=3D'';while(n||l<4){e=3Dh=
"
+ ".substring(n%16,n%16+1)+e;n=3D(n-n%16)/16;l++}y+=3D'%u'+e}else =
if(c=3D=3D'+')y+=3D'%2B';else y+=3Descape(c)}x=3Dy}else =
x=3Descape(''+x);x=3Ds.rep(x,'+','%2B');if(c&&c!=3D'AUTO'&&s.em=3D=3D1&&x=
.indexOf('%u')<0&&x.indexOf('"
+ =
"%U')<0){i=3Dx.indexOf('%');while(i>=3D0){i++;if(h.substring(8).indexOf(x=
.substring(i,i+1).toUpperCase())>=3D0)return =
x.substring(0,i)+'u00'+x.substring(i);i=3Dx.indexOf('%',i)}}}return =
x};s.epa=3Dfunction(x)"
+ "{var s=3Dthis;if(x){x=3Ds.rep(''+x,'+',' ');return =
s.em=3D=3D3?decodeURIComponent(x):unescape(x)}return =
x};s.pt=3Dfunction(x,d,f,a){var =
s=3Dthis,t=3Dx,z=3D0,y,r;while(t){y=3Dt.indexOf(d);y=3Dy<0?t.length:y;t=3D=
t.substri"
+ "ng(0,y);r=3Ds[f](t,a);if(r)return =
r;z+=3Dy+d.length;t=3Dx.substring(z,x.length);t=3Dz<x.length?t:''}return =
''};s.isf=3Dfunction(t,a){var =
c=3Da.indexOf(':');if(c>=3D0)a=3Da.substring(0,c);c=3Da.indexOf('=3D');if=
(c>=3D0)a"
+ =
"=3Da.substring(0,c);if(t.substring(0,2)=3D=3D's_')t=3Dt.substring(2);ret=
urn (t!=3D''&&t=3D=3Da)};s.fsf=3Dfunction(t,a){var =
s=3Dthis;if(s.pt(a,',','isf',t))s.fsg+=3D(s.fsg!=3D''?',':'')+t;return =
0};s.fs=3Dfunction(x,f){var"
+ " s=3Dthis;s.fsg=3D'';s.pt(x,',','fsf',f);return =
s.fsg};s.mpc=3Dfunction(m,a){var =
s=3Dthis,c,l,n,v;v=3Ds.d.visibilityState;if(!v)v=3Ds.d.webkitVisibilitySt=
ate;if(v&&v=3D=3D'prerender'){if(!s.mpq){s.mpq=3Dnew Array;l=3D"
+ =
"s.sp('webkitvisibilitychange,visibilitychange',',');for(n=3D0;n<l.length=
;n++){s.d.addEventListener(l[n],new Function('var =
s=3Ds_c_il['+s._in+'],c,v;v=3Ds.d.visibilityState;if(!v)v=3Ds.d.webkitVis=
ibilitySta"
+ =
"te;if(s.mpq&&v=3D=3D\"visible\"){while(s.mpq.length>0){c=3Ds.mpq.shift()=
;s[c.m].apply(s,c.a)}s.mpq=3D0}'),false)}}c=3Dnew =
Object;c.m=3Dm;c.a=3Da;s.mpq.push(c);return 1}return =
0};s.si=3Dfunction(){var s=3Dthis,i,k,v,"
+ "c=3Ds_gi+'var =
s=3Ds_gi(\"'+s.oun+'\");s.sa(\"'+s.un+'\");';for(i=3D0;i<s.va_g.length;i+=
+){k=3Ds.va_g[i];v=3Ds[k];if(v!=3Dundefined){if(typeof(v)!=3D'number')c+=3D=
's.'+k+'=3D\"'+s_fe(v)+'\";';else c+=3D's.'+k+'=3D'+v+';'"
+ =
"}}c+=3D\"s.lnk=3Ds.eo=3Ds.linkName=3Ds.linkType=3Ds.wd.s_objectID=3Ds.pp=
u=3Ds.pe=3Ds.pev1=3Ds.pev2=3Ds.pev3=3D'';\";return =
c};s.c_d=3D'';s.c_gdf=3Dfunction(t,a){var s=3Dthis;if(!s.num(t))return =
1;return 0};s.c_gd=3Dfunction(){v"
+ "ar =
s=3Dthis,d=3Ds.wd.location.hostname,n=3Ds.fpCookieDomainPeriods,p;if(!n)n=
=3Ds.cookieDomainPeriods;if(d&&!s.c_d){n=3Dn?parseInt(n):2;n=3Dn>2?n:2;p=3D=
d.lastIndexOf('.');if(p>=3D0){while(p>=3D0&&n>1){p=3Dd.lastIndexOf"
+ =
"('.',p-1);n--}s.c_d=3Dp>0&&s.pt(d,'.','c_gdf',0)?d.substring(p):d}}retur=
n s.c_d};s.c_r=3Dfunction(k){var s=3Dthis;k=3Ds.ape(k);var c=3D' =
'+s.d.cookie,i=3Dc.indexOf(' =
'+k+'=3D'),e=3Di<0?i:c.indexOf(';',i),v=3Di<0?'':"
+ "s.epa(c.substring(i+2+k.length,e<0?c.length:e));return =
v!=3D'[[B]]'?v:''};s.c_w=3Dfunction(k,v,e){var =
s=3Dthis,d=3Ds.c_gd(),l=3Ds.cookieLifetime,t;v=3D''+v;l=3Dl?(''+l).toUppe=
rCase():'';if(e&&l!=3D'SESSION'&&l!=3D'N"
+ "ONE'){t=3D(v!=3D''?parseInt(l?l:0):-60);if(t){e=3Dnew =
Date;e.setTime(e.getTime()+(t*1000))}}if(k&&l!=3D'NONE'){s.d.cookie=3Dk+'=
=3D'+s.ape(v!=3D''?v:'[[B]]')+'; path=3D/;'+(e&&l!=3D'SESSION'?' =
expires=3D'+e.toGMTString"
+ "()+';':'')+(d?' domain=3D'+d+';':'');return s.c_r(k)=3D=3Dv}return =
0};s.eh=3Dfunction(o,e,r,f){var =
s=3Dthis,b=3D's_'+e+'_'+s._in,n=3D-1,l,i,x;if(!s.ehl)s.ehl=3Dnew =
Array;l=3Ds.ehl;for(i=3D0;i<l.length&&n<0;i++){if(l[i"
+ "].o=3D=3Do&&l[i].e=3D=3De)n=3Di}if(n<0){n=3Di;l[n]=3Dnew =
Object}x=3Dl[n];x.o=3Do;x.e=3De;f=3Dr?x.b:f;if(r||f){x.b=3Dr?0:o[e];x.o[e=
]=3Df}if(x.b){x.o[b]=3Dx.b;return b}return =
0};s.cet=3Dfunction(f,a,t,o,b){var s=3Dthis,r,tcf;if(s.a"
+ "pv>=3D5&&(!s.isopera||s.apv>=3D7)){tcf=3Dnew =
Function('s','f','a','t','var =
e,r;try{r=3Ds[f](a)}catch(e){r=3Ds[t](e)}return =
r');r=3Dtcf(s,f,a,t)}else{if(s.ismac&&s.u.indexOf('MSIE =
4')>=3D0)r=3Ds[b](a);else{s.eh(s.w"
+ "d,'onerror',0,o);r=3Ds[f](a);s.eh(s.wd,'onerror',1)}}return =
r};s.gtfset=3Dfunction(e){var s=3Dthis;return s.tfs};s.gtfsoe=3Dnew =
Function('e','var =
s=3Ds_c_il['+s._in+'],c;s.eh(window,\"onerror\",1);s.etfs=3D1;c"
+ "=3Ds.t();if(c)s.d.write(c);s.etfs=3D0;return =
true');s.gtfsfb=3Dfunction(a){return window};s.gtfsf=3Dfunction(w){var =
s=3Dthis,p=3Dw.parent,l=3Dw.location;s.tfs=3Dw;if(p&&p.location!=3Dl&&p.l=
ocation.host=3D=3Dl.host){s.tf"
+ "s=3Dp;return s.gtfsf(s.tfs)}return s.tfs};s.gtfs=3Dfunction(){var =
s=3Dthis;if(!s.tfs){s.tfs=3Ds.wd;if(!s.etfs)s.tfs=3Ds.cet('gtfsf',s.tfs,'=
gtfset',s.gtfsoe,'gtfsfb')}return s.tfs};s.mrq=3Dfunction(u){var =
s=3Dthi"
+ =
"s,l=3Ds.rl[u],n,r;s.rl[u]=3D0;if(l)for(n=3D0;n<l.length;n++){r=3Dl[n];s.=
mr(0,0,r.r,r.t,r.u)}};s.flushBufferedRequests=3Dfunction(){};s.mr=3Dfunct=
ion(sess,q,rs,ta,u){var =
s=3Dthis,dc=3Ds.dc,t1=3Ds.trackingServer,t2=3Ds."
+ =
"trackingServerSecure,tb=3Ds.trackingServerBase,p=3D'.sc',ns=3Ds.visitorN=
amespace,un=3Ds.cls(u?u:(ns?ns:s.fun)),r=3Dnew =
Object,l,imn=3D's_i_'+(un),im,b,e;if(!rs){if(t1){if(t2&&s.ssl)t1=3Dt2}els=
e{if(!tb)tb=3D'2o7.ne"
+ "t';if(dc)dc=3D(''+dc).toLowerCase();else =
dc=3D'd1';if(tb=3D=3D'2o7.net'){if(dc=3D=3D'd1')dc=3D'112';else =
if(dc=3D=3D'd2')dc=3D'122';p=3D''}t1=3Dun+'.'+dc+'.'+p+tb}rs=3D'http'+(s.=
ssl?'s':'')+'://'+t1+'/b/ss/'+s.un+'/'+(s.mob"
+ =
"ile?'5.1':'1')+'/'+s.version+(s.tcn?'T':'')+'/'+sess+'?AQB=3D1&ndh=3D1'+=
(q?q:'')+'&AQE=3D1';if(s.isie&&!s.ismac)rs=3Ds.fl(rs,2047)}if(s.d.images&=
&s.apv>=3D3&&(!s.isopera||s.apv>=3D7)&&(s.ns6<0||s.apv>=3D6.1)){if"
+ "(!s.rc)s.rc=3Dnew =
Object;if(!s.rc[un]){s.rc[un]=3D1;if(!s.rl)s.rl=3Dnew =
Object;s.rl[un]=3Dnew =
Array;setTimeout('if(window.s_c_il)window.s_c_il['+s._in+'].mrq(\"'+un+'\=
")',750)}else{l=3Ds.rl[un];if(l){r.t=3Dta;"
+ "r.u=3Dun;r.r=3Drs;l[l.length]=3Dr;return =
''}imn+=3D'_'+s.rc[un];s.rc[un]++}im=3Ds.wd[imn];if(!im)im=3Ds.wd[imn]=3D=
new Image;im.s_l=3D0;im.onload=3Dnew Function('e','this.s_l=3D1;var =
wd=3Dwindow,s;if(wd.s_c_il){s=3Dwd.s_c_"
+ =
"il['+s._in+'];s.mrq(\"'+un+'\");s.nrs--;if(!s.nrs)s.m_m(\"rr\")}');if(!s=
.nrs){s.nrs=3D1;s.m_m('rs')}else s.nrs++;if(s.debugTracking){var =
d=3D'AppMeasurement Debug: '+rs,dl=3Ds.sp(rs,'&'),dln;for(dln=3D0;dl"
+ =
"n<dl.length;dln++)d+=3D\"\\n\\t\"+s.epa(dl[dln]);s.logDebug(d)}im.src=3D=
rs;if((!ta||ta=3D=3D'_self'||ta=3D=3D'_top'||(s.wd.name&&ta=3D=3Ds.wd.nam=
e))&&rs.indexOf('&pe=3D')>=3D0){b=3De=3Dnew =
Date;while(!im.s_l&&e.getTime()-"
+ "b.getTime()<500)e=3Dnew Date}return ''}return '<im'+'g =
sr'+'c=3D\"'+rs+'\" width=3D1 height=3D1 border=3D0 =
alt=3D\"\">'};s.gg=3Dfunction(v){var =
s=3Dthis;if(!s.wd['s_'+v])s.wd['s_'+v]=3D'';return =
s.wd['s_'+v]};s.glf=3D"
+ "function(t,a){if(t.substring(0,2)=3D=3D's_')t=3Dt.substring(2);var =
s=3Dthis,v=3Ds.gg(t);if(v)s[t]=3Dv};s.gl=3Dfunction(v){var =
s=3Dthis;if(s.pg)s.pt(v,',','glf',0)};s.rf=3Dfunction(x){var =
s=3Dthis,y,i,j,h,p,l=3D0,q,a,b=3D'"
+ =
"',c=3D'',t;if(x&&x.length>255){y=3D''+x;i=3Dy.indexOf('?');if(i>0){q=3Dy=
.substring(i+1);y=3Dy.substring(0,i);h=3Dy.toLowerCase();j=3D0;if(h.subst=
ring(0,7)=3D=3D'http://')j+=3D7;else =
if(h.substring(0,8)=3D=3D'https://')j+=3D"
+ =
"8;i=3Dh.indexOf(\"/\",j);if(i>0){h=3Dh.substring(j,i);p=3Dy.substring(i)=
;y=3Dy.substring(0,i);if(h.indexOf('google')>=3D0)l=3D',q,ie,start,search=
_key,word,kw,cd,';else if(h.indexOf('yahoo.co')>=3D0)l=3D',p,ei,';if"
+ =
"(l&&q){a=3Ds.sp(q,'&');if(a&&a.length>1){for(j=3D0;j<a.length;j++){t=3Da=
[j];i=3Dt.indexOf('=3D');if(i>0&&l.indexOf(','+t.substring(0,i)+',')>=3D0=
)b+=3D(b?'&':'')+t;else c+=3D(c?'&':'')+t}if(b&&c)q=3Db+'&'+c;else =
c=3D'"
+ =
"'}i=3D253-(q.length-c.length)-y.length;x=3Dy+(i>0?p.substring(0,i):'')+'=
?'+q}}}}return x};s.s2q=3Dfunction(k,v,vf,vfp,f){var =
s=3Dthis,qs=3D'',sk,sv,sp,ss,nke,nk,nf,nfl=3D0,nfn,nfm;if(k=3D=3D\"contex=
tData\")k=3D\"c\""
+ ";if(v){for(sk in =
v)if((!f||sk.substring(0,f.length)=3D=3Df)&&v[sk]&&(!vf||vf.indexOf(','+(=
vfp?vfp+'.':'')+sk+',')>=3D0)&&(!Object||!Object.prototype||!Object.proto=
type[sk])){nfm=3D0;if(nfl)for(nfn=3D0;nfn<nf"
+ =
"l.length;nfn++)if(sk.substring(0,nfl[nfn].length)=3D=3Dnfl[nfn])nfm=3D1;=
if(!nfm){if(qs=3D=3D'')qs+=3D'&'+k+'.';sv=3Dv[sk];if(f)sk=3Dsk.substring(=
f.length);if(sk.length>0){nke=3Dsk.indexOf('.');if(nke>0){nk=3Dsk.substr"=

+ "ing(0,nke);nf=3D(f?f:'')+nk+'.';if(!nfl)nfl=3Dnew =
Array;nfl[nfl.length]=3Dnf;qs+=3Ds.s2q(nk,v,vf,vfp,nf)}else{if(typeof(sv)=
=3D=3D'boolean'){if(sv)sv=3D'true';else =
sv=3D'false'}if(sv){if(vfp=3D=3D'retrieveLightData'&&f"
+ =
".indexOf('.contextData.')<0){sp=3Dsk.substring(0,4);ss=3Dsk.substring(4)=
;if(sk=3D=3D'transactionID')sk=3D'xact';else =
if(sk=3D=3D'channel')sk=3D'ch';else if(sk=3D=3D'campaign')sk=3D'v0';else =
if(s.num(ss)){if(sp=3D=3D'prop')s"
+ "k=3D'c'+ss;else if(sp=3D=3D'eVar')sk=3D'v'+ss;else =
if(sp=3D=3D'list')sk=3D'l'+ss;else =
if(sp=3D=3D'hier'){sk=3D'h'+ss;sv=3Dsv.substring(0,255)}}}qs+=3D'&'+s.ape=
(sk)+'=3D'+s.ape(sv)}}}}}if(qs!=3D'')qs+=3D'&.'+k}return qs};s.hav=3Df"
+ "unction(){var =
s=3Dthis,qs=3D'',l,fv=3D'',fe=3D'',mn,i,e;if(s.lightProfileID){l=3Ds.va_m=
;fv=3Ds.lightTrackVars;if(fv)fv=3D','+fv+','+s.vl_mr+','}else{l=3Ds.va_t;=
if(s.pe||s.linkType){fv=3Ds.linkTrackVars;fe=3Ds.linkTrac"
+ =
"kEvents;if(s.pe){mn=3Ds.pe.substring(0,1).toUpperCase()+s.pe.substring(1=
);if(s[mn]){fv=3Ds[mn].trackVars;fe=3Ds[mn].trackEvents}}}if(fv)fv=3D','+=
fv+','+s.vl_l+','+s.vl_l2;if(fe){fe=3D','+fe+',';if(fv)fv+=3D',e"
+ "vents,'}if =
(s.events2)e=3D(e?',':'')+s.events2}for(i=3D0;i<l.length;i++){var =
k=3Dl[i],v=3Ds[k],b=3Dk.substring(0,4),x=3Dk.substring(4),n=3DparseInt(x)=
,q=3Dk;if(!v)if(k=3D=3D'events'&&e){v=3De;e=3D''}if(v&&(!fv||fv.indexOf"
+ =
"(','+k+',')>=3D0)&&k!=3D'linkName'&&k!=3D'linkType'){if(k=3D=3D'timestam=
p')q=3D'ts';else if(k=3D=3D'dynamicVariablePrefix')q=3D'D';else =
if(k=3D=3D'visitorID')q=3D'vid';else =
if(k=3D=3D'pageURL'){q=3D'g';v=3Ds.fl(v,255)}else if(k=3D=3D"
+ "'referrer'){q=3D'r';v=3Ds.fl(s.rf(v),255)}else =
if(k=3D=3D'vmk'||k=3D=3D'visitorMigrationKey')q=3D'vmt';else =
if(k=3D=3D'visitorMigrationServer'){q=3D'vmf';if(s.ssl&&s.visitorMigratio=
nServerSecure)v=3D''}else if(k=3D=3D'visit"
+ =
"orMigrationServerSecure'){q=3D'vmf';if(!s.ssl&&s.visitorMigrationServer)=
v=3D''}else =
if(k=3D=3D'charSet'){q=3D'ce';if(v.toUpperCase()=3D=3D'AUTO')v=3D'ISO8859=
-1';else if(s.em=3D=3D2||s.em=3D=3D3)v=3D'UTF-8'}else if(k=3D=3D'visit"
+ "orNamespace')q=3D'ns';else =
if(k=3D=3D'cookieDomainPeriods')q=3D'cdp';else =
if(k=3D=3D'cookieLifetime')q=3D'cl';else =
if(k=3D=3D'variableProvider')q=3D'vvp';else =
if(k=3D=3D'currencyCode')q=3D'cc';else if(k=3D=3D'channel')q=3D'ch';el"
+ "se if(k=3D=3D'transactionID')q=3D'xact';else =
if(k=3D=3D'campaign')q=3D'v0';else if(k=3D=3D'resolution')q=3D's';else =
if(k=3D=3D'colorDepth')q=3D'c';else =
if(k=3D=3D'javascriptVersion')q=3D'j';else =
if(k=3D=3D'javaEnabled')q=3D'v';else i"
+ "f(k=3D=3D'cookiesEnabled')q=3D'k';else =
if(k=3D=3D'browserWidth')q=3D'bw';else =
if(k=3D=3D'browserHeight')q=3D'bh';else =
if(k=3D=3D'connectionType')q=3D'ct';else =
if(k=3D=3D'homepage')q=3D'hp';else if(k=3D=3D'plugins')q=3D'p';else =
if(k=3D=3D"
+ "'events'){if(e)v+=3D(v?',':'')+e;if(fe)v=3Ds.fs(v,fe)}else =
if(k=3D=3D'events2')v=3D'';else =
if(k=3D=3D'contextData'){qs+=3Ds.s2q('c',s[k],fv,k,0);v=3D''}else =
if(k=3D=3D'lightProfileID')q=3D'mtp';else if(k=3D=3D'lightStoreForSe"
+ "conds'){q=3D'mtss';if(!s.lightProfileID)v=3D''}else =
if(k=3D=3D'lightIncrementBy'){q=3D'mti';if(!s.lightProfileID)v=3D''}else =
if(k=3D=3D'retrieveLightProfiles')q=3D'mtsr';else =
if(k=3D=3D'deleteLightProfiles')q=3D'mtsd';els"
+ "e =
if(k=3D=3D'retrieveLightData'){if(s.retrieveLightProfiles)qs+=3Ds.s2q('mt=
s',s[k],fv,k,0);v=3D''}else if(s.num(x)){if(b=3D=3D'prop')q=3D'c'+n;else =
if(b=3D=3D'eVar')q=3D'v'+n;else if(b=3D=3D'list')q=3D'l'+n;else =
if(b=3D=3D'hier"
+ =
"'){q=3D'h'+n;v=3Ds.fl(v,255)}}if(v)qs+=3D'&'+s.ape(q)+'=3D'+(k.substring=
(0,3)!=3D'pev'?s.ape(v):v)}}return =
qs};s.ltdf=3Dfunction(t,h){t=3Dt?t.toLowerCase():'';h=3Dh?h.toLowerCase()=
:'';var qi=3Dh.indexOf('?');h=3Dqi>=3D0"
+ =
"?h.substring(0,qi):h;if(t&&h.substring(h.length-(t.length+1))=3D=3D'.'+t=
)return 1;return =
0};s.ltef=3Dfunction(t,h){t=3Dt?t.toLowerCase():'';h=3Dh?h.toLowerCase():=
'';if(t&&h.indexOf(t)>=3D0)return 1;return 0};s"
+ ".lt=3Dfunction(h){var =
s=3Dthis,lft=3Ds.linkDownloadFileTypes,lef=3Ds.linkExternalFilters,lif=3D=
s.linkInternalFilters;lif=3Dlif?lif:s.wd.location.hostname;h=3Dh.toLowerC=
ase();if(s.trackDownloadLinks&&lft&&s.pt(lf"
+ "t,',','ltdf',h))return =
'd';if(s.trackExternalLinks&&h.substring(0,1)!=3D'#'&&(lef||lif)&&(!lef||=
s.pt(lef,',','ltef',h))&&(!lif||!s.pt(lif,',','ltef',h)))return =
'e';return ''};s.lc=3Dnew Function('e','v"
+ "ar =
s=3Ds_c_il['+s._in+'],b=3Ds.eh(this,\"onclick\");s.lnk=3Ds.co(this);s.t()=
;s.lnk=3D0;if(b)return this[b](e);return true');s.bc=3Dnew =
Function('e','var =
s=3Ds_c_il['+s._in+'],f,tcf;if(s.d&&s.d.all&&s.d.all.cpp"
+ "XYctnr)return;s.eo=3De.srcElement?e.srcElement:e.target;tcf=3Dnew =
Function(\"s\",\"var =
e;try{if(s.eo&&(s.eo.tagName||s.eo.parentElement||s.eo.parentNode))s.t()}=
catch(e){}\");tcf(s);s.eo=3D0');s.oh=3Dfuncti"
+ "on(o){var =
s=3Dthis,l=3Ds.wd.location,h=3Do.href?o.href:'',i,j,k,p;i=3Dh.indexOf(':'=
);j=3Dh.indexOf('?');k=3Dh.indexOf('/');if(h&&(i<0||(j>=3D0&&i>j)||(k>=3D=
0&&i>k))){p=3Do.protocol&&o.protocol.length>1?o.protocol:(l"
+ =
".protocol?l.protocol:'');i=3Dl.pathname.lastIndexOf('/');h=3D(p?p+'//':'=
')+(o.host?o.host:(l.host?l.host:''))+(h.substring(0,1)!=3D'/'?l.pathname=
.substring(0,i<0?0:i)+'/':'')+h}return h};s.ot=3Dfunction(o)"
+ "{var =
t=3Do.tagName;if(o.tagUrn||(o.scopeName&&o.scopeName.toUpperCase()!=3D'HT=
ML'))return =
'';t=3Dt&&t.toUpperCase?t.toUpperCase():'';if(t=3D=3D'SHAPE')t=3D'';if(t)=
{if((t=3D=3D'INPUT'||t=3D=3D'BUTTON')&&o.type&&o.type."
+ "toUpperCase)t=3Do.type.toUpperCase();else =
if(!t&&o.href)t=3D'A';}return t};s.oid=3Dfunction(o){var =
s=3Dthis,t=3Ds.ot(o),p,c,n=3D'',x=3D0;if(t&&!o.s_oid){p=3Do.protocol;c=3D=
o.onclick;if(o.href&&(t=3D=3D'A'||t=3D=3D'AREA')&&("
+ "!c||!p||p.toLowerCase().indexOf('javascript')<0))n=3Ds.oh(o);else =
if(c){n=3Ds.rep(s.rep(s.rep(s.rep(''+c,\"\\r\",''),\"\\n\",''),\"\\t\",''=
),' ','');x=3D2}else =
if(t=3D=3D'INPUT'||t=3D=3D'SUBMIT'){if(o.value)n=3Do."
+ "value;else if(o.innerText)n=3Do.innerText;else =
if(o.textContent)n=3Do.textContent;x=3D3}else =
if(o.src&&t=3D=3D'IMAGE')n=3Do.src;if(n){o.s_oid=3Ds.fl(n,100);o.s_oidt=3D=
x}}return o.s_oid};s.rqf=3Dfunction(t,un){var s=3D"
+ =
"this,e=3Dt.indexOf('=3D'),u=3De>=3D0?t.substring(0,e):'',q=3De>=3D0?s.ep=
a(t.substring(e+1)):'';if(u&&q&&(','+u+',').indexOf(','+un+',')>=3D0){if(=
u!=3Ds.un&&s.un.indexOf(',')>=3D0)q=3D'&u=3D'+u+q+'&u=3D0';return =
q}return '"
+ "'};s.rq=3Dfunction(un){if(!un)un=3Dthis.un;var =
s=3Dthis,c=3Dun.indexOf(','),v=3Ds.c_r('s_sq'),q=3D'';if(c<0)return =
s.pt(v,'&','rqf',un);return =
s.pt(un,',','rq',0)};s.sqp=3Dfunction(t,a){var =
s=3Dthis,e=3Dt.indexOf('=3D"
+ =
"'),q=3De<0?'':s.epa(t.substring(e+1));s.sqq[q]=3D'';if(e>=3D0)s.pt(t.sub=
string(0,e),',','sqs',q);return 0};s.sqs=3Dfunction(un,q){var =
s=3Dthis;s.squ[un]=3Dq;return 0};s.sq=3Dfunction(q){var =
s=3Dthis,k=3D's_sq',v=3Ds.c"
+ "_r(k),x,c=3D0;s.sqq=3Dnew Object;s.squ=3Dnew =
Object;s.sqq[q]=3D'';s.pt(v,'&','sqp',0);s.pt(s.un,',','sqs',q);v=3D'';fo=
r(x in =
s.squ)if(x&&(!Object||!Object.prototype||!Object.prototype[x]))s.sqq[s.sq=
u[x]]+=3D(s"
+ ".sqq[s.squ[x]]?',':'')+x;for(x in =
s.sqq)if(x&&(!Object||!Object.prototype||!Object.prototype[x])&&s.sqq[x]&=
&(x=3D=3Dq||c<2)){v+=3D(v?'&':'')+s.sqq[x]+'=3D'+s.ape(x);c++}return =
s.c_w(k,v,0)};s.wdl=3Dnew Funct"
+ "ion('e','var =
s=3Ds_c_il['+s._in+'],r=3Dtrue,b=3Ds.eh(s.wd,\"onload\"),i,o,oc;if(b)r=3D=
this[b](e);for(i=3D0;i<s.d.links.length;i++){o=3Ds.d.links[i];oc=3Do.oncl=
ick?\"\"+o.onclick:\"\";if((oc.indexOf(\"s_gs(\")<0|"
+ =
"|oc.indexOf(\".s_oc(\")>=3D0)&&oc.indexOf(\".tl(\")<0)s.eh(o,\"onclick\"=
,0,s.lc);}return r');s.wds=3Dfunction(){var =
s=3Dthis;if(s.apv>3&&(!s.isie||!s.ismac||s.apv>=3D5)){if(s.b&&s.b.attachE=
vent)s.b.attachE"
+ "vent('onclick',s.bc);else =
if(s.b&&s.b.addEventListener)s.b.addEventListener('click',s.bc,false);els=
e s.eh(s.wd,'onload',0,s.wdl)}};s.vs=3Dfunction(x){var =
s=3Dthis,v=3Ds.visitorSampling,g=3Ds.visitorSamplin"
+ "gGroup,k=3D's_vsn_'+s.un+(g?'_'+g:''),n=3Ds.c_r(k),e=3Dnew =
Date,y=3De.getYear();e.setYear(y+10+(y<1900?1900:0));if(v){v*=3D100;if(!n=
){if(!s.c_w(k,x,e))return 0;n=3Dx}if(n%10000>v)return 0}return =
1};s.dyasmf=3Dfu"
+ "nction(t,m){if(t&&m&&m.indexOf(t)>=3D0)return 1;return =
0};s.dyasf=3Dfunction(t,m){var =
s=3Dthis,i=3Dt?t.indexOf('=3D'):-1,n,x;if(i>=3D0&&m){var =
n=3Dt.substring(0,i),x=3Dt.substring(i+1);if(s.pt(x,',','dyasmf',m))re"
+ "turn n}return 0};s.uns=3Dfunction(){var =
s=3Dthis,x=3Ds.dynamicAccountSelection,l=3Ds.dynamicAccountList,m=3Ds.dyn=
amicAccountMatch,n,i;s.un=3Ds.un.toLowerCase();if(x&&l){if(!m)m=3Ds.wd.lo=
cation.host;if(!m.toLower"
+ =
"Case)m=3D''+m;l=3Dl.toLowerCase();m=3Dm.toLowerCase();n=3Ds.pt(l,';','dy=
asf',m);if(n)s.un=3Dn}i=3Ds.un.indexOf(',');s.fun=3Di<0?s.un:s.un.substri=
ng(0,i)};s.sa=3Dfunction(un){var s=3Dthis;if(s.un&&s.mpc('sa',argument"
+ "s))return;s.un=3Dun;if(!s.oun)s.oun=3Dun;else =
if((','+s.oun+',').indexOf(','+un+',')<0)s.oun+=3D','+un;s.uns()};s.m_i=3D=
function(n,a){var =
s=3Dthis,m,f=3Dn.substring(0,1),r,l,i;if(!s.m_l)s.m_l=3Dnew =
Object;if(!s."
+ "m_nl)s.m_nl=3Dnew =
Array;m=3Ds.m_l[n];if(!a&&m&&m._e&&!m._i)s.m_a(n);if(!m){m=3Dnew =
Object,m._c=3D's_m';m._in=3Ds.wd.s_c_in;m._il=3Ds._il;m._il[m._in]=3Dm;s.=
wd.s_c_in++;m.s=3Ds;m._n=3Dn;m._l=3Dnew Array('_c','_in','_il"
+ =
"','_i','_e','_d','_dl','s','n','_r','_g','_g1','_t','_t1','_x','_x1','_r=
s','_rr','_l');s.m_l[n]=3Dm;s.m_nl[s.m_nl.length]=3Dn}else =
if(m._r&&!m._m){r=3Dm._r;r._m=3Dm;l=3Dm._l;for(i=3D0;i<l.length;i++)if(m[=
l[i]]"
+ =
")r[l[i]]=3Dm[l[i]];r._il[r._in]=3Dr;m=3Ds.m_l[n]=3Dr}if(f=3D=3Df.toUpper=
Case())s[n]=3Dm;return m};s.m_a=3Dnew =
Function('n','g','e','if(!g)g=3D\"m_\"+n;var =
s=3Ds_c_il['+s._in+'],c=3Ds[g+\"_c\"],m,x,f=3D0;if(s.mpc(\"m_a\",a"
+ "rguments))return;if(!c)c=3Ds.wd[\"s_\"+g+\"_c\"];if(c&&s_d)s[g]=3Dnew =
Function(\"s\",s_ft(s_d(c)));x=3Ds[g];if(!x)x=3Ds.wd[\\'s_\\'+g];if(!x)x=3D=
s.wd[g];m=3Ds.m_i(n,1);if(x&&(!m._i||g!=3D\"m_\"+n)){m._i=3Df=3D1;if(("
+ "\"\"+x).indexOf(\"function\")>=3D0)x(s);else =
s.m_m(\"x\",n,x,e)}m=3Ds.m_i(n,1);if(m._dl)m._dl=3Dm._d=3D0;s.dlt();retur=
n f');s.m_m=3Dfunction(t,n,d,e){t=3D'_'+t;var =
s=3Dthis,i,x,m,f=3D'_'+t,r=3D0,u;if(s.m_l&&s.m_nl)f"
+ =
"or(i=3D0;i<s.m_nl.length;i++){x=3Ds.m_nl[i];if(!n||x=3D=3Dn){m=3Ds.m_i(x=
);u=3Dm[t];if(u){if((''+u).indexOf('function')>=3D0){if(d&&e)u=3Dm[t](d,e=
);else if(d)u=3Dm[t](d);else =
u=3Dm[t]()}}if(u)r=3D1;u=3Dm[t+1];if(u&&!m[f]){"
+ "if((''+u).indexOf('function')>=3D0){if(d&&e)u=3Dm[t+1](d,e);else =
if(d)u=3Dm[t+1](d);else u=3Dm[t+1]()}}m[f]=3D1;if(u)r=3D1}}return =
r};s.m_ll=3Dfunction(){var =
s=3Dthis,g=3Ds.m_dl,i,o;if(g)for(i=3D0;i<g.length;i++){o=3Dg["
+ =
"i];if(o)s.loadModule(o.n,o.u,o.d,o.l,o.e,1);g[i]=3D0}};s.loadModule=3Dfu=
nction(n,u,d,l,e,ln){var =
s=3Dthis,m=3D0,i,g,o=3D0,f1,f2,c=3Ds.h?s.h:s.b,b,tcf;if(n){i=3Dn.indexOf(=
':');if(i>=3D0){g=3Dn.substring(i+1);n=3Dn.subs"
+ "tring(0,i)}else =
g=3D\"m_\"+n;m=3Ds.m_i(n)}if((l||(n&&!s.m_a(n,g)))&&u&&s.d&&c&&s.d.create=
Element){if(d){m._d=3D1;m._dl=3D1}if(ln){if(s.ssl)u=3Ds.rep(u,'http:','ht=
tps:');i=3D's_s:'+s._in+':'+n+':'+g;b=3D'var s=3Ds_"
+ =
"c_il['+s._in+'],o=3Ds.d.getElementById(\"'+i+'\");if(s&&o){if(!o.l&&s.wd=
.'+g+'){o.l=3D1;if(o.i)clearTimeout(o.i);o.i=3D0;s.m_a(\"'+n+'\",\"'+g+'\=
"'+(e?',\"'+e+'\"':'')+')}';f2=3Db+'o.c++;if(!s.maxDelay)s.m"
+ =
"axDelay=3D250;if(!o.l&&o.c<(s.maxDelay*2)/100)o.i=3DsetTimeout(o.f2,100)=
}';f1=3Dnew Function('e',b+'}');tcf=3Dnew =
Function('s','c','i','u','f1','f2','var =
e,o=3D0;try{o=3Ds.d.createElement(\"script\");if(o){o.t"
+ =
"ype=3D\"text/javascript\";'+(n?'o.id=3Di;o.defer=3Dtrue;o.onload=3Do.onr=
eadystatechange=3Df1;o.f2=3Df2;o.l=3D0;':'')+'o.src=3Du;c.appendChild(o);=
'+(n?'o.c=3D0;o.i=3DsetTimeout(f2,100)':'')+'}}catch(e){o=3D0}return =
o');o"
+ "=3Dtcf(s,c,i,u,f1,f2)}else{o=3Dnew =
Object;o.n=3Dn+':'+g;o.u=3Du;o.d=3Dd;o.l=3Dl;o.e=3De;g=3Ds.m_dl;if(!g)g=3D=
s.m_dl=3Dnew Array;i=3D0;while(i<g.length&&g[i])i++;g[i]=3Do}}else =
if(n){m=3Ds.m_i(n);m._e=3D1}return m};s.voa=3Dfunct"
+ "ion(vo,r){var =
s=3Dthis,l=3Ds.va_g,i,k,v,x;for(i=3D0;i<l.length;i++){k=3Dl[i];v=3Dvo[k];=
if(v||vo['!'+k]){if(!r&&(k=3D=3D\"contextData\"||k=3D=3D\"retrieveLightDa=
ta\")&&s[k])for(x in s[k])if(!v[x])v[x]=3Ds[k][x];s[k]=3Dv}"
+ "}};s.vob=3Dfunction(vo){var =
s=3Dthis,l=3Ds.va_g,i,k;for(i=3D0;i<l.length;i++){k=3Dl[i];vo[k]=3Ds[k];i=
f(!vo[k])vo['!'+k]=3D1}};s.dlt=3Dnew Function('var =
s=3Ds_c_il['+s._in+'],d=3Dnew Date,i,vo,f=3D0;if(s.dll)for(i=3D0;i<s."
+ =
"dll.length;i++){vo=3Ds.dll[i];if(vo){if(!s.m_m(\"d\")||d.getTime()-vo._t=
>=3Ds.maxDelay){s.dll[i]=3D0;s.t(vo)}else =
f=3D1}}if(s.dli)clearTimeout(s.dli);s.dli=3D0;if(f){if(!s.dli)s.dli=3Dset=
Timeout(s.dlt,s.maxDel"
+ "ay)}else s.dll=3D0');s.dl=3Dfunction(vo){var s=3Dthis,d=3Dnew =
Date;if(!vo)vo=3Dnew =
Object;s.vob(vo);vo._t=3Dd.getTime();if(!s.dll)s.dll=3Dnew =
Array;s.dll[s.dll.length]=3Dvo;if(!s.maxDelay)s.maxDelay=3D250;s.dlt()};s=
"
+ ".track=3Ds.t=3Dfunction(vo){var s=3Dthis,trk=3D1,tm=3Dnew =
Date,sed=3DMath&&Math.random?Math.floor(Math.random()*10000000000000):tm.=
getTime(),sess=3D's'+Math.floor(tm.getTime()/10800000)%10+sed,y=3Dtm.getY=
ear(),vt=3D"
+ "tm.getDate()+'/'+tm.getMonth()+'/'+(y<1900?y+1900:y)+' =
'+tm.getHours()+':'+tm.getMinutes()+':'+tm.getSeconds()+' =
'+tm.getDay()+' =
'+tm.getTimezoneOffset(),tcf,tfs=3Ds.gtfs(),ta=3D-1,q=3D'',qs=3D'',code=3D=
'',v"
+ "b=3Dnew =
Object;if(s.mpc('t',arguments))return;s.gl(s.vl_g);s.uns();s.m_ll();if(!s=
.td){var =
tl=3Dtfs.location,a,o,i,x=3D'',c=3D'',v=3D'',p=3D'',bw=3D'',bh=3D'',j=3D'=
1.0',k=3Ds.c_w('s_cc','true',0)?'Y':'N',hp=3D'',ct=3D'',pn"
+ =
"=3D0,ps;if(String&&String.prototype){j=3D'1.1';if(j.match){j=3D'1.2';if(=
tm.setUTCDate){j=3D'1.3';if(s.isie&&s.ismac&&s.apv>=3D5)j=3D'1.4';if(pn.t=
oPrecision){j=3D'1.5';a=3Dnew =
Array;if(a.forEach){j=3D'1.6';i=3D0;o=3Dnew "
+ "Object;tcf=3Dnew Function('o','var e,i=3D0;try{i=3Dnew =
Iterator(o)}catch(e){}return =
i');i=3Dtcf(o);if(i&&i.next)j=3D'1.7'}}}}}if(s.apv>=3D4)x=3Dscreen.width+=
'x'+screen.height;if(s.isns||s.isopera){if(s.apv>=3D3){v"
+ =
"=3Ds.n.javaEnabled()?'Y':'N';if(s.apv>=3D4){c=3Dscreen.pixelDepth;bw=3Ds=
.wd.innerWidth;bh=3Ds.wd.innerHeight}}s.pl=3Ds.n.plugins}else =
if(s.isie){if(s.apv>=3D4){v=3Ds.n.javaEnabled()?'Y':'N';c=3Dscreen.colorD=
epth;if("
+ =
"s.apv>=3D5){bw=3Ds.d.documentElement.offsetWidth;bh=3Ds.d.documentElemen=
t.offsetHeight;if(!s.ismac&&s.b){tcf=3Dnew Function('s','tl','var =
e,hp=3D0;try{s.b.addBehavior(\"#default#homePage\");hp=3Ds.b.isHomePage"
+ "(tl)?\"Y\":\"N\"}catch(e){}return hp');hp=3Dtcf(s,tl);tcf=3Dnew =
Function('s','var =
e,ct=3D0;try{s.b.addBehavior(\"#default#clientCaps\");ct=3Ds.b.connection=
Type}catch(e){}return ct');ct=3Dtcf(s)}}}else r=3D''}i"
+ =
"f(s.pl)while(pn<s.pl.length&&pn<30){ps=3Ds.fl(s.pl[pn].name,100)+';';if(=
p.indexOf(ps)<0)p+=3Dps;pn++}s.resolution=3Dx;s.colorDepth=3Dc;s.javascri=
ptVersion=3Dj;s.javaEnabled=3Dv;s.cookiesEnabled=3Dk;s.browserWidt"
+ =
"h=3Dbw;s.browserHeight=3Dbh;s.connectionType=3Dct;s.homepage=3Dhp;s.plug=
ins=3Dp;s.td=3D1}if(vo){s.vob(vb);s.voa(vo)}if((vo&&vo._t)||!s.m_m('d')){=
if(s.usePlugins)s.doPlugins(s);var l=3Ds.wd.location,r=3Dtfs.documen"
+ =
"t.referrer;if(!s.pageURL)s.pageURL=3Dl.href?l.href:l;if(!s.referrer&&!s.=
_1_referrer){s.referrer=3Dr;s._1_referrer=3D1}s.m_m('g');if(s.lnk||s.eo){=
var o=3Ds.eo?s.eo:s.lnk,p=3Ds.pageName,w=3D1,t=3Ds.ot(o),n=3Ds.oid(o"
+ =
"),x=3Do.s_oidt,h,l,i,oc;if(s.eo&&o=3D=3Ds.eo){while(o&&!n&&t!=3D'BODY'){=
o=3Do.parentElement?o.parentElement:o.parentNode;if(o){t=3Ds.ot(o);n=3Ds.=
oid(o);x=3Do.s_oidt}}if(!n||t=3D=3D'BODY')o=3D'';if(o){oc=3Do.onclick?''+=
o.o"
+ =
"nclick:'';if((oc.indexOf('s_gs(')>=3D0&&oc.indexOf('.s_oc(')<0)||oc.inde=
xOf('.tl(')>=3D0)o=3D0}}if(o){if(n)ta=3Do.target;h=3Ds.oh(o);i=3Dh.indexO=
f('?');h=3Ds.linkLeaveQueryString||i<0?h:h.substring(0,i);l=3Ds.link"
+ =
"Name;t=3Ds.linkType?s.linkType.toLowerCase():s.lt(h);if(t&&(h||l)){s.pe=3D=
'lnk_'+(t=3D=3D'd'||t=3D=3D'e'?t:'o');s.pev1=3D(h?s.ape(h):'');s.pev2=3D(=
l?s.ape(l):'')}else trk=3D0;if(s.trackInlineStats){if(!p){p=3Ds.pageUR"
+ =
"L;w=3D0}t=3Ds.ot(o);i=3Do.sourceIndex;if(s.gg('objectID')){n=3Ds.gg('obj=
ectID');x=3D1;i=3D1}if(p&&n&&t)qs=3D'&pid=3D'+s.ape(s.fl(p,255))+(w?'&pid=
t=3D'+w:'')+'&oid=3D'+s.ape(s.fl(n,100))+(x?'&oidt=3D'+x:'')+'&ot=3D'+s.a=
pe("
+ "t)+(i?'&oi=3D'+i:'')}}else =
trk=3D0}if(trk||qs){s.sampled=3Ds.vs(sed);if(trk){if(s.sampled)code=3Ds.m=
r(sess,(vt?'&t=3D'+s.ape(vt):'')+s.hav()+q+(qs?qs:s.rq()),0,ta);qs=3D'';s=
.m_m('t');if(s.p_r)s.p_r();s.referre"
+ =
"r=3Ds.lightProfileID=3Ds.retrieveLightProfiles=3Ds.deleteLightProfiles=3D=
''}s.sq(qs)}}else =
s.dl(vo);if(vo)s.voa(vb,1);s.lnk=3Ds.eo=3Ds.linkName=3Ds.linkType=3Ds.wd.=
s_objectID=3Ds.ppu=3Ds.pe=3Ds.pev1=3Ds.pev2=3Ds.pev3=3D'';if("
+ =
"s.pg)s.wd.s_lnk=3Ds.wd.s_eo=3Ds.wd.s_linkName=3Ds.wd.s_linkType=3D'';ret=
urn code};s.trackLink=3Ds.tl=3Dfunction(o,t,n,vo){var =
s=3Dthis;s.lnk=3Ds.co(o);s.linkType=3Dt;s.linkName=3Dn;s.t(vo)};s.trackLi=
ght=3Dfunction(p,ss,"
+ "i,vo){var =
s=3Dthis;s.lightProfileID=3Dp;s.lightStoreForSeconds=3Dss;s.lightIncremen=
tBy=3Di;s.t(vo)};s.setTagContainer=3Dfunction(n){var =
s=3Dthis,l=3Ds.wd.s_c_il,i,t,x,y;s.tcn=3Dn;if(l)for(i=3D0;i<l.length;i++)=
{t=3Dl[i"
+ =
"];if(t&&t._c=3D=3D's_l'&&t.tagContainerName=3D=3Dn){s.voa(t);if(t.lmq)fo=
r(i=3D0;i<t.lmq.length;i++){x=3Dt.lmq[i];y=3D'm_'+x.n;if(!s[y]&&!s[y+'_c'=
]){s[y]=3Dt[y];s[y+'_c']=3Dt[y+'_c']}s.loadModule(x.n,x.u,x.d)}if(t.ml"
+ ")for(x in t.ml)if(s[x]){y=3Ds[x];x=3Dt.ml[x];for(i in =
x)if(!Object.prototype[i]){if(typeof(x[i])!=3D'function'||(''+x[i]).index=
Of('s_c_il')<0)y[i]=3Dx[i]}}if(t.mmq)for(i=3D0;i<t.mmq.length;i++){x=3Dt.=
mmq[i];if"
+ =
"(s[x.m]){y=3Ds[x.m];if(y[x.f]&&typeof(y[x.f])=3D=3D'function'){if(x.a)y[=
x.f].apply(y,x.a);else =
y[x.f].apply(y)}}}if(t.tq)for(i=3D0;i<t.tq.length;i++)s.t(t.tq[i]);t.s=3D=
s;return}}};s.wd=3Dwindow;s.ssl=3D(s.wd.loc"
+ =
"ation.protocol.toLowerCase().indexOf('https')>=3D0);s.d=3Ddocument;s.b=3D=
s.d.body;if(s.d.getElementsByTagName){s.h=3Ds.d.getElementsByTagName('HEA=
D');if(s.h)s.h=3Ds.h[0]}s.n=3Dnavigator;s.u=3Ds.n.userAgent;s.ns6"
+ "=3Ds.u.indexOf('Netscape6/');var =
apn=3Ds.n.appName,v=3Ds.n.appVersion,ie=3Dv.indexOf('MSIE =
'),o=3Ds.u.indexOf('Opera =
'),i;if(v.indexOf('Opera')>=3D0||o>0)apn=3D'Opera';s.isie=3D(apn=3D=3D'Mi=
crosoft Internet Explorer')"
+ =
";s.isns=3D(apn=3D=3D'Netscape');s.isopera=3D(apn=3D=3D'Opera');s.ismac=3D=
(s.u.indexOf('Mac')>=3D0);if(o>0)s.apv=3DparseFloat(s.u.substring(o+6));e=
lse =
if(ie>0){s.apv=3DparseInt(i=3Dv.substring(ie+5));if(s.apv>3)s.apv=3Dpar"
+ "seFloat(i)}else =
if(s.ns6>0)s.apv=3DparseFloat(s.u.substring(s.ns6+10));else =
s.apv=3DparseFloat(v);s.em=3D0;if(s.em.toPrecision)s.em=3D3;else =
if(String.fromCharCode){i=3Descape(String.fromCharCode(256)).toUpp"
+ =
"erCase();s.em=3D(i=3D=3D'%C4%80'?2:(i=3D=3D'%U0100'?1:0))}if(s.oun)s.sa(=
s.oun);s.sa(un);s.vl_l=3D'timestamp,dynamicVariablePrefix,visitorID,vmk,v=
isitorMigrationKey,visitorMigrationServer,visitorMigrationServer"
+ =
"Secure,ppu,charSet,visitorNamespace,cookieDomainPeriods,cookieLifetime,p=
ageName,pageURL,referrer,contextData,currencyCode,lightProfileID,lightSto=
reForSeconds,lightIncrementBy,retrieveLightProfiles,"
+ =
"deleteLightProfiles,retrieveLightData';s.va_l=3Ds.sp(s.vl_l,',');s.vl_mr=
=3Ds.vl_m=3D'timestamp,charSet,visitorNamespace,cookieDomainPeriods,cooki=
eLifetime,contextData,lightProfileID,lightStoreForSeconds,"
+ =
"lightIncrementBy';s.vl_t=3Ds.vl_l+',variableProvider,channel,server,page=
Type,transactionID,purchaseID,campaign,state,zip,events,events2,products,=
linkName,linkType';var n;for(n=3D1;n<=3D75;n++){s.vl_t+=3D',"
+ =
"prop'+n+',eVar'+n;s.vl_m+=3D',prop'+n+',eVar'+n}for(n=3D1;n<=3D5;n++)s.v=
l_t+=3D',hier'+n;for(n=3D1;n<=3D3;n++)s.vl_t+=3D',list'+n;s.va_m=3Ds.sp(s=
.vl_m,',');s.vl_l2=3D',tnt,pe,pev1,pev2,pev3,resolution,colorDepth,jav"
+ =
"ascriptVersion,javaEnabled,cookiesEnabled,browserWidth,browserHeight,con=
nectionType,homepage,plugins';s.vl_t+=3Ds.vl_l2;s.va_t=3Ds.sp(s.vl_t,',')=
;s.vl_g=3Ds.vl_t+',trackingServer,trackingServerSecure,tra"
+ =
"ckingServerBase,fpCookieDomainPeriods,disableBufferedRequests,mobile,vis=
itorSampling,visitorSamplingGroup,dynamicAccountSelection,dynamicAccountL=
ist,dynamicAccountMatch,trackDownloadLinks,trackExte"
+ =
"rnalLinks,trackInlineStats,linkLeaveQueryString,linkDownloadFileTypes,li=
nkExternalFilters,linkInternalFilters,linkTrackVars,linkTrackEvents,linkN=
ames,lnk,eo,lightTrackVars,_1_referrer,un';s.va_g=3Ds."
+ "sp(s.vl_g,',');s.pg=3Dpg;s.gl(s.vl_g);s.contextData=3Dnew =
Object;s.retrieveLightData=3Dnew =
Object;if(!ss)s.wds();if(pg){s.wd.s_co=3Dfunction(o){s_gi(\"_\",1,1).co(o=
)};s.wd.s_gs=3Dfunction(un){s_gi(un,1,1).t("
+ ")};s.wd.s_dc=3Dfunction(un){s_gi(un,1).t()}}",
w =3D window, l =3D w.s_c_il, n =3D navigator, u =3D n.userAgent, v =3D =
n.appVersion, e =3D v.indexOf('MSIE '), m =3D u.indexOf('Netscape6/'), =
a, i, j, x, s; if (un) { un =3D un.toLowerCase(); if (l) for (j =3D 0; j =
< 2; j++) for (i =3D 0; i < l.length; i++) { s =3D l[i]; x =3D s._c; if =
((!x || x =3D=3D 's_c' || (j > 0 && x =3D=3D 's_l')) && (s.oun =3D=3D un =
|| (s.fs && s.sa && s.fs(s.oun, un)))) { if (s.sa) s.sa(un); if (x =
=3D=3D 's_c') return s } else s =3D 0 } } w.s_an =3D =
'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
    w.s_sp =3D new Function("x", "d", "var a=3Dnew =
Array,i=3D0,j;if(x){if(x.split)a=3Dx.split(d);else =
if(!d)for(i=3D0;i<x.length;i++)a[a.length]=3Dx.substring(i,i+1);else =
while(i>=3D0){j=3Dx.indexOf(d,i);a[a.length]=3Dx.subst"
+ "ring(i,j<0?x.length:j);i=3Dj;if(i>=3D0)i+=3Dd.length}}return a");
    w.s_jn =3D new Function("a", "d", "var =
x=3D'',i,j=3Da.length;if(a&&j>0){x=3Da[0];if(j>1){if(a.join)x=3Da.join(d)=
;else for(i=3D1;i<j;i++)x+=3Dd+a[i]}}return x");
    w.s_rep =3D new Function("x", "o", "n", "return s_jn(s_sp(x,o),n)");
    w.s_d =3D new Function("x", "var t=3D'`^@$#',l=3Ds_an,l2=3Dnew =
Object,x2,d,b=3D0,k,i=3Dx.lastIndexOf('~~'),j,v,w;if(i>0){d=3Dx.substring=
(0,i);x=3Dx.substring(i+2);l=3Ds_sp(l,'');for(i=3D0;i<62;i++)l2[l[i]]=3Di=
;t=3Ds_sp(t,'');d"
+ "=3Ds_sp(d,'~');i=3D0;while(i<5){v=3D0;if(x.indexOf(t[i])>=3D0) =
{x2=3Ds_sp(x,t[i]);for(j=3D1;j<x2.length;j++){k=3Dx2[j].substring(0,1);w=3D=
t[i]+k;if(k!=3D' =
'){v=3D1;w=3Dd[b+l2[k]]}x2[j]=3Dw+x2[j].substring(1)}}if(v)x=3Ds_jn("
+ "x2,'');else{w=3Dt[i]+' =
';if(x.indexOf(w)>=3D0)x=3Ds_rep(x,w,t[i]);i++;b+=3D62}}}return x");
    w.s_fe =3D new Function("c", "return =
s_rep(s_rep(s_rep(c,'\\\\','\\\\\\\\'),'\"','\\\\\"'),\"\\n\",\"\\\\n\")"=
);
    w.s_fa =3D new Function("f", "var =
s=3Df.indexOf('(')+1,e=3Df.indexOf(')'),a=3D'',c;while(s>=3D0&&s<e){c=3Df=
.substring(s,s+1);if(c=3D=3D',')a+=3D'\",\"';else if((\"\\n\\r\\t =
\").indexOf(c)<0)a+=3Dc;s++}return a?'\"'+a+'\"':"
+ "a");
    w.s_ft =3D new Function("c", "c+=3D'';var =
s,e,o,a,d,q,f,h,x;s=3Dc.indexOf('=3Dfunction(');while(s>=3D0){s++;d=3D1;q=
=3D'';x=3D0;f=3Dc.substring(s);a=3Ds_fa(f);e=3Do=3Dc.indexOf('{',s);e++;w=
hile(d>0){h=3Dc.substring(e,e+1);if(q){i"
+ "f(h=3D=3Dq&&!x)q=3D'';if(h=3D=3D'\\\\')x=3Dx?0:1;else =
x=3D0}else{if(h=3D=3D'\"'||h=3D=3D\"'\")q=3Dh;if(h=3D=3D'{')d++;if(h=3D=3D=
'}')d--}if(d>0)e++}c=3Dc.substring(0,s)+'new =
Function('+(a?a+',':'')+'\"'+s_fe(c.substring(o+1,e))+'\")"
+ "'+c.substring(e+1);s=3Dc.indexOf('=3Dfunction(')}return c;");
    c =3D s_d(c); if (e > 0) { a =3D parseInt(i =3D v.substring(e + 5)); =
if (a > 3) a =3D parseFloat(i) } else if (m > 0) a =3D =
parseFloat(u.substring(m + 10)); else a =3D parseFloat(v); if (a < 5 || =
v.indexOf('Opera') >=3D 0 || u.indexOf('Opera') >=3D 0) c =3D s_ft(c); =
if (!s) { s =3D new Object; if (!w.s_c_in) { w.s_c_il =3D new Array; =
w.s_c_in =3D 0 } s._il =3D w.s_c_il; s._in =3D w.s_c_in; s._il[s._in] =
=3D s; w.s_c_in++; } s._c =3D 's_c'; (new Function("s", "un", "pg", =
"ss", c))(s, un, pg, ss); return s
}
function s_giqf() { var w =3D window, q =3D w.s_giq, i, t, s; if (q) for =
(i =3D 0; i < q.length; i++) { t =3D q[i]; s =3D s_gi(t.oun); =
s.sa(t.un); s.setTagContainer(t.tagContainerName) } w.s_giq =3D 0 } =
s_giqf()

try {
    mboxLoadSCPlugin(s);
    // Call 'SiteCatalyst: event' or 'SiteCatalyst: purchase' mbox with =
SC variables as mbox params
} catch (e) { }


------=_NextPart_000_0000_01CDA7E5.AF948CF0--
