From: Subject: How Crafty Health Insurers Are Denying Care - US News and World Report Date: Tue, 26 Aug 2008 15:13:17 -0700 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01C9078E.44D574C0" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://health.usnews.com/articles/health/2008/08/25/how-crafty-health-insurers-are-denying-care.html =EF=BB=BF How Crafty Health Insurers Are Denying Care - US News = and World Report
Tuesday, August 26, 2008
  • Nation = &=20 World
  • Health =
  • Money = &=20 Business
  • Education= =20
  • Opinion=
  • Science=
  • Photo= =20
  • Vid= eo=20
  • Rankings=20

Health

How Crafty Health Insurers Are Denying Care

You can fight back when your health plan says no

By Bernadine=20 Healy M.D.
Posted August 25, 2008

Britain's government-run health system is under siege for restricting = new=20 therapies. The outcries became especially sharp this summer after = patients and=20 doctors got wind of plans to deny several new cancer=20 drugs that are widely available in Europe and the United States, = including=20 Avastin=20 and Sutent,=20 because they aren't "cost-effective." In an op-ed in the Daily=20 Mail, one of Britain's leading oncologists, = Jonathan=20 Waxman of Imperial College London, decried a "misguided and = barbaric=20 decision to ban four kidney=20 cancer drugs" that double life expectancy. And that means years of = life in=20 some cases. You may think this is just a British battle over care denial = in a=20 country with rigid caps on its health purse and a penchant for = rationing. Not=20 so. In the United States, it's private insurance companies, which make = hefty=20 profits managing half of America's medical expenditures for the = non-Medicare=20 population, that in ways often hidden and arbitrary have the authority = to deny=20 coverage=E2=80=94and therefore, in all too many instances, care.

3D"
(Getty Images)
Video: Health Insurance Basics

Related News

  • 4=20 Ways to Save on Your Medical Bills=20
  • Medicare=20 Web Site Confounds Many Seniors=20
  • 401(k)'s=20 Can Teach Us About Consumer-Driven Health Plans=20
  • Discuss=20 Health Insurance

Outrage tends to bubble up when denials become human drama, = triggering media=20 interest. There's the 17-year-old girl who died before her liver=20 transplant was approved. Or the people in California whose insurers = canceled=20 their policies retroactively after they got sick. What's often missed is = that=20 these cases are the tip of an opaque iceberg. An estimated 10 to 15 = percent of=20 claims are denied for various reasons, some of them technical, such as = not=20 meeting filing deadlines or failing to get pretreatment authorizations. = Denials=20 that produce the most disputes are those where insurers judge the care = to be=20 unnecessary or unproven, pitting a proverbial sick David against a=20 multibillion-dollar Goliath. What few Davids know is that insurance = contracts by=20 law grant companies the legal right to manage a patient's care, = including=20 denying it, sight unseen, and give them the final say, if challenged. = Unless the=20 state steps in.

Many denials are iffy calls and can appear distinctly arbitrary, with = one=20 insurer saying no to a particular therapy or procedure=20 while others reimburse for it. An FDA-approved drug might be denied = because it's=20 used off-label, even if it is shown to work in peer-reviewed reports. In = cancer=20 care, the generally expensive intravenous chemotherapy drugs given in a = doctor's=20 office are typically covered, while an equivalent, if not better, = therapy taken=20 at home orally is not. When insurance authorization is required for each = new=20 service or each hospital stay for the same serious illness, who's best = to say=20 what's medically necessary? Doctors and their staff will spend hours = trying to=20 get the approvals, but patients should be warned that if the company = ultimately=20 denies payment, for whatever reason, it's the patients who are = responsible=E2=80=94with=20 bill collectors ready at their door.

The problem is bound to grow as insurers make use of sophisticated = data tools=20 dubbed "denial engines," which are touted to reduce reimbursements by 3 = to 10=20 percent. Bearing brand names like Ingenix Detection Software and = Bloodhound=20 Technologies' ClaimsGuard, they search patient records for any signs = that claims=20 have strayed outside company parameters. Weeding out fraud or speeding = up=20 processing is one thing; serving up excuses to deny legitimate coverage = is=20 another.

More than ever, people must study the details of their health plans. = A few=20 insurers, like Aetna, offer on their website a useful list of all = services they=20 won't cover=E2=80=94and why. And know that = every insurance=20 company is mandated to have an internal appeals process, though there is = little=20 openness to help those seeking reconsideration, such as information on = similar=20 appeals and their outcome or the data used for denial. Nor do insurers = provide=20 much detail about the professionals making decisions. Who are they? = What's their=20 experience? Are they moonlighters denying care from New Delhi? (Yes, = many large=20 insurers are now outsourcing claims adjudication to India.)

But those with the stamina to endure the many exhausting steps of = internal=20 review sometimes win. Even if you lose, completing the formal written = internal=20 appeal makes you eligible for an independent external review in 43 = states and=20 the District of Columbia. State reviews overturn about half of insurers' = decisions, and in most states that's final. Nancy Nielsen, president of = the=20 America Medical Association and a former chief medical officer of a = nonprofit=20 insurance plan, says, "If health insurers are making coverage decisions = that are=20 fair and compassionate, very few will be overturned by the state's = external=20 appeal process." The numbers speak for themselves.

The lack of transparency in the face of such mighty discretionary = authority=20 is drawing the attention of state attorneys general. Andrew Cuomo of New = York=20 has launched a nationwide investigation into schemes that low-ball = reimbursement=20 and stick patients with bills insurance companies should have paid. "All = too=20 often," Cuomo says, "insurers play a game of deny, delay, and deceive." = His=20 pursuit is in full throttle and has the advantages of his bully pulpit = and his=20 power of subpoena to pierce the opaque veil that patients never = can.

Tags: health=20 insurance | = insurance=20 | Attorney=20 General | Cuomo,=20 Andrew

  • Print  |=20
  • Subscribe  = ;|=20
  • + Share this Story |=20
  • |=20
  • Sphere:=20 Related Content =
<= A=20 name=3DComments>

Reader Comments

Read=20 all 11 comments about this article
life=20 or death

Who do they think they are? If it was them or their loved ones I bet = the care=20 would be approved. We need to put into effect a national law mandating = poolicy=20 that insurance companies can make no decisions that would or could = effect the=20 quality of a persons care. The only people with that authority would be = the=20 patient or their family and their doctor.

Govt.=20 Health Care

CA has deep wisdom & insight!

How can Govt., with all of its bureaucracy do anything better?! We = need to=20 outsource the PO, the Military, the railroads, water, etc. it all needs = to be=20 privitized(eg. different gauge tracks)

For example, most healthcare in Europe is Govt. sponsored, or run -- = the fact=20 that they have for a long time had a longer, & better quality of = life has=20 nothing to do with that -- they have different diseases & lives -- = we need=20 to be AMERICANS!, & die younger, worse off, & poorer -- but = secure in=20 our ideology & logic.

For=20 Profit Or Else

Insurance companies are in the business to make a tidy profit for = their=20 stockholders. They also make a bundle in the stock market investing all = those=20 premiums. When the stock market tanks as it currently is, you see denial = rates=20 skyrocket and a drastic cutback of approved procedures. They are in the = business=20 of making the hurdles so high and so numerous that one just gives up in = disgust=20 or in despair. They count on very few people actually appealing denials. = That is=20 the racket. And without strict regulation and some strong armed = Insurance=20 Commissioners who will enforce the laws, they will do what they do = best--prevent=20 utilization of services.

The argument about "you have to draw the line somewhere..." is bogus. = You are=20 not qualified to determined what constitutes "quality of life"--that job = is=20 taken already. " We'll spend all this money..." you go on to argue. And = what=20 happens to the money that you don't spend??? It goes directly into the = pockets=20 of the CEOs and the stockholders--FOR PROFIT. If you take the profit = motive out=20 of healthcare, it eliminates a whole host of evils and people get much = better=20 care.

And just for the record while we are on the topic of healthcare--ANY = provider=20 who refuses to take TRICARE PRIME (the military insurance policy) = because it=20 does does reimburse you well enough is UNPATRIOTIC. It is your duty as = an=20 American to treat our soldiers and their families. Yes, I am well aware = of what=20 it pays. We must lobby the Feds hard to raise the reimbursement = rate--but in the=20 meantime treat the soldiers for God's sake! It is your duty. Nobody has = asked=20 Americans to do squat in these two concurrent wars. Well, I am asking. = See these=20 soldiers and their families. They need help and the VA cannot keep up.IT = IS YOUR=20 DUTY.

Read=20 all 11 comments about this article =

Add your thoughts

* Type your comments here: (3000=20 characters left) =20 Submit=20 Your comment will be posted immediately, unless it is spam or = contains profanity. For more information, please see our Comments FAQ.

advertisement

advertisement

Health = Headlines=20 from U.S. News

If=20 Medicine's High-Tech, Why So Much Illness?

Public=20 Speaking: 5 Ways to Beat Your Anxiety

Health=20 Buzz: Incense Linked to Cancer

Note=20 to Teens: Do Hard Things

How=20 Crafty Health Insurers Are Denying Care

Health = News From=20 HealthDay

  • Findings=20 Challenge Tight Glucose Control for Critically Ill Patients=20
  • 'Ayurvedic'=20 Medicines May Contain Lead, Mercury or Arsenic=20
  • Nonmelanoma=20 Skin Cancer Ups Risk for Other Cancers=20
  • Nuts,=20 Seeds, Popcorn Don't Boost Diverticulosis Risk=20
  • Drug=20 May Lower Blood Pressure in Adolescents With Hypertension=20
  • More = Headlines=20 From HealthDay

Video:=20 Diseases & Conditions

3D""=20=20

HealthiNation video

Family=20 Health

How to travel safe with your newborn and more tips on family and = health.

3D""=20=20

HealthiNation video

Prepping=20 for Pregnancy

How to get your body and mind prepared for a safe and healthy = pregnancy.

3D""=20=20

Aching=20 Back Pain

Dr. Paul Knoepflmacher takes us inside the body to see how the back=20 works.

advertisement

  • Nation = &=20 World  |=20
  • Health=20   |=20
  • Money = &=20 Business  |=20
  • Education=   |=20
  • Opinion=   |=20
  • Science=   |=20
  • Photo=   |=20
  • Vid= eo  |=20
  • Rankings=20

Copyright =C2=A9 2008 U.S. News & World Report, L.P. All rights=20 reserved.

Use of this Web site constitutes acceptance of our Terms and = Conditions of=20 Use and Privacy= =20 Policy.

