From: "Saved by Windows Internet Explorer 8" Subject: Article Index - US News and World Report Date: Thu, 16 Apr 2009 13:58:06 +0800 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0033_01C9BE9B.5E2DD4C0" X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18049 This is a multi-part message in MIME format. ------=_NextPart_000_0033_01C9BE9B.5E2DD4C0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.usnews.com/directories/contents =EF=BB=BF Article Index - US News and World Report
Thursday, April 16, 2009

Article Index

Home = > Article = Index=20
Show Less Detail =    |   =20 Show=20 More Detail

April 16, 2009

Report:=20 Japan to Build Up to 100 Mini-Satellites

1:41 am EDT =

April 15, 2009

Blood=20 Pressure Drug May Not Ease Irregular Heartbeat

5:00 pm EDT =

Scientists=20 Spot Stroke Genes

5:00 pm EDT =

Epilepsy=20 Drug Impairs Baby's Intelligence

5:00 pm EDT =

More=20 Suburbanites are Raising Chickens

4:34 pm EDT =

Tax=20 Day Tea Party Protests Around the Country

By Andrew=20 Burt - 4:14 pm EDT =

Sleep=20 May Be Cause, Not Consequence, of Cancer Issues

4:00 pm EDT =

Fetal=20 Exposure to Methamphetamine May Harm Child's Brain

4:00 pm EDT =

How=20 Consumers Can Take Smart Advantage of Falling Prices

By Kimberly=20 Palmer , Kirk=20 Shinkle - 2:39 pm EDT =

Newer=20 Antipsychotics May Boost Weight in Alzheimer's Patients

2:00 pm EDT =

On=20 Tax Day, Obama Talks About Simpler Returns

By Amanda=20 Ruggeri - 1:58 pm EDT =

NASA=20 Names Treadmill After Colbert

1:33 pm EDT =

Obama's=20 Plug-In Cars Goal Hard to Hit in U.S.

1:28 pm EDT =

On=20 Tax Day, President Obama Locked in Ideological Battle With=20 Conservatives

12:14 pm EDT =

New=20 Technology Allows Better Monitoring of Cancer Cells

12:00 pm EDT =

Brain=20 Scans Reveal Secrets of 'Writer's Cramp'

12:00 pm EDT =

More=20 Options for Less Invasive Brain Tumor Surgery

12:00 pm EDT =

The=20 Uncertain Wait for All of Those Stimulus Dollars

By Amanda=20 Ruggeri - 11:20 am EDT =

Official:=20 U.S. Needs to be World Energy Leader Again

10:24 am EDT =

Clinical=20 Trials Update: April 15, 2009

10:11 am EDT =

Republican=20 Thugs Rove, Cheney, Limbaugh Try to Rough Up Obama With Lies and = Hate

By John=20 Mashek - 10:00 am EDT =

Health=20 Highlights: April 15, 2009

9:32 am EDT =

Deployment=20 Takes Toll on Military Moms and Teens

9:00 am EDT =

Health=20 Tip: Drive Safely With Arthritis

9:00 am EDT =

Health=20 Tip: Do You Have an Impacted Tooth?

9:00 am EDT =

Soothing=20 Songs Please the Heart

9:00 am EDT =

New=20 Drug Being Tested for Pancreatic Cancer

9:00 am EDT =

Can=20 Diplomacy Alone Block Iran's Nuclear Goals?

7:00 am EDT =

Almost=20 1 in 10 Afghans Sees U.S. as Biggest Threat to Afghanistan

7:00 am EDT =

April 14, 2009

Three=20 Subgroups of Neanderthals Identified

8:16 pm EDT =

Inbreeding:=20 Downfall of a Dynasty

8:15 pm EDT =

Acetaminophen,=20 Cholesterol Drugs May Help Fight Stroke

7:00 pm EDT =

China=20 Launches 2nd Satellite in GPS System

6:37 pm EDT =

Obama's=20 Economy, Taking on the Pirates, Plus Al Franken: Minnesota = Senator?

By Andrew=20 Burt - 5:23 pm EDT =

Study:=20 Cuts in Greenhouse Gas Could Lessen Warming

5:18 pm EDT =

Researchers=20 Create Long-Acting Local Anesthetic

5:00 pm EDT =

Across=20 the U.S., Stress Varies by Region

5:00 pm EDT =

4=20 Experimental Treatments for Nonalcoholic Fatty Liver Disease

By January=20 W. Payne - 4:43 pm EDT =

Nearly=20 18 Million Will Have Macular Degeneration by 2050

4:00 pm EDT =

Former=20 Inmates at Increased Risk for High Blood Pressure

4:00 pm EDT =

What=20 Obama Plans Next for Cuba Relations

By Thomas=20 Omestad - 2:47 pm EDT =

How=20 Much You Lose When Your Employer Cuts Your 401(k) Match

By Katy=20 Marquardt - 2:42 pm EDT =

Longview=20 Plant Unveils Hybrid Specialty Truck

2:32 pm EDT =

North=20 Korea Plans to Restart Its Nuclear Weapons Production

By Thomas=20 Omestad - 2:03 pm EDT =

Radiation-Chemo=20 Combo Boosts Lung Cancer Outcomes

2:00 pm EDT =

Heart=20 Screening Not Effective for Type 2 Diabetics

2:00 pm EDT =

Ob= ama's=20 Revamp of Cuba Travel Policy Is Overdue, But the Embargo Should Come=20 Next

By Robert=20 Schlesinger - 1:57 pm EDT =

Webcams=20 Gone Creative

1:46 pm EDT =

Best=20 Resources for Startups

1:40 pm EDT =

Bank=20 on an Idea: Carpool Websites

1:36 pm EDT =

Interview=20 for Integrity

1:31 pm EDT =

Just=20 for Kicks

1:21 pm EDT =

Scientist:=20 World's First Cloned Camel Called 'Achievement' Born in Dubai

1:14 pm EDT =

Obama:=20 On Economy, 'We Are Beginning to See Glimmers of Hope'

By Amanda=20 Ruggeri - 1:09 pm EDT =

EPA=20 Looks for Ways to Not Let the Bedbugs Bite

1:01 pm EDT =

White=20 House Dogs Before the Obamas' Bo

By Paul=20 Bedard - 12:47 pm EDT =

Severe=20 Low Blood Sugar Ups Older Diabetics' Dementia Risk

12:00 pm EDT =

Pancreatic=20 Islets in Forefront of Diabetes Research

12:00 pm EDT =

Stem=20 Cells Buy Freedom From Insulin for Type 1 Diabetics

12:00 pm EDT =

Obama-Clinton=20 Human Rights Bid Faces Anti-Israel Bias at U.N. Agency

By Abraham=20 Cooper , Harold=20 Brackman - 11:45 am EDT =

W= hy=20 the Pentagon Needs to Rebuild Its Relationship With Pakistan's = Military

By Anna=20 Mulrine - 11:02 am EDT =

Health = Buzz: Depression Hikes Heart Failure Risk and Other Health News

10:58 am EDT =

Clinical=20 Trials Update: April 14, 2009

10:45 am EDT =

10=20 Secrets of Millionaires' Money Management

By Kimberly=20 Palmer - 10:29 am EDT =

Health=20 Highlights: April 14, 2009

9:37 am EDT =

Health=20 Tip: Applying an Antiperspirant

9:00 am EDT =

Health=20 Tip: Finding Hidden Lactose

9:00 am EDT =

Impotence=20 Drugs Don't Harm Vision: Study

9:00 am EDT =

Slow-Healing=20 Bones May Get Boost From Drug

9:00 am EDT =

Was=20 Obama Right to Authorize Violence Against Somali Pirates?

7:00 am EDT =

Taking=20 the Pulse of the Mainstream Media

7:00 am EDT =

Identity=20 Theft: A Few Pennies for Your Thoughts=E2=80=94and Credit Card

12:01 am EDT =

April 13, 2009

E-Communication=20 Might Be Outpacing Emotion

7:00 pm EDT =

Obama's=20 Slight Easing of Cuba Restrictions Leaves Embargo Intact

By Thomas=20 Omestad - 6:06 pm EDT =

Heart=20 Disease and Depression Up Heart Failure Risk

5:00 pm EDT =

Pot,=20 Cigarette Smoke Wreaks Havoc on Lungs

5:00 pm EDT =

Pharoah's=20 Wine Jar Yields Medicinal Secrets

5:00 pm EDT =

Obama,=20 Somali Pirates, Plus: Will the Stimulus Be Enough?

By Andrew=20 Burt - 4:24 pm EDT =

Investin= g=20 Basics: How to Protect Yourself With Stop-Loss Orders

By Kirk=20 Shinkle - 4:23 pm EDT =

Desert=20 Research Institute Marks 50 Years of Science Achievements

4:08 pm EDT =

2008=20 Columns by Bernadine Healy, M.D.

4:04 pm EDT =

Screening=20 Lowers Stroke Risk for Sickle Cell Kids

4:00 pm EDT =

Aspirin=20 Use Linked to Brain Microbleeds

4:00 pm EDT =

Review=20 Confirms Links Between Diet, Heart Health

4:00 pm EDT =

Awareness=20 of Alternative Therapies May Be Lacking

4:00 pm EDT =

Tracking=20 the Results of Salmon Habitat Restoration

3:47 pm EDT =

Facebook=20 Users Get Worse Grades in College

3:35 pm EDT =

Obama's=20 Authorization of Force Against Pirates Is a Defining Moment

By Kenneth=20 T. Walsh - 2:31 pm EDT =

Brown= er:=20 Climate Change Law Would Bolster U.S. Role at Global Warming = Talks

By Kent=20 Garber - 2:27 pm EDT =

Saying=20 Stimulus Money Is Flowing, Obama Unveils 2,000th Transportation = Project

By Amanda=20 Ruggeri - 2:13 pm EDT =

Obama=20 Reaches Out to the Muslim World

By Dan=20 Gilgoff - 2:10 pm EDT =

Rob=20 Portman's Ohio Senate Fundraising Shocker

By Paul=20 Bedard - 2:08 pm EDT =

Hazardous=20 Falls Don't Have to Happen

2:00 pm EDT =

Wristbands=20 May Lessen Nausea After Radiation

2:00 pm EDT =

Mortimer=20 Zuckerman - 1:30 pm EDT =

Japan=20 Whaling Fleet Returns to Port After Clashes

1:21 pm EDT =

Beach=20 Serves Students With Lesson in Pollution

1:12 pm EDT =

N= ext=20 Bernie Madoff? Emissions Cap-and-Trade Aids the Corrupt, Hurts the = Little=20 Guy

By William=20 O'Keefe - 1:00 pm EDT =

Wind=20 Rankings: Texas is King, but Iowa Breezes Past California

12:33 pm EDT =

10=20 Ways to Lower Retirement Costs

By Emily=20 Brandon - 12:01 pm EDT =

A=20 Drop of Blood May Help Assess Cancer Therapy

12:00 pm EDT =

North=20 Korea Tests Obama's Plan to Restrict Nuclear Proliferation

By Thomas=20 Omestad - 11:57 am EDT =

Featured=20 Recipes: Chewy Chocolate Brownies

11:30 am EDT =

Featured=20 Recipes: Spinach Lasagna

11:20 am EDT =

Health=20 Buzz: Hundreds Exposed to TB and Other Health News

11:16 am EDT =

Featured=20 Recipes: Grilled Steak With Roasted Garlic Paste

11:13 am EDT =

Featured=20 Recipes: Black Bean Salad

11:02 am EDT =

Economic=20 Crisis, Government, and What Americans Know About Them

10:55 am EDT =

Featured=20 Recipes: Buffalo Chicken Bites

10:48 am EDT =

Clinical=20 Trials Update: April 13, 2009

10:23 am EDT =

Should=20 Caroline Kennedy Serve as U.S. Ambassador to the Vatican?

10:23 am EDT =

Spanish=20 Empire Bead Cache Found Off Georgia

10:11 am EDT =

Got=20 Nature? Why You Need to Get Out

9:54 am EDT =

Health=20 Highlights: April 13, 2009

9:17 am EDT =

Health=20 Tip: Avoiding Toxic Shock Syndrome

9:00 am EDT =

Health=20 Tip: Prevent Skateboarding Injuries

9:00 am EDT =

Blacks=20 Less Likely to Get Optimal Lung Cancer Treatment

9:00 am EDT =

Race=20 May Not Be Key in Cancer Disparities

9:00 am EDT =

Robotic=20 Gardeners: MIT Droids Tend Plants

6:01 am EDT =

April 12, 2009

Stem=20 Cells Spur New Eggs in Ovaries of Adult Mice

2:00 pm EDT =

Australia's=20 Capital May Take Up Arms Against a Kangaroo Glut

11:13 am EDT =

A=20 Winning Strategy to Beat Spring Sporting Injuries

9:00 am EDT =

advertisement

advertisement

3D"date =
3D"date =
=
=20

advertisement

Copyright =C2=A9 2009 U.S.News & World Report LP All rights=20 reserved.

Use of this Web site constitutes acceptance of our Terms and = Conditions of=20 Use and Privacy=20 Policy.
Make = USNews.com your=20 home page.