------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://static.usnews.com/images/global/usn_logo.png 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 ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.usnews.com/pubdbimages/image/8969/FE_PR_080825healy_insurance185x123.jpg /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAB7ALkDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD5Ah4x Wjb546VQjHze9aFovzdOO1dBLNuwQEg5xxXRWMG4Ad6w9OXpk11OnRg7ahsxNOzssgDFbVrp+T09 6j0+HcFA/OulsbTIUY61k2BRh0zLDH8quxaT6it220/BXitODS+M7eQaV9AOYGkbkxjHPSr+m+F3 mlWVhtVSD9ea6i20fzGXIwD3xW/Dp4SMIi8+uK461VU0d+EwzryOf+JGnWbaHG6RgNJHk5657183 an4ekuJ2Ajwua+wv+EE1DxfZG1srczPkfMfur9TWvo37P/hPwptuvFF4l9cj5jbqdqA+nvXxMZyw 1SXY/YaVShVwsVN+92WrPjPwp8Kr/XNTWOysp7t2OMRoSK9eH7LGvGx827jjsYsZO45avpeD4i+G vDymx0Kxt4ew8pBmsnxp46hj0d3up8FlzjNRVzKcvhZywwjTt7Oyffc+FfH3wlt/D9y6mQysOMiv KNT0pLVyoUZFe4fFTxdDc30zRsSuTxmvEdT1AXUzEdK+my6pWqU06h5OZYejSlaCMKe2AJwKhht/ n5q/KvzZxkVF5XJP6V7Vz5tw1LMV55C4Xg461Tvr95QRn9Kl8o4Azio2ticnFCsinzWsjDniZ8+t VjaHIroGsfUdagktcdq0UzklTuYotsfWpvI+lXXh2jOKXb7VXMZqmdZCMmtS0QnGM1Qt4+ea17FA COOK6DxJM2dOXketdVpikgZHI6Vz1jHgqRXT6ZHhlOc4qGupmdTpadK63TIuFx0rldMBXHpXXaYO gz9BWTA6OythlcDPFbdragnp26ms7ThkDtxXQWYHHHFTbS4E1lZ4kzjBwa6XSdE0+y0/+1vEF2un 6Yp+VWOGl9hVbRIIhcO8/MESF2HrivAPjN47vfE2qSRGdhaRErHCuQFH0r5LNcRNVlRp72v6H6Jw 3gViKUqk3ZJnq/xG/au07QbJtN8LRC3gUbfMAAJ96+c9Y+M2seIb53nu5Cme7V55rMU81yMOcehN Z0ttMrZ5GOorOlgoyXNUd2fWTqxwvuUY2PafDnxIXSllmdzLLjAJqj44+Kc+p6eoEhNeQW+pMoKZ J/Go73UmeEqSSR0prLaftOawfX7xu9yh4i1eTUpixP4VgRAu5WrV1KNxNWdCtBezFcZOeBX0sEqc NEfJYibqTuVfsZAyaiaMLx1rum0E+T93t2FcxqOmvbkk4UA96I1FJ2MJRUVcyz1ppHsainuI4mO5 +c9BUa3sbHjca1OXmVyyV+Wq8vHNWYpklTIIH1pq24nnRAynJwKAla1zPNuz84IBo8hvSutl8NXG wDyiPwpv/CMT/wDPJvyqtTzXVh3JrW2ycYNbdlbfdwKnstIYsDg5PpW/p+iscZBruPnnLqRWFt93 AxXS6dasMdvpUmnaI2RlSB9K6fT9CLEAKcfSkzO9xmnWxwODmuq0u3ZSMg/Wnab4fcgfL09a6iw0 JuOOB6VmUhLAqm0McE10NjInHPaq0OkEy7OOD0NbNpojBc8VLaNEmWoH3wzRqxHmRla8D8UeHI1v JRICSCRyOlfQ8GksmB39azdc+HVtrjibIgmPUgcN718/jcF7aftYb7H1+TZr9Ri6VT4WfLV54biS ZXK8euKqz+GoiQRypHpX0rP8E4JAP9KT8VNM/wCFG2H/AC0vmBxwETArCnhq63R7GIzjDy1UvwZ8 Ka/bLpV64U5G49Kxpr5WY4IH40z9pLVNZ8D+J7zT/JhjeC4eMkqScdiPqP514Nd+ONZuz8140Y9I wFr24UGormPEnmkb6I9lu9QjjJLuqAd2OK9F+Anh1/HWtObQxzwQuQ8isCAcZwa+QLi/ur58zzyT E/32Jr3z9i691bTfi9ZJZ3LR2MyP9thJ+Rowp+Y+hHY1tKknF9jhljpyd4o+2E+ENqLZ1nuQkhHG 0ZAPvXiPj34Uanp08jNFJLCScSRDcpHrxX0ZqvibT7XcZLyJceriuRufHelG6WJNRgLs2MCQc1iq cI6xOdYmu/i1Pl698BXcIybaQH3Q0y38CX0gDJbO49hX2fMba/g2SpHIhA4YDBrIn0WwtiWit44i e4Xmr5ZN6PQuOLjFe8nc+VB4DvwnNnIv1U1NoPw/un1WKSWJo4YmDsxH6V9J3djuBYfN71g3mnnk AcVvGlrqznnjZSVkrHFz2uCeKT7IPQVu3OnkHofej+zj/dNdWh5pYsPBzZGEP5V0+meC2O0bCPXI r1Kx8IIMfJXRWPhZV48sZHfFQ5ISgzzXTvBWFUbePpXTaZ4OIA/dkgcZAzXodn4dUKMoBXrXgzwP bPpkbvGCSPSsnPQ3VM8JsfCTDH7o59SK3rPwqy4AiI/CvoWDwZZrgeUv5Veh8K2ikfu1rPnZfJY+ M/id448O/DHUYv7cuZbV5FDIqQs+4fhXL/8ADUPgOOIMkmoS5HG20Yfzr6L+PPwv0PXdZtv7U0uG /tpbcLiRM7SpPIPY15Gnwb8LaShSHw9YsuflLR7uPxrO97ltKNjiZP2tvCUYxDpuqz9uIlX+bVSk /a8088WnhbUpyOm6RR/LNem/8IhpGnsqxaJp8ffi2T/CpXtbezPy2dpF6bYkH9Kk0TXY8hm/ax1a dSLTwJeSdgfOJ/lHWdN+0b8Qr0/6F8PXA7GTzW/kBXres+Ik0qHzCwC4P3F9PpXn+rfGGG3t5JEt 72UK2MJEcfzqOZI1UXLZHzX+1Ff+KvH2j2F34l8L22iSKzCO5WBlklGBlSWPIHB/GvkK60R4rpo/ MVR2LcCv0H+J3iyL4leC3trnQdTd45f3MygKYzjrz1Br5s1n4E6zdxpKkEipJnG9ADit6dWKVpMp 0ZNLQ8I0vSpb3W7OxUAyTzpEPTLMB/WvoDRfhn4j8HLN/Z+p22ntKNsjwSZZgO2cdKo3H7OOtaZe 280bNGyJ5qnvkd+ldDp/w98WrciE307qVzhgT/OrdSH2ZDjRlHdGDqug684Y3PiWSQ+m5jXJX2gX kEyyNqk8jIQ3BPOPxr0if4e+JZLGaWSWR2QkYEYzXMaj4S1aGMNK0oznnbVwmn1HKNuh7L4D/aZs hHBY69EbB0UILkZaJsDHPda9d/4TOx1CyS5truOaBxxIkgKn8a+IbjwvdEHMjE1Z07wlcNEU8yYr 12q7AflnFJwXRmDimff3h2Iano4uMbsuQPyqK90sH+EcDiuc/ZZ0G+sPhpM93JNLHJdsIElYtsUA A4z2JP6V6de6fuBOB+FKMrHPKFmecXWm47VH/Z/ua6+500M4yMD1pv8AZaeh/Orcr7Gage9QaUEY fKDk1p29hlenSrcVvg1ehhH51mbJEFrYguqgckivZ9CshBp8CgY+WvNNItPP1G3QDqwr1y3Ty41U cAcVDLJ44sCpEUE0iHinry1CEzJ8U+G4PE2lSWsgAlHzRPj7rdq+a/EOn39n9ptipjmgfaR6c/yr 6vBz25rkPF3gWLWZ3vbeNTcMuHXpux3qJxb2NISSdpHyjfaVqcqoXlfuOKhk8KXVwFLtI5x619Jy fCy5ltkKxxb88oT0qeH4VXBRMvAh6EHnFcrpSZ2KrFbHzcvgBpoYy0RYBj15pI/hYJ7WZfs/BION tfVVp8LoVtystx8+4HKLwB6VoWvw40+ESiSWSXeMDou2j2APEpaXPku0+D27TbmI2yg5BCkCmz/B UyWUeYoxgnqK+xbLwVpVlFMnkmYSgKxlOePb0qxH4V0iO3+ziwhaPO7DDJz9av6uiPrbPjq9+BiT pbNhVBUrnb147VBp/wAAoZry3VI5JXdcBUj+9X2yLO3RI0WGMJF9wBR8v0pwjRMBVCgdABR7BE/W Wz43s/2X2uIr+JdMuDgsCGAXn2zjNZN1+x+NU07nw/IHD4/fSBCeOuCelfbUhDdTmq8g/wD1VSpp B7aTPzz8QfsHa0A01hYaVa8523MxY4x7A9+KzvDP7Mi+Ht48SNAZeQLexUqo995GT+FfolMgYEH0 71yHinwVZ67AwZAsnZh1FaWM3Js+ZE0q30uwis7WJYLeJQqIo4ArHvIvnGB+VekeLfBV94fd90bT W/aRR0+tcHeIg4H61SdiHqczdRYJGOKPLPt+VXbhCCRgYpfK9xVMzSPeYgvUVYjwSMDHsKqxAg4P arSOVYYGDVsEdP4Mg83VkbHCKWNekKc9q4f4fw5S5nYYGVQZ/Ou2U9AazYywCfanoeOetQhxxzTw 3vTQiwuMDpThjHU/hUKt3x3p6tkgnpVCZMvIpw4qLv14pwbA4NAiXJp2ahD49BmnbjQOxJ0/Olyd 2agmu4rfHnSpDnp5jBc/nVVdcs5twgka6ZeCsCFz+lAjQxmmuBzXI+Ivin4c8Kzrb6rqtrp922MW s0m6c5zj90gZ+cHt2qh4q+JVxo/gq58RaX4c1rxCYcldNtLYQXUqgjLokpUsoznjnHaouNHbScHp Vd261xfg/wAc/wDCb+E49b0tbTU3cEmCwu2d0P8Acbeq7X9QwFXdB8d6d4it7g2dyk8tq/l3UCMr SWz/AN2RQeDU3NTfk5FU5CBnmoW1iCRN8cySIe6nIrNu9dt4skyKPxouUlcsX0EV1EyTIsiEYwRX kPjr4TRXIkuNIIhm5JgPCt9PSu5vfGthbA77hF9i1Yd5490187buI/8AAhS5l3LUGfOesW0uk3T2 13G9vMDyrjB+vuKg+0p/er1rxlrGgeIbUw6gIpuPllU4dPcGuH/sDwv/AM/s35rUupEPZs9RjJEm erDr2qdW3HPes4XCjBHNXLV/OdEUcsQK6TlPUvB0H2bQoAchnJkP41vxufwrPsFW3tYIh/CgH6Va EuO1Z3LLYfJ68VMp9aprIfwqQSZ6cUITLgl+UcU7zVVSzEKoGSSelVg/HSniUbSD+RqxFG28ZaZq KF9Plk1SMDPmWMLzJ04+YDFcprXxp0nRjcRXN1o+lXEQG2PWtbt4N+Tj7sRldR/vKKv3+i2ltpt5 o12hl8N38T25h3lfsoddrIpBBVCCcY+6TxxjHz7ZJp37LXxBtNEX4fPrHgzXxKYdc0jSUvLq3uNx by7gKhkYFdo3EkHbnjkGeZXHytnrXjv40z+A/h5deNJQvibR4QPMi8HWovZYFIP7xnklVSgx12Dr 0riPDP7UVrrdlpmq6nd6Zpvhy/i+0Qy3PiFbjUbmEgYMdpYwsoOTzubIwQRUUaS6r8TtH8RaB4Mu /CGnqCupahfXgtEu4CTmE2KEhy2c7n27aw5vBXhf4eeJtWvvAnii48BR6qAb6w0S1hlDSAAB496t 5RwvbuSe9JzQ1TbN3xn8VvGHwytoPEej+F9K8U/D7UZBJb6vBYXMc+mRMy/8fcWXlb+L50TuuVHQ 8P458X+KL7TNV1BvBfib4mfD3XZDLeaRYavb38VsQRiSxuInSe32YyY3ACnoQRirmk+LtE8H6uNU k1XxNr2pwI8aah4k1p5htcfMFizsAP8Au1zep/tF6f4at3ttGksNEtTK8zwabZogZ2OWbkY3E8k4 zWbqxWxoqHc6bwzY+JL2Tw/qVvp+reOPDMiiDT/EV5t0zxboWeq3DS7EuYQGxuBB4xgkbieH9N13 4WeIb+91DxD8Ore5nlKJ4pWC9vNXu4+DhoWkMaSYyMBmXODtrxDxJ+1TDKria7utSfJOby5Z/wAg OAK841T9qq8tY2j04R2SEYxbII+3sBmkpyeiRfsordn1z4ji8L6lepqWp2uva3rs25bvW4Zh4d+0 Qn7sNwsLRmaNe3yO3qTXOaR8RtN+GemXWmaB/wAI74H02VjIYNBtWubhpP8Ano88+Fc/70J+tfEP iD4/atqTNuupMH/a61wWq/Ea/vd26dzn/apqE2VaCPvDU/2pLDw/NPPBqV9qd5Iu2Se8ud27nPCD CL/wFRXmfif9sq/uC6wybM9818bXfie5uCcyHP1zWTPqcsp5ctVqj3ZXteiR9H63+05rOoM/+muv 0auOu/jxrnm5XUJQPZzXisl3IT96omvW24LH6VoqUUZuo2e2R/tA64OHvXce5qz/AMNAar/z9P8A ma8Ee6OODR9qb1NHsodhc8u5+2KsM8c1v+FLf7Vq8IblVOTXLwMcHnvXY+AR/pzHvQ9DlR6YjkL1 4qZW6c1TzwamToKk0LatkcmpVfHeqqngVLGfloAtiQbeD9aQyYBqHJzTWYnP0oAWV1kRkcBlYYIN cprWlX5tmhg1J7eHnDIoLgegJrpyetUrwZVs+lZlnhvi3Tn0yOQtPc3bg53XEpb9OlfO3xE8aX9i 0iwlowOy8V9XeOkVopQVBGDXyn8ULePzZPkXqe1c1TRm8drnz14p8c6nO7gyv34zXnWpa3fXDNuk c5969D8RwR+c37tfyrkLiFP7g/Kto2JbZx80ty5PLfjVGSGeQnJIFdfNEiqSFHT0rPl4I4H5Vtcg 5Z7SU9QarTWcg7V0twcDjH5VjXlxIFOG/StU2wMp7NgMFcGoHtmHbFFzdzc/vG/Osm4uJSCfMf8A 76NaEl2SHbn5gKqSvFHnc6j8axJ5HbJLsfxNZsuSxySfxq1EDfm1S2j/AOWgP0qL+2bf+/8Azrn9 opuwelOxNz//2Q== ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.usnews.com/pubdbimages/image/3322/VD_PR_healthinsurance.jpg /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAB6ALkDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD55SJ2 kJy2M+taFvE3HLVJbWMjQrIEJibkNWhBaE7eB8xwPmHXn/A1+5OcV1PzDcfa25OM81q2tmrHGMD0 NRWcG5h2U8g+oFbFvshCs5VVfIUk9cDJ/SvPrVopEKN2T2VghIITGOlbNvZAAE1FYSwzFQjq3HUE YrQe4ht2RZJFRm6AnrXgVap1wgEdtgHk1PHbDrls0+OaIhv3i8cGrVqyXAbyyG2nDY9a43PXU35S 1p3g+41bQtZ1OKSNYNLiEssbffdcEnb6kAE/gah1nwZPpUXh0uyTza5DJNa28GWkCqFPzenDg/Q1 o2Pin/hH7cW0UImkOo2lzOrSBVMEZcSxkHrvVytUl8cXFzqtjc3FiFSI6rHJFHMh2QXIjjijj3Aj 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 X10YKnFQjstDyJSc25S3Z//Z ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.usnews.com/pubdbimages/image/3564/VD_PR_familyhealth.jpg /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAA7AFoDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDgfD/w 11wQ3TyaXMJIMF1yuRkZGRn0rsPgl4M1y/8AF93fReHr/VtEWCbTNQezZFaHzoyo5ZhzWJ4v0zWP Gmt3GsRXGhWsdyYkCW+pbigUbeAcdcdxxiu3+Fepat8KrTVv+Eft9Ee5vrOO3u7nUNXd0lmSQuJA oX5flO3aPTrXwc8dTdJu+p9esO41EkU/En7KPgr4ba9oXiSz0zxHe6pat9qgLXkTrG4Qjy5AcdM8 gZ+tcLfRT6bJLDdxPBPGcmItyueccH3q58fPjLH4zbw/onjhofB2lLeB59UsJ5Lq3dXGwuwVQ21R 2GeTXDan+zVoFjr3h5PCGsXt5oGumSSC+ttQFwLqNSVVljH3SxBx+R5qKeM5YOdZvbR2008zr+o8 +lGy7rqr9T3H4N+AdV8Y+AfH1rLZXcPh7xNZiwi1qF42WGWN8uNpbOcHPTsa8Sg/ZGb4TeN7u903 UrzxHeXEEsESOsSCTfgbwQ2TjHpX0vpuk+LP2fvhfpHh7/hHrexs7uQy6lIbl5rhnI2mVgT8uE7K CPlryXw98JfC/hvxre6vFrF1Lr2ifaLmyiuLvEU7opeLPHKsp7etcrzVU5OUX7suy3sVDLHUppyt deZxNpatFKYpoykqMVZCehHBq8/h430kIGFDOqkk9icVheLvHl59ittR07RNHjMl2Irh7e+mnZGZ sEtkAcE9BXZw2Zmt1Lv8wAzs4BPtX0Ma/tYXR4fsuV33PmD9pH4dXcvxy8UpbMbq3muo4YrjB2q+ 1fkJ7YWvYfBXwzn0XTrTS9Ps5p/LG0bELZJOT/OrfiDT4dU8baTocNhiaG4j124uA2TLjMZDA+xz n2r2HS76fTBI9lcy25HeJiKFiKs4KM1sFXD0oz5oO99fTyO70T4D6Tf6bpQ1KxJvAiLI6sVJGOhr 22w/Zc8HGxtybKXJjXP79vQV8zXnx4f4faZNrfiHXJksbUjr87ux+6igDlieB/hW/p//AAUi8XPY WzWvwC8SXdsYlMVwbsKZUwMNgQnGRg9T1rzakay15rL1S/Ox1QUZaU43fo3+Vz5m0mx8S/G61TQf AViNC8tGur7VZLbbc7c48tem1cAnI5JGOBWD8GfFeo/Dj4zWnhn4iX0/ifwneXDWM15Du8+0n2nY y5GcbgAVOQQcjBFejeLPjDf6J8KNC1rwrZ6noni+bT5U1TSRA8sU1sXIZnTGflA3LKMEKOuDz8x2 ernxDqejXEOpSlysbTwzx5aWVOWkU56nAwexNRh51qnOppKnqttU1fW/5dD3K2GoxpwlFvn0e+ln bS3z9T7v/ai+AHh/XfDljdPK2oyaNa/a5NNF0glFu5HlJkkE5L+n8PbFJ+xDrXw5bVtP8EXzSaZ4 o8M391qVhcAiSCe1b94bXdk/NGctj3P0r5z+Pf7RQvfEljqEmg2l9dXdlC8FxveOaywMFIyD8yno VZONowa9B/Y1+Hkujve/FrUtCmd7hpjYQQWZLXjPlW2uRuEajPzYG5icZANc9HLq0sG6M5b/AA3a td/Pbe4sViaU6qjSV5WtJpO9vu18unzPv/4i+DbD40wawkeuvFPYSCxkjtiN1pMrLJu45BaNl4J5 Vq8w1P8AY2HithPB4tis0SH7O5ezJzg5RuH7VtfAPxJrfjv/AIS/xDq/g0+Cru51GOEQyyDOoRxQ oiXDKT+7JHy7efu1y2nfEbXPBXi/xGHvRf6adSciylm3Rsu7naRyuPy9q9nAZPShhYU61nJbu99f kzwK+YV6UuSm2ktLWWn3o80+Jf7FX/CvPh94jlbxUNQlsnl10bbPykl2/vDHncSOFIz6kV8seDv2 r9A1zV7fSrrSrzTFuZRFFdPIsiAnhd4GCMk44ziv1kupdP8Aif4dmmuLN20q+sJYpbG6TaXUqVwc dVPOCOtflj8WP2d/D9tfJa2OnaXpd09n9pkbTvM/cT+aQoTd1XaoBB7k/WnUq4TDVY0JRd5L5afM 1oYfF46lKrCS922++v8Awxp/EPxL/wAIB4ivPFUiLIE0b7Jbxd5Zy+VH07n6V4z4j8NeINe8B6R8 SfD3ibVNX1uS4VdWtrNXSLTZWZhFEMnliEJIAwAe1eyfth6NL8RL3T/EHhuFPDlloVgIoraecPJd t0Z9iAhWOeMnoKveAvEcl7+yXpHhi9vbXQtQsZZ5LSezt5bn7SgZyGlRVJ3bpCBjkgdqmusThKVO vFbyV/R30e/ltr9xvhqeHxNSdGppaLd/NW2281roeT67450j4oSfDDS9d1EadaX2pQPrBDY8k7jG T0OBkN9M1+pKRw6ei2tnPBBaQDyoYhESEQcKv4AAV8C/td/soeE/gT+yj8PdQjgRfHrywSareq7b pzPG7sjBjkbSF2jAxg9ya09A+LS2Whadbr8cbFBDbRxhZQjOMKBhjnk+pr5rOaMsxp062FbaTkrN Po1qrX/E78mxlHBucMRpdJ3X/B/rU+ZPiD8Y/EGmeNI7jTtSeHULXEr3KHawlxxtI5AC8Y6EEggj ivM7rxTqF9rzatPOEvGkMpaCNY1BJycIoCgH0AxXqGj6pNYCdbZ7KD7RkSkWMRaQHggsQSQfStS1 SJQCbfTsjHP9nw4/9Br7SnOlQikoK9rX/pHz1WpUxEnJ1Gk3e3Ty6mr4L+K8epaZbieSdIN4823j uGiYEdcOvOD7V9B+N/2jr2fTdGXwpq0EempZR20WmajbvJJaiMBeXSZQ+SCdxGTk5ANfOixW3mM7 W1grO24lLCBcn1+7XTeF5LNtTtIJktDA7hSBaQDAJ5x8leTUpU3UU+i2R6kMXNU7R+J6Nn2v+x/4 91LxL4J1yTVJ7C5uo9SAGyJhhTEuCQ0jd89MCvYPCvw7s5vEF7qTC3uJHla4Z5YR5cAJzwoOCfc1 +S/xh8K+L9H8WLdaFcG90rUyJLdNIDBoQW2rHIoAAbp0yPm69a+vnsvi14W+Cml6FeeHLDwn4Zij XzbqK/jjuLmcoA0s7B2LSHHPIA6dK9FY+jRpwXNGz03/AEOCrl+LlVl7SLT0eqauns16n3BNq8Ol 6beSQJ9peG3k2r5gQsQu4DcTjnsTwM1+f9x8WND+InxX1K+tb7SPDVhZW5eWTVoxCYdqkBCgD75W kJwqgg7Sx45rym5+z3Ggaros3jKwtobuZZJA185ORGEZWwTkEAnHTNJqfiW2uvGKy28nh6w0awsk s9Pe2nUSxgIFbd8uWzjPPpXJiqdLE16dZJ3in+nTqdeEnUwuHq0uZe9b9ez0+fU+gdS0nxp8Tfhl psl7rUNtr22VopI4vsjlAAyiQIq7VYMMPyOnY15h8M/BHxM8ba/rOjaXruoaPqmhSKtxJdXEsq28 nJQ7N211O0kEnaR61F8Ovi3qPgi2123PinTNSttRijSJLmTBtGQn5ozjuDtIPGAK6C3/AGrPFHh+ /uLuDVNDv98Kw+XNMgVgDxyEBBHOOwya8+v7XknChBX6aafNMqlGLcZVqmnXXX8D2X9rPwL4e1Lw V4ev/iH4cvfEsrxIxn0/XDZiSZV2sxQqw5JOM5xnrXyWdB+DBJJ+FviIk9z4sGf/AEVXqP7RX7T2 mfF3wRo9npkKw3tgPMkha8j8pe7/ADd/bgV8hv8AGIF2xZvjPHGf61nlOExP1flqc0Wnsm1+CZOO xNJ1eZcrv1tf8/I7Ff2SPinp3hefxHfz6Np2lIu5JX1WGczD/pmIi2fxIryifUby0leCTV18xDgi OHI/nTNV8Tavpt89paapeWtpcDEttDOyROG4OUBxyPav1N+C3gnQU8Ha/po0m1Nmng/R0EbRg8NH clsk8nJOSSa9LGYypl9JVq9pKWyStb77nLQw1LFTdKneNt23f/I/K27v9etdPF8bkGxM5tllUjlw oYjHUcEda6nW/CfjrwmLK8ffNa3FvHdxX8OGtTE6gq/mj5cckeuVYY4qH4l2kVv4eiaNNhfUXVsH rtUqPxwAM+wro/FNpHL8APCM7bzJ5chIEjBSRMyglc4OB7fzr151aUFSbgmpu23k3+hGBwNXGOuo Ts6UHP1s0rfiedeGPE0sXxB0XVdUu5Lu3tb+CaeRgXAiSRSfl9AAeK/Zf9obx7pOrfs/ahLo1/aX y3IF5bzwzKVaIqNrKc9MGvyQ+ECL9qjGxSJtyyZUHcPQ11Oh63qDeOvAGltfXDadcS6bZS2rSsY2 gM7qY8Z+7t4xXjZtgVj6tNxfL7P8Vp92x0YSp9Upc8/e5vwf67l+bxPZyFi1zGXJzneDmqb+JrIE lrpAv+/xXtvwr+BXgPx98cfilpOt+G7a403S7lRZ28DyWywjLcDymX0711vx0/Zw+G/gD4Uw6toX ha3s9RaUgztNLMcZ6fvHYCsK+Nw+Hrxw8k+Z26K2vz/Qmjhqtek6sWrK/wCB80Q+JtPdWxeR/wDf yo7jxJYImPtSeuA9T6LomnahPJb3Gn2skTxsGUwqO3YgZH4Vha98PtAs/FWrWcNhstoNKguY086Q 7ZGxubO7Jz6HivXpUo1Lu9rHmzlKLS7h/wAJfawfattyhRoHQjf6rivHVtJ2UEQuQRkEKea+ltN+ F/hbVfjl4A8P3GjwnSL/AE21e5to2aPzW+zFiSykNktyTnnvTdV8D6JY6neW0Fl5cMMzxonmudqh iAPvegrnhmVLDtRim3JX6bXa7+R6UMqqYmLlKSSi7fOyZ//Z ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.usnews.com/pubdbimages/image/5260/VD_PR_Pregnancy90x60.JPG /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAA7AFoDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6cWyN hEqIM4rG+JVmdW+G3iK3PO6ykYZ7FRuH/oNcB4O/aT0zxJqUNpqth/ZKztsjuln3xgnoHyBjPr09 a0PFnxY0zU7O70Lw4ra9e38DQgxA+VHuyrbjwQQMnj2q/Y1IzV0V7SDjufKO5mhfk565FdL8Pr6K 28SadNdXsdjFGXJuJiQqZRgCcc9TXW6b8B9Vil261PBp9vtXD+ZuLkjkKo5yOPTrXe+Hvh74a8Lw LKII7qeIYa71Ibgp9oshR/wMivYnXhZpHnRptu55Tp3gbxH401a7fRrCS4hmuHZLqXMcRUuTuBIy Rj0Bruof2YtAe0U+LNafXLuM7xptm222R/8AaOeSP9pvwr0L+1Xu4ytpHPqCEcybhHD+eApH0WT6 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 ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.usnews.com/pubdbimages/image/6918/VD_PR_backpain90x60.jpg /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAA7AFoDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0k6gN 3frSf2gK5dtVO7qetJ/ap9T1qCC14tummk0ny+GW4dzk/wAIibP9PzrvPDEk32OJXXbIFBZSeQcd K80h1GaHWYbxGjkEcLRiKWMNgkglgc8HjFbmlaxemZ5DcsrSHkjA/wD1VhKjKc+ZbF86Sse9W0La dptrdgedFIADjg5rZtWtdXt3S2uUMwXcImOGz6Y9a8MtNXlVsTzPKh7SyFlH4E10WneKLGWaNJoo ZnHyjjLY9iOfyqXhpPqL2iQ7xTBqEmtXscN69qtufKjjjRSC4HJckHIycYBHArK8F30/iW1t31G9 FozxgyJBalvLYHDAkt6g1N478QRaNNL5cbqzsFjhkLZUYHUnn86XwJBGvh6GaPlrl3mb6lzwPauX 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 ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://static.usnews.com/css/global.css HTML { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } BODY { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } FIELDSET { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } H2 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } H3 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } H4 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } H5 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } H6 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } PRE { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } BLOCKQUOTE { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } OL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } DL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } ADDRESS { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } LABEL { CURSOR: pointer } FIELDSET { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } IMG { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } INPUT { FONT-SIZE: 100% } SELECT { FONT-SIZE: 100% } TEXTAREA { FONT-SIZE: 100% } LEGEND { DISPLAY: none } BODY { FONT: 62.5% Georgia, "Times New Roman", Times, serif; COLOR: #333333; = BACKGROUND-COLOR: #8596aa } A { COLOR: #005497; TEXT-DECORATION: none } A:hover { TEXT-DECORATION: underline } H1 { FONT-WEIGHT: bold; FONT-SIZE: 1.6em; COLOR: #005497 } H2 { COLOR: #780808 } H2 A { COLOR: #780808 } H3 { COLOR: #005497 } H3 A { COLOR: #005497 } UL { LIST-STYLE-POSITION: inside } OL { LIST-STYLE-POSITION: inside } UL LI { LIST-STYLE-IMAGE: = url(http://static.usnews.com/images/list-style-blue.gif) } LI P { DISPLAY: inline } .hidden { DISPLAY: none } .hide { DISPLAY: none } .text-image-left IMG { BORDER-RIGHT: #a9a9a9 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: = #a9a9a9 1px solid; PADDING-LEFT: 2px; FLOAT: left; PADDING-BOTTOM: 2px; = BORDER-LEFT: #a9a9a9 1px solid; MARGIN-RIGHT: 8px; PADDING-TOP: 2px; = BORDER-BOTTOM: #a9a9a9 1px solid } .text-image-right IMG { BORDER-RIGHT: #a9a9a9 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: = #a9a9a9 1px solid; PADDING-LEFT: 2px; FLOAT: right; PADDING-BOTTOM: 2px; = MARGIN-LEFT: 8px; BORDER-LEFT: #a9a9a9 1px solid; PADDING-TOP: 2px; = BORDER-BOTTOM: #a9a9a9 1px solid } .tktk { BORDER-RIGHT: #d926c7 1px solid; BORDER-TOP: #d926c7 1px solid; = BORDER-LEFT: #d926c7 1px solid; BORDER-BOTTOM: #d926c7 1px solid; = BACKGROUND-COLOR: #e6b3db } .ad P { FONT: 1em Georgia, "Times New Roman", Times, serif } DIV.ad IMG { FLOAT: none } #ad-container { CLEAR: both; MARGIN: 10px auto; OVERFLOW: hidden; WIDTH: 972px } .ad#position-1 { PADDING-LEFT: 24px; BACKGROUND: = url(http://static.usnews.com/images/global/advertisment-vertical.gif) = no-repeat 12px 5px; FLOAT: left; OVERFLOW: hidden; WIDTH: 737px; = PADDING-TOP: 1px; HEIGHT: 92px } .ad#position-1 * { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .ad#position-1-homepage { MARGIN-TOP: 3px; FLOAT: right; MARGIN-RIGHT: 15px } .ad#position-2 { FLOAT: right; OVERFLOW: hidden; WIDTH: 211px; HEIGHT: 93px } .ad#position-2 IMG { BORDER-RIGHT: white 1px solid; BORDER-TOP: white 1px solid; = BORDER-LEFT: white 1px solid; BORDER-BOTTOM: white 1px solid } .ad#position-4 { CLEAR: right; PADDING-RIGHT: 0px; PADDING-LEFT: 6px; PADDING-BOTTOM: = 8px; MARGIN: 10px 0px; OVERFLOW: hidden; PADDING-TOP: 6px; = BACKGROUND-COLOR: #eff0f1; _width: 98% } .ad#position-5 { PADDING-RIGHT: 0px; PADDING-LEFT: 1px; PADDING-BOTTOM: 8px; MARGIN: 0px = 0px 8px; OVERFLOW: visible; PADDING-TOP: 6px; BACKGROUND-COLOR: #eff0f1; = TEXT-ALIGN: center } .ad#position-5 P { TEXT-ALIGN: left } .ad#position-6 P { FONT-SIZE: 1em } DIV#page .ad#position-7 { PADDING-RIGHT: 0px; PADDING-LEFT: 10px; MARGIN-BOTTOM: 8px; = PADDING-BOTTOM: 12px; OVERFLOW: visible; BORDER-TOP-STYLE: none; = PADDING-TOP: 5px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; = BACKGROUND-COLOR: #eff0f1; TEXT-ALIGN: center; BORDER-BOTTOM-STYLE: none } DIV#page .ad#position-8 { PADDING-RIGHT: 0px; PADDING-LEFT: 10px; MARGIN-BOTTOM: 8px; = PADDING-BOTTOM: 12px; OVERFLOW: visible; BORDER-TOP-STYLE: none; = PADDING-TOP: 5px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; = BACKGROUND-COLOR: #eff0f1; TEXT-ALIGN: center; BORDER-BOTTOM-STYLE: none } .ad#position-7 P { TEXT-ALIGN: left } .ad#position-8 P { TEXT-ALIGN: left } .ad#position-7 IMG { BACKGROUND: none transparent scroll repeat 0% 0% } .ad#position-8 IMG { BACKGROUND: none transparent scroll repeat 0% 0% } #page .circ-ad { BACKGROUND-COLOR: #edf2f6 } #page #circ-ad IMG { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 10px; = PADDING-BOTTOM: 0px; PADDING-TOP: 0px } .this-google { TEXT-ALIGN: center } .poe { MARGIN: 15px auto 0px; TEXT-ALIGN: center } #POE-large { MARGIN: 15px auto 0px; TEXT-ALIGN: center } #grad-promo { PADDING-RIGHT: 14px; PADDING-LEFT: 14px; PADDING-BOTTOM: 3px; = PADDING-TOP: 3px; BACKGROUND-COLOR: #eee } #rectangleA { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 8px; = PADDING-BOTTOM: 12px; OVERFLOW: auto; PADDING-TOP: 5px; = BACKGROUND-COLOR: #eff0f1; TEXT-ALIGN: center } #rectangleB { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 8px; = PADDING-BOTTOM: 12px; OVERFLOW: auto; PADDING-TOP: 5px; = BACKGROUND-COLOR: #eff0f1; TEXT-ALIGN: center } #search_result #skyscraperA { CLEAR: left; MARGIN-LEFT: 15px; WIDTH: 175px } #search_result #skyscraperA P { MARGIN-LEFT: 45px } #leaderboardB { OVERFLOW: hidden; WIDTH: 100%; PADDING-TOP: 5px; TEXT-ALIGN: center } #boxA { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px; TEXT-ALIGN: center } #page .boxb-parent { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; = BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none } #boxB { =09 } #boxB .servedAdlabel { FONT-SIZE: 1em } #boxB .promo { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #ccc 1px = solid; PADDING-TOP: 0px; BORDER-BOTTOM: #ccc 1px solid } #boxB .promo H4 { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #ecf1f7; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 1px solid } #boxB .promo .text-image-left { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px } #boxB .promo .text-image-left IMG { FLOAT: left; MARGIN-RIGHT: 5px } #page { PADDING-RIGHT: 4px; PADDING-LEFT: 3px; PADDING-BOTTOM: 4px; MARGIN: 0px = auto; OVERFLOW: hidden; WIDTH: 972px; PADDING-TOP: 3px; = BACKGROUND-COLOR: #ffffff } #branding { BORDER-TOP: #fff 1px solid; BACKGROUND: = url(http://static.usnews.com/images/global/branding-bg.png) #003399 = repeat-x 0px 0px; BORDER-BOTTOM: #b2b2b2 1px solid; HEIGHT: 66px } #page .homepage { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/global/branding-bg-big.gif); HEIGHT: = 102px } #branding A { COLOR: #ffffff } DIV#branding-logo { FLOAT: left; MARGIN: 9px 5px 0pt } #page .homepage DIV#branding-logo { MARGIN: 18px 5px 0pt } #branding-logo A { DISPLAY: block; CURSOR: pointer } #branding-logo IMG { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } #branding-timestamp { MARGIN-TOP: 41px; FONT-WEIGHT: bold; FONT-SIZE: 1.1em; FLOAT: left; = MARGIN-LEFT: 5px; COLOR: #ffffff; FONT-FAMILY: = Arial,Helvetica,sans-serif } #page .homepage #branding-timestamp { MARGIN-TOP: 72px } #nav-magazine { FONT-SIZE: 1.1em; FLOAT: right; MARGIN: 41px 14px 0px 0px; COLOR: = #ffffff; FONT-FAMILY: Arial, Helvetica, sans-serif } #page .homepage #nav-magazine { MARGIN: 72px 14px 0pt 0pt } #nav-magazine LI { DISPLAY: inline; PADDING-LEFT: 3px; LIST-STYLE-TYPE: none } #nav-main { COLOR: #ffffff } #nav-main A { COLOR: #ffffff } #nav-supplemental { COLOR: #ffffff } #nav-supplemental A { COLOR: #ffffff } #nav-main { BACKGROUND: url(http://static.usnews.com/images/global/nav-main-bg.gif) = #16324c repeat-x 0px 0px } #nav-supplemental { BACKGROUND: url(http://static.usnews.com/images/global/nav-main-bg.gif) = #16324c repeat-x 0px 0px } #nav-main LI.active A { BORDER-RIGHT-WIDTH: 0px } #nav-main { PADDING-RIGHT: 0px; BORDER-TOP: #ffffff 1px solid; PADDING-LEFT: 10px; = PADDING-BOTTOM: 0px; FONT: bold 1.1em Arial, Helvetica, sans-serif; = OVERFLOW: hidden; PADDING-TOP: 2px; BORDER-BOTTOM: #ffffff 1px solid; = HEIGHT: 21px } #nav-main LI { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; = PADDING-BOTTOM: 3px; PADDING-TOP: 3px; LIST-STYLE-TYPE: none; HEIGHT: = 15px } #nav-main LI.active { BORDER-RIGHT: #bfd2e2 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #bfd2e2 1px solid; PADDING-LEFT: 0px; BACKGROUND: = url(http://static.usnews.com/images/global/nav-main-active-bg.gif) = #1866a9 repeat-x 0px 0px; PADDING-BOTTOM: 2px; BORDER-LEFT: #bfd2e2 1px = solid; PADDING-TOP: 2px; BORDER-BOTTOM: #bfd2e2 1px solid; HEIGHT: 13px } #nav-main LI A { BORDER-RIGHT: #687b90 1px solid; PADDING-RIGHT: 10px; PADDING-LEFT: = 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px } #page #nav-search { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 500; FLOAT: right; = PADDING-BOTTOM: 0px; MARGIN: -5px 0px 0px 667px; WIDTH: 261px; = PADDING-TOP: 0px; POSITION: absolute; HEIGHT: 35px } #nav-search FIELDSET { PADDING-RIGHT: 0px; PADDING-LEFT: 32px; BACKGROUND: = url(http://static.usnews.com/images/global/nav-search-bg.png) no-repeat = 0px 0px; PADDING-BOTTOM: 0px; WIDTH: 261px; PADDING-TOP: 8px; HEIGHT: = 35px } #page #nav-search INPUT { BORDER-RIGHT: #8e9195 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #8e9195 1px solid; MARGIN-TOP: -1px; DISPLAY: block; PADDING-LEFT: 9px; = FONT-SIZE: 1.2em; FLOAT: left; BACKGROUND-IMAGE: none; PADDING-BOTTOM: = 0px; BORDER-LEFT: #8e9195 1px solid; WIDTH: 173px; COLOR: #000000; = PADDING-TOP: 3px; BORDER-BOTTOM: #8e9195 1px solid; FONT-FAMILY: Arial, = Helvetica, sans-serif; POSITION: relative; HEIGHT: 18px } #page #nav-search INPUT.hidden { DISPLAY: none } #page #nav-search INPUT#submit { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; MARGIN-TOP: 0px; = PADDING-LEFT: 0px; FONT-WEIGHT: bold; BORDER-LEFT-WIDTH: 0px; FONT-SIZE: = 1.2em; BACKGROUND: = url(http://static.usnews.com/images/global/nav-search-button.gif) = #d55011 no-repeat 0px 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: = 0px; MARGIN-LEFT: 9px; WIDTH: 57px; COLOR: #ffffff; PADDING-TOP: 0px; = FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 23px; = BORDER-RIGHT-WIDTH: 0px } #branding-section { PADDING-RIGHT: 0px; PADDING-LEFT: 17px; BACKGROUND: = url(http://static.usnews.com/images/branding-sections/banner-blank.jpg) = #f3f2e4 repeat-x 50% bottom; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 12px; = WIDTH: auto; PADDING-TOP: 0px; BORDER-BOTTOM: #e6e2d6 1px solid; HEIGHT: = 66px } #branding-section H2 { FONT-WEIGHT: normal; FONT-SIZE: 2.7em; COLOR: #780808; PADDING-TOP: = 14px; FONT-FAMILY: Georgia,"Times New Roman",Times,serif } #promo-magazine { PADDING-RIGHT: 16px; MARGIN-TOP: -48px; FONT-SIZE: 1.1em; FLOAT: right; = COLOR: #1f5da6; FONT-FAMILY: Georgia,"Times New Roman",Times,serif } #promo-magazine UL { DISPLAY: inline; FLOAT: left; PADDING-TOP: 30px } #promo-magazine LI { DISPLAY: inline; LIST-STYLE-IMAGE: none; LIST-STYLE-TYPE: none } #nav-breadcrumb { FONT-SIZE: 1em; WIDTH: auto; COLOR: #094790; PADDING-TOP: 7px; = FONT-FAMILY: Arial,Helvetica,sans-serif } #nav-breadcrumb A { COLOR: #094790 } #nav-breadcrumb A.active { COLOR: #780808 } #nav-supplemental { CLEAR: both; PADDING-RIGHT: 0px; BORDER-TOP: #ffffff 15px solid; = PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 6px; FONT-FAMILY: = Arial, Helvetica, sans-serif; HEIGHT: 21px; BACKGROUND-COLOR: #122c42 } #nav-supplemental P { PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: = 1em; FLOAT: right; PADDING-BOTTOM: 0px; PADDING-TOP: 3px } #nav-supplemental UL { FONT-WEIGHT: bold; FONT-SIZE: 1.1em; FLOAT: left } #nav-supplemental LI { DISPLAY: inline; PADDING-LEFT: 0.3em; LIST-STYLE-TYPE: none } #nav-supplemental-small { CLEAR: both; PADDING-RIGHT: 0px; BORDER-TOP: #ffffff 15px solid; = PADDING-LEFT: 18px; PADDING-BOTTOM: 0px; WIDTH: 780px; PADDING-TOP: 6px; = HEIGHT: 35px } #nav-supplemental-small P { PADDING-RIGHT: 10px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 3px } #nav-supplemental-small LI { DISPLAY: inline; PADDING-LEFT: 0.3em; LIST-STYLE-TYPE: none } #siteinfo { PADDING-RIGHT: 0px; PADDING-LEFT: 22px; PADDING-BOTTOM: 45px; MARGIN: = 0px auto; FONT: 1em Arial, Helvetica, sans-serif; WIDTH: 972px; COLOR: = #ffffff; PADDING-TOP: 8px; BACKGROUND-COLOR: #8596aa } #siteinfo A { COLOR: #ffffff } #siteinfo LI { PADDING-RIGHT: 0.4em; DISPLAY: inline; LIST-STYLE-TYPE: none } .axa { BACKGROUND-POSITION: left center; BACKGROUND-IMAGE: = url(http://static.usnews.com/images/sponsor/axa-sponsor-bar.png); = PADDING-BOTTOM: 0px; BACKGROUND-REPEAT: no-repeat } #page .widgets .axa H4 { FONT-WEIGHT: bold; FONT-SIZE: 1.3em; BACKGROUND-COLOR: transparent; = BORDER-BOTTOM-STYLE: none } #page .widgets .axa H4 { CURSOR: default; COLOR: red; TEXT-DECORATION: none } #page .widgets .axa H4 A { CURSOR: default; COLOR: red; TEXT-DECORATION: none } .axa H4 { MARGIN-LEFT: 25px } .axa DIV.text-image-top { MARGIN-LEFT: 25px } #page .axa .text-image-top IMG { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: = 0px; MARGIN: 0px 10px; BORDER-TOP-STYLE: none! important; PADDING-TOP: = 0px; BORDER-RIGHT-STYLE: none! important; BORDER-LEFT-STYLE: none! = important; BORDER-BOTTOM-STYLE: none! important } .axa .apply { COLOR: red } .axa UL.related-links { LIST-STYLE-POSITION: outside; MARGIN-LEFT: 30px } .axa .related-links LI P { FONT-SIZE: 1em; MARGIN-BOTTOM: 8px } .axa .related-links LI.first A { COLOR: red } ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://static.usnews.com/css/articles.css .content { FLOAT: left; WIDTH: 625px } .content-data { FLOAT: right; WIDTH: 782px } .widgets { FLOAT: left; MARGIN-LEFT: 10px; WIDTH: 336px } .side-nav { FLOAT: left; WIDTH: 180px; MARGIN-RIGHT: 10px } .content H1 { FONT-WEIGHT: bolder; FONT-SIZE: 1.8em; MARGIN-BOTTOM: 4px; COLOR: = #0f2d49 } .content H2 { FONT-WEIGHT: bolder; FONT-SIZE: 1.2em; MARGIN-BOTTOM: 0.5em; COLOR: = #780808 } DIV#byline { FONT-SIZE: 1.2em; PADDING-TOP: 2px; FONT-STYLE: italic } DIV#dateline { FONT-SIZE: 1.2em; MARGIN-BOTTOM: 14px } .content H1 { PADDING-LEFT: 8px } .content H2 { PADDING-LEFT: 8px } DIV#byline { PADDING-LEFT: 8px } DIV#dateline { PADDING-LEFT: 8px } DIV.article-logo { PADDING-RIGHT: 0px; PADDING-LEFT: 4px; FLOAT: right; PADDING-BOTTOM: = 4px; PADDING-TOP: 0px } #related-articles { CLEAR: left; PADDING-RIGHT: 15px; PADDING-LEFT: 0pt; FLOAT: left; = PADDING-BOTTOM: 10px; WIDTH: 185px; PADDING-TOP: 0px } #article-media { CLEAR: left; PADDING-RIGHT: 15px; PADDING-LEFT: 0pt; FLOAT: left; = PADDING-BOTTOM: 10px; WIDTH: 185px; PADDING-TOP: 0px } DIV#related-articles { BORDER-RIGHT: #dcdfd8 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: = #dcdfd8 1px solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; MARGIN: -5px = 15px 8px 0pt; BORDER-LEFT: #dcdfd8 1px solid; WIDTH: 169px; LINE-HEIGHT: = 1.3em; PADDING-TOP: 9px; BORDER-BOTTOM: #dcdfd8 1px solid; = BACKGROUND-COLOR: #f5f5e9 } DIV#related-articles H3 { FONT-SIZE: 1.2em; COLOR: #7a0808 } #related-articles UL { PADDING-RIGHT: 0pt; PADDING-LEFT: 4px; FONT-SIZE: 1.2em; = LIST-STYLE-IMAGE: = url(http://static.usnews.com/images/global/article-list-bullet.gif); = MARGIN-BOTTOM: 0pt; PADDING-BOTTOM: 4px; PADDING-TOP: 0pt } #related-articles OL LI #related-articles UL LI { PADDING-BOTTOM: 0pt; MARGIN: 5px 0pt 5px 1em; TEXT-INDENT: -1em } #article DIV.photo-credit { PADDING-LEFT: 4px; FONT-SIZE: 1.1em; PADDING-BOTTOM: 12px } .photo-caption { DISPLAY: block; FONT-SIZE: 1.1em } .aaq { BORDER-RIGHT: #cdcdcd 1px solid; BORDER-TOP: #cdcdcd 1px solid; = FONT-SIZE: 11px; MARGIN-LEFT: 60px; BORDER-LEFT: #cdcdcd 1px solid; = WIDTH: 500px; BORDER-BOTTOM: #cdcdcd 1px solid; BACKGROUND-COLOR: = #eef4f9 } .aaq FORM { PADDING-LEFT: 12px } .generalText { BORDER-RIGHT: green 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: green = 0px solid; PADDING-LEFT: 0px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 0px; = BORDER-LEFT: green 0px solid; PADDING-TOP: 0px; BORDER-BOTTOM: green 0px = solid } .generalTextLabel { BORDER-RIGHT: red 0px solid; BORDER-TOP: red 0px solid; LEFT: -20px; = BORDER-LEFT: red 0px solid; BORDER-BOTTOM: red 0px solid; POSITION: = relative; TOP: 0px } .generalText INPUT { BORDER-RIGHT: #cdcdcd 1px solid; BORDER-TOP: #cdcdcd 1px solid; LEFT: = -20px; BORDER-LEFT: #cdcdcd 1px solid; BORDER-BOTTOM: #cdcdcd 1px solid; = POSITION: relative; TOP: 0px } .generalText SELECT { BORDER-RIGHT: #cdcdcd 1px solid; BORDER-TOP: #cdcdcd 1px solid; LEFT: = -20px; BORDER-LEFT: #cdcdcd 1px solid; BORDER-BOTTOM: #cdcdcd 1px solid; = POSITION: relative; TOP: 0px } .generalText TEXTAREA { BORDER-RIGHT: #cdcdcd 1px solid; BORDER-TOP: #cdcdcd 1px solid; LEFT: = -20px; BORDER-LEFT: #cdcdcd 1px solid; BORDER-BOTTOM: #cdcdcd 1px solid; = POSITION: relative; TOP: 0px } P.generalText { PADDING-BOTTOM: 0px } .aaq { BACKGROUND-COLOR: #f3f3e2 } .aaqTitle { MARGIN-TOP: 5px; PADDING-LEFT: 22px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; MARGIN-BOTTOM: 12px; COLOR: #780808 } #emailer { WIDTH: 100% } .aqfooter { FONT-SIZE: 10px; LEFT: 22px; COLOR: #0f2d49; POSITION: relative; TOP: = -10px } #blog-comments { BORDER-TOP: #cccccc 2px solid; MARGIN: 15px 0px } .comment-holder { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 2px solid } .comment-holder .comment-entry { BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 3px; FLOAT: left; = WIDTH: 70% } .comment-holder .comment-entry H5 { FONT-WEIGHT: bold; FONT-SIZE: 1.2em; MARGIN-BOTTOM: 5px } .comment-holder .comment-entry H5 A:link { COLOR: #666666 } .comment-holder .comment-entry H5 A:visited { COLOR: #666666 } .comment-holder .comment-entry H5 A:hover { COLOR: #1d5ca5 } .comment-holder .comment-metadata { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; = MARGIN-LEFT: 71%; PADDING-TOP: 3px } .comment-holder .comment-metadata CITE { DISPLAY: block; FONT-SIZE: 1em; FONT-STYLE: normal } .comment-holder .comment-metadata CITE SPAN.comment-author { FONT-WEIGHT: bold } .comment-holder .comment-metadata CITE SPAN.comment-state { FONT-WEIGHT: bold } .comment-holder P { =09 } #comment-form INPUT { DISPLAY: block; BACKGROUND-COLOR: #ffffff } #comment-form TEXTAREA { DISPLAY: block; BACKGROUND-COLOR: #ffffff } #comment-form SELECT { DISPLAY: block; BACKGROUND-COLOR: #ffffff } #comment-form INPUT { WIDTH: 300px } #comment-form SELECT { WIDTH: 300px } #comment-form TEXTAREA { WIDTH: 470px } #comment-form LABEL { DISPLAY: block; MARGIN-BOTTOM: 7px } #comment-form H4 { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px } #comment-form EM { PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; = PADDING-BOTTOM: 10px; PADDING-TOP: 10px } .flagcontainer { MARGIN-TOP: 5px; FONT-SIZE: 1.2em; POSITION: relative } .flagcontainer SPAN { FONT-SIZE: 0.8em; COLOR: #c00 } .flagform { BORDER-RIGHT: #666 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 7px; BACKGROUND: #fff; LEFT: 50px; PADDING-BOTTOM: = 7px; BORDER-LEFT: #ccc 1px solid; WIDTH: 130px; PADDING-TOP: 7px; = BORDER-BOTTOM: #666 1px solid; POSITION: absolute; TOP: 0px } .flagform B { COLOR: red } .flagform TEXTAREA { WIDTH: 120px! important; HEIGHT: auto! important } .flagform INPUT.email { WIDTH: 120px! important; HEIGHT: auto! important } .comments-navigation { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: = 1.1em; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; HEIGHT: 16px } #comments-readall { BORDER-BOTTOM: #ccc 1px solid } .comments-readall { BORDER-BOTTOM: #ccc 1px solid } #comments-navigation-top { BORDER-TOP: #ccc 1px solid } #comments-navigation-bottom { MARGIN-BOTTOM: 1em; BORDER-BOTTOM: #ccc 1px solid } .comments-prev { FLOAT: left; WIDTH: 50% } .comments-next { FLOAT: right; TEXT-ALIGN: right } .content .body { PADDING-LEFT: 8px } .content P { FONT-SIZE: 1.2em; MARGIN-BOTTOM: 1.4em; LINE-HEIGHT: 1.6em } .content UL { FONT-SIZE: 1.2em; MARGIN-BOTTOM: 1.4em; LINE-HEIGHT: 1.6em } .content OL { FONT-SIZE: 1.2em; MARGIN-BOTTOM: 1.4em; LINE-HEIGHT: 1.6em } #page #blog { MARGIN-LEFT: 17px; WIDTH: 609px; _margin-left: 8px } #page #article { MARGIN-LEFT: 17px; WIDTH: 609px; _margin-left: 8px } .content BLOCKQUOTE { MARGIN-LEFT: 26px; FONT-FAMILY: Arial, Helvetica, sans-serif } .content .correction { BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: = #cccccc 1px solid; PADDING-LEFT: 10px; FLOAT: right; PADDING-BOTTOM: = 6px; MARGIN-LEFT: 6px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 169px; = PADDING-TOP: 6px; BORDER-BOTTOM: #cccccc 1px solid; FONT-STYLE: italic } .content .correction P { MARGIN-BOTTOM: 0px; LINE-HEIGHT: 1.2em } .content .correction STRONG { FONT-STYLE: normal } .table-holder { MARGIN-LEFT: 200px } .table-wrapper { OVERFLOW: auto; HEIGHT: 100% } .table-container { BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: = #cccccc 1px solid; PADDING-LEFT: 10px; FLOAT: left; MARGIN-BOTTOM: = 1.4em; PADDING-BOTTOM: 10px; BORDER-LEFT: #cccccc 1px solid; = PADDING-TOP: 10px; BORDER-BOTTOM: #cccccc 1px solid } .table-credit { MARGIN-BOTTOM: 0pt; PADDING-TOP: 5px } .content TABLE { FONT-SIZE: 1.1em; FONT-FAMILY: Arial, Helvetica, sans-serif; = BORDER-COLLAPSE: collapse } .content TH { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: none transparent = scroll repeat 0% 0%; PADDING-BOTTOM: 6px; PADDING-TOP: 6px; = BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: left } .content TD { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: none transparent = scroll repeat 0% 0%; PADDING-BOTTOM: 6px; PADDING-TOP: 6px; = BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: left } .content TD { FONT-WEIGHT: bold; VERTICAL-ALIGN: top } .content TH { FONT-WEIGHT: bold; VERTICAL-ALIGN: bottom; COLOR: #780808 } .content TABLE IMG { FLOAT: none } .content TH.center { TEXT-ALIGN: center } .content TD.center { TEXT-ALIGN: center } .content TH.right { TEXT-ALIGN: right } .content TD.right { TEXT-ALIGN: right } .archivePrevious { FLOAT: left; PADDING-BOTTOM: 14px; WIDTH: 295px; TEXT-ALIGN: left } .archiveNext { FLOAT: right; PADDING-BOTTOM: 14px; WIDTH: 295px; TEXT-ALIGN: right } #article-navigation { CLEAR: left; BORDER-RIGHT: #ddded8 1px solid; PADDING-RIGHT: 5px; = BORDER-TOP: #ddded8 1px solid; PADDING-LEFT: 5px; MARGIN-BOTTOM: 8px; = PADDING-BOTTOM: 5px; OVERFLOW: visible; BORDER-LEFT: #ddded8 1px solid; = PADDING-TOP: 5px; BORDER-BOTTOM: #ddded8 1px solid; HEIGHT: 17px } #article-navigation UL { LIST-STYLE-IMAGE: none; MARGIN-BOTTOM: 0pt; LIST-STYLE-TYPE: none } #article-tools { LIST-STYLE-IMAGE: none; MARGIN-BOTTOM: 0pt; LIST-STYLE-TYPE: none } DIV.ad#position-6 { MARGIN: 30px 0pt 15px } UL#pagination-list { CLEAR: left; PADDING-RIGHT: 0pt; LIST-STYLE: none none outside; = PADDING-LEFT: 0pt; FONT-SIZE: 1.1em; MARGIN-BOTTOM: 10px; = PADDING-BOTTOM: 0pt; WIDTH: auto; PADDING-TOP: 0pt; TEXT-ALIGN: right } UL#pagination-list LI { DISPLAY: inline; TEXT-ALIGN: center } UL#pagination-list LI.currentpage { PADDING-RIGHT: 4px; PADDING-LEFT: 6px; FONT-WEIGHT: bold; = PADDING-BOTTOM: 4px; PADDING-TOP: 4px; BORDER-BOTTOM: #999 1px solid } UL#pagination-list LI A { PADDING-RIGHT: 4px; PADDING-LEFT: 6px; PADDING-BOTTOM: 4px; = PADDING-TOP: 4px } #ibox_w { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 100; FILTER: = alpha(opacity=3D0); LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: = 100%; PADDING-TOP: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 100%; = BACKGROUND-COLOR: #000; -moz-opacity: 0.0; opacity: 0.0 } #ibox_progress { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 105; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px; POSITION: absolute } #ibox_wrapper { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; Z-INDEX: 1000; LEFT: 0px; = PADDING-BOTTOM: 65px; MARGIN: 0px; WIDTH: 300px; PADDING-TOP: 20px; = POSITION: absolute; TOP: 0px; HEIGHT: 300px; xborder: 1px solid #CCC; = xbackground-color: #999999 } #ibox_content { BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px = solid; PADDING-LEFT: 2px; LEFT: 0px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: = 2px; BORDER-LEFT: #000 1px solid; WIDTH: 100%; PADDING-TOP: 2px; = BORDER-BOTTOM: #000 1px solid; POSITION: relative; TOP: 0px; = BACKGROUND-COLOR: #ffffff } #ibox_footer_wrapper { POSITION: relative; TEXT-ALIGN: left } #ibox_footer { FONT-SIZE: 1.4em; COLOR: #ffffff } #ibox_close_a { FONT-SIZE: 1.4em; LEFT: 10px; COLOR: #ffffff; POSITION: absolute; TOP: = 0px } #position-7 OBJECT { =09 } #position-7 EMBED { =09 } #syndication { BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; = MARGIN-BOTTOM: 8px; OVERFLOW: auto; BORDER-LEFT: #cccccc 1px solid; = BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 100%; BACKGROUND-COLOR: = #eef4f9 } #syndication P { MARGIN-TOP: 6px; FONT-SIZE: 1.2em; LIST-STYLE-IMAGE: = url(http://static.usnews.com/images/global/article-list-bullet.gif) } #syndication UL { MARGIN-TOP: 6px; FONT-SIZE: 1.2em; LIST-STYLE-IMAGE: = url(http://static.usnews.com/images/global/article-list-bullet.gif) } #syndication H3 { FONT-SIZE: 1.2em } #newsletters { PADDING-RIGHT: 9px; PADDING-LEFT: 12px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px dotted } #feeds { PADDING-RIGHT: 9px; PADDING-LEFT: 12px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px dotted } #mobile { PADDING-RIGHT: 9px; PADDING-LEFT: 12px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px dotted } #feeds { BORDER-RIGHT: #cccccc 1px dotted; FLOAT: left; BORDER-BOTTOM-WIDTH: = 0px; WIDTH: 43% } #mobile { BORDER-RIGHT: #cccccc 1px dotted; FLOAT: left; BORDER-BOTTOM-WIDTH: = 0px; WIDTH: 43% } #syndication H2 { FONT-WEIGHT: bold; FONT-SIZE: 1em; TEXT-TRANSFORM: uppercase } #syndication H2 A { COLOR: #780808 } #syndication H2 A:hover { COLOR: #780808 } #mobile { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } #feeds H2 IMG { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; = BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none } #page IMG#RSSicon { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FLOAT: left; PADDING-BOTTOM: = 2px; MARGIN: 0px 5px 0px -5px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; = BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: = none } #newsletters { BORDER-TOP-WIDTH: 0px } #newsletters FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 4px; = PADDING-TOP: 4px } #newsletters INPUT { BORDER-RIGHT: #7d8084 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #7d8084 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 0px; FONT: 1.1em = georgia; BORDER-LEFT: #7d8084 1px solid; WIDTH: 270px; PADDING-TOP: 2px; = BORDER-BOTTOM: #7d8084 1px solid; HEIGHT: 17px } #newsletters INPUT#submit { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BACKGROUND: #eef4f9; = BORDER-BOTTOM-WIDTH: 0px; WIDTH: 9em; CURSOR: pointer; COLOR: #204894; = TEXT-ALIGN: left; BORDER-RIGHT-WIDTH: 0px } #external-widgets { CLEAR: both; PADDING-RIGHT: 9px; BORDER-TOP: #cccccc 1px dotted; = PADDING-LEFT: 9px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px } .content .article-tags { CLEAR: both; PADDING-RIGHT: 5px; MARGIN-TOP: 0.5em; PADDING-LEFT: 5px; = FONT-SIZE: 1.1em; BACKGROUND: #f6f6f6; MARGIN-BOTTOM: 0px; = PADDING-BOTTOM: 5px; BORDER-LEFT: #dcdfd8 7px solid; WIDTH: 572px; = COLOR: #888888; PADDING-TOP: 5px } .content P.BlogTools { CLEAR: both } #blog .share { BORDER-BOTTOM: #cccccc 1px dotted } #article UL#article-tools { PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; FONT-SIZE: 1em; PADDING-BOTTOM: = 0pt; PADDING-TOP: 0pt } #article DIV#article-navigation UL { PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; FONT-SIZE: 1em; PADDING-BOTTOM: = 0pt; PADDING-TOP: 0pt } #article-navigation A.share-controller SPAN.box { BORDER-RIGHT: #1f5da6 1px solid; PADDING-RIGHT: 0.2em; BORDER-TOP: = #1f5da6 1px solid; PADDING-LEFT: 0.2em; PADDING-BOTTOM: 0pt; = BORDER-LEFT: #1f5da6 1px solid; PADDING-TOP: 0pt; BORDER-BOTTOM: #1f5da6 = 1px solid; FONT-FAMILY: Courier New,Courier,monospace; TEXT-DECORATION: = none } #article-tools A.share-controller SPAN.box { BORDER-RIGHT: #1f5da6 1px solid; PADDING-RIGHT: 0.2em; BORDER-TOP: = #1f5da6 1px solid; PADDING-LEFT: 0.2em; PADDING-BOTTOM: 0pt; = BORDER-LEFT: #1f5da6 1px solid; PADDING-TOP: 0pt; BORDER-BOTTOM: #1f5da6 = 1px solid; FONT-FAMILY: Courier New,Courier,monospace; TEXT-DECORATION: = none } #article-navigation UL LI { DISPLAY: inline; PADDING-LEFT: 0.3em } #article-tools LI { DISPLAY: inline; PADDING-LEFT: 0.3em } .iconshare { PADDING-LEFT: 3px } .iconsphere { PADDING-RIGHT: 0pt; PADDING-LEFT: 18px; BACKGROUND: = url(http://www.sphere.com/images/sphereicon.gif) no-repeat left top; = PADDING-BOTTOM: 0px; PADDING-TOP: 2px } #akst_form { BORDER-RIGHT: #dddddd 1px solid; BORDER-TOP: #dddddd 1px solid; = DISPLAY: none; BACKGROUND: #999999 0% 50%; BORDER-LEFT: #dddddd 1px = solid; WIDTH: 350px; BORDER-BOTTOM: #dddddd 1px solid; POSITION: = absolute } #akst_form A.akst_close { FLOAT: right; MARGIN: 5px; COLOR: #ffffff } #akst_form UL.tabs { BORDER-RIGHT: #999999 1px solid; PADDING-RIGHT: 0pt; LIST-STYLE: none = none outside; BORDER-TOP: #999999 1px solid; PADDING-LEFT: 0pt; = PADDING-BOTTOM: 0pt; MARGIN: 10px 10px 0pt; BORDER-LEFT: #999999 1px = solid; PADDING-TOP: 0pt; BORDER-BOTTOM: #999999 1px solid } #akst_form UL.tabs LI { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #cccccc 0% 50%; = FLOAT: left; PADDING-BOTTOM: 2px; MARGIN: 0pt 3px 0pt 0pt; CURSOR: = pointer; PADDING-TOP: 3px; BORDER-BOTTOM: #999999 1px solid } #akst_form UL.tabs LI.selected { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #ffffff 0% 50%; = PADDING-BOTTOM: 1px; CURSOR: default; PADDING-TOP: 4px; BORDER-BOTTOM: = #ffffff 1px solid } #akst_form DIV.clear { CLEAR: both; FLOAT: none } #akst_social { BORDER-RIGHT: #ffffff 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: = #ffffff 1px solid; PADDING-LEFT: 10px; BACKGROUND: #ffffff 0% 50%; = PADDING-BOTTOM: 10px; BORDER-LEFT: #ffffff 1px solid; PADDING-TOP: 10px; = BORDER-BOTTOM: #ffffff 1px solid } #akst_email { BORDER-RIGHT: #ffffff 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: = #ffffff 1px solid; PADDING-LEFT: 10px; BACKGROUND: #ffffff 0% 50%; = PADDING-BOTTOM: 10px; BORDER-LEFT: #ffffff 1px solid; PADDING-TOP: 10px; = BORDER-BOTTOM: #ffffff 1px solid } #akst_social UL { PADDING-RIGHT: 0pt; LIST-STYLE: none none outside; PADDING-LEFT: 0pt; = PADDING-BOTTOM: 0pt; MARGIN: 0pt; PADDING-TOP: 0pt } #akst_social UL LI { PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; FLOAT: left; PADDING-BOTTOM: = 0pt; MARGIN: 0pt; WIDTH: 45%; PADDING-TOP: 0pt } #akst_social UL LI A { PADDING-RIGHT: 0pt; BACKGROUND-POSITION: 0px 2px; DISPLAY: block; = PADDING-LEFT: 22px; FLOAT: left; PADDING-BOTTOM: 0pt; VERTICAL-ALIGN: = middle; PADDING-TOP: 4px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 24px } #akst_delicious { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/delicious.gif) } #akst_digg { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/digg.gif) } #akst_furl { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/furl.gif) } #akst_facebook { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/facebook-icon.jpg) } #akst_netscape { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/netscape.gif) } #akst_yahoo_myweb { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/yahoo_myweb.gif) } #akst_technorati { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/technorati.gif) } #akst_google_bmarks { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/google_bmarks.gif) } #akst_newsvine { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/newsvine.gif) } #akst_blinklist { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/blinklist.gif) } #akst_reddit { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/reddit.gif) } #akst_blogmarks { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/blogmarks.gif) } #akst_magnolia { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/magnolia.gif) } #akst_windows_live { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/windows_live.gif) } #akst_tailrank { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/share-this/tailrank.gif) } #akst_email { DISPLAY: none; TEXT-ALIGN: left } #akst_email FORM { BORDER-RIGHT: 0pt; PADDING-RIGHT: 0pt; BORDER-TOP: 0pt; PADDING-LEFT: = 0pt; PADDING-BOTTOM: 0pt; MARGIN: 0pt; BORDER-LEFT: 0pt; PADDING-TOP: = 0pt; BORDER-BOTTOM: 0pt } #akst_email FIELDSET { BORDER-RIGHT: 0pt; PADDING-RIGHT: 0pt; BORDER-TOP: 0pt; PADDING-LEFT: = 0pt; PADDING-BOTTOM: 0pt; MARGIN: 0pt; BORDER-LEFT: 0pt; PADDING-TOP: = 0pt; BORDER-BOTTOM: 0pt } #akst_email FIELDSET LEGEND { DISPLAY: none } #akst_email UL { PADDING-RIGHT: 0pt; LIST-STYLE: none none outside; PADDING-LEFT: 0pt; = PADDING-BOTTOM: 0pt; MARGIN: 0pt; PADDING-TOP: 0pt } #akst_email UL LI { PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; MARGIN: 0pt = 0pt 7px; PADDING-TOP: 0pt } #akst_email UL LI LABEL { DISPLAY: block; MARGIN-BOTTOM: 3px; COLOR: #555555 } #akst_email UL LI INPUT { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 3px; = PADDING-TOP: 3px } #akst_email UL LI INPUT.akst_text { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; WIDTH: = 280px; PADDING-TOP: 3px } .tabs { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; = LIST-STYLE-POSITION: outside; FONT-SIZE: 1.2em! important; Z-INDEX: 1; = FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 12px 0px 0px; OVERFLOW: = hidden; WIDTH: auto; COLOR: #0f2d49; PADDING-TOP: 0px; BORDER-BOTTOM: = #bbc0c7 1px solid; FONT-FAMILY: Georgia, "Times New Roman", Times, = serif; HEIGHT: 24px } .tabs LI { FONT-WEIGHT: bold; FLOAT: left; LIST-STYLE-IMAGE: none; OVERFLOW: = hidden; WIDTH: 129px; TEXT-INDENT: 0px; LIST-STYLE-TYPE: none; HEIGHT: = 22px } .tabs A { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: = bold; FONT-SIZE: 1em; BACKGROUND: = url(http://static.usnews.com/images/global/tab-bg.gif) #d3dae2 no-repeat = 0px 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 5px; MARGIN: 2px 5px = 0px; WIDTH: 119px; COLOR: #1f5da6; LINE-HEIGHT: 1.9em; PADDING-TOP: 0px; = POSITION: absolute; HEIGHT: 17px; TEXT-ALIGN: center; TEXT-DECORATION: = none; -moz-outline-style: none; _overflow: hidden } .tabs A.active { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: = bold; FONT-SIZE: 1em; BACKGROUND: = url(http://static.usnews.com/images/global/tab-bg.gif) #d3dae2 no-repeat = 0px 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 5px; MARGIN: 2px 5px = 0px; WIDTH: 119px; COLOR: #1f5da6; LINE-HEIGHT: 1.9em; PADDING-TOP: 0px; = POSITION: absolute; HEIGHT: 17px; TEXT-ALIGN: center; TEXT-DECORATION: = none; -moz-outline-style: none; _overflow: hidden } .tabs A.active { BACKGROUND: = url(http://static.usnews.com/images/global/tab-bg-active.gif) #d3dae2 = no-repeat 0px 0px; COLOR: #0f2d49; BORDER-BOTTOM: #feffff 2px solid } .tabs A:hover { TEXT-DECORATION: underline } .even { BACKGROUND-COLOR: #ebf1f6 } #tab_interface DIV.containers DIV.container { PADDING-RIGHT: 10px; DISPLAY: none; PADDING-LEFT: 10px; PADDING-BOTTOM: = 15px; PADDING-TOP: 15px } #tab_interface DIV.containers DIV.active.container { DISPLAY: block } #mostpopular { BORDER-RIGHT: #d8dcd4 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #d8dcd4 1px solid; PADDING-LEFT: 0px; BACKGROUND: #d3dae2; = PADDING-BOTTOM: 1px; BORDER-LEFT: #d8dcd4 1px solid; BORDER-BOTTOM: = #d8dcd4 1px solid } #mostpopular H2 { PADDING-RIGHT: 0px; PADDING-LEFT: 11px; FONT-WEIGHT: bold; FONT-SIZE: = 1em; PADDING-BOTTOM: 0px; PADDING-TOP: 7px } #most_popular_items OL { DISPLAY: none; BACKGROUND-COLOR: #ffffff } #most_popular_items OL LI { PADDING-RIGHT: 5px; PADDING-LEFT: 30px; FONT-SIZE: 1.1em; = PADDING-BOTTOM: 4px; TEXT-INDENT: -1.6em; PADDING-TOP: 4px } UNKNOWN { DISPLAY: none } #most_popular_items OL:unknown { DISPLAY: block } #most_popular_items OL.active { DISPLAY: block } OL#most_viewed LI { LIST-STYLE-IMAGE: none } OL#most_emailed LI { LIST-STYLE-IMAGE: none } .content .article-tags { CLEAR: both; PADDING-RIGHT: 10px; MARGIN-TOP: 0.5em; PADDING-LEFT: = 10px; FONT-SIZE: 1.1em; BACKGROUND: #f6f6f6; MARGIN-BOTTOM: 0px; = PADDING-BOTTOM: 10px; BORDER-LEFT: #dcdfd8 7px solid; COLOR: #888888; = PADDING-TOP: 10px } .content P.tags { CLEAR: both; PADDING-RIGHT: 10px; MARGIN-TOP: 0.5em; PADDING-LEFT: = 10px; FONT-SIZE: 1.1em; BACKGROUND: #f6f6f6; MARGIN-BOTTOM: 0px; = PADDING-BOTTOM: 10px; BORDER-LEFT: #dcdfd8 7px solid; COLOR: #888888; = PADDING-TOP: 10px } .quiz { FONT-SIZE: 1.2em } .quiz .question { PADDING-BOTTOM: 0.4em } .quiz OL.answer { MARGIN-BOTTOM: 1em; MARGIN-LEFT: 1em } .quiz OL.answer LI { LIST-STYLE-TYPE: upper-alpha } .widgets .promo { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 10px; MARGIN-BOTTOM: 8px; PADDING-BOTTOM: 10px; = OVERFLOW: hidden; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 3px; = BORDER-BOTTOM: #ccc 1px solid; HEIGHT: 100% } .widgets .promo H4 { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 1em; PADDING-BOTTOM: = 4px; PADDING-TOP: 4px } .widgets .promo H4 { TEXT-TRANSFORM: uppercase; COLOR: #780808 } .widgets .promo H4 A { TEXT-TRANSFORM: uppercase; COLOR: #780808 } .widgets .promo H3 { FONT-SIZE: 1.2em } .widgets .promo P { FONT-SIZE: 1.2em } .widgets .promo UL { FONT-SIZE: 1.1em } .widgets .promo IMG { BACKGROUND-COLOR: #ffffff } .widgets .text-image-left { CLEAR: left } .widgets .text-image-right { CLEAR: right } .widgets .text-image-bottom { MARGIN-TOP: 10px } .widgets .image-caption { DISPLAY: none } .widgets .subwidget { MARGIN-BOTTOM: 8px; PADDING-BOTTOM: 6px; OVERFLOW: auto; HEIGHT: 100% } .widgets H4 SPAN { PADDING-LEFT: 3px; FONT-SIZE: 1em; TEXT-TRANSFORM: none; COLOR: #333 } #recentblogs .text-only { MARGIN: 5px 0px } UL.ranking-column1 { FLOAT: left; WIDTH: 48% } UL.ranking-column2 { FLOAT: left; WIDTH: 48% } .twocolumn-left { CLEAR: none! important; FLOAT: left; WIDTH: 45% } .twocolumn-right { CLEAR: none! important; FLOAT: left; WIDTH: 45% } .twocolumn-right { PADDING-LEFT: 10px; MARGIN-LEFT: 3px; BORDER-LEFT: #cccccc 1px solid } .navyblue { BACKGROUND-COLOR: #00528e } #page .navyblue H4 { COLOR: #fff } #page .navyblue H4 A { COLOR: #fff } #page .navyblue H3 { COLOR: #fff } #page .navyblue H3 A { COLOR: #fff } #page .navyblue P { COLOR: #fff } #page #section-articles .quote H4 { FONT-SIZE: 1.3em; TEXT-TRANSFORM: none } .quote .blurb { FONT-WEIGHT: bold; FONT-SIZE: 1.3em; COLOR: #0147b9 } .quote .blurb P { LINE-HEIGHT: 1.2em } .quote .cite { MARGIN-BOTTOM: 8px; MARGIN-RIGHT: 10px; TEXT-ALIGN: right } .quote .cite P { LINE-HEIGHT: 1em; FONT-STYLE: italic } .quote .cite STRONG { COLOR: #780808 } .quote .related-links LI { LIST-STYLE-IMAGE: none; LIST-STYLE-TYPE: none } .top5 .related-links LI { LIST-STYLE: decimal none inside; PADDING-LEFT: 25px; FONT-WEIGHT: bold; = MARGIN-BOTTOM: 4px; COLOR: #780808; TEXT-INDENT: -20px } .top5 LI.first { BACKGROUND-COLOR: #d4dbe3 } .top5 LI.last { BACKGROUND-COLOR: #d4dbe3 } .top5 .related-links { CLEAR: both } .top5 .related-links LI P { DISPLAY: inline; FONT-WEIGHT: normal; COLOR: #333 } .video-widget { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; BACKGROUND: = url(http://static.usnews.com/images/homepage/video-widget-bg.png) black = repeat-x left top; PADDING-BOTTOM: 0px; OVERFLOW: visible! important; = COLOR: white; PADDING-TOP: 0px } .video-widget A:link { COLOR: white } .video-widget A:visited { COLOR: white } .video-widget A:hover { COLOR: white } .video-widget H3 { PADDING-RIGHT: 0px; MARGIN-TOP: 0px; PADDING-LEFT: 20px; BACKGROUND: = url(http://static.usnews.com/images/homepage/video-icon.png) no-repeat = 0% 50%; PADDING-BOTTOM: 7px; FONT: 1.2em Arial, Geneva, Helvetica, = sans-serif; WIDTH: 95%; PADDING-TOP: 11px } .video-widget H3 B { FONT-WEIGHT: bold } .video-widget H3 { COLOR: white } .video-widget H3 A:link { COLOR: white } .video-widget H3 A:visited { COLOR: white } .video-widget P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .video-widget IMG { FLOAT: none! important } .video-widget H4 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px } .video-widget H4 A:link { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px } .video-widget H4 A:visited { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px } .video-widget H3.podcast-kicker { BORDER-TOP: #666 1px solid; MARGIN-TOP: 4px; PADDING-LEFT: 0px! = important; FONT-SIZE: 1.1em; PADDING-BOTTOM: 7px; PADDING-TOP: 7px } .widgets .simpletuition { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; = BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; = OVERFLOW: visible! important; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px } DIV#st-wg { BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #cccccc 1px solid; PADDING-LEFT: 0px; BACKGROUND: = url(http://www.usnews.com/usnews/images/st/st_wg_bck.png) #ffffff = repeat-x; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: #cccccc 1px = solid; PADDING-TOP: 0px; BORDER-BOTTOM: #cccccc 1px solid; FONT-FAMILY: = Arial, Geneva, sans-serif } DIV#st-wg INPUT { =09 } DIV#st-wg H2 { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 14px; PADDING-BOTTOM: = 2px; MARGIN: 0px; COLOR: #ffffff; PADDING-TOP: 2px; BACKGROUND-COLOR: = #780808 } DIV#st-wg DIV.st-wg-content { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; OVERFLOW: = visible; PADDING-TOP: 5px; HEIGHT: 1% } DIV#st-wg DIV.st-wg-content P { PADDING-BOTTOM: 1em; MARGIN: 0px } DIV#st-wg DIV.st-wg-content INPUT.input-btn { BORDER-TOP-WIDTH: 0px; CLEAR: all; PADDING-RIGHT: 0px; DISPLAY: block; = PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; FLOAT: right; = BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 5px; OVERFLOW: hidden; WIDTH: = 170px; CURSOR: pointer; MARGIN-RIGHT: 30px; PADDING-TOP: 5px; = TEXT-ALIGN: center; BORDER-RIGHT-WIDTH: 0px } DIV#st-wg DIV.st-wg-content INPUT.search { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: = url(http://www.usnews.com/usnews/images/st/search_button.png) no-repeat = 0px 0px; PADDING-BOTTOM: 3px; PADDING-TOP: 0px; HEIGHT: 29px } DIV#st-wg DIV.st-wg-content INPUT.search:hover { BACKGROUND-POSITION: 0px -39px } DIV#st-wg FORM.margin { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = auto; WIDTH: 85%; PADDING-TOP: 0px } DIV#st-wg FORM.margin INPUT { BORDER-RIGHT: #99c7e4 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #99c7e4 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; = BORDER-LEFT: #99c7e4 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #99c7e4 = 1px solid } DIV#st-wg FORM.margin SELECT { BORDER-RIGHT: #99c7e4 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #99c7e4 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; = BORDER-LEFT: #99c7e4 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #99c7e4 = 1px solid } DIV#st-wg FORM.margin INPUT.radio { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; = BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; = MARGIN: 2px 3px 0px 0px; WIDTH: 13px; PADDING-TOP: 0px; = BORDER-RIGHT-WIDTH: 0px } DIV#st-wg FORM.margin INPUT.checkbox { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; = BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; = MARGIN: 0px 3px 0px 0px; VERTICAL-ALIGN: 0px; WIDTH: 13px; PADDING-TOP: = 0px; BACKGROUND-COLOR: transparent; BORDER-RIGHT-WIDTH: 0px } DIV#st-wg FORM.margin FIELDSET { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 4px; = PADDING-TOP: 4px } DIV#st-wg FORM.margin LABEL { PADDING-RIGHT: 1em; FONT-WEIGHT: bold; FLOAT: left; WIDTH: 40%; COLOR: = #333333; TEXT-ALIGN: right } DIV#st-wg FORM.margin INPUT { =09 } DIV#st-wg INPUT#st-wg-amt { WIDTH: 90px } DIV#st-wg FORM.margin FIELDSET.loan-types { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } DIV#st-wg FORM.margin FIELDSET.loan-types LABEL { =09 } DIV#st-wg FORM.margin FIELDSET.cosigner { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } DIV#st-wg FORM.margin FIELDSET.cosigner LABEL { MARGIN-RIGHT: 1em } DIV#st-wg FORM.margin FIELDSET.terms LABEL { FONT-WEIGHT: normal; FONT-SIZE: 0.8em; WIDTH: 205px } DIV#st-wg BR.clear { CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px } DIV#st-wg FIELDSET { FONT-SIZE: 11px; FONT-FAMILY: inherit } DIV#st-wg LABEL { FONT-SIZE: 11px; FONT-FAMILY: inherit } DIV#st-wg TD { FONT-SIZE: 11px; FONT-FAMILY: inherit } DIV#st-credit { CLEAR: both; BORDER-TOP: #cccccc 1px solid; MARGIN-TOP: 3px; = PADDING-TOP: 3px; HEIGHT: 30px } DIV#st-credit .left { FLOAT: left; WIDTH: 145px } DIV#st-credit .right { MARGIN-LEFT: 155px; TEXT-ALIGN: right } DIV#st-credit .right IMG { DISPLAY: block; MARGIN: 0px } ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://static.usnews.com/css/articles-print.css DIV#supplementary-content { DISPLAY: none; POSITION: relative } #ad-container { DISPLAY: none; POSITION: relative } DIV#promo-magazine { DISPLAY: none; POSITION: relative } DIV#article-navigation { DISPLAY: none; POSITION: relative } UL#article-tools { DISPLAY: none; POSITION: relative } UL.tabs { DISPLAY: none; POSITION: relative } UL#nav-main { DISPLAY: none; POSITION: relative } DIV#nav-supplemental UL { DISPLAY: none; POSITION: relative } DIV#site-info { DISPLAY: none; POSITION: relative } #siteinfo { DISPLAY: none; POSITION: relative } #nav-breadcrumb { DISPLAY: none; POSITION: relative } FORM#nav-search { DISPLAY: none; POSITION: relative } IFRAME { DISPLAY: none; POSITION: relative } UL#nav-magazine { DISPLAY: none; POSITION: relative } DIV#branding-section { DISPLAY: none; POSITION: relative } .widgets { DISPLAY: none; POSITION: relative } .side-nav { DISPLAY: none; POSITION: relative } .tools { DISPLAY: none; POSITION: relative } .pagination { DISPLAY: none; POSITION: relative } .compare { DISPLAY: none; POSITION: relative } #table_blurb P { DISPLAY: none; POSITION: relative } .profile-tabs { DISPLAY: none; POSITION: relative } .comparison-tabs { DISPLAY: none; POSITION: relative } #comparison TFOOT { DISPLAY: none; POSITION: relative } .content #related-articles { DISPLAY: none; POSITION: relative } #actions { DISPLAY: none; POSITION: relative } DIV#branding { BACKGROUND-IMAGE: none; BORDER-TOP-STYLE: none; BACKGROUND-COLOR: = transparent } DIV#branding #branding-logo { MARGIN-TOP: 0px; DISPLAY: block; BACKGROUND: none transparent scroll = repeat 0% 0%; FONT: 2.6em Arial, sans-serif; WIDTH: 254px; TEXT-INDENT: = 0em; POSITION: relative } DIV#branding DIV#branding-logo IMG { DISPLAY: block; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; = BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none } DIV#branding DIV#branding-logo A { DISPLAY: block; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; = BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none } DIV#branding DIV#branding-logo A IMG { DISPLAY: block; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; = BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none } DIV#page DIV#branding-logo A { FILTER: none } DIV#page DIV#branding-logo A IMG { VISIBILITY: visible } DIV#branding #branding-timestamp { DISPLAY: block; FLOAT: right; COLOR: black; MARGIN-RIGHT: 25px } DIV.ad { DISPLAY: none } #page #article DIV#position-6 { DISPLAY: none } UL#nav-main LI.active { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } HTML BODY #page #article { MARGIN-LEFT: 0px; WIDTH: 97% } HTML BODY #page #blog { MARGIN-LEFT: 0px; WIDTH: 97% } BODY #article H1 { MARGIN-TOP: 10px; FONT-SIZE: 15pt; COLOR: #000000 } BODY #article H2 { FONT-SIZE: 13pt; COLOR: #000000 } BODY #article P { FONT-SIZE: 12pt } BODY #article DIV#byline { FONT-SIZE: 12pt } BODY #article DIV#dateline { FONT-SIZE: 12pt } BODY #article DIV#related-articles { FONT-SIZE: 12pt } BODY #article UL { FONT-SIZE: 12pt } BODY #article OL { FONT-SIZE: 12pt } #page TABLE TD { FONT-SIZE: 12pt } #page TABLE TH { FONT-SIZE: 12pt } BODY #page { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: = 0px; MARGIN: 0px auto; OVERFLOW: visible; WIDTH: auto; PADDING-TOP: 0px } #page .content { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: = 0px; MARGIN: 0px auto; OVERFLOW: visible; WIDTH: auto; PADDING-TOP: 0px } #page .content-data { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: = 0px; MARGIN: 0px auto; OVERFLOW: visible; WIDTH: auto; PADDING-TOP: 0px } #page .directory-result { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: = 0px; MARGIN: 0px auto; OVERFLOW: visible; WIDTH: auto; PADDING-TOP: 0px } BODY { FONT-SIZE: 10pt; BACKGROUND-COLOR: #ffffff } BODY #nav-supplemental { BACKGROUND: none transparent scroll repeat 0% 0%; WIDTH: auto } BODY #nav-supplemental P { FONT-SIZE: 9pt; FLOAT: none; COLOR: #000 } BODY A IMG { OVERFLOW: visible; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; = BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none } #page #profile-details { OVERFLOW: visible; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; = BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none } #page #table_holder { OVERFLOW: visible; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; = BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none } BODY .rank { COLOR: #000 } ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.usnews.com/usnews/v3/css/ie-only.css DIV.promo LI { LIST-STYLE-IMAGE: = url(/usnews/v3/images/global/article-list-bullet-ie.gif) } #current-articles LI { LIST-STYLE-IMAGE: = url(/usnews/v3/images/global/article-list-bullet-ie.gif) } #related-articles LI { LIST-STYLE-IMAGE: = url(/usnews/v3/images/global/article-list-bullet-ie.gif) } #current-articles LI { LIST-STYLE-IMAGE: = url(/usnews/v3/images/global/article-list-bullet-ie.gif) } #newmedia LI { LIST-STYLE-IMAGE: = url(/usnews/v3/images/global/article-list-bullet-ie.gif) } #content LI { LIST-STYLE-IMAGE: = url(/usnews/v3/images/global/article-list-bullet-ie.gif) } #syndication UL { LIST-STYLE-IMAGE: = url(/usnews/v3/images/global/article-list-bullet-ie.gif) } UL#nav-section LI { PADDING-RIGHT: 0px; PADDING-LEFT: 29px; PADDING-BOTTOM: 0px; MARGIN: = 0px 0px 0px -16px; PADDING-TOP: 8px; HEIGHT: 22px } #article-navigation LI.expanded.share DIV.social-bookmarking { MARGIN-LEFT: 2em; POSITION: absolute } #article-navigation LI.expanded#share-bottom DIV.social-bookmarking { MARGIN-LEFT: 20px } #article-tools LI.expanded#share-top DIV.social-bookmarking { MARGIN-LEFT: 20px } #article-navigation A.share-controller { PADDING-BOTTOM: 2px } #article-tools A.share-controller { PADDING-BOTTOM: 2px } #akst_email .akst_text { MARGIN-LEFT: 17px } ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://static.usnews.com/css/health.css DIV#branding-section { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/branding-sections/banner-health.jpg) } .sponsor { BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: = url(http://static.usnews.com/images/sponsor/sponsor-widget-label.png); = PADDING-BOTTOM: 0px; BACKGROUND-REPEAT: no-repeat } .sponsor H4 { MARGIN-LEFT: 29px } .sponsor DIV { MARGIN-LEFT: 29px } #page .astrazeneca UL { BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: = url(http://static.usnews.com/images/sponsor/astrazeneca-id.gif); = MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 25px; BACKGROUND-REPEAT: no-repeat } #page .astrazeneca UL LI { MARGIN-LEFT: 15px; TEXT-INDENT: -15px } #page .astrazeneca text-image-right IMG { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } .ama { BACKGROUND-POSITION: left center; BACKGROUND-IMAGE: = url(http://www.usnews.com/usnews/v3/sponsor/allstate-sponsor-bar.png); = PADDING-BOTTOM: 0px; BACKGROUND-REPEAT: no-repeat } .ama H4 { MARGIN-LEFT: 10px } .ama DIV#None { MARGIN-LEFT: 10px } .widgets .ama H4 { COLOR: #005497 } .widgets .ama H4 A { COLOR: #005497 } .ama UL.related-links { BORDER-TOP: #ccc 1px solid; MARGIN-TOP: 4px; LIST-STYLE-POSITION: = outside; MARGIN-LEFT: 20px } .ama .related-links LI P { FONT-SIZE: 1em; MARGIN-BOTTOM: 8px } .ama .middle .text-image-top { MARGIN-TOP: -30px; FLOAT: right } .ama SMALL { DISPLAY: block } .premierpartners { BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: = #cccccc 1px solid; PADDING-LEFT: 3px; MARGIN-BOTTOM: 8px; = PADDING-BOTTOM: 10px; OVERFLOW: hidden; BORDER-LEFT: #cccccc 1px solid; = PADDING-TOP: 3px; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 100% } .premierpartners H4 { TEXT-TRANSFORM: uppercase; COLOR: #780808 } .premierpartners H4 A { TEXT-TRANSFORM: uppercase; COLOR: #780808 } .premierpartners P.image-caption { DISPLAY: none } .premierpartners DIV#None { OVERFLOW: hidden; HEIGHT: 100% } .premierpartners .text-image-left IMG { CLEAR: both; FLOAT: left; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: = none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none } .premierpartners .text-image-right IMG { CLEAR: both; FLOAT: left; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: = none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none } ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://js.revsci.net/gateway/gw.js?csid=E08741 /*=0A= * Build version Vermont-12.0.0-130=0A= */=0A= var rsi_k;=0A= var rsi_now =3D new Date();=0A= var rsi_csid =3D 'E08741';=0A= if(typeof(csids)=3D=3D"undefined"){var = csids=3D[rsi_csid];}else{csids.push(rsi_csid);}var _rsiaa=3D0;var = _rsiba=3D1;var _rsica=3D0;var _rsida=3D0;var _rsiea=3D0;var = _rsifa=3D1;var _rsiga=3D"0806180";var _rsiha=3D"pix04.revsci.net";var = _rsiia=3D"js";var _rsija=3D"b";var _rsika=3D"3";var _rsila=3D3;var = _rsima=3Dnew Array();var _rsina=3D0;var _rsioa;var _rsipa;var _rsiqa;var = _rsira;var _rsisa;var _rsita;_rsiua();function = DM_cat(Da){_rsioa=3DDa;}function DM_name(Ea){_rsipa=3DEa;}function = DM_keywords(st){_rsiqa=3Dst;}function DM_event(Fa){_rsira=3DFa;}function = DM_addToLoc(n,v){_rsisa=3D_rsiva(_rsisa,n,v);}function = DM_addEncToLoc(n,v){DM_addToLoc(_rsiwa(n),_rsiwa(v));}function = DM_setLoc(u){_rsisa=3Du;}function DM_setCsid(Ga){rsi_csid=3DGa;}function = rsi_c(Ha){this._rsixa=3DHa;}function = rsi_ral(Ia){this._rsiaa=3DIa;}function = rsi_riu(Ja){this._rsiba=3DJa;}function = rsi_tiu(Ka){this._rsica=3DKa;}function = rsi_m(La){this._rsida=3DLa;}function = rsi_dw(Ma){this._rsiea=3DMa;}function = rsi_tu(Na){this._rsifa=3DdocW;}function = rsi_s(Oa){this._rsiha=3DOa;}function = rsi_t(Pa){this._rsiia=3DPa;}function = rsi_en(Qa){this._rsija=3DQa;}function = rsi_cn(Ra){this._rsika=3DRa;}function = rsi_us(Sa){this._rsila=3DSa;}function DM_tag(){var = Ta;if(_rsina=3D=3D0||_rsida=3D=3D1){if(typeof(DM_prep)=3D=3D"function"){D= M_prep(rsi_csid);}var Ua=3D_rsiya();if(_rsiia=3D=3D"gif"){Ta=3Dnew = Image(2,3);Ta.src=3DUa;_rsima[_rsima.length]=3DTa;}else = if(_rsiia=3D=3D"js"){if(_rsiea=3D=3D1){document.write("'); } } } /* Prototype JavaScript framework, version 1.5.1 * (c) 2005-2007 Sam Stephenson * * Prototype is freely distributable under the terms of an MIT-style = license. * For details, see the Prototype web site: http://www.prototypejs.org/ * /*-----------------------------------------------------------------------= ---*/ var Prototype =3D { Version: '1.5.1', Browser: { IE: !!(window.attachEvent && !window.opera), Opera: !!window.opera, WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1, Gecko: navigator.userAgent.indexOf('Gecko') > -1 && = navigator.userAgent.indexOf('KHTML') =3D=3D -1 }, BrowserFeatures: { XPath: !!document.evaluate, ElementExtensions: !!window.HTMLElement, SpecificElementExtensions: (document.createElement('div').__proto__ !=3D=3D document.createElement('form').__proto__) }, ScriptFragment: ']*>([\u0001-\uFFFF]*?)', JSONFilter: /^\/\*-secure-\s*(.*)\s*\*\/\s*$/, emptyFunction: function() { }, K: function(x) { return x } } var Class =3D { create: function() { return function() { this.initialize.apply(this, arguments); } } } var Abstract =3D new Object(); Object.extend =3D function(destination, source) { for (var property in source) { destination[property] =3D source[property]; } return destination; } Object.extend(Object, { inspect: function(object) { try { if (object =3D=3D=3D undefined) return 'undefined'; if (object =3D=3D=3D null) return 'null'; return object.inspect ? object.inspect() : object.toString(); } catch (e) { if (e instanceof RangeError) return '...'; throw e; } }, toJSON: function(object) { var type =3D typeof object; switch(type) { case 'undefined': case 'function': case 'unknown': return; case 'boolean': return object.toString(); } if (object =3D=3D=3D null) return 'null'; if (object.toJSON) return object.toJSON(); if (object.ownerDocument =3D=3D=3D document) return; var results =3D []; for (var property in object) { var value =3D Object.toJSON(object[property]); if (value !=3D=3D undefined) results.push(property.toJSON() + ': ' + value); } return '{' + results.join(', ') + '}'; }, keys: function(object) { var keys =3D []; for (var property in object) keys.push(property); return keys; }, values: function(object) { var values =3D []; for (var property in object) values.push(object[property]); return values; }, clone: function(object) { return Object.extend({}, object); } }); Function.prototype.bind =3D function() { var __method =3D this, args =3D $A(arguments), object =3D = args.shift(); return function() { return __method.apply(object, args.concat($A(arguments))); } } Function.prototype.bindAsEventListener =3D function(object) { var __method =3D this, args =3D $A(arguments), object =3D = args.shift(); return function(event) { return __method.apply(object, [event || window.event].concat(args)); } } Object.extend(Number.prototype, { toColorPart: function() { return this.toPaddedString(2, 16); }, succ: function() { return this + 1; }, times: function(iterator) { $R(0, this, true).each(iterator); return this; }, toPaddedString: function(length, radix) { var string =3D this.toString(radix || 10); return '0'.times(length - string.length) + string; }, toJSON: function() { return isFinite(this) ? this.toString() : 'null'; } }); Date.prototype.toJSON =3D function() { return '"' + this.getFullYear() + '-' + (this.getMonth() + 1).toPaddedString(2) + '-' + this.getDate().toPaddedString(2) + 'T' + this.getHours().toPaddedString(2) + ':' + this.getMinutes().toPaddedString(2) + ':' + this.getSeconds().toPaddedString(2) + '"'; }; var Try =3D { these: function() { var returnValue; for (var i =3D 0, length =3D arguments.length; i < length; i++) { var lambda =3D arguments[i]; try { returnValue =3D lambda(); break; } catch (e) {} } return returnValue; } } /*-----------------------------------------------------------------------= ---*/ var PeriodicalExecuter =3D Class.create(); PeriodicalExecuter.prototype =3D { initialize: function(callback, frequency) { this.callback =3D callback; this.frequency =3D frequency; this.currentlyExecuting =3D false; this.registerCallback(); }, registerCallback: function() { this.timer =3D setInterval(this.onTimerEvent.bind(this), = this.frequency * 1000); }, stop: function() { if (!this.timer) return; clearInterval(this.timer); this.timer =3D null; }, onTimerEvent: function() { if (!this.currentlyExecuting) { try { this.currentlyExecuting =3D true; this.callback(this); } finally { this.currentlyExecuting =3D false; } } } } Object.extend(String, { interpret: function(value) { return value =3D=3D null ? '' : String(value); }, specialChar: { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '\\': '\\\\' } }); Object.extend(String.prototype, { gsub: function(pattern, replacement) { var result =3D '', source =3D this, match; replacement =3D arguments.callee.prepareReplacement(replacement); while (source.length > 0) { if (match =3D source.match(pattern)) { result +=3D source.slice(0, match.index); result +=3D String.interpret(replacement(match)); source =3D source.slice(match.index + match[0].length); } else { result +=3D source, source =3D ''; } } return result; }, sub: function(pattern, replacement, count) { replacement =3D this.gsub.prepareReplacement(replacement); count =3D count =3D=3D=3D undefined ? 1 : count; return this.gsub(pattern, function(match) { if (--count < 0) return match[0]; return replacement(match); }); }, scan: function(pattern, iterator) { this.gsub(pattern, iterator); return this; }, truncate: function(length, truncation) { length =3D length || 30; truncation =3D truncation =3D=3D=3D undefined ? '...' : truncation; return this.length > length ? this.slice(0, length - truncation.length) + truncation : this; }, strip: function() { return this.replace(/^\s+/, '').replace(/\s+$/, ''); }, stripTags: function() { return this.replace(/<\/?[^>]+>/gi, ''); }, stripScripts: function() { return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), = ''); }, extractScripts: function() { var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img'); var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im'); return (this.match(matchAll) || []).map(function(scriptTag) { return (scriptTag.match(matchOne) || ['', ''])[1]; }); }, evalScripts: function() { return this.extractScripts().map(function(script) { return = eval(script) }); }, escapeHTML: function() { var self =3D arguments.callee; self.text.data =3D this; return self.div.innerHTML; }, unescapeHTML: function() { var div =3D document.createElement('div'); div.innerHTML =3D this.stripTags(); return div.childNodes[0] ? (div.childNodes.length > 1 ? $A(div.childNodes).inject('', function(memo, node) { return = memo+node.nodeValue }) : div.childNodes[0].nodeValue) : ''; }, toQueryParams: function(separator) { var match =3D this.strip().match(/([^?#]*)(#.*)?$/); if (!match) return {}; return match[1].split(separator || '&').inject({}, function(hash, = pair) { if ((pair =3D pair.split('=3D'))[0]) { var key =3D decodeURIComponent(pair.shift()); var value =3D pair.length > 1 ? pair.join('=3D') : pair[0]; if (value !=3D undefined) value =3D decodeURIComponent(value); if (key in hash) { if (hash[key].constructor !=3D Array) hash[key] =3D = [hash[key]]; hash[key].push(value); } else hash[key] =3D value; } return hash; }); }, toArray: function() { return this.split(''); }, succ: function() { return this.slice(0, this.length - 1) + String.fromCharCode(this.charCodeAt(this.length - 1) + 1); }, times: function(count) { var result =3D ''; for (var i =3D 0; i < count; i++) result +=3D this; return result; }, camelize: function() { var parts =3D this.split('-'), len =3D parts.length; if (len =3D=3D 1) return parts[0]; var camelized =3D this.charAt(0) =3D=3D '-' ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) : parts[0]; for (var i =3D 1; i < len; i++) camelized +=3D parts[i].charAt(0).toUpperCase() + = parts[i].substring(1); return camelized; }, capitalize: function() { return this.charAt(0).toUpperCase() + = this.substring(1).toLowerCase(); }, underscore: function() { return this.gsub(/::/, = '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{= 1}_#{2}').gsub(/-/,'_').toLowerCase(); }, dasherize: function() { return this.gsub(/_/,'-'); }, inspect: function(useDoubleQuotes) { var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) { var character =3D String.specialChar[match[0]]; return character ? character : '\\u00' + = match[0].charCodeAt().toPaddedString(2, 16); }); if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') = + '"'; return "'" + escapedString.replace(/'/g, '\\\'') + "'"; }, toJSON: function() { return this.inspect(true); }, unfilterJSON: function(filter) { return this.sub(filter || Prototype.JSONFilter, '#{1}'); }, evalJSON: function(sanitize) { var json =3D this.unfilterJSON(); try { if (!sanitize || = (/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u = \n\r\t])+?$/.test(json))) return eval('(' + json + ')'); } catch (e) { } throw new SyntaxError('Badly formed JSON string: ' + = this.inspect()); }, include: function(pattern) { return this.indexOf(pattern) > -1; }, startsWith: function(pattern) { return this.indexOf(pattern) =3D=3D=3D 0; }, endsWith: function(pattern) { var d =3D this.length - pattern.length; return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d; }, empty: function() { return this =3D=3D ''; }, blank: function() { return /^\s*$/.test(this); } }); if (Prototype.Browser.WebKit || Prototype.Browser.IE) = Object.extend(String.prototype, { escapeHTML: function() { return = this.replace(/&/g,'&').replace(//g,'>'); }, unescapeHTML: function() { return = this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); } }); String.prototype.gsub.prepareReplacement =3D function(replacement) { if (typeof replacement =3D=3D 'function') return replacement; var template =3D new Template(replacement); return function(match) { return template.evaluate(match) }; } String.prototype.parseQuery =3D String.prototype.toQueryParams; Object.extend(String.prototype.escapeHTML, { div: document.createElement('div'), text: document.createTextNode('') }); with (String.prototype.escapeHTML) div.appendChild(text); var Template =3D Class.create(); Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/; Template.prototype =3D { initialize: function(template, pattern) { this.template =3D template.toString(); this.pattern =3D pattern || Template.Pattern; }, evaluate: function(object) { return this.template.gsub(this.pattern, function(match) { var before =3D match[1]; if (before =3D=3D '\\') return match[2]; return before + String.interpret(object[match[3]]); }); } } var $break =3D {}, $continue =3D new Error('"throw $continue" is = deprecated, use "return" instead'); var Enumerable =3D { each: function(iterator) { var index =3D 0; try { this._each(function(value) { iterator(value, index++); }); } catch (e) { if (e !=3D $break) throw e; } return this; }, eachSlice: function(number, iterator) { var index =3D -number, slices =3D [], array =3D this.toArray(); while ((index +=3D number) < array.length) slices.push(array.slice(index, index+number)); return slices.map(iterator); }, all: function(iterator) { var result =3D true; this.each(function(value, index) { result =3D result && !!(iterator || Prototype.K)(value, index); if (!result) throw $break; }); return result; }, any: function(iterator) { var result =3D false; this.each(function(value, index) { if (result =3D !!(iterator || Prototype.K)(value, index)) throw $break; }); return result; }, collect: function(iterator) { var results =3D []; this.each(function(value, index) { results.push((iterator || Prototype.K)(value, index)); }); return results; }, detect: function(iterator) { var result; this.each(function(value, index) { if (iterator(value, index)) { result =3D value; throw $break; } }); return result; }, findAll: function(iterator) { var results =3D []; this.each(function(value, index) { if (iterator(value, index)) results.push(value); }); return results; }, grep: function(pattern, iterator) { var results =3D []; this.each(function(value, index) { var stringValue =3D value.toString(); if (stringValue.match(pattern)) results.push((iterator || Prototype.K)(value, index)); }) return results; }, include: function(object) { var found =3D false; this.each(function(value) { if (value =3D=3D object) { found =3D true; throw $break; } }); return found; }, inGroupsOf: function(number, fillWith) { fillWith =3D fillWith =3D=3D=3D undefined ? null : fillWith; return this.eachSlice(number, function(slice) { while(slice.length < number) slice.push(fillWith); return slice; }); }, inject: function(memo, iterator) { this.each(function(value, index) { memo =3D iterator(memo, value, index); }); return memo; }, invoke: function(method) { var args =3D $A(arguments).slice(1); return this.map(function(value) { return value[method].apply(value, args); }); }, max: function(iterator) { var result; this.each(function(value, index) { value =3D (iterator || Prototype.K)(value, index); if (result =3D=3D undefined || value >=3D result) result =3D value; }); return result; }, min: function(iterator) { var result; this.each(function(value, index) { value =3D (iterator || Prototype.K)(value, index); if (result =3D=3D undefined || value < result) result =3D value; }); return result; }, partition: function(iterator) { var trues =3D [], falses =3D []; this.each(function(value, index) { ((iterator || Prototype.K)(value, index) ? trues : falses).push(value); }); return [trues, falses]; }, pluck: function(property) { var results =3D []; this.each(function(value, index) { results.push(value[property]); }); return results; }, reject: function(iterator) { var results =3D []; this.each(function(value, index) { if (!iterator(value, index)) results.push(value); }); return results; }, sortBy: function(iterator) { return this.map(function(value, index) { return {value: value, criteria: iterator(value, index)}; }).sort(function(left, right) { var a =3D left.criteria, b =3D right.criteria; return a < b ? -1 : a > b ? 1 : 0; }).pluck('value'); }, toArray: function() { return this.map(); }, zip: function() { var iterator =3D Prototype.K, args =3D $A(arguments); if (typeof args.last() =3D=3D 'function') iterator =3D args.pop(); var collections =3D [this].concat(args).map($A); return this.map(function(value, index) { return iterator(collections.pluck(index)); }); }, size: function() { return this.toArray().length; }, inspect: function() { return '#'; } } Object.extend(Enumerable, { map: Enumerable.collect, find: Enumerable.detect, select: Enumerable.findAll, member: Enumerable.include, entries: Enumerable.toArray }); var $A =3D Array.from =3D function(iterable) { if (!iterable) return []; if (iterable.toArray) { return iterable.toArray(); } else { var results =3D []; for (var i =3D 0, length =3D iterable.length; i < length; i++) results.push(iterable[i]); return results; } } if (Prototype.Browser.WebKit) { $A =3D Array.from =3D function(iterable) { if (!iterable) return []; if (!(typeof iterable =3D=3D 'function' && iterable =3D=3D '[object = NodeList]') && iterable.toArray) { return iterable.toArray(); } else { var results =3D []; for (var i =3D 0, length =3D iterable.length; i < length; i++) results.push(iterable[i]); return results; } } } Object.extend(Array.prototype, Enumerable); if (!Array.prototype._reverse) Array.prototype._reverse =3D Array.prototype.reverse; Object.extend(Array.prototype, { _each: function(iterator) { for (var i =3D 0, length =3D this.length; i < length; i++) iterator(this[i]); }, clear: function() { this.length =3D 0; return this; }, first: function() { return this[0]; }, last: function() { return this[this.length - 1]; }, compact: function() { return this.select(function(value) { return value !=3D null; }); }, flatten: function() { return this.inject([], function(array, value) { return array.concat(value && value.constructor =3D=3D Array ? value.flatten() : [value]); }); }, without: function() { var values =3D $A(arguments); return this.select(function(value) { return !values.include(value); }); }, indexOf: function(object) { for (var i =3D 0, length =3D this.length; i < length; i++) if (this[i] =3D=3D object) return i; return -1; }, reverse: function(inline) { return (inline !=3D=3D false ? this : this.toArray())._reverse(); }, reduce: function() { return this.length > 1 ? this : this[0]; }, uniq: function(sorted) { return this.inject([], function(array, value, index) { if (0 =3D=3D index || (sorted ? array.last() !=3D value : = !array.include(value))) array.push(value); return array; }); }, clone: function() { return [].concat(this); }, size: function() { return this.length; }, inspect: function() { return '[' + this.map(Object.inspect).join(', ') + ']'; }, toJSON: function() { var results =3D []; this.each(function(object) { var value =3D Object.toJSON(object); if (value !=3D=3D undefined) results.push(value); }); return '[' + results.join(', ') + ']'; } }); Array.prototype.toArray =3D Array.prototype.clone; function $w(string) { string =3D string.strip(); return string ? string.split(/\s+/) : []; } if (Prototype.Browser.Opera){ Array.prototype.concat =3D function() { var array =3D []; for (var i =3D 0, length =3D this.length; i < length; i++) = array.push(this[i]); for (var i =3D 0, length =3D arguments.length; i < length; i++) { if (arguments[i].constructor =3D=3D Array) { for (var j =3D 0, arrayLength =3D arguments[i].length; j < = arrayLength; j++) array.push(arguments[i][j]); } else { array.push(arguments[i]); } } return array; } } var Hash =3D function(object) { if (object instanceof Hash) this.merge(object); else Object.extend(this, object || {}); }; Object.extend(Hash, { toQueryString: function(obj) { var parts =3D []; parts.add =3D arguments.callee.addPair; this.prototype._each.call(obj, function(pair) { if (!pair.key) return; var value =3D pair.value; if (value && typeof value =3D=3D 'object') { if (value.constructor =3D=3D Array) value.each(function(value) { parts.add(pair.key, value); }); return; } parts.add(pair.key, value); }); return parts.join('&'); }, toJSON: function(object) { var results =3D []; this.prototype._each.call(object, function(pair) { var value =3D Object.toJSON(pair.value); if (value !=3D=3D undefined) results.push(pair.key.toJSON() + ': ' = + value); }); return '{' + results.join(', ') + '}'; } }); Hash.toQueryString.addPair =3D function(key, value, prefix) { key =3D encodeURIComponent(key); if (value =3D=3D=3D undefined) this.push(key); else this.push(key + '=3D' + (value =3D=3D null ? '' : = encodeURIComponent(value))); } Object.extend(Hash.prototype, Enumerable); Object.extend(Hash.prototype, { _each: function(iterator) { for (var key in this) { var value =3D this[key]; if (value && value =3D=3D Hash.prototype[key]) continue; var pair =3D [key, value]; pair.key =3D key; pair.value =3D value; iterator(pair); } }, keys: function() { return this.pluck('key'); }, values: function() { return this.pluck('value'); }, merge: function(hash) { return $H(hash).inject(this, function(mergedHash, pair) { mergedHash[pair.key] =3D pair.value; return mergedHash; }); }, remove: function() { var result; for(var i =3D 0, length =3D arguments.length; i < length; i++) { var value =3D this[arguments[i]]; if (value !=3D=3D undefined){ if (result =3D=3D=3D undefined) result =3D value; else { if (result.constructor !=3D Array) result =3D [result]; result.push(value) } } delete this[arguments[i]]; } return result; }, toQueryString: function() { return Hash.toQueryString(this); }, inspect: function() { return '#'; }, toJSON: function() { return Hash.toJSON(this); } }); function $H(object) { if (object instanceof Hash) return object; return new Hash(object); }; // Safari iterates over shadowed properties if (function() { var i =3D 0, Test =3D function(value) { this.key =3D value }; Test.prototype.key =3D 'foo'; for (var property in new Test('bar')) i++; return i > 1; }()) Hash.prototype._each =3D function(iterator) { var cache =3D []; for (var key in this) { var value =3D this[key]; if ((value && value =3D=3D Hash.prototype[key]) || = cache.include(key)) continue; cache.push(key); var pair =3D [key, value]; pair.key =3D key; pair.value =3D value; iterator(pair); } }; ObjectRange =3D Class.create(); Object.extend(ObjectRange.prototype, Enumerable); Object.extend(ObjectRange.prototype, { initialize: function(start, end, exclusive) { this.start =3D start; this.end =3D end; this.exclusive =3D exclusive; }, _each: function(iterator) { var value =3D this.start; while (this.include(value)) { iterator(value); value =3D value.succ(); } }, include: function(value) { if (value < this.start) return false; if (this.exclusive) return value < this.end; return value <=3D this.end; } }); var $R =3D function(start, end, exclusive) { return new ObjectRange(start, end, exclusive); } var Ajax =3D { getTransport: function() { return Try.these( function() {return new XMLHttpRequest()}, function() {return new ActiveXObject('Msxml2.XMLHTTP')}, function() {return new ActiveXObject('Microsoft.XMLHTTP')} ) || false; }, activeRequestCount: 0 } Ajax.Responders =3D { responders: [], _each: function(iterator) { this.responders._each(iterator); }, register: function(responder) { if (!this.include(responder)) this.responders.push(responder); }, unregister: function(responder) { this.responders =3D this.responders.without(responder); }, dispatch: function(callback, request, transport, json) { this.each(function(responder) { if (typeof responder[callback] =3D=3D 'function') { try { responder[callback].apply(responder, [request, transport, = json]); } catch (e) {} } }); } }; Object.extend(Ajax.Responders, Enumerable); Ajax.Responders.register({ onCreate: function() { Ajax.activeRequestCount++; }, onComplete: function() { Ajax.activeRequestCount--; } }); Ajax.Base =3D function() {}; Ajax.Base.prototype =3D { setOptions: function(options) { this.options =3D { method: 'post', asynchronous: true, contentType: 'application/x-www-form-urlencoded', encoding: 'UTF-8', parameters: '' } Object.extend(this.options, options || {}); this.options.method =3D this.options.method.toLowerCase(); if (typeof this.options.parameters =3D=3D 'string') this.options.parameters =3D = this.options.parameters.toQueryParams(); } } Ajax.Request =3D Class.create(); Ajax.Request.Events =3D ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; Ajax.Request.prototype =3D Object.extend(new Ajax.Base(), { _complete: false, initialize: function(url, options) { this.transport =3D Ajax.getTransport(); this.setOptions(options); this.request(url); }, request: function(url) { this.url =3D url; this.method =3D this.options.method; var params =3D Object.clone(this.options.parameters); if (!['get', 'post'].include(this.method)) { // simulate other verbs over post params['_method'] =3D this.method; this.method =3D 'post'; } this.parameters =3D params; if (params =3D Hash.toQueryString(params)) { // when GET, append parameters to URL if (this.method =3D=3D 'get') this.url +=3D (this.url.include('?') ? '&' : '?') + params; else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) params +=3D '&_=3D'; } try { if (this.options.onCreate) this.options.onCreate(this.transport); Ajax.Responders.dispatch('onCreate', this, this.transport); this.transport.open(this.method.toUpperCase(), this.url, this.options.asynchronous); if (this.options.asynchronous) setTimeout(function() { this.respondToReadyState(1) = }.bind(this), 10); this.transport.onreadystatechange =3D = this.onStateChange.bind(this); this.setRequestHeaders(); this.body =3D this.method =3D=3D 'post' ? (this.options.postBody = || params) : null; this.transport.send(this.body); /* Force Firefox to handle ready state 4 for synchronous requests = */ if (!this.options.asynchronous && this.transport.overrideMimeType) this.onStateChange(); } catch (e) { this.dispatchException(e); } }, onStateChange: function() { var readyState =3D this.transport.readyState; if (readyState > 1 && !((readyState =3D=3D 4) && this._complete)) this.respondToReadyState(this.transport.readyState); }, setRequestHeaders: function() { var headers =3D { 'X-Requested-With': 'XMLHttpRequest', 'X-Prototype-Version': Prototype.Version, 'Accept': 'text/javascript, text/html, application/xml, text/xml, = */*' }; if (this.method =3D=3D 'post') { headers['Content-type'] =3D this.options.contentType + (this.options.encoding ? '; charset=3D' + this.options.encoding = : ''); /* Force "Connection: close" for older Mozilla browsers to work * around a bug where XMLHttpRequest sends an incorrect * Content-length header. See Mozilla Bugzilla #246651. */ if (this.transport.overrideMimeType && (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < = 2005) headers['Connection'] =3D 'close'; } // user-defined headers if (typeof this.options.requestHeaders =3D=3D 'object') { var extras =3D this.options.requestHeaders; if (typeof extras.push =3D=3D 'function') for (var i =3D 0, length =3D extras.length; i < length; i +=3D = 2) headers[extras[i]] =3D extras[i+1]; else $H(extras).each(function(pair) { headers[pair.key] =3D = pair.value }); } for (var name in headers) this.transport.setRequestHeader(name, headers[name]); }, success: function() { return !this.transport.status || (this.transport.status >=3D 200 && this.transport.status < = 300); }, respondToReadyState: function(readyState) { var state =3D Ajax.Request.Events[readyState]; var transport =3D this.transport, json =3D this.evalJSON(); if (state =3D=3D 'Complete') { try { this._complete =3D true; (this.options['on' + this.transport.status] || this.options['on' + (this.success() ? 'Success' : = 'Failure')] || Prototype.emptyFunction)(transport, json); } catch (e) { this.dispatchException(e); } var contentType =3D this.getHeader('Content-type'); if (contentType && contentType.strip(). match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i)) this.evalResponse(); } try { (this.options['on' + state] || Prototype.emptyFunction)(transport, = json); Ajax.Responders.dispatch('on' + state, this, transport, json); } catch (e) { this.dispatchException(e); } if (state =3D=3D 'Complete') { // avoid memory leak in MSIE: clean up this.transport.onreadystatechange =3D Prototype.emptyFunction; } }, getHeader: function(name) { try { return this.transport.getResponseHeader(name); } catch (e) { return null } }, evalJSON: function() { try { var json =3D this.getHeader('X-JSON'); return json ? json.evalJSON() : null; } catch (e) { return null } }, evalResponse: function() { try { return eval((this.transport.responseText || '').unfilterJSON()); } catch (e) { this.dispatchException(e); } }, dispatchException: function(exception) { (this.options.onException || Prototype.emptyFunction)(this, = exception); Ajax.Responders.dispatch('onException', this, exception); } }); Ajax.Updater =3D Class.create(); Object.extend(Object.extend(Ajax.Updater.prototype, = Ajax.Request.prototype), { initialize: function(container, url, options) { this.container =3D { success: (container.success || container), failure: (container.failure || (container.success ? null : = container)) } this.transport =3D Ajax.getTransport(); this.setOptions(options); var onComplete =3D this.options.onComplete || = Prototype.emptyFunction; this.options.onComplete =3D (function(transport, param) { this.updateContent(); onComplete(transport, param); }).bind(this); this.request(url); }, updateContent: function() { var receiver =3D this.container[this.success() ? 'success' : = 'failure']; var response =3D this.transport.responseText; if (!this.options.evalScripts) response =3D response.stripScripts(); if (receiver =3D $(receiver)) { if (this.options.insertion) new this.options.insertion(receiver, response); else receiver.update(response); } if (this.success()) { if (this.onComplete) setTimeout(this.onComplete.bind(this), 10); } } }); Ajax.PeriodicalUpdater =3D Class.create(); Ajax.PeriodicalUpdater.prototype =3D Object.extend(new Ajax.Base(), { initialize: function(container, url, options) { this.setOptions(options); this.onComplete =3D this.options.onComplete; this.frequency =3D (this.options.frequency || 2); this.decay =3D (this.options.decay || 1); this.updater =3D {}; this.container =3D container; this.url =3D url; this.start(); }, start: function() { this.options.onComplete =3D this.updateComplete.bind(this); this.onTimerEvent(); }, stop: function() { this.updater.options.onComplete =3D undefined; clearTimeout(this.timer); (this.onComplete || Prototype.emptyFunction).apply(this, arguments); }, updateComplete: function(request) { if (this.options.decay) { this.decay =3D (request.responseText =3D=3D this.lastText ? this.decay * this.options.decay : 1); this.lastText =3D request.responseText; } this.timer =3D setTimeout(this.onTimerEvent.bind(this), this.decay * this.frequency * 1000); }, onTimerEvent: function() { this.updater =3D new Ajax.Updater(this.container, this.url, = this.options); } }); function $(element) { if (arguments.length > 1) { for (var i =3D 0, elements =3D [], length =3D arguments.length; i < = length; i++) elements.push($(arguments[i])); return elements; } if (typeof element =3D=3D 'string') element =3D document.getElementById(element); return Element.extend(element); } if (Prototype.BrowserFeatures.XPath) { document._getElementsByXPath =3D function(expression, parentElement) { var results =3D []; var query =3D document.evaluate(expression, $(parentElement) || = document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var i =3D 0, length =3D query.snapshotLength; i < length; i++) results.push(query.snapshotItem(i)); return results; }; document.getElementsByClassName =3D function(className, parentElement) = { var q =3D ".//*[contains(concat(' ', @class, ' '), ' " + className + = " ')]"; return document._getElementsByXPath(q, parentElement); } } else document.getElementsByClassName =3D function(className, = parentElement) { var children =3D ($(parentElement) || = document.body).getElementsByTagName('*'); var elements =3D [], child; for (var i =3D 0, length =3D children.length; i < length; i++) { child =3D children[i]; if (Element.hasClassName(child, className)) elements.push(Element.extend(child)); } return elements; }; /*-----------------------------------------------------------------------= ---*/ if (!window.Element) var Element =3D {}; Element.extend =3D function(element) { var F =3D Prototype.BrowserFeatures; if (!element || !element.tagName || element.nodeType =3D=3D 3 || element._extended || F.SpecificElementExtensions || element =3D=3D = window) return element; var methods =3D {}, tagName =3D element.tagName, cache =3D = Element.extend.cache, T =3D Element.Methods.ByTag; // extend methods for all tags (Safari doesn't need this) if (!F.ElementExtensions) { Object.extend(methods, Element.Methods), Object.extend(methods, Element.Methods.Simulated); } // extend methods for specific tags if (T[tagName]) Object.extend(methods, T[tagName]); for (var property in methods) { var value =3D methods[property]; if (typeof value =3D=3D 'function' && !(property in element)) element[property] =3D cache.findOrStore(value); } element._extended =3D Prototype.emptyFunction; return element; }; Element.extend.cache =3D { findOrStore: function(value) { return this[value] =3D this[value] || function() { return value.apply(null, [this].concat($A(arguments))); } } }; Element.Methods =3D { visible: function(element) { return $(element).style.display !=3D 'none'; }, toggle: function(element) { element =3D $(element); Element[Element.visible(element) ? 'hide' : 'show'](element); return element; }, hide: function(element) { $(element).style.display =3D 'none'; return element; }, show: function(element) { $(element).style.display =3D ''; return element; }, remove: function(element) { element =3D $(element); element.parentNode.removeChild(element); return element; }, update: function(element, html) { html =3D typeof html =3D=3D 'undefined' ? '' : html.toString(); $(element).innerHTML =3D html.stripScripts(); setTimeout(function() {html.evalScripts()}, 10); return element; }, replace: function(element, html) { element =3D $(element); html =3D typeof html =3D=3D 'undefined' ? '' : html.toString(); if (element.outerHTML) { element.outerHTML =3D html.stripScripts(); } else { var range =3D element.ownerDocument.createRange(); range.selectNodeContents(element); element.parentNode.replaceChild( range.createContextualFragment(html.stripScripts()), element); } setTimeout(function() {html.evalScripts()}, 10); return element; }, inspect: function(element) { element =3D $(element); var result =3D '<' + element.tagName.toLowerCase(); $H({'id': 'id', 'className': 'class'}).each(function(pair) { var property =3D pair.first(), attribute =3D pair.last(); var value =3D (element[property] || '').toString(); if (value) result +=3D ' ' + attribute + '=3D' + = value.inspect(true); }); return result + '>'; }, recursivelyCollect: function(element, property) { element =3D $(element); var elements =3D []; while (element =3D element[property]) if (element.nodeType =3D=3D 1) elements.push(Element.extend(element)); return elements; }, ancestors: function(element) { return $(element).recursivelyCollect('parentNode'); }, descendants: function(element) { return = $A($(element).getElementsByTagName('*')).each(Element.extend); }, firstDescendant: function(element) { element =3D $(element).firstChild; while (element && element.nodeType !=3D 1) element =3D = element.nextSibling; return $(element); }, immediateDescendants: function(element) { if (!(element =3D $(element).firstChild)) return []; while (element && element.nodeType !=3D 1) element =3D = element.nextSibling; if (element) return [element].concat($(element).nextSiblings()); return []; }, previousSiblings: function(element) { return $(element).recursivelyCollect('previousSibling'); }, nextSiblings: function(element) { return $(element).recursivelyCollect('nextSibling'); }, siblings: function(element) { element =3D $(element); return = element.previousSiblings().reverse().concat(element.nextSiblings()); }, match: function(element, selector) { if (typeof selector =3D=3D 'string') selector =3D new Selector(selector); return selector.match($(element)); }, up: function(element, expression, index) { element =3D $(element); if (arguments.length =3D=3D 1) return $(element.parentNode); var ancestors =3D element.ancestors(); return expression ? Selector.findElement(ancestors, expression, = index) : ancestors[index || 0]; }, down: function(element, expression, index) { element =3D $(element); if (arguments.length =3D=3D 1) return element.firstDescendant(); var descendants =3D element.descendants(); return expression ? Selector.findElement(descendants, expression, = index) : descendants[index || 0]; }, previous: function(element, expression, index) { element =3D $(element); if (arguments.length =3D=3D 1) return = $(Selector.handlers.previousElementSibling(element)); var previousSiblings =3D element.previousSiblings(); return expression ? Selector.findElement(previousSiblings, = expression, index) : previousSiblings[index || 0]; }, next: function(element, expression, index) { element =3D $(element); if (arguments.length =3D=3D 1) return = $(Selector.handlers.nextElementSibling(element)); var nextSiblings =3D element.nextSiblings(); return expression ? Selector.findElement(nextSiblings, expression, = index) : nextSiblings[index || 0]; }, getElementsBySelector: function() { var args =3D $A(arguments), element =3D $(args.shift()); return Selector.findChildElements(element, args); }, getElementsByClassName: function(element, className) { return document.getElementsByClassName(className, element); }, readAttribute: function(element, name) { element =3D $(element); if (Prototype.Browser.IE) { if (!element.attributes) return null; var t =3D Element._attributeTranslations; if (t.values[name]) return t.values[name](element, name); if (t.names[name]) name =3D t.names[name]; var attribute =3D element.attributes[name]; return attribute ? attribute.nodeValue : null; } return element.getAttribute(name); }, getHeight: function(element) { return $(element).getDimensions().height; }, getWidth: function(element) { return $(element).getDimensions().width; }, classNames: function(element) { return new Element.ClassNames(element); }, hasClassName: function(element, className) { if (!(element =3D $(element))) return; var elementClassName =3D element.className; if (elementClassName.length =3D=3D 0) return false; if (elementClassName =3D=3D className || elementClassName.match(new RegExp("(^|\\s)" + className + = "(\\s|$)"))) return true; return false; }, addClassName: function(element, className) { if (!(element =3D $(element))) return; Element.classNames(element).add(className); return element; }, removeClassName: function(element, className) { if (!(element =3D $(element))) return; Element.classNames(element).remove(className); return element; }, toggleClassName: function(element, className) { if (!(element =3D $(element))) return; Element.classNames(element)[element.hasClassName(className) ? = 'remove' : 'add'](className); return element; }, observe: function() { Event.observe.apply(Event, arguments); return $A(arguments).first(); }, stopObserving: function() { Event.stopObserving.apply(Event, arguments); return $A(arguments).first(); }, // removes whitespace-only text node children cleanWhitespace: function(element) { element =3D $(element); var node =3D element.firstChild; while (node) { var nextNode =3D node.nextSibling; if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue)) element.removeChild(node); node =3D nextNode; } return element; }, empty: function(element) { return $(element).innerHTML.blank(); }, descendantOf: function(element, ancestor) { element =3D $(element), ancestor =3D $(ancestor); while (element =3D element.parentNode) if (element =3D=3D ancestor) return true; return false; }, scrollTo: function(element) { element =3D $(element); var pos =3D Position.cumulativeOffset(element); window.scrollTo(pos[0], pos[1]); return element; }, getStyle: function(element, style) { element =3D $(element); style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize(); var value =3D element.style[style]; if (!value) { var css =3D document.defaultView.getComputedStyle(element, null); value =3D css ? css[style] : null; } if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0; return value =3D=3D 'auto' ? null : value; }, getOpacity: function(element) { return $(element).getStyle('opacity'); }, setStyle: function(element, styles, camelized) { element =3D $(element); var elementStyle =3D element.style; for (var property in styles) if (property =3D=3D 'opacity') = element.setOpacity(styles[property]) else elementStyle[(property =3D=3D 'float' || property =3D=3D = 'cssFloat') ? (elementStyle.styleFloat =3D=3D=3D undefined ? 'cssFloat' : = 'styleFloat') : (camelized ? property : property.camelize())] =3D = styles[property]; return element; }, setOpacity: function(element, value) { element =3D $(element); element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' : (value < 0.00001) ? 0 : value; return element; }, getDimensions: function(element) { element =3D $(element); var display =3D $(element).getStyle('display'); if (display !=3D 'none' && display !=3D null) // Safari bug return {width: element.offsetWidth, height: element.offsetHeight}; // All *Width and *Height properties give 0 on elements with display = none, // so enable the element temporarily var els =3D element.style; var originalVisibility =3D els.visibility; var originalPosition =3D els.position; var originalDisplay =3D els.display; els.visibility =3D 'hidden'; els.position =3D 'absolute'; els.display =3D 'block'; var originalWidth =3D element.clientWidth; var originalHeight =3D element.clientHeight; els.display =3D originalDisplay; els.position =3D originalPosition; els.visibility =3D originalVisibility; return {width: originalWidth, height: originalHeight}; }, makePositioned: function(element) { element =3D $(element); var pos =3D Element.getStyle(element, 'position'); if (pos =3D=3D 'static' || !pos) { element._madePositioned =3D true; element.style.position =3D 'relative'; // Opera returns the offset relative to the positioning context, = when an // element is position relative but top and left have not been = defined if (window.opera) { element.style.top =3D 0; element.style.left =3D 0; } } return element; }, undoPositioned: function(element) { element =3D $(element); if (element._madePositioned) { element._madePositioned =3D undefined; element.style.position =3D element.style.top =3D element.style.left =3D element.style.bottom =3D element.style.right =3D ''; } return element; }, makeClipping: function(element) { element =3D $(element); if (element._overflow) return element; element._overflow =3D element.style.overflow || 'auto'; if ((Element.getStyle(element, 'overflow') || 'visible') !=3D = 'hidden') element.style.overflow =3D 'hidden'; return element; }, undoClipping: function(element) { element =3D $(element); if (!element._overflow) return element; element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : = element._overflow; element._overflow =3D null; return element; } }; Object.extend(Element.Methods, { childOf: Element.Methods.descendantOf, childElements: Element.Methods.immediateDescendants }); if (Prototype.Browser.Opera) { Element.Methods._getStyle =3D Element.Methods.getStyle; Element.Methods.getStyle =3D function(element, style) { switch(style) { case 'left': case 'top': case 'right': case 'bottom': if (Element._getStyle(element, 'position') =3D=3D 'static') = return null; default: return Element._getStyle(element, style); } }; } else if (Prototype.Browser.IE) { Element.Methods.getStyle =3D function(element, style) { element =3D $(element); style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? = 'styleFloat' : style.camelize(); var value =3D element.style[style]; if (!value && element.currentStyle) value =3D = element.currentStyle[style]; if (style =3D=3D 'opacity') { if (value =3D (element.getStyle('filter') || = '').match(/alpha\(opacity=3D(.*)\)/)) if (value[1]) return parseFloat(value[1]) / 100; return 1.0; } if (value =3D=3D 'auto') { if ((style =3D=3D 'width' || style =3D=3D 'height') && = (element.getStyle('display') !=3D 'none')) return element['offset'+style.capitalize()] + 'px'; return null; } return value; }; Element.Methods.setOpacity =3D function(element, value) { element =3D $(element); var filter =3D element.getStyle('filter'), style =3D element.style; if (value =3D=3D 1 || value =3D=3D=3D '') { style.filter =3D filter.replace(/alpha\([^\)]*\)/gi,''); return element; } else if (value < 0.00001) value =3D 0; style.filter =3D filter.replace(/alpha\([^\)]*\)/gi, '') + 'alpha(opacity=3D' + (value * 100) + ')'; return element; }; // IE is missing .innerHTML support for TABLE-related elements Element.Methods.update =3D function(element, html) { element =3D $(element); html =3D typeof html =3D=3D 'undefined' ? '' : html.toString(); var tagName =3D element.tagName.toUpperCase(); if (['THEAD','TBODY','TR','TD'].include(tagName)) { var div =3D document.createElement('div'); switch (tagName) { case 'THEAD': case 'TBODY': div.innerHTML =3D '' + html.stripScripts() + = '
'; depth =3D 2; break; case 'TR': div.innerHTML =3D '' + html.stripScripts() = + '
'; depth =3D 3; break; case 'TD': div.innerHTML =3D '
' + = html.stripScripts() + '
'; depth =3D 4; } $A(element.childNodes).each(function(node) { = element.removeChild(node) }); depth.times(function() { div =3D div.firstChild }); $A(div.childNodes).each(function(node) { element.appendChild(node) = }); } else { element.innerHTML =3D html.stripScripts(); } setTimeout(function() { html.evalScripts() }, 10); return element; } } else if (Prototype.Browser.Gecko) { Element.Methods.setOpacity =3D function(element, value) { element =3D $(element); element.style.opacity =3D (value =3D=3D 1) ? 0.999999 : (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value; return element; }; } Element._attributeTranslations =3D { names: { colspan: "colSpan", rowspan: "rowSpan", valign: "vAlign", datetime: "dateTime", accesskey: "accessKey", tabindex: "tabIndex", enctype: "encType", maxlength: "maxLength", readonly: "readOnly", longdesc: "longDesc" }, values: { _getAttr: function(element, attribute) { return element.getAttribute(attribute, 2); }, _flag: function(element, attribute) { return $(element).hasAttribute(attribute) ? attribute : null; }, style: function(element) { return element.style.cssText.toLowerCase(); }, title: function(element) { var node =3D element.getAttributeNode('title'); return node.specified ? node.nodeValue : null; } } }; (function() { Object.extend(this, { href: this._getAttr, src: this._getAttr, type: this._getAttr, disabled: this._flag, checked: this._flag, readonly: this._flag, multiple: this._flag }); }).call(Element._attributeTranslations.values); Element.Methods.Simulated =3D { hasAttribute: function(element, attribute) { var t =3D Element._attributeTranslations, node; attribute =3D t.names[attribute] || attribute; node =3D $(element).getAttributeNode(attribute); return node && node.specified; } }; Element.Methods.ByTag =3D {}; Object.extend(Element, Element.Methods); if (!Prototype.BrowserFeatures.ElementExtensions && document.createElement('div').__proto__) { window.HTMLElement =3D {}; window.HTMLElement.prototype =3D = document.createElement('div').__proto__; Prototype.BrowserFeatures.ElementExtensions =3D true; } Element.hasAttribute =3D function(element, attribute) { if (element.hasAttribute) return element.hasAttribute(attribute); return Element.Methods.Simulated.hasAttribute(element, attribute); }; Element.addMethods =3D function(methods) { var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag; if (!methods) { Object.extend(Form, Form.Methods); Object.extend(Form.Element, Form.Element.Methods); Object.extend(Element.Methods.ByTag, { "FORM": Object.clone(Form.Methods), "INPUT": Object.clone(Form.Element.Methods), "SELECT": Object.clone(Form.Element.Methods), "TEXTAREA": Object.clone(Form.Element.Methods) }); } if (arguments.length =3D=3D 2) { var tagName =3D methods; methods =3D arguments[1]; } if (!tagName) Object.extend(Element.Methods, methods || {}); else { if (tagName.constructor =3D=3D Array) tagName.each(extend); else extend(tagName); } function extend(tagName) { tagName =3D tagName.toUpperCase(); if (!Element.Methods.ByTag[tagName]) Element.Methods.ByTag[tagName] =3D {}; Object.extend(Element.Methods.ByTag[tagName], methods); } function copy(methods, destination, onlyIfAbsent) { onlyIfAbsent =3D onlyIfAbsent || false; var cache =3D Element.extend.cache; for (var property in methods) { var value =3D methods[property]; if (!onlyIfAbsent || !(property in destination)) destination[property] =3D cache.findOrStore(value); } } function findDOMClass(tagName) { var klass; var trans =3D { "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph", "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": = "DList", "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": = "Heading", "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote", "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", = "CAPTION": "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", = "THEAD": "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", = "TR": "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET": "FrameSet", "IFRAME": "IFrame" }; if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element'; if (window[klass]) return window[klass]; klass =3D 'HTML' + tagName + 'Element'; if (window[klass]) return window[klass]; klass =3D 'HTML' + tagName.capitalize() + 'Element'; if (window[klass]) return window[klass]; window[klass] =3D {}; window[klass].prototype =3D = document.createElement(tagName).__proto__; return window[klass]; } if (F.ElementExtensions) { copy(Element.Methods, HTMLElement.prototype); copy(Element.Methods.Simulated, HTMLElement.prototype, true); } if (F.SpecificElementExtensions) { for (var tag in Element.Methods.ByTag) { var klass =3D findDOMClass(tag); if (typeof klass =3D=3D "undefined") continue; copy(T[tag], klass.prototype); } } Object.extend(Element, Element.Methods); delete Element.ByTag; }; var Toggle =3D { display: Element.toggle }; /*-----------------------------------------------------------------------= ---*/ Abstract.Insertion =3D function(adjacency) { this.adjacency =3D adjacency; } Abstract.Insertion.prototype =3D { initialize: function(element, content) { this.element =3D $(element); this.content =3D content.stripScripts(); if (this.adjacency && this.element.insertAdjacentHTML) { try { this.element.insertAdjacentHTML(this.adjacency, this.content); } catch (e) { var tagName =3D this.element.tagName.toUpperCase(); if (['TBODY', 'TR'].include(tagName)) { this.insertContent(this.contentFromAnonymousTable()); } else { throw e; } } } else { this.range =3D this.element.ownerDocument.createRange(); if (this.initializeRange) this.initializeRange(); = this.insertContent([this.range.createContextualFragment(this.content)]); } setTimeout(function() {content.evalScripts()}, 10); }, contentFromAnonymousTable: function() { var div =3D document.createElement('div'); div.innerHTML =3D '' + this.content + = '
'; return $A(div.childNodes[0].childNodes[0].childNodes); } } var Insertion =3D new Object(); Insertion.Before =3D Class.create(); Insertion.Before.prototype =3D Object.extend(new = Abstract.Insertion('beforeBegin'), { initializeRange: function() { this.range.setStartBefore(this.element); }, insertContent: function(fragments) { fragments.each((function(fragment) { this.element.parentNode.insertBefore(fragment, this.element); }).bind(this)); } }); Insertion.Top =3D Class.create(); Insertion.Top.prototype =3D Object.extend(new = Abstract.Insertion('afterBegin'), { initializeRange: function() { this.range.selectNodeContents(this.element); this.range.collapse(true); }, insertContent: function(fragments) { fragments.reverse(false).each((function(fragment) { this.element.insertBefore(fragment, this.element.firstChild); }).bind(this)); } }); Insertion.Bottom =3D Class.create(); Insertion.Bottom.prototype =3D Object.extend(new = Abstract.Insertion('beforeEnd'), { initializeRange: function() { this.range.selectNodeContents(this.element); this.range.collapse(this.element); }, insertContent: function(fragments) { fragments.each((function(fragment) { this.element.appendChild(fragment); }).bind(this)); } }); Insertion.After =3D Class.create(); Insertion.After.prototype =3D Object.extend(new = Abstract.Insertion('afterEnd'), { initializeRange: function() { this.range.setStartAfter(this.element); }, insertContent: function(fragments) { fragments.each((function(fragment) { this.element.parentNode.insertBefore(fragment, this.element.nextSibling); }).bind(this)); } }); /*-----------------------------------------------------------------------= ---*/ Element.ClassNames =3D Class.create(); Element.ClassNames.prototype =3D { initialize: function(element) { this.element =3D $(element); }, _each: function(iterator) { this.element.className.split(/\s+/).select(function(name) { return name.length > 0; })._each(iterator); }, set: function(className) { this.element.className =3D className; }, add: function(classNameToAdd) { if (this.include(classNameToAdd)) return; this.set($A(this).concat(classNameToAdd).join(' ')); }, remove: function(classNameToRemove) { if (!this.include(classNameToRemove)) return; this.set($A(this).without(classNameToRemove).join(' ')); }, toString: function() { return $A(this).join(' '); } }; Object.extend(Element.ClassNames.prototype, Enumerable); /* Portions of the Selector class are derived from Jack Slocum=E2=80=99s = DomQuery, * part of YUI-Ext version 0.40, distributed under the terms of an = MIT-style * license. Please see http://www.yui-ext.com/ for more information. */ var Selector =3D Class.create(); Selector.prototype =3D { initialize: function(expression) { this.expression =3D expression.strip(); this.compileMatcher(); }, compileMatcher: function() { // Selectors with namespaced attributes can't use the XPath version if (Prototype.BrowserFeatures.XPath && = !(/\[[\w-]*?:/).test(this.expression)) return this.compileXPathMatcher(); var e =3D this.expression, ps =3D Selector.patterns, h =3D = Selector.handlers, c =3D Selector.criteria, le, p, m; if (Selector._cache[e]) { this.matcher =3D Selector._cache[e]; return; } this.matcher =3D ["this.matcher =3D function(root) {", "var r =3D root, h =3D Selector.handlers, c =3D = false, n;"]; while (e && le !=3D e && (/\S/).test(e)) { le =3D e; for (var i in ps) { p =3D ps[i]; if (m =3D e.match(p)) { this.matcher.push(typeof c[i] =3D=3D 'function' ? c[i](m) : new Template(c[i]).evaluate(m)); e =3D e.replace(m[0], ''); break; } } } this.matcher.push("return h.unique(n);\n}"); eval(this.matcher.join('\n')); Selector._cache[this.expression] =3D this.matcher; }, compileXPathMatcher: function() { var e =3D this.expression, ps =3D Selector.patterns, x =3D Selector.xpath, le, m; if (Selector._cache[e]) { this.xpath =3D Selector._cache[e]; return; } this.matcher =3D ['.//*']; while (e && le !=3D e && (/\S/).test(e)) { le =3D e; for (var i in ps) { if (m =3D e.match(ps[i])) { this.matcher.push(typeof x[i] =3D=3D 'function' ? x[i](m) : new Template(x[i]).evaluate(m)); e =3D e.replace(m[0], ''); break; } } } this.xpath =3D this.matcher.join(''); Selector._cache[this.expression] =3D this.xpath; }, findElements: function(root) { root =3D root || document; if (this.xpath) return document._getElementsByXPath(this.xpath, = root); return this.matcher(root); }, match: function(element) { return this.findElements(document).include(element); }, toString: function() { return this.expression; }, inspect: function() { return "#"; } }; Object.extend(Selector, { _cache: {}, xpath: { descendant: "//*", child: "/*", adjacent: "/following-sibling::*[1]", laterSibling: '/following-sibling::*', tagName: function(m) { if (m[1] =3D=3D '*') return ''; return "[local-name()=3D'" + m[1].toLowerCase() + "' or local-name()=3D'" + m[1].toUpperCase() + "']"; }, className: "[contains(concat(' ', @class, ' '), ' #{1} ')]", id: "[@id=3D'#{1}']", attrPresence: "[@#{1}]", attr: function(m) { m[3] =3D m[5] || m[6]; return new Template(Selector.xpath.operators[m[2]]).evaluate(m); }, pseudo: function(m) { var h =3D Selector.xpath.pseudos[m[1]]; if (!h) return ''; if (typeof h =3D=3D=3D 'function') return h(m); return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m); }, operators: { '=3D': "[@#{1}=3D'#{3}']", '!=3D': "[@#{1}!=3D'#{3}']", '^=3D': "[starts-with(@#{1}, '#{3}')]", '$=3D': "[substring(@#{1}, (string-length(@#{1}) - = string-length('#{3}') + 1))=3D'#{3}']", '*=3D': "[contains(@#{1}, '#{3}')]", '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]", '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]" }, pseudos: { 'first-child': '[not(preceding-sibling::*)]', 'last-child': '[not(following-sibling::*)]', 'only-child': '[not(preceding-sibling::* or = following-sibling::*)]', 'empty': "[count(*) =3D 0 and (count(text()) =3D 0 or = translate(text(), ' \t\r\n', '') =3D '')]", 'checked': "[@checked]", 'disabled': "[@disabled]", 'enabled': "[not(@disabled)]", 'not': function(m) { var e =3D m[6], p =3D Selector.patterns, x =3D Selector.xpath, le, m, v; var exclusion =3D []; while (e && le !=3D e && (/\S/).test(e)) { le =3D e; for (var i in p) { if (m =3D e.match(p[i])) { v =3D typeof x[i] =3D=3D 'function' ? x[i](m) : new = Template(x[i]).evaluate(m); exclusion.push("(" + v.substring(1, v.length - 1) + ")"); e =3D e.replace(m[0], ''); break; } } } return "[not(" + exclusion.join(" and ") + ")]"; }, 'nth-child': function(m) { return = Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m); }, 'nth-last-child': function(m) { return = Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m); }, 'nth-of-type': function(m) { return Selector.xpath.pseudos.nth("position() ", m); }, 'nth-last-of-type': function(m) { return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", = m); }, 'first-of-type': function(m) { m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m); }, 'last-of-type': function(m) { m[6] =3D "1"; return = Selector.xpath.pseudos['nth-last-of-type'](m); }, 'only-of-type': function(m) { var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + = p['last-of-type'](m); }, nth: function(fragment, m) { var mm, formula =3D m[6], predicate; if (formula =3D=3D 'even') formula =3D '2n+0'; if (formula =3D=3D 'odd') formula =3D '2n+1'; if (mm =3D formula.match(/^(\d+)$/)) // digit only return '[' + fragment + "=3D " + mm[1] + ']'; if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b if (mm[1] =3D=3D "-") mm[1] =3D -1; var a =3D mm[1] ? Number(mm[1]) : 1; var b =3D mm[2] ? Number(mm[2]) : 0; predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " + "((#{fragment} - #{b}) div #{a} >=3D 0)]"; return new Template(predicate).evaluate({ fragment: fragment, a: a, b: b }); } } } }, criteria: { tagName: 'n =3D h.tagName(n, r, "#{1}", c); c =3D false;', className: 'n =3D h.className(n, r, "#{1}", c); c =3D false;', id: 'n =3D h.id(n, r, "#{1}", c); c =3D false;', attrPresence: 'n =3D h.attrPresence(n, r, "#{1}"); c =3D false;', attr: function(m) { m[3] =3D (m[5] || m[6]); return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = =3D false;').evaluate(m); }, pseudo: function(m) { if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"'); return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c = =3D false;').evaluate(m); }, descendant: 'c =3D "descendant";', child: 'c =3D "child";', adjacent: 'c =3D "adjacent";', laterSibling: 'c =3D "laterSibling";' }, patterns: { // combinators must be listed first // (and descendant needs to be last combinator) laterSibling: /^\s*~\s*/, child: /^\s*>\s*/, adjacent: /^\s*\+\s*/, descendant: /^\s/, // selectors follow tagName: /^\s*(\*|[\w\-]+)(\b|$)?/, id: /^#([\w\-\*]+)(\b|$)/, className: /^\.([\w\-\*]+)(\b|$)/, pseudo: = /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis= )abled|not)(\((.*?)\))?(\b|$|\s|(?=3D:))/, attrPresence: /^\[([\w]+)\]/, attr: = /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\]]*?)\4|([^'"][^= \]]*?)))?\]/ }, handlers: { // UTILITY FUNCTIONS // joins two collections concat: function(a, b) { for (var i =3D 0, node; node =3D b[i]; i++) a.push(node); return a; }, // marks an array of nodes for counting mark: function(nodes) { for (var i =3D 0, node; node =3D nodes[i]; i++) node._counted =3D true; return nodes; }, unmark: function(nodes) { for (var i =3D 0, node; node =3D nodes[i]; i++) node._counted =3D undefined; return nodes; }, // mark each child node with its position (for nth calls) // "ofType" flag indicates whether we're indexing for nth-of-type // rather than nth-child index: function(parentNode, reverse, ofType) { parentNode._counted =3D true; if (reverse) { for (var nodes =3D parentNode.childNodes, i =3D nodes.length - = 1, j =3D 1; i >=3D 0; i--) { node =3D nodes[i]; if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) = node.nodeIndex =3D j++; } } else { for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node = =3D nodes[i]; i++) if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) = node.nodeIndex =3D j++; } }, // filters out duplicates and extends all nodes unique: function(nodes) { if (nodes.length =3D=3D 0) return nodes; var results =3D [], n; for (var i =3D 0, l =3D nodes.length; i < l; i++) if (!(n =3D nodes[i])._counted) { n._counted =3D true; results.push(Element.extend(n)); } return Selector.handlers.unmark(results); }, // COMBINATOR FUNCTIONS descendant: function(nodes) { var h =3D Selector.handlers; for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) h.concat(results, node.getElementsByTagName('*')); return results; }, child: function(nodes) { var h =3D Selector.handlers; for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) { for (var j =3D 0, children =3D [], child; child =3D = node.childNodes[j]; j++) if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') = results.push(child); } return results; }, adjacent: function(nodes) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) { var next =3D this.nextElementSibling(node); if (next) results.push(next); } return results; }, laterSibling: function(nodes) { var h =3D Selector.handlers; for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) h.concat(results, Element.nextSiblings(node)); return results; }, nextElementSibling: function(node) { while (node =3D node.nextSibling) if (node.nodeType =3D=3D 1) return node; return null; }, previousElementSibling: function(node) { while (node =3D node.previousSibling) if (node.nodeType =3D=3D 1) return node; return null; }, // TOKEN FUNCTIONS tagName: function(nodes, root, tagName, combinator) { tagName =3D tagName.toUpperCase(); var results =3D [], h =3D Selector.handlers; if (nodes) { if (combinator) { // fastlane for ordinary descendant combinators if (combinator =3D=3D "descendant") { for (var i =3D 0, node; node =3D nodes[i]; i++) h.concat(results, node.getElementsByTagName(tagName)); return results; } else nodes =3D this[combinator](nodes); if (tagName =3D=3D "*") return nodes; } for (var i =3D 0, node; node =3D nodes[i]; i++) if (node.tagName.toUpperCase() =3D=3D tagName) = results.push(node); return results; } else return root.getElementsByTagName(tagName); }, id: function(nodes, root, id, combinator) { var targetNode =3D $(id), h =3D Selector.handlers; if (!nodes && root =3D=3D document) return targetNode ? = [targetNode] : []; if (nodes) { if (combinator) { if (combinator =3D=3D 'child') { for (var i =3D 0, node; node =3D nodes[i]; i++) if (targetNode.parentNode =3D=3D node) return = [targetNode]; } else if (combinator =3D=3D 'descendant') { for (var i =3D 0, node; node =3D nodes[i]; i++) if (Element.descendantOf(targetNode, node)) return = [targetNode]; } else if (combinator =3D=3D 'adjacent') { for (var i =3D 0, node; node =3D nodes[i]; i++) if (Selector.handlers.previousElementSibling(targetNode) = =3D=3D node) return [targetNode]; } else nodes =3D h[combinator](nodes); } for (var i =3D 0, node; node =3D nodes[i]; i++) if (node =3D=3D targetNode) return [targetNode]; return []; } return (targetNode && Element.descendantOf(targetNode, root)) ? = [targetNode] : []; }, className: function(nodes, root, className, combinator) { if (nodes && combinator) nodes =3D this[combinator](nodes); return Selector.handlers.byClassName(nodes, root, className); }, byClassName: function(nodes, root, className) { if (!nodes) nodes =3D Selector.handlers.descendant([root]); var needle =3D ' ' + className + ' '; for (var i =3D 0, results =3D [], node, nodeClassName; node =3D = nodes[i]; i++) { nodeClassName =3D node.className; if (nodeClassName.length =3D=3D 0) continue; if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' = ').include(needle)) results.push(node); } return results; }, attrPresence: function(nodes, root, attr) { var results =3D []; for (var i =3D 0, node; node =3D nodes[i]; i++) if (Element.hasAttribute(node, attr)) results.push(node); return results; }, attr: function(nodes, root, attr, value, operator) { if (!nodes) nodes =3D root.getElementsByTagName("*"); var handler =3D Selector.operators[operator], results =3D []; for (var i =3D 0, node; node =3D nodes[i]; i++) { var nodeValue =3D Element.readAttribute(node, attr); if (nodeValue =3D=3D=3D null) continue; if (handler(nodeValue, value)) results.push(node); } return results; }, pseudo: function(nodes, name, value, root, combinator) { if (nodes && combinator) nodes =3D this[combinator](nodes); if (!nodes) nodes =3D root.getElementsByTagName("*"); return Selector.pseudos[name](nodes, value, root); } }, pseudos: { 'first-child': function(nodes, value, root) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) { if (Selector.handlers.previousElementSibling(node)) continue; results.push(node); } return results; }, 'last-child': function(nodes, value, root) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) { if (Selector.handlers.nextElementSibling(node)) continue; results.push(node); } return results; }, 'only-child': function(nodes, value, root) { var h =3D Selector.handlers; for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) if (!h.previousElementSibling(node) && = !h.nextElementSibling(node)) results.push(node); return results; }, 'nth-child': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, formula, root); }, 'nth-last-child': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, formula, root, true); }, 'nth-of-type': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, formula, root, false, true); }, 'nth-last-of-type': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, formula, root, true, true); }, 'first-of-type': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, "1", root, false, true); }, 'last-of-type': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, "1", root, true, true); }, 'only-of-type': function(nodes, formula, root) { var p =3D Selector.pseudos; return p['last-of-type'](p['first-of-type'](nodes, formula, root), = formula, root); }, // handles the an+b logic getIndices: function(a, b, total) { if (a =3D=3D 0) return b > 0 ? [b] : []; return $R(1, total).inject([], function(memo, i) { if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i); return memo; }); }, // handles nth(-last)-child, nth(-last)-of-type, and = (first|last)-of-type nth: function(nodes, formula, root, reverse, ofType) { if (nodes.length =3D=3D 0) return []; if (formula =3D=3D 'even') formula =3D '2n+0'; if (formula =3D=3D 'odd') formula =3D '2n+1'; var h =3D Selector.handlers, results =3D [], indexed =3D [], m; h.mark(nodes); for (var i =3D 0, node; node =3D nodes[i]; i++) { if (!node.parentNode._counted) { h.index(node.parentNode, reverse, ofType); indexed.push(node.parentNode); } } if (formula.match(/^\d+$/)) { // just a number formula =3D Number(formula); for (var i =3D 0, node; node =3D nodes[i]; i++) if (node.nodeIndex =3D=3D formula) results.push(node); } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // = an+b if (m[1] =3D=3D "-") m[1] =3D -1; var a =3D m[1] ? Number(m[1]) : 1; var b =3D m[2] ? Number(m[2]) : 0; var indices =3D Selector.pseudos.getIndices(a, b, nodes.length); for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; = i++) { for (var j =3D 0; j < l; j++) if (node.nodeIndex =3D=3D indices[j]) results.push(node); } } h.unmark(nodes); h.unmark(indexed); return results; }, 'empty': function(nodes, value, root) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) { // IE treats comments as element nodes if (node.tagName =3D=3D '!' || (node.firstChild && = !node.innerHTML.match(/^\s*$/))) continue; results.push(node); } return results; }, 'not': function(nodes, selector, root) { var h =3D Selector.handlers, selectorType, m; var exclusions =3D new Selector(selector).findElements(root); h.mark(exclusions); for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) if (!node._counted) results.push(node); h.unmark(exclusions); return results; }, 'enabled': function(nodes, value, root) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) if (!node.disabled) results.push(node); return results; }, 'disabled': function(nodes, value, root) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) if (node.disabled) results.push(node); return results; }, 'checked': function(nodes, value, root) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) if (node.checked) results.push(node); return results; } }, operators: { '=3D': function(nv, v) { return nv =3D=3D v; }, '!=3D': function(nv, v) { return nv !=3D v; }, '^=3D': function(nv, v) { return nv.startsWith(v); }, '$=3D': function(nv, v) { return nv.endsWith(v); }, '*=3D': function(nv, v) { return nv.include(v); }, '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + = ' '); }, '|=3D': function(nv, v) { return ('-' + nv.toUpperCase() + = '-').include('-' + v.toUpperCase() + '-'); } }, matchElements: function(elements, expression) { var matches =3D new Selector(expression).findElements(), h =3D = Selector.handlers; h.mark(matches); for (var i =3D 0, results =3D [], element; element =3D elements[i]; = i++) if (element._counted) results.push(element); h.unmark(matches); return results; }, findElement: function(elements, expression, index) { if (typeof expression =3D=3D 'number') { index =3D expression; expression =3D false; } return Selector.matchElements(elements, expression || '*')[index || = 0]; }, findChildElements: function(element, expressions) { var exprs =3D expressions.join(','), expressions =3D []; exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) { expressions.push(m[1].strip()); }); var results =3D [], h =3D Selector.handlers; for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) { selector =3D new Selector(expressions[i].strip()); h.concat(results, selector.findElements(element)); } return (l > 1) ? h.unique(results) : results; } }); function $$() { return Selector.findChildElements(document, $A(arguments)); } var Form =3D { reset: function(form) { $(form).reset(); return form; }, serializeElements: function(elements, getHash) { var data =3D elements.inject({}, function(result, element) { if (!element.disabled && element.name) { var key =3D element.name, value =3D $(element).getValue(); if (value !=3D null) { if (key in result) { if (result[key].constructor !=3D Array) result[key] =3D = [result[key]]; result[key].push(value); } else result[key] =3D value; } } return result; }); return getHash ? data : Hash.toQueryString(data); } }; Form.Methods =3D { serialize: function(form, getHash) { return Form.serializeElements(Form.getElements(form), getHash); }, getElements: function(form) { return $A($(form).getElementsByTagName('*')).inject([], function(elements, child) { if (Form.Element.Serializers[child.tagName.toLowerCase()]) elements.push(Element.extend(child)); return elements; } ); }, getInputs: function(form, typeName, name) { form =3D $(form); var inputs =3D form.getElementsByTagName('input'); if (!typeName && !name) return $A(inputs).map(Element.extend); for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i = < length; i++) { var input =3D inputs[i]; if ((typeName && input.type !=3D typeName) || (name && input.name = !=3D name)) continue; matchingInputs.push(Element.extend(input)); } return matchingInputs; }, disable: function(form) { form =3D $(form); Form.getElements(form).invoke('disable'); return form; }, enable: function(form) { form =3D $(form); Form.getElements(form).invoke('enable'); return form; }, findFirstElement: function(form) { return $(form).getElements().find(function(element) { return element.type !=3D 'hidden' && !element.disabled && ['input', 'select', = 'textarea'].include(element.tagName.toLowerCase()); }); }, focusFirstElement: function(form) { form =3D $(form); form.findFirstElement().activate(); return form; }, request: function(form, options) { form =3D $(form), options =3D Object.clone(options || {}); var params =3D options.parameters; options.parameters =3D form.serialize(true); if (params) { if (typeof params =3D=3D 'string') params =3D = params.toQueryParams(); Object.extend(options.parameters, params); } if (form.hasAttribute('method') && !options.method) options.method =3D form.method; return new Ajax.Request(form.readAttribute('action'), options); } } /*-----------------------------------------------------------------------= ---*/ Form.Element =3D { focus: function(element) { $(element).focus(); return element; }, select: function(element) { $(element).select(); return element; } } Form.Element.Methods =3D { serialize: function(element) { element =3D $(element); if (!element.disabled && element.name) { var value =3D element.getValue(); if (value !=3D undefined) { var pair =3D {}; pair[element.name] =3D value; return Hash.toQueryString(pair); } } return ''; }, getValue: function(element) { element =3D $(element); var method =3D element.tagName.toLowerCase(); return Form.Element.Serializers[method](element); }, clear: function(element) { $(element).value =3D ''; return element; }, present: function(element) { return $(element).value !=3D ''; }, activate: function(element) { element =3D $(element); try { element.focus(); if (element.select && (element.tagName.toLowerCase() !=3D 'input' = || !['button', 'reset', 'submit'].include(element.type))) element.select(); } catch (e) {} return element; }, disable: function(element) { element =3D $(element); element.blur(); element.disabled =3D true; return element; }, enable: function(element) { element =3D $(element); element.disabled =3D false; return element; } } /*-----------------------------------------------------------------------= ---*/ var Field =3D Form.Element; var $F =3D Form.Element.Methods.getValue; /*-----------------------------------------------------------------------= ---*/ Form.Element.Serializers =3D { input: function(element) { switch (element.type.toLowerCase()) { case 'checkbox': case 'radio': return Form.Element.Serializers.inputSelector(element); default: return Form.Element.Serializers.textarea(element); } }, inputSelector: function(element) { return element.checked ? element.value : null; }, textarea: function(element) { return element.value; }, select: function(element) { return this[element.type =3D=3D 'select-one' ? 'selectOne' : 'selectMany'](element); }, selectOne: function(element) { var index =3D element.selectedIndex; return index >=3D 0 ? this.optionValue(element.options[index]) : = null; }, selectMany: function(element) { var values, length =3D element.length; if (!length) return null; for (var i =3D 0, values =3D []; i < length; i++) { var opt =3D element.options[i]; if (opt.selected) values.push(this.optionValue(opt)); } return values; }, optionValue: function(opt) { // extend element because hasAttribute may not be native return Element.extend(opt).hasAttribute('value') ? opt.value : = opt.text; } } /*-----------------------------------------------------------------------= ---*/ Abstract.TimedObserver =3D function() {} Abstract.TimedObserver.prototype =3D { initialize: function(element, frequency, callback) { this.frequency =3D frequency; this.element =3D $(element); this.callback =3D callback; this.lastValue =3D this.getValue(); this.registerCallback(); }, registerCallback: function() { setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); }, onTimerEvent: function() { var value =3D this.getValue(); var changed =3D ('string' =3D=3D typeof this.lastValue && 'string' = =3D=3D typeof value ? this.lastValue !=3D value : String(this.lastValue) !=3D = String(value)); if (changed) { this.callback(this.element, value); this.lastValue =3D value; } } } Form.Element.Observer =3D Class.create(); Form.Element.Observer.prototype =3D Object.extend(new = Abstract.TimedObserver(), { getValue: function() { return Form.Element.getValue(this.element); } }); Form.Observer =3D Class.create(); Form.Observer.prototype =3D Object.extend(new Abstract.TimedObserver(), = { getValue: function() { return Form.serialize(this.element); } }); /*-----------------------------------------------------------------------= ---*/ Abstract.EventObserver =3D function() {} Abstract.EventObserver.prototype =3D { initialize: function(element, callback) { this.element =3D $(element); this.callback =3D callback; this.lastValue =3D this.getValue(); if (this.element.tagName.toLowerCase() =3D=3D 'form') this.registerFormCallbacks(); else this.registerCallback(this.element); }, onElementEvent: function() { var value =3D this.getValue(); if (this.lastValue !=3D value) { this.callback(this.element, value); this.lastValue =3D value; } }, registerFormCallbacks: function() { = Form.getElements(this.element).each(this.registerCallback.bind(this)); }, registerCallback: function(element) { if (element.type) { switch (element.type.toLowerCase()) { case 'checkbox': case 'radio': Event.observe(element, 'click', = this.onElementEvent.bind(this)); break; default: Event.observe(element, 'change', = this.onElementEvent.bind(this)); break; } } } } Form.Element.EventObserver =3D Class.create(); Form.Element.EventObserver.prototype =3D Object.extend(new = Abstract.EventObserver(), { getValue: function() { return Form.Element.getValue(this.element); } }); Form.EventObserver =3D Class.create(); Form.EventObserver.prototype =3D Object.extend(new = Abstract.EventObserver(), { getValue: function() { return Form.serialize(this.element); } }); if (!window.Event) { var Event =3D new Object(); } Object.extend(Event, { KEY_BACKSPACE: 8, KEY_TAB: 9, KEY_RETURN: 13, KEY_ESC: 27, KEY_LEFT: 37, KEY_UP: 38, KEY_RIGHT: 39, KEY_DOWN: 40, KEY_DELETE: 46, KEY_HOME: 36, KEY_END: 35, KEY_PAGEUP: 33, KEY_PAGEDOWN: 34, element: function(event) { return $(event.target || event.srcElement); }, isLeftClick: function(event) { return (((event.which) && (event.which =3D=3D 1)) || ((event.button) && (event.button =3D=3D 1))); }, pointerX: function(event) { return event.pageX || (event.clientX + (document.documentElement.scrollLeft || = document.body.scrollLeft)); }, pointerY: function(event) { return event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); }, stop: function(event) { if (event.preventDefault) { event.preventDefault(); event.stopPropagation(); } else { event.returnValue =3D false; event.cancelBubble =3D true; } }, // find the first node with the given tagName, starting from the // node the event was triggered on; traverses the DOM upwards findElement: function(event, tagName) { var element =3D Event.element(event); while (element.parentNode && (!element.tagName || (element.tagName.toUpperCase() !=3D tagName.toUpperCase()))) element =3D element.parentNode; return element; }, observers: false, _observeAndCache: function(element, name, observer, useCapture) { if (!this.observers) this.observers =3D []; if (element.addEventListener) { this.observers.push([element, name, observer, useCapture]); element.addEventListener(name, observer, useCapture); } else if (element.attachEvent) { this.observers.push([element, name, observer, useCapture]); element.attachEvent('on' + name, observer); } }, unloadCache: function() { if (!Event.observers) return; for (var i =3D 0, length =3D Event.observers.length; i < length; = i++) { Event.stopObserving.apply(this, Event.observers[i]); Event.observers[i][0] =3D null; } Event.observers =3D false; }, observe: function(element, name, observer, useCapture) { element =3D $(element); useCapture =3D useCapture || false; if (name =3D=3D 'keypress' && (Prototype.Browser.WebKit || element.attachEvent)) name =3D 'keydown'; Event._observeAndCache(element, name, observer, useCapture); }, stopObserving: function(element, name, observer, useCapture) { element =3D $(element); useCapture =3D useCapture || false; if (name =3D=3D 'keypress' && (Prototype.Browser.WebKit || element.attachEvent)) name =3D 'keydown'; if (element.removeEventListener) { element.removeEventListener(name, observer, useCapture); } else if (element.detachEvent) { try { element.detachEvent('on' + name, observer); } catch (e) {} } } }); /* prevent memory leaks in IE */ if (Prototype.Browser.IE) Event.observe(window, 'unload', Event.unloadCache, false); var Position =3D { // set to true if needed, warning: firefox performance problems // NOT neeeded for page scrolling, only if draggable contained in // scrollable elements includeScrollOffsets: false, // must be called before calling withinIncludingScrolloffset, every = time the // page is scrolled prepare: function() { this.deltaX =3D window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0; this.deltaY =3D window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; }, realOffset: function(element) { var valueT =3D 0, valueL =3D 0; do { valueT +=3D element.scrollTop || 0; valueL +=3D element.scrollLeft || 0; element =3D element.parentNode; } while (element); return [valueL, valueT]; }, cumulativeOffset: function(element) { var valueT =3D 0, valueL =3D 0; do { valueT +=3D element.offsetTop || 0; valueL +=3D element.offsetLeft || 0; element =3D element.offsetParent; } while (element); return [valueL, valueT]; }, positionedOffset: function(element) { var valueT =3D 0, valueL =3D 0; do { valueT +=3D element.offsetTop || 0; valueL +=3D element.offsetLeft || 0; element =3D element.offsetParent; if (element) { if(element.tagName=3D=3D'BODY') break; var p =3D Element.getStyle(element, 'position'); if (p =3D=3D 'relative' || p =3D=3D 'absolute') break; } } while (element); return [valueL, valueT]; }, offsetParent: function(element) { if (element.offsetParent) return element.offsetParent; if (element =3D=3D document.body) return element; while ((element =3D element.parentNode) && element !=3D = document.body) if (Element.getStyle(element, 'position') !=3D 'static') return element; return document.body; }, // caches x/y coordinate pair to use with overlap within: function(element, x, y) { if (this.includeScrollOffsets) return this.withinIncludingScrolloffsets(element, x, y); this.xcomp =3D x; this.ycomp =3D y; this.offset =3D this.cumulativeOffset(element); return (y >=3D this.offset[1] && y < this.offset[1] + element.offsetHeight && x >=3D this.offset[0] && x < this.offset[0] + element.offsetWidth); }, withinIncludingScrolloffsets: function(element, x, y) { var offsetcache =3D this.realOffset(element); this.xcomp =3D x + offsetcache[0] - this.deltaX; this.ycomp =3D y + offsetcache[1] - this.deltaY; this.offset =3D this.cumulativeOffset(element); return (this.ycomp >=3D this.offset[1] && this.ycomp < this.offset[1] + element.offsetHeight && this.xcomp >=3D this.offset[0] && this.xcomp < this.offset[0] + element.offsetWidth); }, // within must be called directly before overlap: function(mode, element) { if (!mode) return 0; if (mode =3D=3D 'vertical') return ((this.offset[1] + element.offsetHeight) - this.ycomp) / element.offsetHeight; if (mode =3D=3D 'horizontal') return ((this.offset[0] + element.offsetWidth) - this.xcomp) / element.offsetWidth; }, page: function(forElement) { var valueT =3D 0, valueL =3D 0; var element =3D forElement; do { valueT +=3D element.offsetTop || 0; valueL +=3D element.offsetLeft || 0; // Safari fix if (element.offsetParent =3D=3D document.body) if (Element.getStyle(element,'position')=3D=3D'absolute') break; } while (element =3D element.offsetParent); element =3D forElement; do { if (!window.opera || element.tagName=3D=3D'BODY') { valueT -=3D element.scrollTop || 0; valueL -=3D element.scrollLeft || 0; } } while (element =3D element.parentNode); return [valueL, valueT]; }, clone: function(source, target) { var options =3D Object.extend({ setLeft: true, setTop: true, setWidth: true, setHeight: true, offsetTop: 0, offsetLeft: 0 }, arguments[2] || {}) // find page position of source source =3D $(source); var p =3D Position.page(source); // find coordinate system to use target =3D $(target); var delta =3D [0, 0]; var parent =3D null; // delta [0,0] will do fine with position: fixed elements, // position:absolute needs offsetParent deltas if (Element.getStyle(target,'position') =3D=3D 'absolute') { parent =3D Position.offsetParent(target); delta =3D Position.page(parent); } // correct by body offsets (fixes Safari) if (parent =3D=3D document.body) { delta[0] -=3D document.body.offsetLeft; delta[1] -=3D document.body.offsetTop; } // set position if(options.setLeft) target.style.left =3D (p[0] - delta[0] + = options.offsetLeft) + 'px'; if(options.setTop) target.style.top =3D (p[1] - delta[1] + = options.offsetTop) + 'px'; if(options.setWidth) target.style.width =3D source.offsetWidth + = 'px'; if(options.setHeight) target.style.height =3D source.offsetHeight + = 'px'; }, absolutize: function(element) { element =3D $(element); if (element.style.position =3D=3D 'absolute') return; Position.prepare(); var offsets =3D Position.positionedOffset(element); var top =3D offsets[1]; var left =3D offsets[0]; var width =3D element.clientWidth; var height =3D element.clientHeight; element._originalLeft =3D left - parseFloat(element.style.left || = 0); element._originalTop =3D top - parseFloat(element.style.top || = 0); element._originalWidth =3D element.style.width; element._originalHeight =3D element.style.height; element.style.position =3D 'absolute'; element.style.top =3D top + 'px'; element.style.left =3D left + 'px'; element.style.width =3D width + 'px'; element.style.height =3D height + 'px'; }, relativize: function(element) { element =3D $(element); if (element.style.position =3D=3D 'relative') return; Position.prepare(); element.style.position =3D 'relative'; var top =3D parseFloat(element.style.top || 0) - = (element._originalTop || 0); var left =3D parseFloat(element.style.left || 0) - = (element._originalLeft || 0); element.style.top =3D top + 'px'; element.style.left =3D left + 'px'; element.style.height =3D element._originalHeight; element.style.width =3D element._originalWidth; } } // Safari returns margins on body which is incorrect if the child is = absolutely // positioned. For performance reasons, redefine = Position.cumulativeOffset for // KHTML/WebKit only. if (Prototype.Browser.WebKit) { Position.cumulativeOffset =3D function(element) { var valueT =3D 0, valueL =3D 0; do { valueT +=3D element.offsetTop || 0; valueL +=3D element.offsetLeft || 0; if (element.offsetParent =3D=3D document.body) if (Element.getStyle(element, 'position') =3D=3D 'absolute') = break; element =3D element.offsetParent; } while (element); return [valueL, valueT]; } } Element.addMethods(); ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.usnews.com/js/custom.js function delMainWidget(MainWidgetID, HPID){=0A= var answer =3D confirm ("Do you really want to remove the Main = Widget?")=0A= if (answer) {=0A= document.location.href=3D'delMainWidget?ItemID=3D' + = MainWidgetID + '&HPID=3D' + HPID;=0A= return false;=0A= }=0A= }=0A= =0A= function delSubWidget(SubWidgetID, MainWidgetID, came_from_section, = came_from_subsection, came_from_splash){=0A= var answer =3D confirm ("Do you really want to delete the Sub = Widget?")=0A= if (answer) {=0A= document.location.href=3D'delSubWidget?ItemID=3D' + SubWidgetID = + '&MainWidgetID=3D' + MainWidgetID + '&came_from_section=3D' + = came_from_section + '&came_from_subsection=3D' + came_from_subsection + = '&came_from_splash=3D' + came_from_splash;=0A= return false;=0A= }=0A= }=0A= =0A= function sortSubWidgets(){=0A= var url =3D 'sortSubWidgets';=0A= var pars =3D = Sortable.serialize('subwidgets_wrapper',{name:'sw'});=0A= //var pars2 =3D pars.replace(/\[\]/g,"");=0A= //var pars2 =3D pars2.replace(/&/g,"_");=0A= //var pars2 =3D "vvv=3D2&ccc=3D6&xxx=3D5&sw=3D1";=0A= //alert(pars2);=0A= //alert('"' + pars + '"');=0A= //alert(pars.replace(/\[\]/g,""));=0A= var pars2 =3D pars;=0A= var Counter =3D 1; =0A= while (pars2.search(/\[\]/) !=3D -1) {=0A= pars2 =3D pars2.replace(/\[\]/,Counter);=0A= Counter++;=0A= }=0A= //alert(pars2);=0A= var myAjax =3D new Ajax.Updater('SearchResult', url, {method: 'get', = parameters: pars2});=0A= }=0A= =0A= =0A= ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.usnews.com/usnews/v3/scripts/homepage.js var USN =3D { version: '1.0', base: 'http://www.usnews.com/usnews/v3/scripts/', /* note: this = attibute if FINAL. If you must change, change outside the USN class!*/ load: function(libName) { var includes =3D { ads: "ads", printing: "print", socialBookmarking: "shareLinks", striping: "stripe", tabs: "tabs", slider: "slide", effects: "effects", analytics: "analytics",=20 analyticsExtensions: "analyticsCustom", windows: "window", technorati: "technorati", gallery: 'ibox' } if (includes[libName]) { document.write(''); } } } //USN.load('windows'); USN.load('ads'); USN.load('analytics'); USN.load('analyticsExtensions'); USN.load('tabs'); USN.load('striping'); var newwindow =3D "";=09 function openWindow(url,width,height) { // derived from PPK, http://www.quirksmode.org/js/croswin.html if (!newwindow.closed && newwindow.location) { //alert('newwindow is closed or already has a location'); newwindow.location.href =3D url; } else { params =3D = (arguments[3])?','+arguemnts[3]:',resizable=3Dyes,scrollbars=3Dno,status=3D= no,toolbar=3Dno'; var windowOptionsString =3D [ 'height=3D', height, ',width=3D', width, params ]; var windowOptionsString =3D windowOptionsString.join(''); newwindow=3Dwindow.open(url,'window',windowOptionsString); if (!newwindow.opener) newwindow.opener =3D self; } if (window.focus) {newwindow.focus();} if (this !=3D window) { return false; } } function openWindowTMP(url,width,height) { // derived from PPK, http://www.quirksmode.org/js/croswin.html if (!newwindow.closed && newwindow.location) { //alert('newwindow is closed or already has a location'); newwindow.location.href =3D url; } else { params =3D = (arguments[3])?','+arguemnts[3]:',resizable=3Dyes,scrollbars=3Dno,status=3D= no,toolbar=3Dno'; var windowOptionsString =3D [ 'height=3D', height, ',width=3D', width, params ]; var windowOptionsString =3D windowOptionsString.join(''); newwindow=3Dwindow.open(url,'window',windowOptionsString); if (!newwindow.opener) newwindow.opener =3D self; } if (window.focus) {newwindow.focus();} if (this !=3D window) { return false; } } Event.observe(window, 'load', init, false); function init() { if ($('tab_interface')) { mostPopular =3D new tabInterface('tab_interface'); Element.addClassName($('most_viewed'), 'active'); stripe('most_popular_items'); } if (!$('slide-list')) return false; l =3D new shifter($('slide-list')); if (l.check) { m =3D new PeriodicalExecuter(function() { l.advance() },5); leftButton =3D $('leftbutton') pauseButton =3D $('pausebutton')=20 rightButton =3D $('rightbutton') leftButton.onclick=3D function(){l.leftClick(); return false} pauseButton.onclick=3D function(){l.toggle(); return false} rightButton.onclick=3D function(){l.rightClick(); return false} } } function jumpToMenu() { var menu =3D document.getElementById('jumpMenu'); if (menu.selectedIndex > 1) { top.location.href =3D menu.options[menu.selectedIndex].value; } } function MM_jumpMenu(targ,selObj,restore){ //v3.0 = eval(targ+".location=3D'"+selObj.options[selObj.selectedIndex].value+"'")= ; if (restore) selObj.selectedIndex=3D0; } ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.usnews.com/js/getShareJS =0A= function akst_share(id, url, title) {=0A= =0A= var form =3D $('akst_form');=0A= var post_id =3D $('akst_post_id');=0A= =0A= if (form.style.display =3D=3D 'block' && post_id.value =3D=3D id) {=0A= form.style.display =3D 'none';=0A= return;=0A= }=0A= var link =3D (arguments[3]) ? arguments[3]: $('akst_link_' + id);=0A= var offset =3D Position.cumulativeOffset(link);=0A= =0A= $("akst_delicious").href =3D = akst_share_url("http://del.icio.us/post?url=3D{url}&title=3D{title}", = url, title);=0A= $("akst_digg").href =3D = akst_share_url("http://digg.com/submit?phase=3D2&url=3D{url}&title=3D{tit= le}", url, title);=0A= /*$("akst_furl").href =3D = akst_share_url("http://furl.net/storeIt.jsp?u=3D{url}&t=3D{title}", url, = title);*/=0A= $("akst_facebook").href =3D = akst_share_url("http://www.facebook.com/sharer.php?u=3D{url}&t=3D{title}"= , url, title);=0A= $("akst_netscape").href =3D akst_share_url(" = http://www.netscape.com/submit/?U=3D{url}&T=3D{title}", url, title);=0A= $("akst_yahoo_myweb").href =3D = akst_share_url("http://myweb2.search.yahoo.com/myresults/bookmarklet?u=3D= {url}&t=3D{title}", url, title);=0A= $("akst_technorati").href =3D = akst_share_url("http://www.technorati.com/faves?add=3D{url}", url, = title);=0A= $("akst_google_bmarks").href =3D akst_share_url(" = http://www.google.com/bookmarks/mark?op=3Dedit&bkmk=3D{url}&title=3D{titl= e}", url, title);=0A= $("akst_newsvine").href =3D = akst_share_url("http://www.newsvine.com/_wine/save?u=3D{url}&h=3D{title}"= , url, title);=0A= $("akst_blinklist").href =3D = akst_share_url("http://blinklist.com/index.php?Action=3DBlink/addblink.ph= p&Url=3D{url}&Title=3D{title}", url, title);=0A= $("akst_reddit").href =3D = akst_share_url("http://reddit.com/submit?url=3D{url}&title=3D{title}", = url, title);=0A= $("akst_blogmarks").href =3D = akst_share_url("http://blogmarks.net/my/new.php?mini=3D1&url=3D{url}&titl= e=3D{title}", url, title);=0A= $("akst_magnolia").href =3D = akst_share_url("http://ma.gnolia.com/bookmarklet/add?url=3D{url}&title=3D= {title}", url, title);=0A= $("akst_windows_live").href =3D = akst_share_url("https://favorites.live.com/quickadd.aspx?marklet=3D1&mkt=3D= en-us&url=3D{url}&title=3D{title}&top=3D1", url, title);=0A= $("akst_tailrank").href =3D = akst_share_url("http://tailrank.com/share/?link_href=3D{url}&title=3D{tit= le}", url, title);=0A= =0A= post_id.value =3D id;=0A= =0A= form.style.left =3D offset[0] + 'px';=0A= form.style.top =3D (offset[1] + link.offsetHeight + 3) + 'px';=0A= form.style.display =3D 'block';=0A= }=0A= =0A= function akst_share_url(base, url, title) {=0A= base =3D base.replace('{url}', url);=0A= return base.replace('{title}', title);=0A= }=0A= =0A= function akst_share_tab(tab) {=0A= var tab1 =3D document.getElementById('akst_tab1');=0A= var tab2 =3D document.getElementById('akst_tab2');=0A= var body1 =3D document.getElementById('akst_social');=0A= var body2 =3D document.getElementById('akst_email');=0A= =0A= switch (tab) {=0A= case '1':=0A= tab2.className =3D '';=0A= tab1.className =3D 'selected';=0A= body2.style.display =3D 'none';=0A= body1.style.display =3D 'block';=0A= break;=0A= case '2':=0A= tab1.className =3D '';=0A= tab2.className =3D 'selected';=0A= body1.style.display =3D 'none';=0A= body2.style.display =3D 'block';=0A= break;=0A= }=0A= }=0A= =0A= function akst_xy(id) {=0A= var element =3D $(id);=0A= var x =3D 0;=0A= var y =3D 0;=0A= }=0A= =0A= ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.sphere.com/widgets/sphereit/js?siteid=usnews_health_nocache /* -- BEGIN SPHERE JS -- */ =0A= =0A= var s_account=3D"aolsphere";=0A= =0A= Sphere =3D {}=0A= Sphere.Browser =3D new function() {=0A= var ua, s, i;=0A= =0A= this.isIE =3D false;=0A= this.isNS =3D false;=0A= this.version =3D null;=0A= =0A= ua =3D navigator.userAgent;=0A= =0A= s =3D "MSIE";=0A= if ((i =3D ua.indexOf(s)) >=3D 0) {=0A= this.isIE =3D true;=0A= this.version =3D parseFloat(ua.substr(i + s.length));=0A= return;=0A= }=0A= =0A= s =3D "Netscape6/";=0A= if ((i =3D ua.indexOf(s)) >=3D 0) {=0A= this.isNS =3D true;=0A= this.version =3D parseFloat(ua.substr(i + s.length));=0A= return;=0A= }=0A= =0A= // Treat any other "Gecko" browser as NS 6.1.=0A= =0A= s =3D "Gecko";=0A= if ((i =3D ua.indexOf(s)) >=3D 0) {=0A= this.isNS =3D true;=0A= this.version =3D 6.1;=0A= return;=0A= } =0A= }=0A= Sphere.Tracker =3D new function() {=0A= this.track =3D function ( ele, site, area ) {=0A= if( !ele.href ) return;=0A= =0A= //var imgurl =3D = 'http://stats.sphere.com/widgets/sphereit/?action=3Dclick&siteid=3D'+site= +'&q=3D'+area+'&url=3D'+ele.href;=0A= //var trackimg =3D new Image();=0A= //trackimg.src =3D imgurl;=0A= //wait(150); =0A= sphereom =3D new SphereOmniture();=0A= sphereom.track(area, area); =0A= =0A= }=0A= }=0A= =0A= =0A= =0A= =0A= Sphere.Widget =3D new function() {=0A= =0A= =0A= var SKELETON_MARKUP =3D '
powered by

3D"loading"We\'re getting you the good stuff...
';=0A= =0A= var CONTENT_URL =3D = 'http://www.sphere.com/widgets/sphereit/content?siteid=3Dusnews_health_no= cache';=0A= if(document.characterSet) CONTENT_URL +=3D = ('&cset=3D'+escape(document.characterSet));=0A= CONTENT_URL +=3D '&CXNID=3D1000009.430098529NXC&url=3D';=0A= var widget; var widgetContent; var widgetLoading;=0A= var content;=0A= var dragObj =3D {};=0A= =0A= =0A= =0A= =0A= if(document.getElementsByTagName('base').length>0) { =0A= if (window.addEventListener){=0A= window.addEventListener('load', appendStylesheet, = false); =0A= } else if (window.attachEvent){=0A= window.attachEvent('onload', appendStylesheet);=0A= } =0A= } else {=0A= appendStylesheet();=0A= }=0A= =0A= =0A= if (Math.random() <=3D 0.1) {=0A= // var imgurl =3D = 'http://stats.sphere.com/widgets/sphereit/?action=3Dpage&siteid=3Dusnews_= health_nocache';=0A= // var trackimg =3D new Image();=0A= // trackimg.src =3D imgurl;=0A= try{=0A= sphereom =3D new SphereOmniture();=0A= sphereom.track('popup_view', = 'usnews_health_nocache_popup_view');=0A= =0A= }catch(anErr){=0A= }=0A= }=0A= =0A= =0A= =0A= =0A= =0A= this.search =3D function( source ) {=0A= if( !content || (source && content.source!=3Dsource ) ) {=0A= requestContent( source );=0A= dragObj.elNode =3D null;=0A= if( widget ){ widget.parentNode.removeChild(widget); = content=3Dnull; widget=3Dnull; }=0A= }=0A= if( !widget ) draw();=0A= show();=0A= /*=0A= var reqimgurl =3D = 'http://stats.sphere.com/widgets/sphereit/?action=3Ddisplay&siteid=3Dusne= ws_health_nocache';=0A= var reqimg =3D new Image();=0A= reqimg.src =3D reqimgurl;=0A= =0A= if (reqimg.style) {=0A= // In Safari 2.0.x, reqimg has no style until it's appended, = so skip this (fixed in Safari 3)=0A= reqimg.style.display =3D 'none'; =0A= document.body.appendChild(reqimg);=0A= }=0A= */=0A= sphereom =3D new SphereOmniture();=0A= sphereom.track('popup_search', 'usnews_health_nocache_popup_search');=0A= =0A= =0A= return false;=0A= }=0A= =0A= this.close =3D function() {=0A= if( widget ) widget.style.display =3D'none';=0A= }=0A= =0A= this.processContent =3D function (incomingContent) {=0A= content =3D incomingContent;=0A= for(i=3D0;i<1000;i++){ test=3D'444'};=0A= if( !widgetContent ) return;=0A= widgetContent.innerHTML =3D content.content;=0A= widgetContent.style.height =3D widgetLoading.clientHeight +'px';=0A= widgetLoading.style.display =3D 'none';=0A= widgetContent.style.display =3D 'block';=0A= zoomToFull();=0A= =0A= }=0A= =0A= function requestContent( local ) {=0A= //alert("requestContent");=0A= Sphere.Widget.script =3D document.createElement('script');=0A= Sphere.Widget.script.src =3D CONTENT_URL + escape(local || = location.href);=0A= setTimeout(function(){ = document.body.appendChild(Sphere.Widget.script);}, 1);=0A= }=0A= =0A= function zoomToFull() {=0A= //alert("zoomToFull");=0A= Animator.add( {=0A= process: function() {=0A= if( widgetContent.clientHeight >=3D = widgetContent.scrollHeight-20) {=0A= widgetContent.style.height =3D = widgetContent.scrollHeight+'px';=0A= if( iecheck() ) { =0A= ieahack(widget.getElementsByTagName("a"));=0A= = document.getElementById("sphereiframeblock").style.height =3D = (Number(widget.scrollHeight)-24)+'px';=0A= = document.getElementById("sphereiframeblock").style.display =3D 'block';=0A= alphaBackgrounds(); =0A= } =0A= center();=0A= return false;=0A= }=0A= widgetContent.style.height =3D = (widgetContent.clientHeight + 20) +'px';=0A= center();=0A= return true;=0A= }=0A= });=0A= }=0A= =0A= function ieahack( col ) {=0A= for( var i=3D0; i");=0A= }=0A= =0A= function iecheck(inc_seven) {=0A= if (navigator.platform =3D=3D "Win32" && navigator.appName =3D=3D = "Microsoft Internet Explorer" && window.attachEvent) {=0A= var rslt =3D navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');=0A= var iever =3D (inc_seven)?(rslt !=3D null && Number(rslt[1]) = >=3D 5.5):(rslt !=3D null && Number(rslt[1]) >=3D 5.5 && Number(rslt[1]) = < 7 );=0A= }=0A= return iever;=0A= }=0A= function wait(ms){ var now=3Dnew Date();var = exitTime=3Dnow.getTime()+ms;while(true){now=3Dnew = Date();if(now.getTime()>exitTime){return;}}}=0A= =0A= function alphaBackgrounds() {=0A= //alert('alphaBackgrounds()');=0A= if (navigator.platform =3D=3D "Win32" && navigator.appName =3D=3D = "Microsoft Internet Explorer" && window.attachEvent) {=0A= var rslt =3D navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');=0A= var itsAllGood =3D (rslt !=3D null && Number(rslt[1]) >=3D 5.5 = && Number(rslt[1]) < 7 );=0A= for (i=3D0; ion Yahoo!';var = e=3D{form:X,href:W,onclick:I};var = V=3D{"textDecoration":"none","width":"74px","display":"block","textAlign"= :"right"};switch(b){case"text":f=3D'Yahoo! = Buzz';e.innerHTML=3Df;break;case"textbutton":f=3D'Buzz = up!';e.style=3D{target:"_new",width:"auto",position:"relative",lef= t:"4px",display:"block",width:"80px",background:"url("+Q+"/img/badge-text= button.png) right center = no-repeat"};e.innerHTML=3Df;break;case"logo":f=3D'';e.innerHTML=3Df;break;= case"small":f=3D'Buzz = up!';if(d){f+=3DZ;}e.style=3DV;e.innerHTML=3Df;break;case"large":f= =3D'Buzz = up!';if(d){f+=3DZ;}e.style=3DV;V.width=3D"109px";e.innerHTML=3Df;b= reak;case"medium":default:f=3D'Buzz = up!';if(d){f+=3DZ;}e.style=3DV;V.width=3D"91px";e.innerHTML=3Df;br= eak;}var = g=3DN("span",{id:X.id,className:X.className});g.appendChild(N("a",e));X.i= d=3DX.id+"-form";Y.parentNode.insertBefore(g,Y);Y.parentNode.removeChild(= Y);K();};var M=3Dfunction(W){var V=3DN("input",W);B.push(V);};var = I=3Dfunction(X){X=3DX||window.event;var = V=3DX.target||X.srcElement;while(V&&V.tagName!=3D=3D"A"){V=3DV.parentNode= ;}if(!V){return true;}var W=3DV.form;U(W);if(typeof = (X.preventDefault)=3D=3D=3D"function"){X.preventDefault();}X.returnValue=3D= false;X.cancelBubble=3Dtrue;X.stopPropagation&&X.stopPropagation();return= false;};var P=3Dfunction(V){return true;};var = U=3Dfunction(Z){if(!Z){return true;}for(var = Y=3DB.length-1;Y>-1;Y--){Z.appendChild(B[Y]);}Z.onsubmit=3DP;document.bod= y.appendChild(Z);Z.submit();var = W=3DZ.getElementsByTagName("input");for(var = Y=3D0,V=3DW.length;Y');retur= n document.getElementById(W);}();E.____yb=3D1;var K;var = O;window.setTimeout(function(){K=3Dfunction(){if(E&&E.parentNode){E.paren= tNode.removeChild(E);}Y=3Dnull;};var W=3Dfunction(){if(!E){return = undefined;}var = b=3DE;while(b&&(!b.tagName||b.tagName!=3D=3D"SCRIPT")){if(b&&b.previousSi= bling&&b.previousSibling.tagName&&b.previousSibling.childNodes.length){b=3D= b.previousSibling.lastChild;}else{if(b=3D=3D=3Db.parentNode.firstChild){b= =3Db.parentNode;}else{b=3Db.previousSibling;}}}if(!b){return = undefined;}b.____yb=3D1;return = b;}();O=3D(W&&W.src)||"";if(O.substr(0,1)=3D=3D=3D"/"){O=3D"http://"+wind= ow.location.host;}O=3DO.replace(/^http:\/\/([^\/]+.yahoo.com)(:[0-9]+)?(\= /.*)?/,"http://$1$2");if(!O.match(/^http:\/\/([^\/]+.yahoo.com)(:[0-9]+)?= $/)){O=3DT;}var Z=3Dfunction(){var b=3D"";if(C&&typeof = (C)=3D=3D=3D"string"){b=3DC;}else{if(W&&W.innerHTML&&W.src){b=3DW.innerHT= ML.replace(/[\n\r\s\t]+/g," = ").replace(/^\s+/,"").replace(/\s+$/,"");}}b=3Db.split(":");return[b.shif= t(),b.join(":")];}();var X=3Dfunction(){var b;if(J&&typeof = (J)=3D=3D=3D"string"){b=3DJ;}else{if(W){b=3DW.getAttribute("badgetype");}= }return b||"medium";}();var a=3Dfunction(){var b;if(H&&typeof = (H)!=3D=3D"undefined"){b=3DH;}else{if(W){b=3DW.getAttribute("showbranding= ");}}if(!isNaN(b)){b=3D(+b);}else{if(b=3D=3D=3D"false"||b=3D=3D=3D"no"||b= =3D=3D=3D"off"){b=3Dfalse;}}return !!b;}();var = V=3Ddocument.getElementById(A)||E;V.____yb=3D1;var = Y=3Dfunction(){if(!V){return undefined;}var = b=3DN("form",{id:A+"-form",className:"yahooBuzzBadge-form",action:O+"/vot= e/",method:"post",target:"_new",____yb:1,style:{position:"absolute",heigh= t:"1px",width:"1px",visibility:"hidden"}});V.id=3D"";return = b;}();S(Y,Z,X,a,V);},0);})(); ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.usnews.com/usnews/v3/scripts/comments.js function flagcomment(targetid,entryurl) { var flagid =3D 'flag' + targetid; var flagformid =3D 'form' + flagid; if ($(flagid).innerHTML =3D=3D '') { var formhtml =3D ''; //formhtml +=3D ''; formhtml +=3D '
'; formhtml +=3D '
Report Comment:
'; formhtml +=3D '
'; formhtml +=3D '
'; formhtml +=3D '
[cancel]'; formhtml +=3D ''; formhtml +=3D '
'; formhtml +=3D '
'; $(flagid).update(formhtml); } else { $(flagid).update(); } } function flagcheck(targetid) { var flagid =3D 'flag' + targetid; var flagformid =3D 'form' + flagid; var email =3D $(flagformid).flagemail.value; var reason =3D $(flagformid).flagreason.value; var reg =3D = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; if (reg.test(email)=3D=3Dfalse || email=3D=3D'') { alert("A valid email address is required."); return false; } if (reason =3D=3D '') { alert("A reason for reporting this comment is required."); return false; } $(flagformid).submit(); } ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.usnews.com/usnews/v3/scripts/ibox.js /******************************************************** For more info & download: http://www.ibegin.com/blog/p_ibox.html Created for iBegin.com - local search done right MIT Licensed Style *********************************************************/ var indicator_img_path =3D = "http://www.usnews.com/usnews/v3/images/loading.gif"; var indicator_img_html =3D "3D\"Loading...\""; // don't remove the name var opacity_level =3D 8; // how transparent our overlay bg is var ibAttr =3D "rel"; // our attribute identifier for our iBox elements =09 var imgPreloader =3D new Image(); // create an preloader object function init_ibox() { var elem_wrapper =3D "ibox"; =09 createIbox(document.getElementsByTagName("body")[0]); //create our ibox // elements here start the look up from the start non tags //var docRoot =3D (document.all) ? document.all : = document.getElementsByTagName("*"); =09 // Or make sure we only check tags var docRoot =3D document.getElementsByTagName("a"); var e; for (var i =3D 0; i < docRoot.length - 1; i++) { e =3D docRoot[i]; if(e.getAttribute(ibAttr)) { var t =3D e.getAttribute(ibAttr); if ((t.indexOf("ibox") !=3D -1) || t.toLowerCase() =3D=3D "ibox") = { // check if this element is an iBox element if (e.href.indexOf("#") !=3D -1){ var id =3D e.href.substr(e.href.indexOf("#")+1,e.href.length) document.getElementById(id).style.display =3D "none"; } e.onclick =3D function() { // rather assign an onclick event var t =3D this.getAttribute(ibAttr); var params =3D parseQuery(t.substr(5,999)); var url =3D this.href; if(this.target !=3D "") {url =3D this.target}=20 =09 var title =3D this.title; if(showIbox(url,title,params)) { showBG(); window.onscroll =3D maintPos; window.onresize =3D maintPos; } return false; };=20 =09 } } } } showBG =3D function() { var box_w =3D getElem('ibox_w'); =09 box_w.style.opacity =3D 0; box_w.style.filter =3D 'alpha(opacity=3D0)'; setBGOpacity =3D setOpacity; for (var i=3D0;i<=3Dopacity_level;i++) = {setTimeout("setIboxOpacity('ibox_w',"+i+")",70*i);} // from = quirksmode.org =09 =09 box_w.style.display =3D ""; var pagesize =3D new getPageSize(); var scrollPos =3D new getScrollPos(); var ua =3D navigator.userAgent; =09 if(ua.indexOf("MSIE ") !=3D -1) {box_w.style.width =3D = pagesize.width+'px';}=20 /*else {box_w.style.width =3D pagesize.width-20+'px';}*/ // scrollbars = removed! Hurray! box_w.style.height =3D pagesize.height+scrollPos.scrollY+'px'; } hideBG =3D function() { var box_w =3D getElem('ibox_w'); box_w.style.display =3D "none"; } var loadCancelled =3D false; showIndicator =3D function() { var ibox_p =3D getElem('ibox_progress'); ibox_p.style.display =3D ""; posToCenter(ibox_p); ibox_p.onclick =3D function() {hideIbox();hideIndicator();loadCancelled = =3D true;} } hideIndicator =3D function() { var ibox_p =3D getElem('ibox_progress'); ibox_p.style.display =3D "none"; ibox_p.onclick =3D null; } createIbox =3D function(elem) { // a trick on just creating an ibox wrapper then doing an innerHTML on = our root ibox element var strHTML =3D "
"; strHTML +=3D "
"; strHTML +=3D indicator_img_html; strHTML +=3D "
"; strHTML +=3D "
"; strHTML +=3D "Click here to close"; strHTML +=3D "
"; strHTML +=3D "
"; var docBody =3D document.getElementsByTagName("body")[0]; var ibox =3D document.createElement("div"); ibox.setAttribute("id","ibox"); ibox.style.display =3D ''; ibox.innerHTML =3D strHTML; elem.appendChild(ibox); } var ibox_w_height =3D 0; showIbox =3D function(url,title,params) { =09 var ibox =3D getElem('ibox_wrapper'); var ibox_type =3D 0; =09 // set title here var ibox_footer =3D getElem('ibox_footer'); if(title !=3D "") {ibox_footer.innerHTML =3D title;} else = {ibox_footer.innerHTML =3D " ";} =09 // file checking code borrowed from thickbox var urlString =3D = /\.jpg|\.jpeg|\.png|\.gif|\.html|\.htm|\.php|\.cfm|\.asp|\.aspx|\.jsp|\.j= st|\.rb|\.rhtml|\.txt/g; =09 var urlType =3D url.match(urlString); if(urlType =3D=3D '.jpg' || urlType =3D=3D '.jpeg' || urlType =3D=3D = '.png' || urlType =3D=3D '.gif'){ ibox_type =3D 1; } else if(url.indexOf("#") !=3D -1) { ibox_type =3D 2; } else = if(urlType=3D=3D'.htm'||urlType=3D=3D'.html'||urlType=3D=3D'.php'|| urlType=3D=3D'.asp'||urlType=3D=3D'.aspx'||urlType=3D=3D'.jsp'|| = urlType=3D=3D'.jst'||urlType=3D=3D'.rb'||urlType=3D=3D'.txt'||urlType=3D=3D= '.rhtml'|| urlType=3D=3D'.cfm') { ibox_type =3D 3; } else { // override our ibox type if forced param exist if(params['type']) {ibox_type =3D parseInt(params['type']);} else{hideIbox();return false;} } =09 ibox_type =3D parseInt(ibox_type); switch(ibox_type) { =09 case 1: showIndicator(); =09 imgPreloader =3D new Image(); =09 imgPreloader.onload =3D function(){ =09 imgPreloader =3D resizeImageToScreen(imgPreloader); hideIndicator(); =09 var strHTML =3D ""; =09 if(loadCancelled =3D=3D false) { =09 // set width and height ibox.style.height =3D imgPreloader.height+'px'; ibox.style.width =3D imgPreloader.width+'px'; =09 ibox.style.display =3D ""; ibox.style.visibility =3D "hidden"; posToCenter(ibox); =09 ibox.style.visibility =3D "visible"; setIBoxContent(strHTML); } =09 } =09 loadCancelled =3D false; imgPreloader.src =3D url; =09 break; case 2: =09 var strHTML =3D ""; =09 if(params['height']) {ibox.style.height =3D params['height']+'px';}=20 else {ibox.style.height =3D '280px';} =09 if(params['width']) {ibox.style.width =3D params['width']+'px';}=20 else {ibox.style.width =3D '450px';} =09 ibox.style.display =3D ""; ibox.style.visibility =3D "hidden"; posToCenter(ibox); =09 ibox.style.visibility =3D "visible"; =09 getElem('ibox_content').style.overflow =3D "auto"; =09 var elemSrcId =3D url.substr(url.indexOf("#") + 1,1000); =09 var elemSrc =3D getElem(elemSrcId); =09 if(elemSrc) {strHTML =3D elemSrc.innerHTML;} =09 setIBoxContent(strHTML); =09 break; =09 case 3: showIndicator(); http.open('get',url,true); http.onreadystatechange =3D function() { if(http.readyState =3D=3D 4){ hideIndicator(); =09 if(params['height']) {ibox.style.height =3D params['height']+'px';} = else {ibox.style.height =3D '280px';} =09 if(params['width']) {ibox.style.width =3D params['width']+'px';}=20 else {ibox.style.width =3D '450px';} =09 ibox.style.display =3D ""; ibox.style.visibility =3D "hidden"; posToCenter(ibox); =09 ibox.style.visibility =3D "visible"; getElem('ibox_content').style.overflow =3D "auto"; =09 var response =3D http.responseText; setIBoxContent(response); =09 } } =09 = http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; = charset=3DUTF-8"); http.send(null); break; =09 default: =09 }=20 =20 =09 ibox.style.opacity =3D 0; ibox.style.filter =3D 'alpha(opacity=3D0)';=09 var ibox_op_level =3D 10; =09 setIboxOpacity =3D setOpacity; for (var i=3D0;i<=3Dibox_op_level;i++) = {setTimeout("setIboxOpacity('ibox_wrapper',"+i+")",30*i);} if(ibox_type =3D=3D 2 || ibox_type =3D=3D 3) { ibox.onclick =3D null;getElem("ibox_close_a").onclick =3D function() = {hideIbox();} } else {ibox.onclick =3D hideIbox;getElem("ibox_close_a").onclick =3D = null;} return true; } setOpacity =3D function (elemid,value) { var e =3D getElem(elemid); e.style.opacity =3D value/10; e.style.filter =3D 'alpha(opacity=3D' + value*10 + ')'; } resizeImageToScreen =3D function(objImg) { =09 var pagesize =3D new getPageSize(); =09 var x =3D pagesize.width - 100; var y =3D pagesize.height - 100; if(objImg.width > x) {=20 objImg.height =3D objImg.height * (x/objImg.width);=20 objImg.width =3D x;=20 if(objImg.height > y) {=20 objImg.width =3D objImg.width * (y/objImg.height);=20 objImg.height =3D y;=20 } }=20 else if(objImg.height > y) {=20 objImg.width =3D objImg.width * (y/objImg.height);=20 objImg.height =3D y;=20 if(objImg.width > x) {=20 objImg.height =3D objImg.height * (x/objImg.width);=20 objImg.width =3D x; } } return objImg; } maintPos =3D function() { =09 var ibox =3D getElem('ibox_wrapper'); var box_w =3D getElem('ibox_w'); var pagesize =3D new getPageSize(); var scrollPos =3D new getScrollPos(); var ua =3D navigator.userAgent; if(ua.indexOf("MSIE ") !=3D -1) {box_w.style.width =3D = pagesize.width+'px';}=20 /*else {box_w.style.width =3D pagesize.width-20+'px';}*/ if(ua.indexOf("Opera/9") !=3D -1) {box_w.style.height =3D = document.body.scrollHeight+'px';} else {box_w.style.height =3D pagesize.height+scrollPos.scrollY+'px';} =09 // alternative 1 //box_w.style.height =3D document.body.scrollHeight+50+'px';=09 =09 posToCenter(ibox); =09 } hideIbox =3D function() { hideBG(); var ibox =3D getElem('ibox_wrapper'); ibox.style.display =3D "none"; clearIboxContent(); window.onscroll =3D null; } posToCenter =3D function(elem) { var scrollPos =3D new getScrollPos(); var pageSize =3D new getPageSize(); var emSize =3D new getElementSize(elem); var x =3D Math.round(pageSize.width/2) - (emSize.width /2) + = scrollPos.scrollX; var y =3D Math.round(pageSize.height/2) - (emSize.height /2) + = scrollPos.scrollY;=09 elem.style.left =3D x+'px'; elem.style.top =3D y+'px';=09 } getScrollPos =3D function() { var docElem =3D document.documentElement; this.scrollX =3D self.pageXOffset || (docElem&&docElem.scrollLeft) || = document.body.scrollLeft; this.scrollY =3D self.pageYOffset || (docElem&&docElem.scrollTop) || = document.body.scrollTop; } getPageSize =3D function() { var docElem =3D document.documentElement this.width =3D self.innerWidth || (docElem&&docElem.clientWidth) || = document.body.clientWidth; this.height =3D self.innerHeight || (docElem&&docElem.clientHeight) || = document.body.clientHeight; } getElementSize =3D function(elem) { this.width =3D elem.offsetWidth || elem.style.pixelWidth; this.height =3D elem.offsetHeight || elem.style.pixelHeight; } setIBoxContent =3D function(str) { clearIboxContent(); var e =3D getElem('ibox_content'); e.style.overflow =3D "auto"; e.innerHTML =3D str; =09 } clearIboxContent =3D function() { var e =3D getElem('ibox_content'); e.innerHTML =3D ""; } getElem =3D function(elemId) { return document.getElementById(elemId);=09 } // parseQuery code borrowed from thickbox, Thanks Cody! parseQuery =3D function(query) { var Params =3D new Object (); if (!query) return Params;=20 var Pairs =3D query.split(/[;&]/); for ( var i =3D 0; i < Pairs.length; i++ ) { var KeyVal =3D Pairs[i].split('=3D'); if ( ! KeyVal || KeyVal.length !=3D 2 ) continue; var key =3D unescape( KeyVal[0] ); var val =3D unescape( KeyVal[1] ); val =3D val.replace(/\+/g, ' '); Params[key] =3D val; } =20 return Params; } /******************************************************** Make this IE7 Compatible ;) http://ajaxian.com/archives/ajax-on-ie-7-check-native-first *********************************************************/ createRequestObject =3D function() { var xmlhttp; /*@cc_on @if (@_jscript_version>=3D 5) try {xmlhttp =3D new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try {xmlhttp =3D new ActiveXObject("Microsoft.XMLHTTP");} catch (E) {xmlhttp =3D false;} } @else xmlhttp =3D false; @end @*/ if (!xmlhttp && typeof XMLHttpRequest !=3D "undefined") { try {xmlhttp =3D new XMLHttpRequest();} catch (e) {xmlhttp =3D = false;} } return xmlhttp; } var http =3D createRequestObject(); function addEvent(obj, evType, fn){=20 if (obj.addEventListener){=20 obj.addEventListener(evType, fn, false);=20 return true;=20 } else if (obj.attachEvent){=20 var r =3D obj.attachEvent("on"+evType, fn);=20 return r;=20 } else {=20 return false;=20 }=20 } addEvent(window, 'load', init_ibox); ------=_NextPart_000_0000_01C9078E.44D574C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://health.usnews.com/js/comments.js function getObject(obj) {=0A= var theObj;=0A= if(document.all) {=0A= if(typeof obj=3D=3D"string") {=0A= return document.all(obj);=0A= } else {=0A= return obj.style;=0A= }=0A= }=0A= if(document.getElementById) {=0A= if(typeof obj=3D=3D"string") {=0A= return document.getElementById(obj);=0A= } else {=0A= return obj.style;=0A= }=0A= }=0A= return null;=0A= }=0A= =0A= function toCount(entrance,exit,text,characters) {=0A= var entranceObj=3DgetObject(entrance);=0A= var exitObj=3DgetObject(exit);=0A= var length=3Dcharacters - entranceObj.value.length;=0A= if(length <=3D 0) {=0A= length=3D0;=0A= text=3D' '+text+' <' + '/span>';=0A= entranceObj.value=3DentranceObj.value.substr(0,characters);=0A= }=0A= exitObj.innerHTML =3D text.replace("{CHAR}",length);=0A= }=0A= =0A= function flagcomment(targetid,entryurl) {=0A= var flagid =3D 'flag' + targetid;=0A= var flagformid =3D 'form' + flagid;=0A= if ($(flagid).innerHTML =3D=3D '') {=0A= var formhtml =3D '';=0A= formhtml +=3D '
';=0A= formhtml +=3D '
Report Comment:
';=0A= formhtml +=3D '
';=0A= formhtml +=3D '
';=0A= formhtml +=3D '
[cancel]';=0A= formhtml +=3D '';=0A= formhtml +=3D '
';=0A= formhtml +=3D '
';=0A= $(flagid).update(formhtml);=0A= } else {=0A= $(flagid).update();=0A= }=0A= }=0A= =0A= =0A= function flagcheck(targetid) {=0A= var flagid =3D 'flag' + targetid;=0A= var flagformid =3D 'form' + flagid;=0A= var email =3D $(flagformid).flagemail.value;=0A= var reason =3D $(flagformid).flagreason.value;=0A= var reg =3D = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;=0A= if (reg.test(email)=3D=3Dfalse || email=3D=3D'') {=0A= alert("A valid email address is required.");=0A= return false;=0A= }=0A= if (reason =3D=3D '') {=0A= alert("A reason for reporting this comment is required.");=0A= return false;=0A= }=0A= =0A= $(flagformid).submit();=0A= }=0A= ------=_NextPart_000_0000_01C9078E.44D574C0--