------=_NextPart_000_0033_01C9BE9B.5E2DD4C0 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_0033_01C9BE9B.5E2DD4C0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.usnews.com/usnews/v3/images/cal.gif R0lGODlhFQARAKIAADNmmQCZ/////5mZmQAAAP///wAAAAAAACH5BAEAAAUALAAAAAAVABEAAANL WLrcXiTKSeUiIevNAxkK1o3ZF1boBEJC676wYLKRTNg4AMjrHf+t2a1GHN50vBAQKMQVc7vmMtZ8 PpHS6UuY6q4Kg7B4TBY/zo8EADs= ------=_NextPart_000_0033_01C9BE9B.5E2DD4C0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://static.usnews.com/css/global.css HTML { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } BODY { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } FORM { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } FIELDSET { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } H1 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } H2 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } H3 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } H4 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } H5 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } H6 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } P { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } PRE { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } BLOCKQUOTE { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } UL { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } OL { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } DL { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } ADDRESS { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } LABEL { CURSOR: pointer } FIELDSET { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: = medium none; BORDER-RIGHT: medium none } IMG { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: = medium none; BORDER-RIGHT: medium none } INPUT { FONT-SIZE: 100% } SELECT { FONT-SIZE: 100% } TEXTAREA { FONT-SIZE: 100% } LEGEND { DISPLAY: none } BODY { BACKGROUND-COLOR: #8596aa; FONT: 62.5% Georgia, "Times New Roman", = Times, serif; COLOR: #333 } #page { PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #fff; MARGIN: 0px auto; = PADDING-LEFT: 3px; WIDTH: 972px; PADDING-RIGHT: 4px; OVERFLOW: hidden; = PADDING-TOP: 3px } A { COLOR: #005497; TEXT-DECORATION: none } A:hover { TEXT-DECORATION: underline } H1 { COLOR: #005497; FONT-SIZE: 1.6em; FONT-WEIGHT: bold } H2 { COLOR: #780808 } H2 A { COLOR: #780808 } H3 { COLOR: #005497 } H3 A { COLOR: #005497 } BIG { FONT-SIZE: 1em } 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; FONT-SIZE: 1em !important } .hidden { DISPLAY: none } .hide { DISPLAY: none } .text-image-left IMG { BORDER-BOTTOM: #a9a9a9 1px solid; BORDER-LEFT: #a9a9a9 1px solid; = PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; FLOAT: left; = BORDER-TOP: #a9a9a9 1px solid; MARGIN-RIGHT: 8px; BORDER-RIGHT: #a9a9a9 = 1px solid; PADDING-TOP: 2px } .text-image-right IMG { BORDER-BOTTOM: #a9a9a9 1px solid; BORDER-LEFT: #a9a9a9 1px solid; = PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; FLOAT: = right; MARGIN-LEFT: 8px; BORDER-TOP: #a9a9a9 1px solid; BORDER-RIGHT: = #a9a9a9 1px solid; PADDING-TOP: 2px } BLOCKQUOTE { FONT-FAMILY: Arial, Helvetica, sans-serif; MARGIN-LEFT: 26px } .ad P { FONT: 1em Georgia, "Times New Roman", Times, serif } DIV.ad IMG { FLOAT: none } #ad-container { MARGIN: 10px auto; WIDTH: 972px; CLEAR: both; OVERFLOW: hidden } .ad#position-1 { PADDING-LEFT: 24px; WIDTH: 737px; BACKGROUND: = url(http://static.usnews.com/images/global/advertisment-vertical.gif) = no-repeat 12px 5px; FLOAT: left; HEIGHT: 92px; OVERFLOW: hidden; = PADDING-TOP: 1px } .ad#position-1 * { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } .ad#position-1-homepage { MARGIN-TOP: 3px; FLOAT: right; MARGIN-RIGHT: 15px } .ad#position-2 { WIDTH: 211px; FLOAT: right; HEIGHT: 93px; OVERFLOW: hidden } .ad#position-2 IMG { BORDER-BOTTOM: white 1px solid; BORDER-LEFT: white 1px solid; = BORDER-TOP: white 1px solid; BORDER-RIGHT: white 1px solid } .ad#position-4 { PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #eff0f1; MARGIN: 10px 0px; = PADDING-LEFT: 6px; PADDING-RIGHT: 0px; CLEAR: right; OVERFLOW: hidden; = PADDING-TOP: 6px; _width: 98% } .ad#position-5 { TEXT-ALIGN: center; PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #eff0f1; = MARGIN: 0px 0px 8px; PADDING-LEFT: 1px; PADDING-RIGHT: 0px; OVERFLOW: = visible; PADDING-TOP: 6px } .ad#position-5 P { TEXT-ALIGN: left } .ad#position-6 P { FONT-SIZE: 1em } DIV#page .ad#position-7 { BORDER-BOTTOM: medium none; TEXT-ALIGN: center; BORDER-LEFT: medium = none; PADDING-BOTTOM: 12px; BACKGROUND-COLOR: #eff0f1; PADDING-LEFT: = 10px; PADDING-RIGHT: 0px; MARGIN-BOTTOM: 8px; OVERFLOW: visible; = BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 5px } DIV#page .ad#position-8 { BORDER-BOTTOM: medium none; TEXT-ALIGN: center; BORDER-LEFT: medium = none; PADDING-BOTTOM: 12px; BACKGROUND-COLOR: #eff0f1; PADDING-LEFT: = 10px; PADDING-RIGHT: 0px; MARGIN-BOTTOM: 8px; OVERFLOW: visible; = BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 5px } .widgets .ad-gray { BORDER-BOTTOM: medium none; TEXT-ALIGN: center; BORDER-LEFT: medium = none; PADDING-BOTTOM: 12px; BACKGROUND-COLOR: #eff0f1; PADDING-LEFT: = 10px; PADDING-RIGHT: 0px; MARGIN-BOTTOM: 8px; OVERFLOW: visible; = BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 5px } .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% } .this-google { TEXT-ALIGN: center } .poe { TEXT-ALIGN: center; MARGIN: 15px auto 0px } #POE-large { TEXT-ALIGN: center; MARGIN: 15px auto 0px } #grad-promo { PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #eee; PADDING-LEFT: 14px; = PADDING-RIGHT: 14px; PADDING-TOP: 3px } #rectangleA { TEXT-ALIGN: center; PADDING-BOTTOM: 12px; BACKGROUND-COLOR: #eff0f1; = PADDING-LEFT: 0px; PADDING-RIGHT: 0px; MARGIN-BOTTOM: 8px; OVERFLOW: = auto; PADDING-TOP: 5px } #rectangleB { TEXT-ALIGN: center; PADDING-BOTTOM: 12px; BACKGROUND-COLOR: #eff0f1; = PADDING-LEFT: 0px; PADDING-RIGHT: 0px; MARGIN-BOTTOM: 8px; OVERFLOW: = auto; PADDING-TOP: 5px } #search_result #skyscraperA { WIDTH: 175px; MARGIN-LEFT: 15px; CLEAR: left } #search_result #skyscraperA P { MARGIN-LEFT: 45px } #leaderboardB { TEXT-ALIGN: center; WIDTH: 100%; PADDING-TOP: 5px } #boxA { TEXT-ALIGN: center; PADDING-BOTTOM: 5px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; PADDING-TOP: 5px } #page .boxb-parent { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: = 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: medium none; = BORDER-RIGHT: medium none; PADDING-TOP: 0px } #boxB { =09 } #boxB .servedAdlabel { FONT-SIZE: 1em } #boxB .promo { BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; = PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: = #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid; PADDING-TOP: 0px } #boxB .promo H4 { BORDER-BOTTOM: #ccc 1px solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; = PADDING-RIGHT: 5px; BACKGROUND: #ecf1f7; PADDING-TOP: 5px } #boxB .promo .text-image-left { PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; = PADDING-TOP: 5px } #boxB .promo .text-image-left IMG { FLOAT: left; MARGIN-RIGHT: 5px } .widgets #boxB .promo { TEXT-ALIGN: left } .widgets #boxB .promo P { FONT-SIZE: 1.2em !important } #boxB .promo .text-image-left { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = PADDING-TOP: 0px } .widgets .text-image-left { MARGIN-RIGHT: 5px } .digital-weekly-ad { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #fdffc8; PADDING-LEFT: 5px; = PADDING-RIGHT: 5px; MARGIN-BOTTOM: 20px; CLEAR: both; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 5px } .digital-weekly-ad P { MARGIN-BOTTOM: 0px !important } .digital-weekly-ad-small IMG { BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: = 0px } #branding { BORDER-BOTTOM: #b2b2b2 1px solid; BACKGROUND: = url(http://static.usnews.com/images/global/branding-bg.png) #003399 = repeat-x 0px 0px; HEIGHT: 66px; BORDER-TOP: #fff 1px solid } #page .homepage { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/global/branding-bg-big.gif); HEIGHT: = 102px } #branding A { COLOR: #ffffff } DIV#branding-logo { MARGIN: 9px 5px 0pt; FLOAT: left } #page .homepage DIV#branding-logo { MARGIN: 18px 5px 0pt } #branding-timestamp { MARGIN-TOP: 41px; FONT-FAMILY: Arial, Helvetica, sans-serif; FLOAT: = left; COLOR: #ffffff; MARGIN-LEFT: 5px; FONT-SIZE: 1.1em; FONT-WEIGHT: = bold } #page .homepage #branding-timestamp { MARGIN-TOP: 72px } #nav-magazine { MARGIN: 41px 14px 0px 0px; FONT-FAMILY: Arial, Helvetica, sans-serif; = FLOAT: right; COLOR: #ffffff; FONT-SIZE: 1.1em } #page .homepage #nav-magazine { MARGIN: 72px 14px 0pt 0pt } #nav-magazine LI { LIST-STYLE-TYPE: none; PADDING-LEFT: 3px; DISPLAY: inline } #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: 0px } #nav-main { BORDER-BOTTOM: #ffffff 1px solid; PADDING-BOTTOM: 0px; PADDING-LEFT: = 10px; PADDING-RIGHT: 0px; FONT: bold 1.1em Arial, Helvetica, sans-serif; = HEIGHT: 21px; OVERFLOW: hidden; BORDER-TOP: #ffffff 1px solid; = PADDING-TOP: 2px } #nav-main LI { PADDING-BOTTOM: 3px; LIST-STYLE-TYPE: none; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: left; HEIGHT: 15px; = PADDING-TOP: 3px } #nav-main LI.active { BORDER-BOTTOM: #bfd2e2 1px solid; BORDER-LEFT: #bfd2e2 1px solid; = PADDING-BOTTOM: 2px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BACKGROUND: = url(http://static.usnews.com/images/global/nav-main-active-bg.gif) = #1866a9 repeat-x 0px 0px; HEIGHT: 13px; BORDER-TOP: #bfd2e2 1px solid; = BORDER-RIGHT: #bfd2e2 1px solid; PADDING-TOP: 2px } #nav-main LI A { PADDING-BOTTOM: 0px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; = BORDER-RIGHT: #687b90 1px solid; PADDING-TOP: 0px } #page #nav-search { Z-INDEX: 500; POSITION: absolute; PADDING-BOTTOM: 0px; MARGIN: -5px 0px = 0px 667px; PADDING-LEFT: 0px; WIDTH: 261px; PADDING-RIGHT: 0px; FLOAT: = right; HEIGHT: 35px; PADDING-TOP: 0px } #nav-search FIELDSET { PADDING-BOTTOM: 0px; PADDING-LEFT: 32px; WIDTH: 261px; PADDING-RIGHT: = 0px; BACKGROUND: = url(http://static.usnews.com/images/global/nav-search-bg.png) no-repeat = 0px 0px; HEIGHT: 35px; PADDING-TOP: 8px } #page #nav-search INPUT { BACKGROUND-IMAGE: none; Z-INDEX: 0; BORDER-BOTTOM: #8e9195 1px solid; = POSITION: relative; BORDER-LEFT: #8e9195 1px solid; PADDING-BOTTOM: 0px; = MARGIN-TOP: -1px; PADDING-LEFT: 9px; WIDTH: 173px; PADDING-RIGHT: 0px; = DISPLAY: block; FONT-FAMILY: Arial, Helvetica, sans-serif; FLOAT: left; = HEIGHT: 18px; COLOR: #000000; FONT-SIZE: 1.2em; BORDER-TOP: #8e9195 1px = solid; BORDER-RIGHT: #8e9195 1px solid; PADDING-TOP: 3px } #page #nav-search INPUT.hidden { DISPLAY: none } #page #nav-search INPUT#submit { BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN-TOP: = 0px; PADDING-LEFT: 0px; WIDTH: 57px; PADDING-RIGHT: 0px; FONT-FAMILY: = Arial, Helvetica, sans-serif; BACKGROUND: = url(http://static.usnews.com/images/global/nav-search-button.gif) = #d55011 no-repeat 0px 0px; HEIGHT: 23px; COLOR: #ffffff; MARGIN-LEFT: = 9px; FONT-SIZE: 1.2em; BORDER-TOP: 0px; FONT-WEIGHT: bold; BORDER-RIGHT: = 0px; PADDING-TOP: 0px } #branding-section { BORDER-BOTTOM: #e6e2d6 1px solid; PADDING-BOTTOM: 0px; MARGIN: 0px 0px = 12px; PADDING-LEFT: 17px; WIDTH: auto; PADDING-RIGHT: 0px; BACKGROUND: = url(http://static.usnews.com/images/branding-sections/banner-blank.jpg) = #f3f2e4 repeat-x 50% bottom; HEIGHT: 66px; PADDING-TOP: 0px } #branding-section H2 { FONT-FAMILY: Georgia, "Times New Roman", Times, serif; COLOR: #780808; = FONT-SIZE: 2.7em; FONT-WEIGHT: normal; PADDING-TOP: 14px } #promo-magazine { MARGIN-TOP: -48px; PADDING-RIGHT: 16px; FONT-FAMILY: Georgia, "Times = New Roman", Times, serif; FLOAT: right; COLOR: #1f5da6; FONT-SIZE: 1.1em } #promo-magazine UL { DISPLAY: inline; FLOAT: left; PADDING-TOP: 30px } #promo-magazine LI { LIST-STYLE-TYPE: none; DISPLAY: inline; LIST-STYLE-IMAGE: none } #nav-breadcrumb { WIDTH: auto; FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #094790; = FONT-SIZE: 1em; PADDING-TOP: 7px } #nav-breadcrumb A { COLOR: #094790 } #nav-breadcrumb A.active { COLOR: #780808 } #nav-breadcrumb SPAN.active { COLOR: #780808 } #nav-supplemental { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #122c42; PADDING-LEFT: 10px; = PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: = 21px; CLEAR: both; BORDER-TOP: #ffffff 15px solid; PADDING-TOP: 6px } #nav-supplemental P { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 10px; FLOAT: = right; FONT-SIZE: 1em; FONT-WEIGHT: normal; PADDING-TOP: 3px } #nav-supplemental UL { FLOAT: left; FONT-SIZE: 1.1em; FONT-WEIGHT: bold } #nav-supplemental LI { LIST-STYLE-TYPE: none; PADDING-LEFT: 0.3em; DISPLAY: inline } #nav-supplemental-small { PADDING-BOTTOM: 0px; PADDING-LEFT: 18px; WIDTH: 780px; PADDING-RIGHT: = 0px; HEIGHT: 35px; CLEAR: both; BORDER-TOP: #ffffff 15px solid; = PADDING-TOP: 6px } #nav-supplemental-small P { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 10px; = PADDING-TOP: 3px } #nav-supplemental-small LI { LIST-STYLE-TYPE: none; PADDING-LEFT: 0.3em; DISPLAY: inline } #siteinfo { PADDING-BOTTOM: 45px; BACKGROUND-COLOR: #8596aa; MARGIN: 0px auto; = PADDING-LEFT: 22px; WIDTH: 972px; PADDING-RIGHT: 0px; FONT: 1em Arial, = Helvetica, sans-serif; COLOR: #ffffff; PADDING-TOP: 8px } #siteinfo A { COLOR: #ffffff } #siteinfo LI { LIST-STYLE-TYPE: none; PADDING-RIGHT: 0.4em; DISPLAY: inline } .axa { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/sponsor/axa-sponsor-bar.png); = PADDING-BOTTOM: 0px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: = left center } #page .widgets .axa H4 { BORDER-BOTTOM: medium none; BACKGROUND-COLOR: transparent; FONT-SIZE: = 1.3em; FONT-WEIGHT: bold } #page .widgets .axa H4 { COLOR: red; CURSOR: default; TEXT-DECORATION: none } #page .widgets .axa H4 A { COLOR: red; CURSOR: default; TEXT-DECORATION: none } .axa H4 { MARGIN-LEFT: 25px } .axa DIV.text-image-top { MARGIN-LEFT: 25px } #page .axa .text-image-top IMG { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: none; = BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0px } .axa .apply { COLOR: red } .axa UL.related-links { LIST-STYLE-POSITION: outside; MARGIN-LEFT: 30px } .axa .related-links LI P { MARGIN-BOTTOM: 8px; FONT-SIZE: 1em } .axa .related-links LI.first A { COLOR: red } .allstate { DISPLAY: none } ------=_NextPart_000_0033_01C9BE9B.5E2DD4C0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://static.usnews.com/css/article-index.css .holder { WIDTH: 780px; FLOAT: right } #page #section-opinion { WIDTH: 625px } .content { WIDTH: 430px; FLOAT: left } #section-opinion .content { WIDTH: 278px } .side-nav { WIDTH: 180px; FLOAT: right; _width: 178px } .side-nav { MARGIN-LEFT: 0px; MARGIN-RIGHT: 10px } #section-specific { MARGIN-LEFT: 0px; MARGIN-RIGHT: 10px } .widgets { WIDTH: 336px; FLOAT: left; MARGIN-LEFT: 10px; _margin-left: 9px } .content .body { PADDING-LEFT: 8px } .content P { LINE-HEIGHT: 1.6em; MARGIN-BOTTOM: 1.4em; FONT-SIZE: 1.2em } .content UL { LINE-HEIGHT: 1.6em; MARGIN-BOTTOM: 1.4em; FONT-SIZE: 1.2em } .content OL { LINE-HEIGHT: 1.6em; MARGIN-BOTTOM: 1.4em; FONT-SIZE: 1.2em } #page #blog { WIDTH: 609px; MARGIN-LEFT: 17px; _margin-left: 4px } #page #article { WIDTH: 609px; MARGIN-LEFT: 17px; _margin-left: 4px } #page #article-photo { WIDTH: 609px; MARGIN-LEFT: 17px; _margin-left: 4px } .content .correction { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 6px; FONT-STYLE: italic; PADDING-LEFT: 10px; WIDTH: = 169px; PADDING-RIGHT: 10px; FLOAT: right; MARGIN-LEFT: 6px; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 6px } .content .correction P { LINE-HEIGHT: 1.2em; MARGIN-BOTTOM: 0px } .content .correction STRONG { FONT-STYLE: normal } .content H4 { MARGIN-TOP: 5px; FONT-SIZE: 1.2em; FONT-WEIGHT: bold } .content DL { FONT-SIZE: 1.2em } .content DT { PADDING-RIGHT: 0.5em; FLOAT: left; FONT-WEIGHT: bold } .content DD { MARGIN: 0.5em 0px } #data_parms .control { BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; = PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT: 1em = Arial, Helvetica, sans-serif; MARGIN-BOTTOM: 5px; BACKGROUND: #eef2f5 0% = 50%; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid; = PADDING-TOP: 5px } #data_parms .control LABEL { DISPLAY: block; FONT-SIZE: 1.2em; FONT-WEIGHT: bold } IMG#triggerto { VERTICAL-ALIGN: middle; CURSOR: pointer } IMG#triggerfrom { VERTICAL-ALIGN: middle; CURSOR: pointer } .directory-result #display_controls { MARGIN: 5px 0px; FONT-SIZE: 0.9em } .directory-result H3.display_date { BORDER-BOTTOM: silver 1px solid; PADDING-BOTTOM: 3px; PADDING-LEFT: = 5px; PADDING-RIGHT: 5px; BACKGROUND: #eee; FONT-SIZE: 1.4em; BORDER-TOP: = silver 1px solid; PADDING-TOP: 3px } .entry { MARGIN: 1em 5px } .entry-info { FONT-STYLE: italic; COLOR: #666; FONT-SIZE: 1.1em } .entry P { PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-SIZE: = 1.2em; PADDING-TOP: 5px } .entry H4 { FONT-SIZE: 1.2em } #pagination { TEXT-ALIGN: center; PADDING-BOTTOM: 10px; MARGIN-TOP: 10px; = PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; PADDING-TOP: 10px } #pagination A { BORDER-BOTTOM: silver 1px solid; BORDER-LEFT: silver 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 0px 2px; PADDING-LEFT: 5px; PADDING-RIGHT: = 5px; FONT-SIZE: 1.2em; BORDER-TOP: silver 1px solid; BORDER-RIGHT: = silver 1px solid; PADDING-TOP: 5px } #current_page_link { BORDER-BOTTOM: silver 1px solid; BORDER-LEFT: silver 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 0px 2px; PADDING-LEFT: 5px; PADDING-RIGHT: = 5px; FONT-SIZE: 1.2em; BORDER-TOP: silver 1px solid; BORDER-RIGHT: = silver 1px solid; PADDING-TOP: 5px } #pagination A:hover { BACKGROUND: #eee } #current_page_link { BACKGROUND: #eee } .calendar { POSITION: relative; PADDING-RIGHT: 35px; DISPLAY: none; FONT-FAMILY: = tahoma, verdana, sans-serif; BACKGROUND: #ebf1f6; COLOR: #000; = FONT-SIZE: 11px; CURSOR: default; PADDING-TOP: 10px } .calendar TABLE { BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; = FONT-FAMILY: tahoma, verdana, sans-serif; BACKGROUND: white; COLOR: = #000; FONT-SIZE: 11px; BORDER-TOP: black 1px solid; CURSOR: default; = BORDER-RIGHT: black 1px solid } .calendar .button { BORDER-BOTTOM: #c3c3c3 1px solid; TEXT-ALIGN: center; PADDING-BOTTOM: = 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; PADDING-TOP: 2px } .calendar .nav { BACKGROUND: url(menuarrow.gif) no-repeat 100% 100% } .even { BACKGROUND: #ebf1f6 } .calendar THEAD .title { BORDER-BOTTOM: #c3c3c3 1px solid; TEXT-ALIGN: center; PADDING-BOTTOM: = 1px; PADDING-LEFT: 1px; PADDING-RIGHT: 1px; BACKGROUND: #ebf1f6; COLOR: = #000; FONT-WEIGHT: bold; PADDING-TOP: 1px } .calendar THEAD .headrow { BACKGROUND: #ebf1f6; COLOR: #000 } .calendar THEAD .daynames { BACKGROUND: #ebf1f6; COLOR: #000 } .calendar THEAD .name { BORDER-BOTTOM: #c3c3c3 1px solid; TEXT-ALIGN: center; PADDING-BOTTOM: = 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: #ebf1f6; = PADDING-TOP: 2px } .calendar THEAD .weekend { COLOR: #f00 } .calendar THEAD .hilite { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #e4e0d8; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; PADDING-TOP: 0px } .calendar THEAD .active { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #c4c0b8; PADDING-LEFT: 2px; = PADDING-RIGHT: 0px; PADDING-TOP: 2px } .calendar TBODY .day { TEXT-ALIGN: right; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 2em; = PADDING-RIGHT: 4px; BACKGROUND: #ebf1f6; PADDING-TOP: 2px } .calendar TBODY .othermonth.day { COLOR: #aaa; FONT-SIZE: 80% } .calendar TBODY .oweekend.othermonth.day { COLOR: #faa } .calendar TABLE .wn { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 3px; BACKGROUND: = #ffffff; BORDER-RIGHT: #c3c3c3 1px solid; PADDING-TOP: 2px } .calendar TBODY.tr .even { BACKGROUND: #ebf1f6 } .calendar TBODY .rowhilite TD { BACKGROUND: #ffffff } .calendar TBODY .rowhilite TD.wn { BACKGROUND: #ffffff } .calendar TBODY TD.hilite { BORDER-BOTTOM: #00f 1px solid; BORDER-LEFT: #00f 1px solid; = PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; PADDING-RIGHT: 3px; BACKGROUND: = #c4c0b8; BORDER-TOP: #00f 1px solid; BORDER-RIGHT: #00f 1px solid; = PADDING-TOP: 1px } .calendar TBODY TD.active { PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; = PADDING-TOP: 2px } .calendar TBODY TD.selected { PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: = #e4e0d8; FONT-WEIGHT: bold; PADDING-TOP: 2px } .calendar TBODY TD.weekend { COLOR: #f00 } .calendar TBODY TD.today { COLOR: #00f; FONT-WEIGHT: bold } .calendar TBODY .disabled { COLOR: #999 } .calendar TBODY .emptycell { BACKGROUND: #ebf1f6; VISIBILITY: hidden } .calendar TBODY .emptyrow { DISPLAY: none } .calendar TFOOT .footrow { =09 } .calendar TFOOT .ttip { TEXT-ALIGN: center; PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; = PADDING-RIGHT: 1px; BACKGROUND: #ebf1f6; COLOR: #000000; PADDING-TOP: = 1px } .calendar TFOOT .hilite { PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; PADDING-RIGHT: 1px; BACKGROUND: = #e4e0d8; PADDING-TOP: 1px } .calendar TFOOT .active { PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; = PADDING-TOP: 2px } .calendar .combo { Z-INDEX: 100; BORDER-BOTTOM: #000 1px solid; POSITION: absolute; = BORDER-LEFT: #fff 1px solid; PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; = WIDTH: 4em; PADDING-RIGHT: 1px; DISPLAY: none; BACKGROUND: #e4e0d8; = FONT-SIZE: 90%; BORDER-TOP: #fff 1px solid; TOP: 0px; CURSOR: default; = BORDER-RIGHT: #000 1px solid; PADDING-TOP: 1px; LEFT: 0px } .calendar .combo .label { TEXT-ALIGN: center; PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; = PADDING-RIGHT: 1px; PADDING-TOP: 1px } .calendar .combo .label-IEfix { TEXT-ALIGN: center; PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; = PADDING-RIGHT: 1px; PADDING-TOP: 1px } .calendar .combo .label-IEfix { WIDTH: 4em } .calendar .combo .active { BORDER-BOTTOM: #fff 1px solid; BORDER-LEFT: #000 1px solid; = PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BACKGROUND: = #c4c0b8; BORDER-TOP: #000 1px solid; BORDER-RIGHT: #fff 1px solid; = PADDING-TOP: 0px } .calendar .combo .hilite { BACKGROUND: #048; COLOR: #fea } .calendar TD.time { TEXT-ALIGN: center; PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #ebf1f6; = PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 1px } .calendar TD.time .hour { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ebf1f6; PADDING-LEFT: 4px; = PADDING-RIGHT: 3px; FONT-WEIGHT: bold; PADDING-TOP: 0px } .calendar TD.time .minute { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ebf1f6; PADDING-LEFT: 4px; = PADDING-RIGHT: 3px; FONT-WEIGHT: bold; PADDING-TOP: 0px } .calendar TD.time .ampm { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ebf1f6; PADDING-LEFT: 4px; = PADDING-RIGHT: 3px; FONT-WEIGHT: bold; PADDING-TOP: 0px } .calendar TD.time .ampm { TEXT-ALIGN: center } .calendar TD.time .colon { PADDING-BOTTOM: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 2px; = FONT-WEIGHT: bold; PADDING-TOP: 0px } .calendar TD.time SPAN.hilite { BACKGROUND-COLOR: #766; COLOR: #fff } .calendar TD.time SPAN.active { BACKGROUND-COLOR: #000; COLOR: #0f0 } #syndication { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = BACKGROUND-COLOR: #eef4f9; MARGIN-BOTTOM: 8px; HEIGHT: 100%; OVERFLOW: = auto; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid } #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 { BORDER-BOTTOM: #cccccc 1px dotted; PADDING-BOTTOM: 5px; PADDING-LEFT: = 12px; PADDING-RIGHT: 9px; PADDING-TOP: 5px } #feeds { BORDER-BOTTOM: #cccccc 1px dotted; PADDING-BOTTOM: 5px; PADDING-LEFT: = 12px; PADDING-RIGHT: 9px; PADDING-TOP: 5px } #mobile { BORDER-BOTTOM: #cccccc 1px dotted; PADDING-BOTTOM: 5px; PADDING-LEFT: = 12px; PADDING-RIGHT: 9px; PADDING-TOP: 5px } #feeds { BORDER-BOTTOM: 0px; WIDTH: 43%; FLOAT: left; BORDER-RIGHT: #cccccc 1px = dotted } #mobile { BORDER-BOTTOM: 0px; WIDTH: 43%; FLOAT: left; BORDER-RIGHT: #cccccc 1px = dotted } #syndication H2 { TEXT-TRANSFORM: uppercase; FONT-SIZE: 1em; FONT-WEIGHT: bold } #syndication H2 A { COLOR: #780808 } #syndication H2 A:hover { COLOR: #780808 } #mobile { BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: = 0px } #feeds H2 IMG { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: = 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: medium none; = BORDER-RIGHT: medium none; PADDING-TOP: 0px } #page IMG#RSSicon { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: = 2px; MARGIN: 0px 5px 0px -5px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; = FLOAT: left; BORDER-TOP: medium none; BORDER-RIGHT: medium none; = PADDING-TOP: 2px } #newsletters { BORDER-TOP: 0px } #newsletters FORM { PADDING-BOTTOM: 4px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = PADDING-TOP: 4px } #newsletters INPUT { BORDER-BOTTOM: #7d8084 1px solid; BORDER-LEFT: #7d8084 1px solid; = PADDING-BOTTOM: 0px; PADDING-LEFT: 4px; WIDTH: 270px; PADDING-RIGHT: = 0px; FONT: 1.1em georgia; HEIGHT: 17px; BORDER-TOP: #7d8084 1px solid; = BORDER-RIGHT: #7d8084 1px solid; PADDING-TOP: 2px } #newsletters INPUT#submit { BORDER-BOTTOM: 0px; TEXT-ALIGN: left; BORDER-LEFT: 0px; WIDTH: 9em; = BACKGROUND: #eef4f9; COLOR: #204894; BORDER-TOP: 0px; CURSOR: pointer; = BORDER-RIGHT: 0px } #external-widgets { PADDING-BOTTOM: 5px; PADDING-LEFT: 9px; PADDING-RIGHT: 9px; CLEAR: = both; BORDER-TOP: #cccccc 1px dotted; PADDING-TOP: 5px } .widgets .promo { BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; = PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; = MARGIN-BOTTOM: 8px; HEIGHT: 100%; OVERFLOW: hidden; BORDER-TOP: #ccc 1px = solid; BORDER-RIGHT: #ccc 1px solid; PADDING-TOP: 7px } #section-left .promo { BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; = PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; = MARGIN-BOTTOM: 8px; HEIGHT: 100%; OVERFLOW: hidden; BORDER-TOP: #ccc 1px = solid; BORDER-RIGHT: #ccc 1px solid; PADDING-TOP: 7px } #section-left .promo { MARGIN: 2px 0px; FONT-SIZE: 1.1em } .widgets .promo H4 { PADDING-BOTTOM: 4px; PADDING-LEFT: 1px; PADDING-RIGHT: 1px; FONT-SIZE: = 1em; PADDING-TOP: 0px } .widgets .promo H4 { TEXT-TRANSFORM: uppercase; COLOR: #780808 } .widgets .promo H4 A { TEXT-TRANSFORM: uppercase; COLOR: #780808 } #section-left .promo H4 { TEXT-TRANSFORM: uppercase; COLOR: #780808 } #section-left .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 #None { PADDING-BOTTOM: 3px } .widgets .promo .editors { BORDER-BOTTOM: #cdcdcd 1px dotted; MARGIN-BOTTOM: 10px } .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 } .subwidget { ZOOM: 1; OVERFLOW: auto } .subwidget .timestamp { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #333333; FONT-SIZE: = 0.9em } #section-specific .subwidget { BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 6px; MARGIN-BOTTOM: = 0px } .widgets H4 SPAN { TEXT-TRANSFORM: none; PADDING-LEFT: 3px; FONT-FAMILY: arial; COLOR: = #333333; FONT-SIZE: 0.9em } .faux-list H3 { BACKGROUND-IMAGE: = url(http://static.usnews.com/images/list-style-blue.gif); PADDING-LEFT: = 16px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: left center; = FONT-SIZE: 1.1em !important; FONT-WEIGHT: normal; PADDING-TOP: 2px } UL.ranking-column1 { WIDTH: 48%; FLOAT: left } UL.ranking-column2 { WIDTH: 48%; FLOAT: left } .twocolumn-left { MARGIN-TOP: 10px; WIDTH: 45%; FLOAT: left } .twocolumn-right { MARGIN-TOP: 10px; WIDTH: 45%; FLOAT: left } .twocolumn-left { CLEAR: left } .twocolumn-right { BORDER-LEFT: #cccccc 1px solid; PADDING-LEFT: 10px; MARGIN-LEFT: 3px } .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 } .lightblue { BACKGROUND-COLOR: #ebf1f6 } .quote .blurb { COLOR: #0147b9; FONT-WEIGHT: bold } .quote BIG { FONT-SIZE: 1.3em } .quote .blurb P { LINE-HEIGHT: 1.2em } .quote .cite { TEXT-ALIGN: right; MARGIN-BOTTOM: 8px; MARGIN-RIGHT: 10px } .quote .cite P { LINE-HEIGHT: 1em; FONT-STYLE: italic } .quote .cite STRONG { COLOR: #780808 } .quote .related-links LI { LIST-STYLE-TYPE: none; LIST-STYLE-IMAGE: none } .voter-guide H1 { TEXT-INDENT: -666em; WIDTH: 310px; BACKGROUND: = url(http://www.usnews.com/dbimages/master/7340/TH_PR_081020votersguideban= ner.png) no-repeat center top; HEIGHT: 30px; OVERFLOW: hidden } .voter-guide.promo H4 { TEXT-INDENT: -666em; WIDTH: 310px; BACKGROUND: = url(http://www.usnews.com/dbimages/master/7340/TH_PR_081020votersguideban= ner.png) no-repeat center top; HEIGHT: 30px; OVERFLOW: hidden } .voter-guide#feature-primary H4 { TEXT-INDENT: -666em; WIDTH: 310px; BACKGROUND: = url(http://www.usnews.com/dbimages/master/7340/TH_PR_081020votersguideban= ner.png) no-repeat center top; HEIGHT: 30px; OVERFLOW: hidden } .voter-guide H1 { WIDTH: 100% } .creditcards { PADDING-BOTTOM: 0px !important; PADDING-LEFT: 0px !important; WIDTH: = 177px; PADDING-RIGHT: 0px !important; PADDING-TOP: 0px !important } TABLE.ehs_rate_table { BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 5px 0px; BORDER-TOP: 0px; = BORDER-RIGHT: 0px } #section-articles DIV.election2008coverage { OVERFLOW: hidden } #section #section-articles DIV.election2008coverage .text-image-left IMG = { BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: = 0px } ------=_NextPart_000_0033_01C9BE9B.5E2DD4C0 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-BOTTOM: 0px; MARGIN: 0px 0px 0px -16px; PADDING-LEFT: 29px; = PADDING-RIGHT: 0px; HEIGHT: 22px; PADDING-TOP: 8px } #article-navigation LI.expanded.share DIV.social-bookmarking { POSITION: absolute; MARGIN-LEFT: 2em } #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_0033_01C9BE9B.5E2DD4C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://static.usnews.com/scripts/base.js document.write('');=0A= document.write('');=0A= ------=_NextPart_000_0033_01C9BE9B.5E2DD4C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.usnews.com/z3stub/++resource++CommonResources/jscalendar/calendar.js /* Copyright Mihai Bazon, 2002-2005 | www.bazon.net/mishoo=0A= * -----------------------------------------------------------=0A= *=0A= * The DHTML Calendar, version 1.0 "It is happening again"=0A= *=0A= * Details and latest version at:=0A= * www.dynarch.com/projects/calendar=0A= *=0A= * This script is developed by Dynarch.com. Visit us at www.dynarch.com.=0A= *=0A= * This script is distributed under the GNU Lesser General Public = License.=0A= * Read the entire license text here: = http://www.gnu.org/licenses/lgpl.html=0A= */=0A= =0A= // $Id: calendar.js,v 1.51 2005/03/07 16:44:31 mishoo Exp $=0A= =0A= /** The Calendar object constructor. */=0A= Calendar =3D function (firstDayOfWeek, dateStr, onSelected, onClose) {=0A= // member variables=0A= this.activeDiv =3D null;=0A= this.currentDateEl =3D null;=0A= this.getDateStatus =3D null;=0A= this.getDateToolTip =3D null;=0A= this.getDateText =3D null;=0A= this.timeout =3D null;=0A= this.onSelected =3D onSelected || null;=0A= this.onClose =3D onClose || null;=0A= this.dragging =3D false;=0A= this.hidden =3D false;=0A= this.minYear =3D 1970;=0A= this.maxYear =3D 2050;=0A= this.dateFormat =3D Calendar._TT["DEF_DATE_FORMAT"];=0A= this.ttDateFormat =3D Calendar._TT["TT_DATE_FORMAT"];=0A= this.isPopup =3D true;=0A= this.weekNumbers =3D true;=0A= this.firstDayOfWeek =3D typeof firstDayOfWeek =3D=3D "number" ? = firstDayOfWeek : Calendar._FD; // 0 for Sunday, 1 for Monday, etc.=0A= this.showsOtherMonths =3D false;=0A= this.dateStr =3D dateStr;=0A= this.ar_days =3D null;=0A= this.showsTime =3D false;=0A= this.time24 =3D true;=0A= this.yearStep =3D 2;=0A= this.hiliteToday =3D true;=0A= this.multiple =3D null;=0A= // HTML elements=0A= this.table =3D null;=0A= this.element =3D null;=0A= this.tbody =3D null;=0A= this.firstdayname =3D null;=0A= // Combo boxes=0A= this.monthsCombo =3D null;=0A= this.yearsCombo =3D null;=0A= this.hilitedMonth =3D null;=0A= this.activeMonth =3D null;=0A= this.hilitedYear =3D null;=0A= this.activeYear =3D null;=0A= // Information=0A= this.dateClicked =3D false;=0A= =0A= // one-time initializations=0A= if (typeof Calendar._SDN =3D=3D "undefined") {=0A= // table of short day names=0A= if (typeof Calendar._SDN_len =3D=3D "undefined")=0A= Calendar._SDN_len =3D 3;=0A= var ar =3D new Array();=0A= for (var i =3D 8; i > 0;) {=0A= ar[--i] =3D Calendar._DN[i].substr(0, Calendar._SDN_len);=0A= }=0A= Calendar._SDN =3D ar;=0A= // table of short month names=0A= if (typeof Calendar._SMN_len =3D=3D "undefined")=0A= Calendar._SMN_len =3D 3;=0A= ar =3D new Array();=0A= for (var i =3D 12; i > 0;) {=0A= ar[--i] =3D Calendar._MN[i].substr(0, Calendar._SMN_len);=0A= }=0A= Calendar._SMN =3D ar;=0A= }=0A= };=0A= =0A= // ** constants=0A= =0A= /// "static", needed for event handlers.=0A= Calendar._C =3D null;=0A= =0A= /// detect a special case of "web browser"=0A= Calendar.is_ie =3D ( /msie/i.test(navigator.userAgent) &&=0A= !/opera/i.test(navigator.userAgent) );=0A= =0A= Calendar.is_ie5 =3D ( Calendar.is_ie && /msie = 5\.0/i.test(navigator.userAgent) );=0A= =0A= /// detect Opera browser=0A= Calendar.is_opera =3D /opera/i.test(navigator.userAgent);=0A= =0A= /// detect KHTML-based browsers=0A= Calendar.is_khtml =3D = /Konqueror|Safari|KHTML/i.test(navigator.userAgent);=0A= =0A= // BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a = separate=0A= // library, at some point.=0A= =0A= Calendar.getAbsolutePos =3D function(el) {=0A= var SL =3D 0, ST =3D 0;=0A= var is_div =3D /^div$/i.test(el.tagName);=0A= if (is_div && el.scrollLeft)=0A= SL =3D el.scrollLeft;=0A= if (is_div && el.scrollTop)=0A= ST =3D el.scrollTop;=0A= var r =3D { x: el.offsetLeft - SL, y: el.offsetTop - ST };=0A= if (el.offsetParent) {=0A= var tmp =3D this.getAbsolutePos(el.offsetParent);=0A= r.x +=3D tmp.x;=0A= r.y +=3D tmp.y;=0A= }=0A= return r;=0A= };=0A= =0A= Calendar.isRelated =3D function (el, evt) {=0A= var related =3D evt.relatedTarget;=0A= if (!related) {=0A= var type =3D evt.type;=0A= if (type =3D=3D "mouseover") {=0A= related =3D evt.fromElement;=0A= } else if (type =3D=3D "mouseout") {=0A= related =3D evt.toElement;=0A= }=0A= }=0A= while (related) {=0A= if (related =3D=3D el) {=0A= return true;=0A= }=0A= related =3D related.parentNode;=0A= }=0A= return false;=0A= };=0A= =0A= Calendar.removeClass =3D function(el, className) {=0A= if (!(el && el.className)) {=0A= return;=0A= }=0A= var cls =3D el.className.split(" ");=0A= var ar =3D new Array();=0A= for (var i =3D cls.length; i > 0;) {=0A= if (cls[--i] !=3D className) {=0A= ar[ar.length] =3D cls[i];=0A= }=0A= }=0A= el.className =3D ar.join(" ");=0A= };=0A= =0A= Calendar.addClass =3D function(el, className) {=0A= Calendar.removeClass(el, className);=0A= el.className +=3D " " + className;=0A= };=0A= =0A= // FIXME: the following 2 functions totally suck, are useless and should = be replaced immediately.=0A= Calendar.getElement =3D function(ev) {=0A= var f =3D Calendar.is_ie ? window.event.srcElement : ev.currentTarget;=0A= while (f.nodeType !=3D 1 || /^div$/i.test(f.tagName))=0A= f =3D f.parentNode;=0A= return f;=0A= };=0A= =0A= Calendar.getTargetElement =3D function(ev) {=0A= var f =3D Calendar.is_ie ? window.event.srcElement : ev.target;=0A= while (f.nodeType !=3D 1)=0A= f =3D f.parentNode;=0A= return f;=0A= };=0A= =0A= Calendar.stopEvent =3D function(ev) {=0A= ev || (ev =3D window.event);=0A= if (Calendar.is_ie) {=0A= ev.cancelBubble =3D true;=0A= ev.returnValue =3D false;=0A= } else {=0A= ev.preventDefault();=0A= ev.stopPropagation();=0A= }=0A= return false;=0A= };=0A= =0A= Calendar.addEvent =3D function(el, evname, func) {=0A= if (el.attachEvent) { // IE=0A= el.attachEvent("on" + evname, func);=0A= } else if (el.addEventListener) { // Gecko / W3C=0A= el.addEventListener(evname, func, true);=0A= } else {=0A= el["on" + evname] =3D func;=0A= }=0A= };=0A= =0A= Calendar.removeEvent =3D function(el, evname, func) {=0A= if (el.detachEvent) { // IE=0A= el.detachEvent("on" + evname, func);=0A= } else if (el.removeEventListener) { // Gecko / W3C=0A= el.removeEventListener(evname, func, true);=0A= } else {=0A= el["on" + evname] =3D null;=0A= }=0A= };=0A= =0A= Calendar.createElement =3D function(type, parent) {=0A= var el =3D null;=0A= if (document.createElementNS) {=0A= // use the XHTML namespace; IE won't normally get here unless=0A= // _they_ "fix" the DOM2 implementation.=0A= el =3D document.createElementNS("http://www.w3.org/1999/xhtml", type);=0A= } else {=0A= el =3D document.createElement(type);=0A= }=0A= if (typeof parent !=3D "undefined") {=0A= parent.appendChild(el);=0A= }=0A= return el;=0A= };=0A= =0A= // END: UTILITY FUNCTIONS=0A= =0A= // BEGIN: CALENDAR STATIC FUNCTIONS=0A= =0A= /** Internal -- adds a set of events to make some element behave like a = button. */=0A= Calendar._add_evs =3D function(el) {=0A= with (Calendar) {=0A= addEvent(el, "mouseover", dayMouseOver);=0A= addEvent(el, "mousedown", dayMouseDown);=0A= addEvent(el, "mouseout", dayMouseOut);=0A= if (is_ie) {=0A= addEvent(el, "dblclick", dayMouseDblClick);=0A= el.setAttribute("unselectable", true);=0A= }=0A= }=0A= };=0A= =0A= Calendar.findMonth =3D function(el) {=0A= if (typeof el.month !=3D "undefined") {=0A= return el;=0A= } else if (typeof el.parentNode.month !=3D "undefined") {=0A= return el.parentNode;=0A= }=0A= return null;=0A= };=0A= =0A= Calendar.findYear =3D function(el) {=0A= if (typeof el.year !=3D "undefined") {=0A= return el;=0A= } else if (typeof el.parentNode.year !=3D "undefined") {=0A= return el.parentNode;=0A= }=0A= return null;=0A= };=0A= =0A= Calendar.showMonthsCombo =3D function () {=0A= var cal =3D Calendar._C;=0A= if (!cal) {=0A= return false;=0A= }=0A= var cal =3D cal;=0A= var cd =3D cal.activeDiv;=0A= var mc =3D cal.monthsCombo;=0A= if (cal.hilitedMonth) {=0A= Calendar.removeClass(cal.hilitedMonth, "hilite");=0A= }=0A= if (cal.activeMonth) {=0A= Calendar.removeClass(cal.activeMonth, "active");=0A= }=0A= var mon =3D = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];=0A= Calendar.addClass(mon, "active");=0A= cal.activeMonth =3D mon;=0A= var s =3D mc.style;=0A= s.display =3D "block";=0A= if (cd.navtype < 0)=0A= s.left =3D cd.offsetLeft + "px";=0A= else {=0A= var mcw =3D mc.offsetWidth;=0A= if (typeof mcw =3D=3D "undefined")=0A= // Konqueror brain-dead techniques=0A= mcw =3D 50;=0A= s.left =3D (cd.offsetLeft + cd.offsetWidth - mcw) + "px";=0A= }=0A= s.top =3D (cd.offsetTop + cd.offsetHeight) + "px";=0A= };=0A= =0A= Calendar.showYearsCombo =3D function (fwd) {=0A= var cal =3D Calendar._C;=0A= if (!cal) {=0A= return false;=0A= }=0A= var cal =3D cal;=0A= var cd =3D cal.activeDiv;=0A= var yc =3D cal.yearsCombo;=0A= if (cal.hilitedYear) {=0A= Calendar.removeClass(cal.hilitedYear, "hilite");=0A= }=0A= if (cal.activeYear) {=0A= Calendar.removeClass(cal.activeYear, "active");=0A= }=0A= cal.activeYear =3D null;=0A= var Y =3D cal.date.getFullYear() + (fwd ? 1 : -1);=0A= var yr =3D yc.firstChild;=0A= var show =3D false;=0A= for (var i =3D 12; i > 0; --i) {=0A= if (Y >=3D cal.minYear && Y <=3D cal.maxYear) {=0A= yr.innerHTML =3D Y;=0A= yr.year =3D Y;=0A= yr.style.display =3D "block";=0A= show =3D true;=0A= } else {=0A= yr.style.display =3D "none";=0A= }=0A= yr =3D yr.nextSibling;=0A= Y +=3D fwd ? cal.yearStep : -cal.yearStep;=0A= }=0A= if (show) {=0A= var s =3D yc.style;=0A= s.display =3D "block";=0A= if (cd.navtype < 0)=0A= s.left =3D cd.offsetLeft + "px";=0A= else {=0A= var ycw =3D yc.offsetWidth;=0A= if (typeof ycw =3D=3D "undefined")=0A= // Konqueror brain-dead techniques=0A= ycw =3D 50;=0A= s.left =3D (cd.offsetLeft + cd.offsetWidth - ycw) + "px";=0A= }=0A= s.top =3D (cd.offsetTop + cd.offsetHeight) + "px";=0A= }=0A= };=0A= =0A= // event handlers=0A= =0A= Calendar.tableMouseUp =3D function(ev) {=0A= var cal =3D Calendar._C;=0A= if (!cal) {=0A= return false;=0A= }=0A= if (cal.timeout) {=0A= clearTimeout(cal.timeout);=0A= }=0A= var el =3D cal.activeDiv;=0A= if (!el) {=0A= return false;=0A= }=0A= var target =3D Calendar.getTargetElement(ev);=0A= ev || (ev =3D window.event);=0A= Calendar.removeClass(el, "active");=0A= if (target =3D=3D el || target.parentNode =3D=3D el) {=0A= Calendar.cellClick(el, ev);=0A= }=0A= var mon =3D Calendar.findMonth(target);=0A= var date =3D null;=0A= if (mon) {=0A= date =3D new Date(cal.date);=0A= if (mon.month !=3D date.getMonth()) {=0A= date.setMonth(mon.month);=0A= cal.setDate(date);=0A= cal.dateClicked =3D false;=0A= cal.callHandler();=0A= }=0A= } else {=0A= var year =3D Calendar.findYear(target);=0A= if (year) {=0A= date =3D new Date(cal.date);=0A= if (year.year !=3D date.getFullYear()) {=0A= date.setFullYear(year.year);=0A= cal.setDate(date);=0A= cal.dateClicked =3D false;=0A= cal.callHandler();=0A= }=0A= }=0A= }=0A= with (Calendar) {=0A= removeEvent(document, "mouseup", tableMouseUp);=0A= removeEvent(document, "mouseover", tableMouseOver);=0A= removeEvent(document, "mousemove", tableMouseOver);=0A= cal._hideCombos();=0A= _C =3D null;=0A= return stopEvent(ev);=0A= }=0A= };=0A= =0A= Calendar.tableMouseOver =3D function (ev) {=0A= var cal =3D Calendar._C;=0A= if (!cal) {=0A= return;=0A= }=0A= var el =3D cal.activeDiv;=0A= var target =3D Calendar.getTargetElement(ev);=0A= if (target =3D=3D el || target.parentNode =3D=3D el) {=0A= Calendar.addClass(el, "hilite active");=0A= Calendar.addClass(el.parentNode, "rowhilite");=0A= } else {=0A= if (typeof el.navtype =3D=3D "undefined" || (el.navtype !=3D 50 && = (el.navtype =3D=3D 0 || Math.abs(el.navtype) > 2)))=0A= Calendar.removeClass(el, "active");=0A= Calendar.removeClass(el, "hilite");=0A= Calendar.removeClass(el.parentNode, "rowhilite");=0A= }=0A= ev || (ev =3D window.event);=0A= if (el.navtype =3D=3D 50 && target !=3D el) {=0A= var pos =3D Calendar.getAbsolutePos(el);=0A= var w =3D el.offsetWidth;=0A= var x =3D ev.clientX;=0A= var dx;=0A= var decrease =3D true;=0A= if (x > pos.x + w) {=0A= dx =3D x - pos.x - w;=0A= decrease =3D false;=0A= } else=0A= dx =3D pos.x - x;=0A= =0A= if (dx < 0) dx =3D 0;=0A= var range =3D el._range;=0A= var current =3D el._current;=0A= var count =3D Math.floor(dx / 10) % range.length;=0A= for (var i =3D range.length; --i >=3D 0;)=0A= if (range[i] =3D=3D current)=0A= break;=0A= while (count-- > 0)=0A= if (decrease) {=0A= if (--i < 0)=0A= i =3D range.length - 1;=0A= } else if ( ++i >=3D range.length )=0A= i =3D 0;=0A= var newval =3D range[i];=0A= el.innerHTML =3D newval;=0A= =0A= cal.onUpdateTime();=0A= }=0A= var mon =3D Calendar.findMonth(target);=0A= if (mon) {=0A= if (mon.month !=3D cal.date.getMonth()) {=0A= if (cal.hilitedMonth) {=0A= Calendar.removeClass(cal.hilitedMonth, "hilite");=0A= }=0A= Calendar.addClass(mon, "hilite");=0A= cal.hilitedMonth =3D mon;=0A= } else if (cal.hilitedMonth) {=0A= Calendar.removeClass(cal.hilitedMonth, "hilite");=0A= }=0A= } else {=0A= if (cal.hilitedMonth) {=0A= Calendar.removeClass(cal.hilitedMonth, "hilite");=0A= }=0A= var year =3D Calendar.findYear(target);=0A= if (year) {=0A= if (year.year !=3D cal.date.getFullYear()) {=0A= if (cal.hilitedYear) {=0A= Calendar.removeClass(cal.hilitedYear, "hilite");=0A= }=0A= Calendar.addClass(year, "hilite");=0A= cal.hilitedYear =3D year;=0A= } else if (cal.hilitedYear) {=0A= Calendar.removeClass(cal.hilitedYear, "hilite");=0A= }=0A= } else if (cal.hilitedYear) {=0A= Calendar.removeClass(cal.hilitedYear, "hilite");=0A= }=0A= }=0A= return Calendar.stopEvent(ev);=0A= };=0A= =0A= Calendar.tableMouseDown =3D function (ev) {=0A= if (Calendar.getTargetElement(ev) =3D=3D Calendar.getElement(ev)) {=0A= return Calendar.stopEvent(ev);=0A= }=0A= };=0A= =0A= Calendar.calDragIt =3D function (ev) {=0A= var cal =3D Calendar._C;=0A= if (!(cal && cal.dragging)) {=0A= return false;=0A= }=0A= var posX;=0A= var posY;=0A= if (Calendar.is_ie) {=0A= posY =3D window.event.clientY + document.body.scrollTop;=0A= posX =3D window.event.clientX + document.body.scrollLeft;=0A= } else {=0A= posX =3D ev.pageX;=0A= posY =3D ev.pageY;=0A= }=0A= cal.hideShowCovered();=0A= var st =3D cal.element.style;=0A= st.left =3D (posX - cal.xOffs) + "px";=0A= st.top =3D (posY - cal.yOffs) + "px";=0A= return Calendar.stopEvent(ev);=0A= };=0A= =0A= Calendar.calDragEnd =3D function (ev) {=0A= var cal =3D Calendar._C;=0A= if (!cal) {=0A= return false;=0A= }=0A= cal.dragging =3D false;=0A= with (Calendar) {=0A= removeEvent(document, "mousemove", calDragIt);=0A= removeEvent(document, "mouseup", calDragEnd);=0A= tableMouseUp(ev);=0A= }=0A= cal.hideShowCovered();=0A= };=0A= =0A= Calendar.dayMouseDown =3D function(ev) {=0A= var el =3D Calendar.getElement(ev);=0A= if (el.disabled) {=0A= return false;=0A= }=0A= var cal =3D el.calendar;=0A= cal.activeDiv =3D el;=0A= Calendar._C =3D cal;=0A= if (el.navtype !=3D 300) with (Calendar) {=0A= if (el.navtype =3D=3D 50) {=0A= el._current =3D el.innerHTML;=0A= addEvent(document, "mousemove", tableMouseOver);=0A= } else=0A= addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover", = tableMouseOver);=0A= addClass(el, "hilite active");=0A= addEvent(document, "mouseup", tableMouseUp);=0A= } else if (cal.isPopup) {=0A= cal._dragStart(ev);=0A= }=0A= if (el.navtype =3D=3D -1 || el.navtype =3D=3D 1) {=0A= if (cal.timeout) clearTimeout(cal.timeout);=0A= cal.timeout =3D setTimeout("Calendar.showMonthsCombo()", 250);=0A= } else if (el.navtype =3D=3D -2 || el.navtype =3D=3D 2) {=0A= if (cal.timeout) clearTimeout(cal.timeout);=0A= cal.timeout =3D setTimeout((el.navtype > 0) ? = "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250);=0A= } else {=0A= cal.timeout =3D null;=0A= }=0A= return Calendar.stopEvent(ev);=0A= };=0A= =0A= Calendar.dayMouseDblClick =3D function(ev) {=0A= Calendar.cellClick(Calendar.getElement(ev), ev || window.event);=0A= if (Calendar.is_ie) {=0A= document.selection.empty();=0A= }=0A= };=0A= =0A= Calendar.dayMouseOver =3D function(ev) {=0A= var el =3D Calendar.getElement(ev);=0A= if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) {=0A= return false;=0A= }=0A= if (el.ttip) {=0A= if (el.ttip.substr(0, 1) =3D=3D "_") {=0A= el.ttip =3D el.caldate.print(el.calendar.ttDateFormat) + = el.ttip.substr(1);=0A= }=0A= el.calendar.tooltips.innerHTML =3D el.ttip;=0A= }=0A= if (el.navtype !=3D 300) {=0A= Calendar.addClass(el, "hilite");=0A= if (el.caldate) {=0A= Calendar.addClass(el.parentNode, "rowhilite");=0A= }=0A= }=0A= return Calendar.stopEvent(ev);=0A= };=0A= =0A= Calendar.dayMouseOut =3D function(ev) {=0A= with (Calendar) {=0A= var el =3D getElement(ev);=0A= if (isRelated(el, ev) || _C || el.disabled)=0A= return false;=0A= removeClass(el, "hilite");=0A= if (el.caldate)=0A= removeClass(el.parentNode, "rowhilite");=0A= if (el.calendar)=0A= el.calendar.tooltips.innerHTML =3D _TT["SEL_DATE"];=0A= return stopEvent(ev);=0A= }=0A= };=0A= =0A= /**=0A= * A generic "click" handler :) handles all types of buttons defined in = this=0A= * calendar.=0A= */=0A= Calendar.cellClick =3D function(el, ev) {=0A= var cal =3D el.calendar;=0A= var closing =3D false;=0A= var newdate =3D false;=0A= var date =3D null;=0A= if (typeof el.navtype =3D=3D "undefined") {=0A= if (cal.currentDateEl) {=0A= Calendar.removeClass(cal.currentDateEl, "selected");=0A= Calendar.addClass(el, "selected");=0A= closing =3D (cal.currentDateEl =3D=3D el);=0A= if (!closing) {=0A= cal.currentDateEl =3D el;=0A= }=0A= }=0A= cal.date.setDateOnly(el.caldate);=0A= date =3D cal.date;=0A= var other_month =3D !(cal.dateClicked =3D !el.otherMonth);=0A= if (!other_month && !cal.currentDateEl)=0A= cal._toggleMultipleDate(new Date(date));=0A= else=0A= newdate =3D !el.disabled;=0A= // a date was clicked=0A= if (other_month)=0A= cal._init(cal.firstDayOfWeek, date);=0A= } else {=0A= if (el.navtype =3D=3D 200) {=0A= Calendar.removeClass(el, "hilite");=0A= cal.callCloseHandler();=0A= return;=0A= }=0A= date =3D new Date(cal.date);=0A= if (el.navtype =3D=3D 0)=0A= date.setDateOnly(new Date()); // TODAY=0A= // unless "today" was clicked, we assume no date was clicked so=0A= // the selected handler will know not to close the calenar when=0A= // in single-click mode.=0A= // cal.dateClicked =3D (el.navtype =3D=3D 0);=0A= cal.dateClicked =3D false;=0A= var year =3D date.getFullYear();=0A= var mon =3D date.getMonth();=0A= function setMonth(m) {=0A= var day =3D date.getDate();=0A= var max =3D date.getMonthDays(m);=0A= if (day > max) {=0A= date.setDate(max);=0A= }=0A= date.setMonth(m);=0A= };=0A= switch (el.navtype) {=0A= case 400:=0A= Calendar.removeClass(el, "hilite");=0A= var text =3D Calendar._TT["ABOUT"];=0A= if (typeof text !=3D "undefined") {=0A= text +=3D cal.showsTime ? Calendar._TT["ABOUT_TIME"] : "";=0A= } else {=0A= // FIXME: this should be removed as soon as lang files get updated!=0A= text =3D "Help and about box text is not translated into this = language.\n" +=0A= "If you know this language and you feel generous please update\n" +=0A= "the corresponding file in \"lang\" subdir to match = calendar-en.js\n" +=0A= "and send it back to to get it into the = distribution ;-)\n\n" +=0A= "Thank you!\n" +=0A= "http://dynarch.com/mishoo/calendar.epl\n";=0A= }=0A= alert(text);=0A= return;=0A= case -2:=0A= if (year > cal.minYear) {=0A= date.setFullYear(year - 1);=0A= }=0A= break;=0A= case -1:=0A= if (mon > 0) {=0A= setMonth(mon - 1);=0A= } else if (year-- > cal.minYear) {=0A= date.setFullYear(year);=0A= setMonth(11);=0A= }=0A= break;=0A= case 1:=0A= if (mon < 11) {=0A= setMonth(mon + 1);=0A= } else if (year < cal.maxYear) {=0A= date.setFullYear(year + 1);=0A= setMonth(0);=0A= }=0A= break;=0A= case 2:=0A= if (year < cal.maxYear) {=0A= date.setFullYear(year + 1);=0A= }=0A= break;=0A= case 100:=0A= cal.setFirstDayOfWeek(el.fdow);=0A= return;=0A= case 50:=0A= var range =3D el._range;=0A= var current =3D el.innerHTML;=0A= for (var i =3D range.length; --i >=3D 0;)=0A= if (range[i] =3D=3D current)=0A= break;=0A= if (ev && ev.shiftKey) {=0A= if (--i < 0)=0A= i =3D range.length - 1;=0A= } else if ( ++i >=3D range.length )=0A= i =3D 0;=0A= var newval =3D range[i];=0A= el.innerHTML =3D newval;=0A= cal.onUpdateTime();=0A= return;=0A= case 0:=0A= // TODAY will bring us here=0A= if ((typeof cal.getDateStatus =3D=3D "function") &&=0A= cal.getDateStatus(date, date.getFullYear(), date.getMonth(), = date.getDate())) {=0A= return false;=0A= }=0A= break;=0A= }=0A= if (!date.equalsTo(cal.date)) {=0A= cal.setDate(date);=0A= newdate =3D true;=0A= } else if (el.navtype =3D=3D 0)=0A= newdate =3D closing =3D true;=0A= }=0A= if (newdate) {=0A= ev && cal.callHandler();=0A= }=0A= if (closing) {=0A= Calendar.removeClass(el, "hilite");=0A= ev && cal.callCloseHandler();=0A= }=0A= };=0A= =0A= // END: CALENDAR STATIC FUNCTIONS=0A= =0A= // BEGIN: CALENDAR OBJECT FUNCTIONS=0A= =0A= /**=0A= * This function creates the calendar inside the given parent. If _par = is=0A= * null than it creates a popup calendar inside the BODY element. If = _par is=0A= * an element, be it BODY, then it creates a non-popup calendar (still=0A= * hidden). Some properties need to be set before calling this = function.=0A= */=0A= Calendar.prototype.create =3D function (_par) {=0A= var parent =3D null;=0A= if (! _par) {=0A= // default parent is the document body, in which case we create=0A= // a popup calendar.=0A= parent =3D document.getElementsByTagName("body")[0];=0A= this.isPopup =3D true;=0A= } else {=0A= parent =3D _par;=0A= this.isPopup =3D false;=0A= }=0A= this.date =3D this.dateStr ? new Date(this.dateStr) : new Date();=0A= =0A= var table =3D Calendar.createElement("table");=0A= this.table =3D table;=0A= table.cellSpacing =3D 0;=0A= table.cellPadding =3D 0;=0A= table.calendar =3D this;=0A= Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown);=0A= =0A= var div =3D Calendar.createElement("div");=0A= this.element =3D div;=0A= div.className =3D "calendar";=0A= if (this.isPopup) {=0A= div.style.position =3D "absolute";=0A= div.style.display =3D "none";=0A= }=0A= div.appendChild(table);=0A= =0A= var thead =3D Calendar.createElement("thead", table);=0A= var cell =3D null;=0A= var row =3D null;=0A= =0A= var cal =3D this;=0A= var hh =3D function (text, cs, navtype) {=0A= cell =3D Calendar.createElement("td", row);=0A= cell.colSpan =3D cs;=0A= cell.className =3D "button";=0A= if (navtype !=3D 0 && Math.abs(navtype) <=3D 2)=0A= cell.className +=3D " nav";=0A= Calendar._add_evs(cell);=0A= cell.calendar =3D cal;=0A= cell.navtype =3D navtype;=0A= cell.innerHTML =3D "
" + text + "
";=0A= return cell;=0A= };=0A= =0A= row =3D Calendar.createElement("tr", thead);=0A= var title_length =3D 6;=0A= (this.isPopup) && --title_length;=0A= (this.weekNumbers) && ++title_length;=0A= =0A= hh("?", 1, 400).ttip =3D Calendar._TT["INFO"];=0A= this.title =3D hh("", title_length, 300);=0A= this.title.className =3D "title";=0A= if (this.isPopup) {=0A= this.title.ttip =3D Calendar._TT["DRAG_TO_MOVE"];=0A= this.title.style.cursor =3D "move";=0A= hh("×", 1, 200).ttip =3D Calendar._TT["CLOSE"];=0A= }=0A= =0A= row =3D Calendar.createElement("tr", thead);=0A= row.className =3D "headrow";=0A= =0A= this._nav_py =3D hh("«", 1, -2);=0A= this._nav_py.ttip =3D Calendar._TT["PREV_YEAR"];=0A= =0A= this._nav_pm =3D hh("‹", 1, -1);=0A= this._nav_pm.ttip =3D Calendar._TT["PREV_MONTH"];=0A= =0A= this._nav_now =3D hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, = 0);=0A= this._nav_now.ttip =3D Calendar._TT["GO_TODAY"];=0A= =0A= this._nav_nm =3D hh("›", 1, 1);=0A= this._nav_nm.ttip =3D Calendar._TT["NEXT_MONTH"];=0A= =0A= this._nav_ny =3D hh("»", 1, 2);=0A= this._nav_ny.ttip =3D Calendar._TT["NEXT_YEAR"];=0A= =0A= // day names=0A= row =3D Calendar.createElement("tr", thead);=0A= row.className =3D "daynames";=0A= if (this.weekNumbers) {=0A= cell =3D Calendar.createElement("td", row);=0A= cell.className =3D "name wn";=0A= cell.innerHTML =3D Calendar._TT["WK"];=0A= }=0A= for (var i =3D 7; i > 0; --i) {=0A= cell =3D Calendar.createElement("td", row);=0A= if (!i) {=0A= cell.navtype =3D 100;=0A= cell.calendar =3D this;=0A= Calendar._add_evs(cell);=0A= }=0A= }=0A= this.firstdayname =3D (this.weekNumbers) ? row.firstChild.nextSibling : = row.firstChild;=0A= this._displayWeekdays();=0A= =0A= var tbody =3D Calendar.createElement("tbody", table);=0A= this.tbody =3D tbody;=0A= =0A= for (i =3D 6; i > 0; --i) {=0A= row =3D Calendar.createElement("tr", tbody);=0A= if (this.weekNumbers) {=0A= cell =3D Calendar.createElement("td", row);=0A= }=0A= for (var j =3D 7; j > 0; --j) {=0A= cell =3D Calendar.createElement("td", row);=0A= cell.calendar =3D this;=0A= Calendar._add_evs(cell);=0A= }=0A= }=0A= =0A= if (this.showsTime) {=0A= row =3D Calendar.createElement("tr", tbody);=0A= row.className =3D "time";=0A= =0A= cell =3D Calendar.createElement("td", row);=0A= cell.className =3D "time";=0A= cell.colSpan =3D 2;=0A= cell.innerHTML =3D Calendar._TT["TIME"] || " ";=0A= =0A= cell =3D Calendar.createElement("td", row);=0A= cell.className =3D "time";=0A= cell.colSpan =3D this.weekNumbers ? 4 : 3;=0A= =0A= (function(){=0A= function makeTimePart(className, init, range_start, range_end) {=0A= var part =3D Calendar.createElement("span", cell);=0A= part.className =3D className;=0A= part.innerHTML =3D init;=0A= part.calendar =3D cal;=0A= part.ttip =3D Calendar._TT["TIME_PART"];=0A= part.navtype =3D 50;=0A= part._range =3D [];=0A= if (typeof range_start !=3D "number")=0A= part._range =3D range_start;=0A= else {=0A= for (var i =3D range_start; i <=3D range_end; ++i) {=0A= var txt;=0A= if (i < 10 && range_end >=3D 10) txt =3D '0' + i;=0A= else txt =3D '' + i;=0A= part._range[part._range.length] =3D txt;=0A= }=0A= }=0A= Calendar._add_evs(part);=0A= return part;=0A= };=0A= var hrs =3D cal.date.getHours();=0A= var mins =3D cal.date.getMinutes();=0A= var t12 =3D !cal.time24;=0A= var pm =3D (hrs > 12);=0A= if (t12 && pm) hrs -=3D 12;=0A= var H =3D makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23);=0A= var span =3D Calendar.createElement("span", cell);=0A= span.innerHTML =3D ":";=0A= span.className =3D "colon";=0A= var M =3D makeTimePart("minute", mins, 0, 59);=0A= var AP =3D null;=0A= cell =3D Calendar.createElement("td", row);=0A= cell.className =3D "time";=0A= cell.colSpan =3D 2;=0A= if (t12)=0A= AP =3D makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]);=0A= else=0A= cell.innerHTML =3D " ";=0A= =0A= cal.onSetTime =3D function() {=0A= var pm, hrs =3D this.date.getHours(),=0A= mins =3D this.date.getMinutes();=0A= if (t12) {=0A= pm =3D (hrs >=3D 12);=0A= if (pm) hrs -=3D 12;=0A= if (hrs =3D=3D 0) hrs =3D 12;=0A= AP.innerHTML =3D pm ? "pm" : "am";=0A= }=0A= H.innerHTML =3D (hrs < 10) ? ("0" + hrs) : hrs;=0A= M.innerHTML =3D (mins < 10) ? ("0" + mins) : mins;=0A= };=0A= =0A= cal.onUpdateTime =3D function() {=0A= var date =3D this.date;=0A= var h =3D parseInt(H.innerHTML, 10);=0A= if (t12) {=0A= if (/pm/i.test(AP.innerHTML) && h < 12)=0A= h +=3D 12;=0A= else if (/am/i.test(AP.innerHTML) && h =3D=3D 12)=0A= h =3D 0;=0A= }=0A= var d =3D date.getDate();=0A= var m =3D date.getMonth();=0A= var y =3D date.getFullYear();=0A= date.setHours(h);=0A= date.setMinutes(parseInt(M.innerHTML, 10));=0A= date.setFullYear(y);=0A= date.setMonth(m);=0A= date.setDate(d);=0A= this.dateClicked =3D false;=0A= this.callHandler();=0A= };=0A= })();=0A= } else {=0A= this.onSetTime =3D this.onUpdateTime =3D function() {};=0A= }=0A= =0A= var tfoot =3D Calendar.createElement("tfoot", table);=0A= =0A= row =3D Calendar.createElement("tr", tfoot);=0A= row.className =3D "footrow";=0A= =0A= cell =3D hh(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7, 300);=0A= cell.className =3D "ttip";=0A= if (this.isPopup) {=0A= cell.ttip =3D Calendar._TT["DRAG_TO_MOVE"];=0A= cell.style.cursor =3D "move";=0A= }=0A= this.tooltips =3D cell;=0A= =0A= div =3D Calendar.createElement("div", this.element);=0A= this.monthsCombo =3D div;=0A= div.className =3D "combo";=0A= for (i =3D 0; i < Calendar._MN.length; ++i) {=0A= var mn =3D Calendar.createElement("div");=0A= mn.className =3D Calendar.is_ie ? "label-IEfix" : "label";=0A= mn.month =3D i;=0A= mn.innerHTML =3D Calendar._SMN[i];=0A= div.appendChild(mn);=0A= }=0A= =0A= div =3D Calendar.createElement("div", this.element);=0A= this.yearsCombo =3D div;=0A= div.className =3D "combo";=0A= for (i =3D 12; i > 0; --i) {=0A= var yr =3D Calendar.createElement("div");=0A= yr.className =3D Calendar.is_ie ? "label-IEfix" : "label";=0A= div.appendChild(yr);=0A= }=0A= =0A= this._init(this.firstDayOfWeek, this.date);=0A= parent.appendChild(this.element);=0A= };=0A= =0A= /** keyboard navigation, only for popup calendars */=0A= Calendar._keyEvent =3D function(ev) {=0A= var cal =3D window._dynarch_popupCalendar;=0A= if (!cal || cal.multiple)=0A= return false;=0A= (Calendar.is_ie) && (ev =3D window.event);=0A= var act =3D (Calendar.is_ie || ev.type =3D=3D "keypress"),=0A= K =3D ev.keyCode;=0A= if (ev.ctrlKey) {=0A= switch (K) {=0A= case 37: // KEY left=0A= act && Calendar.cellClick(cal._nav_pm);=0A= break;=0A= case 38: // KEY up=0A= act && Calendar.cellClick(cal._nav_py);=0A= break;=0A= case 39: // KEY right=0A= act && Calendar.cellClick(cal._nav_nm);=0A= break;=0A= case 40: // KEY down=0A= act && Calendar.cellClick(cal._nav_ny);=0A= break;=0A= default:=0A= return false;=0A= }=0A= } else switch (K) {=0A= case 32: // KEY space (now)=0A= Calendar.cellClick(cal._nav_now);=0A= break;=0A= case 27: // KEY esc=0A= act && cal.callCloseHandler();=0A= break;=0A= case 37: // KEY left=0A= case 38: // KEY up=0A= case 39: // KEY right=0A= case 40: // KEY down=0A= if (act) {=0A= var prev, x, y, ne, el, step;=0A= prev =3D K =3D=3D 37 || K =3D=3D 38;=0A= step =3D (K =3D=3D 37 || K =3D=3D 39) ? 1 : 7;=0A= function setVars() {=0A= el =3D cal.currentDateEl;=0A= var p =3D el.pos;=0A= x =3D p & 15;=0A= y =3D p >> 4;=0A= ne =3D cal.ar_days[y][x];=0A= };setVars();=0A= function prevMonth() {=0A= var date =3D new Date(cal.date);=0A= date.setDate(date.getDate() - step);=0A= cal.setDate(date);=0A= };=0A= function nextMonth() {=0A= var date =3D new Date(cal.date);=0A= date.setDate(date.getDate() + step);=0A= cal.setDate(date);=0A= };=0A= while (1) {=0A= switch (K) {=0A= case 37: // KEY left=0A= if (--x >=3D 0)=0A= ne =3D cal.ar_days[y][x];=0A= else {=0A= x =3D 6;=0A= K =3D 38;=0A= continue;=0A= }=0A= break;=0A= case 38: // KEY up=0A= if (--y >=3D 0)=0A= ne =3D cal.ar_days[y][x];=0A= else {=0A= prevMonth();=0A= setVars();=0A= }=0A= break;=0A= case 39: // KEY right=0A= if (++x < 7)=0A= ne =3D cal.ar_days[y][x];=0A= else {=0A= x =3D 0;=0A= K =3D 40;=0A= continue;=0A= }=0A= break;=0A= case 40: // KEY down=0A= if (++y < cal.ar_days.length)=0A= ne =3D cal.ar_days[y][x];=0A= else {=0A= nextMonth();=0A= setVars();=0A= }=0A= break;=0A= }=0A= break;=0A= }=0A= if (ne) {=0A= if (!ne.disabled)=0A= Calendar.cellClick(ne);=0A= else if (prev)=0A= prevMonth();=0A= else=0A= nextMonth();=0A= }=0A= }=0A= break;=0A= case 13: // KEY enter=0A= if (act)=0A= Calendar.cellClick(cal.currentDateEl, ev);=0A= break;=0A= default:=0A= return false;=0A= }=0A= return Calendar.stopEvent(ev);=0A= };=0A= =0A= /**=0A= * (RE)Initializes the calendar to the given date and firstDayOfWeek=0A= */=0A= Calendar.prototype._init =3D function (firstDayOfWeek, date) {=0A= var today =3D new Date(),=0A= TY =3D today.getFullYear(),=0A= TM =3D today.getMonth(),=0A= TD =3D today.getDate();=0A= this.table.style.visibility =3D "hidden";=0A= var year =3D date.getFullYear();=0A= if (year < this.minYear) {=0A= year =3D this.minYear;=0A= date.setFullYear(year);=0A= } else if (year > this.maxYear) {=0A= year =3D this.maxYear;=0A= date.setFullYear(year);=0A= }=0A= this.firstDayOfWeek =3D firstDayOfWeek;=0A= this.date =3D new Date(date);=0A= var month =3D date.getMonth();=0A= var mday =3D date.getDate();=0A= var no_days =3D date.getMonthDays();=0A= =0A= // calendar voodoo for computing the first day that would actually be=0A= // displayed in the calendar, even if it's from the previous month.=0A= // WARNING: this is magic. ;-)=0A= date.setDate(1);=0A= var day1 =3D (date.getDay() - this.firstDayOfWeek) % 7;=0A= if (day1 < 0)=0A= day1 +=3D 7;=0A= date.setDate(-day1);=0A= date.setDate(date.getDate() + 1);=0A= =0A= var row =3D this.tbody.firstChild;=0A= var MN =3D Calendar._SMN[month];=0A= var ar_days =3D this.ar_days =3D new Array();=0A= var weekend =3D Calendar._TT["WEEKEND"];=0A= var dates =3D this.multiple ? (this.datesCells =3D {}) : null;=0A= for (var i =3D 0; i < 6; ++i, row =3D row.nextSibling) {=0A= var cell =3D row.firstChild;=0A= if (this.weekNumbers) {=0A= cell.className =3D "day wn";=0A= cell.innerHTML =3D date.getWeekNumber();=0A= cell =3D cell.nextSibling;=0A= }=0A= row.className =3D "daysrow";=0A= var hasdays =3D false, iday, dpos =3D ar_days[i] =3D [];=0A= for (var j =3D 0; j < 7; ++j, cell =3D cell.nextSibling, = date.setDate(iday + 1)) {=0A= iday =3D date.getDate();=0A= var wday =3D date.getDay();=0A= cell.className =3D "day";=0A= cell.pos =3D i << 4 | j;=0A= dpos[j] =3D cell;=0A= var current_month =3D (date.getMonth() =3D=3D month);=0A= if (!current_month) {=0A= if (this.showsOtherMonths) {=0A= cell.className +=3D " othermonth";=0A= cell.otherMonth =3D true;=0A= } else {=0A= cell.className =3D "emptycell";=0A= cell.innerHTML =3D " ";=0A= cell.disabled =3D true;=0A= continue;=0A= }=0A= } else {=0A= cell.otherMonth =3D false;=0A= hasdays =3D true;=0A= }=0A= cell.disabled =3D false;=0A= cell.innerHTML =3D this.getDateText ? this.getDateText(date, iday) : = iday;=0A= if (dates)=0A= dates[date.print("%Y%m%d")] =3D cell;=0A= if (this.getDateStatus) {=0A= var status =3D this.getDateStatus(date, year, month, iday);=0A= if (this.getDateToolTip) {=0A= var toolTip =3D this.getDateToolTip(date, year, month, iday);=0A= if (toolTip)=0A= cell.title =3D toolTip;=0A= }=0A= if (status =3D=3D=3D true) {=0A= cell.className +=3D " disabled";=0A= cell.disabled =3D true;=0A= } else {=0A= if (/disabled/i.test(status))=0A= cell.disabled =3D true;=0A= cell.className +=3D " " + status;=0A= }=0A= }=0A= if (!cell.disabled) {=0A= cell.caldate =3D new Date(date);=0A= cell.ttip =3D "_";=0A= if (!this.multiple && current_month=0A= && iday =3D=3D mday && this.hiliteToday) {=0A= cell.className +=3D " selected";=0A= this.currentDateEl =3D cell;=0A= }=0A= if (date.getFullYear() =3D=3D TY &&=0A= date.getMonth() =3D=3D TM &&=0A= iday =3D=3D TD) {=0A= cell.className +=3D " today";=0A= cell.ttip +=3D Calendar._TT["PART_TODAY"];=0A= }=0A= if (weekend.indexOf(wday.toString()) !=3D -1)=0A= cell.className +=3D cell.otherMonth ? " oweekend" : " weekend";=0A= }=0A= }=0A= if (!(hasdays || this.showsOtherMonths))=0A= row.className =3D "emptyrow";=0A= }=0A= this.title.innerHTML =3D Calendar._MN[month] + ", " + year;=0A= this.onSetTime();=0A= this.table.style.visibility =3D "visible";=0A= this._initMultipleDates();=0A= // PROFILE=0A= // this.tooltips.innerHTML =3D "Generated in " + ((new Date()) - today) = + " ms";=0A= };=0A= =0A= Calendar.prototype._initMultipleDates =3D function() {=0A= if (this.multiple) {=0A= for (var i in this.multiple) {=0A= var cell =3D this.datesCells[i];=0A= var d =3D this.multiple[i];=0A= if (!d)=0A= continue;=0A= if (cell)=0A= cell.className +=3D " selected";=0A= }=0A= }=0A= };=0A= =0A= Calendar.prototype._toggleMultipleDate =3D function(date) {=0A= if (this.multiple) {=0A= var ds =3D date.print("%Y%m%d");=0A= var cell =3D this.datesCells[ds];=0A= if (cell) {=0A= var d =3D this.multiple[ds];=0A= if (!d) {=0A= Calendar.addClass(cell, "selected");=0A= this.multiple[ds] =3D date;=0A= } else {=0A= Calendar.removeClass(cell, "selected");=0A= delete this.multiple[ds];=0A= }=0A= }=0A= }=0A= };=0A= =0A= Calendar.prototype.setDateToolTipHandler =3D function (unaryFunction) {=0A= this.getDateToolTip =3D unaryFunction;=0A= };=0A= =0A= /**=0A= * Calls _init function above for going to a certain date (but only if = the=0A= * date is different than the currently selected one).=0A= */=0A= Calendar.prototype.setDate =3D function (date) {=0A= if (!date.equalsTo(this.date)) {=0A= this._init(this.firstDayOfWeek, date);=0A= }=0A= };=0A= =0A= /**=0A= * Refreshes the calendar. Useful if the "disabledHandler" function is=0A= * dynamic, meaning that the list of disabled date can change at = runtime.=0A= * Just * call this function if you think that the list of disabled = dates=0A= * should * change.=0A= */=0A= Calendar.prototype.refresh =3D function () {=0A= this._init(this.firstDayOfWeek, this.date);=0A= };=0A= =0A= /** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for = Monday, etc.). */=0A= Calendar.prototype.setFirstDayOfWeek =3D function (firstDayOfWeek) {=0A= this._init(firstDayOfWeek, this.date);=0A= this._displayWeekdays();=0A= };=0A= =0A= /**=0A= * Allows customization of what dates are enabled. The "unaryFunction"=0A= * parameter must be a function object that receives the date (as a JS = Date=0A= * object) and returns a boolean value. If the returned value is true = then=0A= * the passed date will be marked as disabled.=0A= */=0A= Calendar.prototype.setDateStatusHandler =3D = Calendar.prototype.setDisabledHandler =3D function (unaryFunction) {=0A= this.getDateStatus =3D unaryFunction;=0A= };=0A= =0A= /** Customization of allowed year range for the calendar. */=0A= Calendar.prototype.setRange =3D function (a, z) {=0A= this.minYear =3D a;=0A= this.maxYear =3D z;=0A= };=0A= =0A= /** Calls the first user handler (selectedHandler). */=0A= Calendar.prototype.callHandler =3D function () {=0A= if (this.onSelected) {=0A= this.onSelected(this, this.date.print(this.dateFormat));=0A= }=0A= };=0A= =0A= /** Calls the second user handler (closeHandler). */=0A= Calendar.prototype.callCloseHandler =3D function () {=0A= if (this.onClose) {=0A= this.onClose(this);=0A= }=0A= this.hideShowCovered();=0A= };=0A= =0A= /** Removes the calendar object from the DOM tree and destroys it. */=0A= Calendar.prototype.destroy =3D function () {=0A= var el =3D this.element.parentNode;=0A= el.removeChild(this.element);=0A= Calendar._C =3D null;=0A= window._dynarch_popupCalendar =3D null;=0A= };=0A= =0A= /**=0A= * Moves the calendar element to a different section in the DOM tree = (changes=0A= * its parent).=0A= */=0A= Calendar.prototype.reparent =3D function (new_parent) {=0A= var el =3D this.element;=0A= el.parentNode.removeChild(el);=0A= new_parent.appendChild(el);=0A= };=0A= =0A= // This gets called when the user presses a mouse button anywhere in the=0A= // document, if the calendar is shown. If the click was outside the open=0A= // calendar this function closes it.=0A= Calendar._checkCalendar =3D function(ev) {=0A= var calendar =3D window._dynarch_popupCalendar;=0A= if (!calendar) {=0A= return false;=0A= }=0A= var el =3D Calendar.is_ie ? Calendar.getElement(ev) : = Calendar.getTargetElement(ev);=0A= for (; el !=3D null && el !=3D calendar.element; el =3D el.parentNode);=0A= if (el =3D=3D null) {=0A= // calls closeHandler which should hide the calendar.=0A= window._dynarch_popupCalendar.callCloseHandler();=0A= return Calendar.stopEvent(ev);=0A= }=0A= };=0A= =0A= /** Shows the calendar. */=0A= Calendar.prototype.show =3D function () {=0A= var rows =3D this.table.getElementsByTagName("tr");=0A= for (var i =3D rows.length; i > 0;) {=0A= var row =3D rows[--i];=0A= Calendar.removeClass(row, "rowhilite");=0A= var cells =3D row.getElementsByTagName("td");=0A= for (var j =3D cells.length; j > 0;) {=0A= var cell =3D cells[--j];=0A= Calendar.removeClass(cell, "hilite");=0A= Calendar.removeClass(cell, "active");=0A= }=0A= }=0A= this.element.style.display =3D "block";=0A= this.hidden =3D false;=0A= if (this.isPopup) {=0A= window._dynarch_popupCalendar =3D this;=0A= Calendar.addEvent(document, "keydown", Calendar._keyEvent);=0A= Calendar.addEvent(document, "keypress", Calendar._keyEvent);=0A= Calendar.addEvent(document, "mousedown", Calendar._checkCalendar);=0A= }=0A= this.hideShowCovered();=0A= };=0A= =0A= /**=0A= * Hides the calendar. Also removes any "hilite" from the class of any = TD=0A= * element.=0A= */=0A= Calendar.prototype.hide =3D function () {=0A= if (this.isPopup) {=0A= Calendar.removeEvent(document, "keydown", Calendar._keyEvent);=0A= Calendar.removeEvent(document, "keypress", Calendar._keyEvent);=0A= Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar);=0A= }=0A= this.element.style.display =3D "none";=0A= this.hidden =3D true;=0A= this.hideShowCovered();=0A= };=0A= =0A= /**=0A= * Shows the calendar at a given absolute position (beware that, = depending on=0A= * the calendar element style -- position property -- this might be = relative=0A= * to the parent's containing rectangle).=0A= */=0A= Calendar.prototype.showAt =3D function (x, y) {=0A= var s =3D this.element.style;=0A= s.left =3D x + "px";=0A= s.top =3D y + "px";=0A= this.show();=0A= };=0A= =0A= /** Shows the calendar near a given element. */=0A= Calendar.prototype.showAtElement =3D function (el, opts) {=0A= var self =3D this;=0A= var p =3D Calendar.getAbsolutePos(el);=0A= if (!opts || typeof opts !=3D "string") {=0A= this.showAt(p.x, p.y + el.offsetHeight);=0A= return true;=0A= }=0A= function fixPosition(box) {=0A= if (box.x < 0)=0A= box.x =3D 0;=0A= if (box.y < 0)=0A= box.y =3D 0;=0A= var cp =3D document.createElement("div");=0A= var s =3D cp.style;=0A= s.position =3D "absolute";=0A= s.right =3D s.bottom =3D s.width =3D s.height =3D "0px";=0A= document.body.appendChild(cp);=0A= var br =3D Calendar.getAbsolutePos(cp);=0A= document.body.removeChild(cp);=0A= if (Calendar.is_ie) {=0A= br.y +=3D document.body.scrollTop;=0A= br.x +=3D document.body.scrollLeft;=0A= } else {=0A= br.y +=3D window.scrollY;=0A= br.x +=3D window.scrollX;=0A= }=0A= var tmp =3D box.x + box.width - br.x;=0A= if (tmp > 0) box.x -=3D tmp;=0A= tmp =3D box.y + box.height - br.y;=0A= if (tmp > 0) box.y -=3D tmp;=0A= };=0A= this.element.style.display =3D "block";=0A= Calendar.continuation_for_the_fucking_khtml_browser =3D function() {=0A= var w =3D self.element.offsetWidth;=0A= var h =3D self.element.offsetHeight;=0A= self.element.style.display =3D "none";=0A= var valign =3D opts.substr(0, 1);=0A= var halign =3D "l";=0A= if (opts.length > 1) {=0A= halign =3D opts.substr(1, 1);=0A= }=0A= // vertical alignment=0A= switch (valign) {=0A= case "T": p.y -=3D h; break;=0A= case "B": p.y +=3D el.offsetHeight; break;=0A= case "C": p.y +=3D (el.offsetHeight - h) / 2; break;=0A= case "t": p.y +=3D el.offsetHeight - h; break;=0A= case "b": break; // already there=0A= }=0A= // horizontal alignment=0A= switch (halign) {=0A= case "L": p.x -=3D w; break;=0A= case "R": p.x +=3D el.offsetWidth; break;=0A= case "C": p.x +=3D (el.offsetWidth - w) / 2; break;=0A= case "l": p.x +=3D el.offsetWidth - w; break;=0A= case "r": break; // already there=0A= }=0A= p.width =3D w;=0A= p.height =3D h + 40;=0A= self.monthsCombo.style.display =3D "none";=0A= fixPosition(p);=0A= self.showAt(p.x, p.y);=0A= };=0A= if (Calendar.is_khtml)=0A= setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", = 10);=0A= else=0A= Calendar.continuation_for_the_fucking_khtml_browser();=0A= };=0A= =0A= /** Customizes the date format. */=0A= Calendar.prototype.setDateFormat =3D function (str) {=0A= this.dateFormat =3D str;=0A= };=0A= =0A= /** Customizes the tooltip date format. */=0A= Calendar.prototype.setTtDateFormat =3D function (str) {=0A= this.ttDateFormat =3D str;=0A= };=0A= =0A= /**=0A= * Tries to identify the date represented in a string. If successful = it also=0A= * calls this.setDate which moves the calendar to the given date.=0A= */=0A= Calendar.prototype.parseDate =3D function(str, fmt) {=0A= if (!fmt)=0A= fmt =3D this.dateFormat;=0A= this.setDate(Date.parseDate(str, fmt));=0A= };=0A= =0A= Calendar.prototype.hideShowCovered =3D function () {=0A= if (!Calendar.is_ie && !Calendar.is_opera)=0A= return;=0A= function getVisib(obj){=0A= var value =3D obj.style.visibility;=0A= if (!value) {=0A= if (document.defaultView && typeof = (document.defaultView.getComputedStyle) =3D=3D "function") { // Gecko, = W3C=0A= if (!Calendar.is_khtml)=0A= value =3D document.defaultView.=0A= getComputedStyle(obj, "").getPropertyValue("visibility");=0A= else=0A= value =3D '';=0A= } else if (obj.currentStyle) { // IE=0A= value =3D obj.currentStyle.visibility;=0A= } else=0A= value =3D '';=0A= }=0A= return value;=0A= };=0A= =0A= var tags =3D new Array("applet", "iframe", "select");=0A= var el =3D this.element;=0A= =0A= var p =3D Calendar.getAbsolutePos(el);=0A= var EX1 =3D p.x;=0A= var EX2 =3D el.offsetWidth + EX1;=0A= var EY1 =3D p.y;=0A= var EY2 =3D el.offsetHeight + EY1;=0A= =0A= for (var k =3D tags.length; k > 0; ) {=0A= var ar =3D document.getElementsByTagName(tags[--k]);=0A= var cc =3D null;=0A= =0A= for (var i =3D ar.length; i > 0;) {=0A= cc =3D ar[--i];=0A= =0A= p =3D Calendar.getAbsolutePos(cc);=0A= var CX1 =3D p.x;=0A= var CX2 =3D cc.offsetWidth + CX1;=0A= var CY1 =3D p.y;=0A= var CY2 =3D cc.offsetHeight + CY1;=0A= =0A= if (this.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 = < EY1)) {=0A= if (!cc.__msh_save_visibility) {=0A= cc.__msh_save_visibility =3D getVisib(cc);=0A= }=0A= cc.style.visibility =3D cc.__msh_save_visibility;=0A= } else {=0A= if (!cc.__msh_save_visibility) {=0A= cc.__msh_save_visibility =3D getVisib(cc);=0A= }=0A= cc.style.visibility =3D "hidden";=0A= }=0A= }=0A= }=0A= };=0A= =0A= /** Internal function; it displays the bar with the names of the = weekday. */=0A= Calendar.prototype._displayWeekdays =3D function () {=0A= var fdow =3D this.firstDayOfWeek;=0A= var cell =3D this.firstdayname;=0A= var weekend =3D Calendar._TT["WEEKEND"];=0A= for (var i =3D 0; i < 7; ++i) {=0A= cell.className =3D "day name";=0A= var realday =3D (i + fdow) % 7;=0A= if (i) {=0A= cell.ttip =3D Calendar._TT["DAY_FIRST"].replace("%s", = Calendar._DN[realday]);=0A= cell.navtype =3D 100;=0A= cell.calendar =3D this;=0A= cell.fdow =3D realday;=0A= Calendar._add_evs(cell);=0A= }=0A= if (weekend.indexOf(realday.toString()) !=3D -1) {=0A= Calendar.addClass(cell, "weekend");=0A= }=0A= cell.innerHTML =3D Calendar._SDN[(i + fdow) % 7];=0A= cell =3D cell.nextSibling;=0A= }=0A= };=0A= =0A= /** Internal function. Hides all combo boxes that might be displayed. */=0A= Calendar.prototype._hideCombos =3D function () {=0A= this.monthsCombo.style.display =3D "none";=0A= this.yearsCombo.style.display =3D "none";=0A= };=0A= =0A= /** Internal function. Starts dragging the element. */=0A= Calendar.prototype._dragStart =3D function (ev) {=0A= if (this.dragging) {=0A= return;=0A= }=0A= this.dragging =3D true;=0A= var posX;=0A= var posY;=0A= if (Calendar.is_ie) {=0A= posY =3D window.event.clientY + document.body.scrollTop;=0A= posX =3D window.event.clientX + document.body.scrollLeft;=0A= } else {=0A= posY =3D ev.clientY + window.scrollY;=0A= posX =3D ev.clientX + window.scrollX;=0A= }=0A= var st =3D this.element.style;=0A= this.xOffs =3D posX - parseInt(st.left);=0A= this.yOffs =3D posY - parseInt(st.top);=0A= with (Calendar) {=0A= addEvent(document, "mousemove", calDragIt);=0A= addEvent(document, "mouseup", calDragEnd);=0A= }=0A= };=0A= =0A= // BEGIN: DATE OBJECT PATCHES=0A= =0A= /** Adds the number of days array to the Date object. */=0A= Date._MD =3D new Array(31,28,31,30,31,30,31,31,30,31,30,31);=0A= =0A= /** Constants used for time computations */=0A= Date.SECOND =3D 1000 /* milliseconds */;=0A= Date.MINUTE =3D 60 * Date.SECOND;=0A= Date.HOUR =3D 60 * Date.MINUTE;=0A= Date.DAY =3D 24 * Date.HOUR;=0A= Date.WEEK =3D 7 * Date.DAY;=0A= =0A= Date.parseDate =3D function(str, fmt) {=0A= var today =3D new Date();=0A= var y =3D 0;=0A= var m =3D -1;=0A= var d =3D 0;=0A= var a =3D str.split(/\W+/);=0A= var b =3D fmt.match(/%./g);=0A= var i =3D 0, j =3D 0;=0A= var hr =3D 0;=0A= var min =3D 0;=0A= for (i =3D 0; i < a.length; ++i) {=0A= if (!a[i])=0A= continue;=0A= switch (b[i]) {=0A= case "%d":=0A= case "%e":=0A= d =3D parseInt(a[i], 10);=0A= break;=0A= =0A= case "%m":=0A= m =3D parseInt(a[i], 10) - 1;=0A= break;=0A= =0A= case "%Y":=0A= case "%y":=0A= y =3D parseInt(a[i], 10);=0A= (y < 100) && (y +=3D (y > 29) ? 1900 : 2000);=0A= break;=0A= =0A= case "%b":=0A= case "%B":=0A= for (j =3D 0; j < 12; ++j) {=0A= if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() =3D=3D = a[i].toLowerCase()) { m =3D j; break; }=0A= }=0A= break;=0A= =0A= case "%H":=0A= case "%I":=0A= case "%k":=0A= case "%l":=0A= hr =3D parseInt(a[i], 10);=0A= break;=0A= =0A= case "%P":=0A= case "%p":=0A= if (/pm/i.test(a[i]) && hr < 12)=0A= hr +=3D 12;=0A= else if (/am/i.test(a[i]) && hr >=3D 12)=0A= hr -=3D 12;=0A= break;=0A= =0A= case "%M":=0A= min =3D parseInt(a[i], 10);=0A= break;=0A= }=0A= }=0A= if (isNaN(y)) y =3D today.getFullYear();=0A= if (isNaN(m)) m =3D today.getMonth();=0A= if (isNaN(d)) d =3D today.getDate();=0A= if (isNaN(hr)) hr =3D today.getHours();=0A= if (isNaN(min)) min =3D today.getMinutes();=0A= if (y !=3D 0 && m !=3D -1 && d !=3D 0)=0A= return new Date(y, m, d, hr, min, 0);=0A= y =3D 0; m =3D -1; d =3D 0;=0A= for (i =3D 0; i < a.length; ++i) {=0A= if (a[i].search(/[a-zA-Z]+/) !=3D -1) {=0A= var t =3D -1;=0A= for (j =3D 0; j < 12; ++j) {=0A= if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() =3D=3D = a[i].toLowerCase()) { t =3D j; break; }=0A= }=0A= if (t !=3D -1) {=0A= if (m !=3D -1) {=0A= d =3D m+1;=0A= }=0A= m =3D t;=0A= }=0A= } else if (parseInt(a[i], 10) <=3D 12 && m =3D=3D -1) {=0A= m =3D a[i]-1;=0A= } else if (parseInt(a[i], 10) > 31 && y =3D=3D 0) {=0A= y =3D parseInt(a[i], 10);=0A= (y < 100) && (y +=3D (y > 29) ? 1900 : 2000);=0A= } else if (d =3D=3D 0) {=0A= d =3D a[i];=0A= }=0A= }=0A= if (y =3D=3D 0)=0A= y =3D today.getFullYear();=0A= if (m !=3D -1 && d !=3D 0)=0A= return new Date(y, m, d, hr, min, 0);=0A= return today;=0A= };=0A= =0A= /** Returns the number of days in the current month */=0A= Date.prototype.getMonthDays =3D function(month) {=0A= var year =3D this.getFullYear();=0A= if (typeof month =3D=3D "undefined") {=0A= month =3D this.getMonth();=0A= }=0A= if (((0 =3D=3D (year%4)) && ( (0 !=3D (year%100)) || (0 =3D=3D = (year%400)))) && month =3D=3D 1) {=0A= return 29;=0A= } else {=0A= return Date._MD[month];=0A= }=0A= };=0A= =0A= /** Returns the number of day in the year. */=0A= Date.prototype.getDayOfYear =3D function() {=0A= var now =3D new Date(this.getFullYear(), this.getMonth(), = this.getDate(), 0, 0, 0);=0A= var then =3D new Date(this.getFullYear(), 0, 0, 0, 0, 0);=0A= var time =3D now - then;=0A= return Math.floor(time / Date.DAY);=0A= };=0A= =0A= /** Returns the number of the week in year, as defined in ISO 8601. */=0A= Date.prototype.getWeekNumber =3D function() {=0A= var d =3D new Date(this.getFullYear(), this.getMonth(), this.getDate(), = 0, 0, 0);=0A= var DoW =3D d.getDay();=0A= d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu=0A= var ms =3D d.valueOf(); // GMT=0A= d.setMonth(0);=0A= d.setDate(4); // Thu in Week 1=0A= return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1;=0A= };=0A= =0A= /** Checks date and time equality */=0A= Date.prototype.equalsTo =3D function(date) {=0A= return ((this.getFullYear() =3D=3D date.getFullYear()) &&=0A= (this.getMonth() =3D=3D date.getMonth()) &&=0A= (this.getDate() =3D=3D date.getDate()) &&=0A= (this.getHours() =3D=3D date.getHours()) &&=0A= (this.getMinutes() =3D=3D date.getMinutes()));=0A= };=0A= =0A= /** Set only the year, month, date parts (keep existing time) */=0A= Date.prototype.setDateOnly =3D function(date) {=0A= var tmp =3D new Date(date);=0A= this.setDate(1);=0A= this.setFullYear(tmp.getFullYear());=0A= this.setMonth(tmp.getMonth());=0A= this.setDate(tmp.getDate());=0A= };=0A= =0A= /** Prints the date in a string according to the given format. */=0A= Date.prototype.print =3D function (str) {=0A= var m =3D this.getMonth();=0A= var d =3D this.getDate();=0A= var y =3D this.getFullYear();=0A= var wn =3D this.getWeekNumber();=0A= var w =3D this.getDay();=0A= var s =3D {};=0A= var hr =3D this.getHours();=0A= var pm =3D (hr >=3D 12);=0A= var ir =3D (pm) ? (hr - 12) : hr;=0A= var dy =3D this.getDayOfYear();=0A= if (ir =3D=3D 0)=0A= ir =3D 12;=0A= var min =3D this.getMinutes();=0A= var sec =3D this.getSeconds();=0A= s["%a"] =3D Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N]=0A= s["%A"] =3D Calendar._DN[w]; // full weekday name=0A= s["%b"] =3D Calendar._SMN[m]; // abbreviated month name [FIXME: I18N]=0A= s["%B"] =3D Calendar._MN[m]; // full month name=0A= // FIXME: %c : preferred date and time representation for the current = locale=0A= s["%C"] =3D 1 + Math.floor(y / 100); // the century number=0A= s["%d"] =3D (d < 10) ? ("0" + d) : d; // the day of the month (range 01 = to 31)=0A= s["%e"] =3D d; // the day of the month (range 1 to 31)=0A= // FIXME: %D : american date style: %m/%d/%y=0A= // FIXME: %E, %F, %G, %g, %h (man strftime)=0A= s["%H"] =3D (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h = format)=0A= s["%I"] =3D (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h = format)=0A= s["%j"] =3D (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; = // day of the year (range 001 to 366)=0A= s["%k"] =3D hr; // hour, range 0 to 23 (24h format)=0A= s["%l"] =3D ir; // hour, range 1 to 12 (12h format)=0A= s["%m"] =3D (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12=0A= s["%M"] =3D (min < 10) ? ("0" + min) : min; // minute, range 00 to 59=0A= s["%n"] =3D "\n"; // a newline character=0A= s["%p"] =3D pm ? "PM" : "AM";=0A= s["%P"] =3D pm ? "pm" : "am";=0A= // FIXME: %r : the time in am/pm notation %I:%M:%S %p=0A= // FIXME: %R : the time in 24-hour notation %H:%M=0A= s["%s"] =3D Math.floor(this.getTime() / 1000);=0A= s["%S"] =3D (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59=0A= s["%t"] =3D "\t"; // a tab character=0A= // FIXME: %T : the time in 24-hour notation (%H:%M:%S)=0A= s["%U"] =3D s["%W"] =3D s["%V"] =3D (wn < 10) ? ("0" + wn) : wn;=0A= s["%u"] =3D w + 1; // the day of the week (range 1 to 7, 1 =3D MON)=0A= s["%w"] =3D w; // the day of the week (range 0 to 6, 0 =3D SUN)=0A= // FIXME: %x : preferred date representation for the current locale = without the time=0A= // FIXME: %X : preferred time representation for the current locale = without the date=0A= s["%y"] =3D ('' + y).substr(2, 2); // year without the century (range = 00 to 99)=0A= s["%Y"] =3D y; // year with the century=0A= s["%%"] =3D "%"; // a literal '%' character=0A= =0A= var re =3D /%./g;=0A= if (!Calendar.is_ie5 && !Calendar.is_khtml)=0A= return str.replace(re, function (par) { return s[par] || par; });=0A= =0A= var a =3D str.match(re);=0A= for (var i =3D 0; i < a.length; i++) {=0A= var tmp =3D s[a[i]];=0A= if (tmp) {=0A= re =3D new RegExp(a[i], 'g');=0A= str =3D str.replace(re, tmp);=0A= }=0A= }=0A= =0A= return str;=0A= };=0A= =0A= Date.prototype.__msh_oldSetFullYear =3D Date.prototype.setFullYear;=0A= Date.prototype.setFullYear =3D function(y) {=0A= var d =3D new Date(this);=0A= d.__msh_oldSetFullYear(y);=0A= if (d.getMonth() !=3D this.getMonth())=0A= this.setDate(28);=0A= this.__msh_oldSetFullYear(y);=0A= };=0A= =0A= // END: DATE OBJECT PATCHES=0A= =0A= =0A= // global object that remembers the calendar=0A= window._dynarch_popupCalendar =3D null;=0A= ------=_NextPart_000_0033_01C9BE9B.5E2DD4C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.usnews.com/z3stub/++resource++CommonResources/jscalendar/lang/calendar-en.js // ** I18N=0A= =0A= // Calendar EN language=0A= // Author: Mihai Bazon, =0A= // Encoding: any=0A= // Distributed under the same terms as the calendar itself.=0A= =0A= // For translators: please use UTF-8 if possible. We strongly believe = that=0A= // Unicode is the answer to a real internationalized world. Also please=0A= // include your contact information in the header, as can be seen above.=0A= =0A= // full day names=0A= Calendar._DN =3D new Array=0A= ("Sunday",=0A= "Monday",=0A= "Tuesday",=0A= "Wednesday",=0A= "Thursday",=0A= "Friday",=0A= "Saturday",=0A= "Sunday");=0A= =0A= // Please note that the following array of short day names (and the same = goes=0A= // for short month names, _SMN) isn't absolutely necessary. We give it = here=0A= // for exemplification on how one can customize the short day names, but = if=0A= // they are simply the first N letters of the full name you can simply = say:=0A= //=0A= // Calendar._SDN_len =3D N; // short day name length=0A= // Calendar._SMN_len =3D N; // short month name length=0A= //=0A= // If N =3D 3 then this is not needed either since we assume a value of = 3 if not=0A= // present, to be compatible with translation files that were written = before=0A= // this feature.=0A= =0A= // short day names=0A= Calendar._SDN =3D new Array=0A= ("Sun",=0A= "Mon",=0A= "Tue",=0A= "Wed",=0A= "Thu",=0A= "Fri",=0A= "Sat",=0A= "Sun");=0A= =0A= // First day of the week. "0" means display Sunday first, "1" means = display=0A= // Monday first, etc.=0A= Calendar._FD =3D 0;=0A= =0A= // full month names=0A= Calendar._MN =3D new Array=0A= ("January",=0A= "February",=0A= "March",=0A= "April",=0A= "May",=0A= "June",=0A= "July",=0A= "August",=0A= "September",=0A= "October",=0A= "November",=0A= "December");=0A= =0A= // short month names=0A= Calendar._SMN =3D new Array=0A= ("Jan",=0A= "Feb",=0A= "Mar",=0A= "Apr",=0A= "May",=0A= "Jun",=0A= "Jul",=0A= "Aug",=0A= "Sep",=0A= "Oct",=0A= "Nov",=0A= "Dec");=0A= =0A= // tooltips=0A= Calendar._TT =3D {};=0A= Calendar._TT["INFO"] =3D "About the calendar";=0A= =0A= Calendar._TT["ABOUT"] =3D=0A= "DHTML Date/Time Selector\n" +=0A= "(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate = this this ;-)=0A= "For latest version visit: http://www.dynarch.com/projects/calendar/\n" +=0A= "Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for = details." +=0A= "\n\n" +=0A= "Date selection:\n" +=0A= "- Use the \xab, \xbb buttons to select year\n" +=0A= "- Use the " + String.fromCharCode(0x2039) + ", " + = String.fromCharCode(0x203a) + " buttons to select month\n" +=0A= "- Hold mouse button on any of the above buttons for faster selection.";=0A= Calendar._TT["ABOUT_TIME"] =3D "\n\n" +=0A= "Time selection:\n" +=0A= "- Click on any of the time parts to increase it\n" +=0A= "- or Shift-click to decrease it\n" +=0A= "- or click and drag for faster selection.";=0A= =0A= Calendar._TT["PREV_YEAR"] =3D "Prev. year (hold for menu)";=0A= Calendar._TT["PREV_MONTH"] =3D "Prev. month (hold for menu)";=0A= Calendar._TT["GO_TODAY"] =3D "Go Today";=0A= Calendar._TT["NEXT_MONTH"] =3D "Next month (hold for menu)";=0A= Calendar._TT["NEXT_YEAR"] =3D "Next year (hold for menu)";=0A= Calendar._TT["SEL_DATE"] =3D "Select date";=0A= Calendar._TT["DRAG_TO_MOVE"] =3D "Drag to move";=0A= Calendar._TT["PART_TODAY"] =3D " (today)";=0A= =0A= // the following is to inform that "%s" is to be the first day of week=0A= // %s will be replaced with the day name.=0A= Calendar._TT["DAY_FIRST"] =3D "Display %s first";=0A= =0A= // This may be locale-dependent. It specifies the week-end days, as an = array=0A= // of comma-separated numbers. The numbers are from 0 to 6: 0 means = Sunday, 1=0A= // means Monday, etc.=0A= Calendar._TT["WEEKEND"] =3D "0,6";=0A= =0A= Calendar._TT["CLOSE"] =3D "Close";=0A= Calendar._TT["TODAY"] =3D "Today";=0A= Calendar._TT["TIME_PART"] =3D "(Shift-)Click or drag to change value";=0A= =0A= // date formats=0A= Calendar._TT["DEF_DATE_FORMAT"] =3D "%Y-%m-%d";=0A= Calendar._TT["TT_DATE_FORMAT"] =3D "%a, %b %e";=0A= =0A= Calendar._TT["WK"] =3D "wk";=0A= Calendar._TT["TIME"] =3D "Time:";=0A= ------=_NextPart_000_0033_01C9BE9B.5E2DD4C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.usnews.com/z3stub/++resource++CommonResources/jscalendar/calendar-setup.js /* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/=0A= * = -------------------------------------------------------------------------= --=0A= *=0A= * The DHTML Calendar=0A= *=0A= * Details and latest version at:=0A= * http://dynarch.com/mishoo/calendar.epl=0A= *=0A= * This script is distributed under the GNU Lesser General Public = License.=0A= * Read the entire license text here: = http://www.gnu.org/licenses/lgpl.html=0A= *=0A= * This file defines helper functions for setting up the calendar. They = are=0A= * intended to help non-programmers get a working calendar on their site=0A= * quickly. This script should not be seen as part of the calendar. It = just=0A= * shows you what one can do with the calendar, while in the same time=0A= * providing a quick and simple method for setting it up. If you need=0A= * exhaustive customization of the calendar creation process feel free to=0A= * modify this code to suit your needs (this is recommended and much = better=0A= * than modifying calendar.js itself).=0A= */=0A= =0A= // $Id: calendar-setup.js,v 1.25 2005/03/07 09:51:33 mishoo Exp $=0A= =0A= /**=0A= * This function "patches" an input field (or other element) to use a = calendar=0A= * widget for date selection.=0A= *=0A= * The "params" is a single object that can have the following = properties:=0A= *=0A= * prop. name | description=0A= * = -------------------------------------------------------------------------= ------------------------=0A= * inputField | the ID of an input field to store the date=0A= * displayArea | the ID of a DIV or other element to show the date=0A= * button | ID of a button or other element that will trigger = the calendar=0A= * eventName | event that will trigger the calendar, without the = "on" prefix (default: "click")=0A= * ifFormat | date format that will be stored in the input field=0A= * daFormat | the date format that will be used to display the = date in displayArea=0A= * singleClick | (true/false) wether the calendar is in single click = mode or not (default: true)=0A= * firstDay | numeric: 0 to 6. "0" means display Sunday first, = "1" means display Monday first, etc.=0A= * align | alignment (default: "Br"); if you don't know what's = this see the calendar documentation=0A= * range | array with 2 elements. Default: [1900, 2999] -- = the range of years available=0A= * weekNumbers | (true/false) if it's true (default) the calendar = will display week numbers=0A= * flat | null or element ID; if not null the calendar will = be a flat calendar having the parent with the given ID=0A= * flatCallback | function that receives a JS Date object and returns = an URL to point the browser to (for flat calendar)=0A= * disableFunc | function that receives a JS Date object and should = return true if that date has to be disabled in the calendar=0A= * onSelect | function that gets called when a date is selected. = You don't _have_ to supply this (the default is generally okay)=0A= * onClose | function that gets called when the calendar is = closed. [default]=0A= * onUpdate | function that gets called after the date is updated = in the input field. Receives a reference to the calendar.=0A= * date | the date that the calendar will be initially = displayed to=0A= * showsTime | default: false; if true the calendar will include a = time selector=0A= * timeFormat | the time format; can be "12" or "24", default is = "12"=0A= * electric | if true (default) then given fields/date areas are = updated for each move; otherwise they're updated only on close=0A= * step | configures the step of the years in drop-down = boxes; default: 2=0A= * position | configures the calendar absolute position; default: = null=0A= * cache | if "true" (but default: "false") it will reuse the = same calendar object, where possible=0A= * showOthers | if "true" (but default: "false") it will show days = from other months too=0A= *=0A= * None of them is required, they all have default values. However, if = you=0A= * pass none of "inputField", "displayArea" or "button" you'll get a = warning=0A= * saying "nothing to setup".=0A= */=0A= Calendar.setup =3D function (params) {=0A= function param_default(pname, def) { if (typeof params[pname] =3D=3D = "undefined") { params[pname] =3D def; } };=0A= =0A= param_default("inputField", null);=0A= param_default("displayArea", null);=0A= param_default("button", null);=0A= param_default("eventName", "click");=0A= param_default("ifFormat", "%Y/%m/%d");=0A= param_default("daFormat", "%Y/%m/%d");=0A= param_default("singleClick", true);=0A= param_default("disableFunc", null);=0A= param_default("dateStatusFunc", params["disableFunc"]); // takes = precedence if both are defined=0A= param_default("dateText", null);=0A= param_default("firstDay", null);=0A= param_default("align", "Br");=0A= param_default("range", [1900, 2999]);=0A= param_default("weekNumbers", true);=0A= param_default("flat", null);=0A= param_default("flatCallback", null);=0A= param_default("onSelect", null);=0A= param_default("onClose", null);=0A= param_default("onUpdate", null);=0A= param_default("date", null);=0A= param_default("showsTime", false);=0A= param_default("timeFormat", "24");=0A= param_default("electric", true);=0A= param_default("step", 2);=0A= param_default("position", null);=0A= param_default("cache", false);=0A= param_default("showOthers", false);=0A= param_default("multiple", null);=0A= =0A= var tmp =3D ["inputField", "displayArea", "button"];=0A= for (var i in tmp) {=0A= if (typeof params[tmp[i]] =3D=3D "string") {=0A= params[tmp[i]] =3D document.getElementById(params[tmp[i]]);=0A= }=0A= }=0A= if (!(params.flat || params.multiple || params.inputField || = params.displayArea || params.button)) {=0A= alert("Calendar.setup:\n Nothing to setup (no fields found). Please = check your code");=0A= return false;=0A= }=0A= =0A= function onSelect(cal) {=0A= var p =3D cal.params;=0A= var update =3D (cal.dateClicked || p.electric);=0A= if (update && p.inputField) {=0A= p.inputField.value =3D cal.date.print(p.ifFormat);=0A= if (typeof p.inputField.onchange =3D=3D "function")=0A= p.inputField.onchange();=0A= }=0A= if (update && p.displayArea)=0A= p.displayArea.innerHTML =3D cal.date.print(p.daFormat);=0A= if (update && typeof p.onUpdate =3D=3D "function")=0A= p.onUpdate(cal);=0A= if (update && p.flat) {=0A= if (typeof p.flatCallback =3D=3D "function")=0A= p.flatCallback(cal);=0A= }=0A= if (update && p.singleClick && cal.dateClicked)=0A= cal.callCloseHandler();=0A= };=0A= =0A= if (params.flat !=3D null) {=0A= if (typeof params.flat =3D=3D "string")=0A= params.flat =3D document.getElementById(params.flat);=0A= if (!params.flat) {=0A= alert("Calendar.setup:\n Flat specified but can't find parent.");=0A= return false;=0A= }=0A= var cal =3D new Calendar(params.firstDay, params.date, params.onSelect = || onSelect);=0A= cal.showsOtherMonths =3D params.showOthers;=0A= cal.showsTime =3D params.showsTime;=0A= cal.time24 =3D (params.timeFormat =3D=3D "24");=0A= cal.params =3D params;=0A= cal.weekNumbers =3D params.weekNumbers;=0A= cal.setRange(params.range[0], params.range[1]);=0A= cal.setDateStatusHandler(params.dateStatusFunc);=0A= cal.getDateText =3D params.dateText;=0A= if (params.ifFormat) {=0A= cal.setDateFormat(params.ifFormat);=0A= }=0A= if (params.inputField && typeof params.inputField.value =3D=3D = "string") {=0A= cal.parseDate(params.inputField.value);=0A= }=0A= cal.create(params.flat);=0A= cal.show();=0A= return false;=0A= }=0A= =0A= var triggerEl =3D params.button || params.displayArea || = params.inputField;=0A= triggerEl["on" + params.eventName] =3D function() {=0A= var dateEl =3D params.inputField || params.displayArea;=0A= var dateFmt =3D params.inputField ? params.ifFormat : params.daFormat;=0A= var mustCreate =3D false;=0A= var cal =3D window.calendar;=0A= if (dateEl)=0A= params.date =3D Date.parseDate(dateEl.value || dateEl.innerHTML, = dateFmt);=0A= if (!(cal && params.cache)) {=0A= window.calendar =3D cal =3D new Calendar(params.firstDay,=0A= params.date,=0A= params.onSelect || onSelect,=0A= params.onClose || function(cal) { cal.hide(); });=0A= cal.showsTime =3D params.showsTime;=0A= cal.time24 =3D (params.timeFormat =3D=3D "24");=0A= cal.weekNumbers =3D params.weekNumbers;=0A= mustCreate =3D true;=0A= } else {=0A= if (params.date)=0A= cal.setDate(params.date);=0A= cal.hide();=0A= }=0A= if (params.multiple) {=0A= cal.multiple =3D {};=0A= for (var i =3D params.multiple.length; --i >=3D 0;) {=0A= var d =3D params.multiple[i];=0A= var ds =3D d.print("%Y%m%d");=0A= cal.multiple[ds] =3D d;=0A= }=0A= }=0A= cal.showsOtherMonths =3D params.showOthers;=0A= cal.yearStep =3D params.step;=0A= cal.setRange(params.range[0], params.range[1]);=0A= cal.params =3D params;=0A= cal.setDateStatusHandler(params.dateStatusFunc);=0A= cal.getDateText =3D params.dateText;=0A= cal.setDateFormat(dateFmt);=0A= if (mustCreate)=0A= cal.create();=0A= cal.refresh();=0A= if (!params.position)=0A= cal.showAtElement(params.button || params.displayArea || = params.inputField, params.align);=0A= else=0A= cal.showAt(params.position[0], params.position[1]);=0A= return false;=0A= };=0A= =0A= return cal;=0A= };=0A= ------=_NextPart_000_0033_01C9BE9B.5E2DD4C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://js.revsci.net/gateway/gw.js?csid=E08741 /*=0A= * Build version UW-11.1.0-94=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("