.WAFL (l ^cKjbr\.a2zntry(9i۹Ijbr\.a2z7jurl Dhttp://www.cnn.com/2002/TECH/ptech/11/12/new.dvd.copy.ap/index.htmlmime text/htmlhvrsdata CNN.com - Renegade offers 'legal' DVD copying - Nov. 12, 2002 Skip to main content
Technology
CNN Europe CNN Asia
On CNN TV Transcripts Headline News CNN International About CNN.com Preferences
SEARCH CNN.COM:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SERVICES
 
 
 
 
SEARCH CNN.COM:

Renegade offers 'legal' DVD copying

Robert Moore, founder of 321 Studio's, shows his company's new DVD X Copy software.
Robert Moore, founder of 321 Studio's, shows his company's new DVD X Copy software.

   Story Tools

RELATED

ST. LOUIS, Missouri (AP) -- After two decades in computer consulting, Robert Moore pulled out his laptop and pulled his son aside, hoping to teach the young man a thing or two about dad's work.

What came of their brainstorming last year ultimately blossomed into 321 Studios, a developer and seller of DVD-copying software.

That put Moore -- an ex-Marine and college dropout -- on the front lines of one of the digital age's most volatile legal battles: the dispute between consumer rights and copyright protection.

Moore's adversary: Hollywood, which apparently believes products such as 321's flout a 1998 federal law that the movie industry contends bars the picking of electronic locks on copyright works.

"We're nothing compared to these guys; we realize that. We're a very, very tiny fish in a very large ocean," Moore, 42, said from his business in the St. Louis suburb of Chesterfield, dismissing the David vs. Goliath analogy as inapplicable here. "We're not even David's big toe."

Code cracks copy protection

Since mid-2001, the company has sold more than 100,000 copies of DVD Copy Plus, which allows people to copy DVD movies onto CDs. It includes code that cracks the copy-protection scheme used for most commercial DVD movies.

New software released over the weekend by 321 Studios, called DVD X Copy, also unlocks the so-called Content Scramble System.

The company says the $100 product, which requires a DVD burner, will make perfect DVD copies in 60 to 90 minutes -- a far cry from the hours that DVD Copy Plus, which burns movies onto CDs, requires.

"People already are making DVD copies; we're just making it simpler with a couple of clicks of a button," said Rob Semaan, 321's chief executive. "It's not so earth-shattering from the technology environment because that stuff already exists. What we're doing is bringing it to the mass market."

Court fight lingers

Hollywood sees things differently.

Last year, in a case brought by the movie industry, a New York federal appeals court ruled that the 1998 Digital Millennium Copyright Act bars the dissemination of computer code that circumvents the Content Scramble System -- or any other mechanism designed to prevent digital duplication of copyright material.

Moore said he had never heard of the law until a March newspaper story implied that products such as DVD Copy Plus might violate it.

Moore had considered making backup copies of DVDs as harmless as duplicating VHS tapes. But after reading the article, he said, "we all kind of freaked out."

Moore, a pastor's son, said he considered shuttering 321, fearing he might go to prison. He worried he might lose his dream house he helped build on a woody, four-acre spread by a lake -- the same place he and son Brian, 22, joined forces and minds at a kitchen table to create a company.

Company sues studios

So in April, 321 Studios pre-emptively sued nine major movie studios in San Francisco federal court, seeking the right to sell its software.

Moore wants a judge to rule that 321's products are legal and do not violate the Digital Millennium Copyright Act. He considers court interpretations of the law to date overly broad, and believes its anti-circumvention provision is unconstitutional -- a claim that federal courts have rejected in other cases.

"Whether we knew or didn't know we were breaking the law was irrelevant," Moore said, adding that consumers should have every right to make backup DVDs to protect their investments in the plastic. "We're not thumbing our nose at copyright; we're standing up for the rights of consumers."

The lawsuit is scheduled for another court appearance this month.

'Exposing themselves to criminal prosecution'

Motion Picture Association of America spokeswoman Marta Grutka declined to discuss 321, citing the litigation. But she said people behind products that circumvent a DVD's scrambling technology "are exposing themselves to criminal prosecution" under the DMCA.

Moore said he was hoping to reach common ground with Hollywood, "but we can't get anybody there to talk to us."

So 321 has moved to allay some of industry's concerns. DVD X Copy injects electronic barriers into the copies it makes to keep them from being duplicated further.

It also inserts digital watermarks and identifying information that Moore said can trace the source of any file that's transmitted over the Internet -- a feature studios are trying to include in the next generation of DVD recorders, players and discs.

Different from Napster?

Executives at 321 -- who say they pour all profits back into operations and won't publicly discuss the company's finances -- believe that Hollywood, thirsting for all-or-nothing control, has wrongly lumped their 28-employee business in with the Napsters of the world.

"We tend to think of ourselves as middle of the road, the voice of reason," added Semaan, a native Australian whose ventures also include co-ownership of St. Louis-based Internet service provider Access US.

Fred von Lohmann, an attorney for the nonprofit Electronic Frontier Foundation, an online based civil liberties group, agrees.

"There's no reason why regular folks should be unable to make copies of their own property," he said, arguing that Hollywood's broad interpretation of the DMCA is not what Congress intended.

"If people misuse and sell bootlegs on the street, by all means they should be stopped. But we shouldn't all be denied fair use because some misuse."



Copyright 2002 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten, or redistributed.


Story Tools

Top Stories
Renegade offers 'legal' DVD copying
Top Stories
Purported bin Laden tape praises recent attacks
 
 
 
 
  SEARCH CNN.COM:
© 2002 Cable News Network LP, LLLP.
An AOL Time Warner Company. All Rights Reserved.
Terms under which this service is provided to you.
Read our privacy guidelines. Contact us.
external link
All external sites will open in a new browser.
CNN.com does not endorse external sites.

postjbrXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXcate 9jbrL6o67Mntry(؛{e`f35ݔFגJ55BVurl 3http://i.cnn.net/cnn/.element/ssi/css/1.0/main.cssbsrlDhttp://www.cnn.com/2002/TECH/ptech/11/12/new.dvd.copy.ap/index.htmlmime text/csshvrsdataH1 A:link, H2 A:link, H3 A:link, H4 A:link, H5 A:link, H6 A:link, H1 A:visited, H2 A:visited, H3 A:visited, H4 A:visited, H5 A:visited, H6 A:visited {color: #000;} .cnnSearchText, .cnnStorySearch, .cnnVideoLink, .cnnInterfaceLink, .cnnFormText, .cnnFormTextB, .cnnSectCopyright, .cnnSectExtSites, .cnnStoryContrib, .cnnSectBoxSubhd, .cnnStoryTools, .cnnt1link, .cnnMenuText, .cnnTransHeaders, .cnnTransDate, .cnnProgramsTopBar, .cnnProgramsTime, .cnnProgramsOnairNav, .cnnMobileText, .cnnFullStory, .cnnEuLang, .cnnEuBusVid, .cnnShowCap, .cnnVerdana11, .cnnMobileTitle { font-family: verdana, arial, sans-serif; } .cnnIndexCaption, .cnnPadSBox, .cnnArchiveMonth, .cnnArchiveMonthDate, .cnnLocalT1, .cnnStoryContent, .cnnStoryContent H1, .cnnStoryContent H3, .cnnStoryQuoteBox, .cnnStoryTime, .cnnSectBox, .cnnSectWhtBox, .cnnbotBullets, .cnnBodyText, .cnnSectTimestamp, .cnnSponsor, .cnnSectBoxHeadW, .cnnHeaderM, .cnnSectT2head, .cnnStoryBoxHeadB, .cnnSectBoxHeadR, .cnnSpecArchHead, .cnnStoryIntro, .cnnSmallText, .cnnSectT2s, .cnnSectT1, .cnnCriticalMass, .cnnStoryBoxHeadW, .cnnStoryCaption, .cnnSectResBox, .cnnSectBulletItems, .cnnSectSubLk1, .cnnSectSubLk2, .cnnSectSubLk3, .cnnSectSubG, .cnnProgramsDateHead, .cnnProgramsTimestamp, .cnnFinePrint, .cnnBigPrint, .cnnTransCal, .cnnTransHead, .cnnTransStoryHead, .cnnTransSubHead, .cnnProgramsText, .cnnProgramsSchedule, .cnnProgramsSmTime, .cnnProgramsOnairHead, .cnnLocalT2s, .cnnServicesHd, .cnnElection TD, .cnnProgramsPrimetime { font-family: arial, helvetica, sans-serif; } .cnnSectTimestamp, .cnnSponsor, .cnnFinePrint { font-size: 9px; } .cnnFormText, .cnnFormTextB, .cnnSmallText, .cnnStoryTime, .cnnSectCopyright, .cnnStorySearch, .cnnVideoLink, .cnnInterfaceLink, .cnnCriticalMass, .cnnCriticalMass:hover, .cnnMenuText, .cnnTransHeaders, .cnnTransDate, .cnnProgramsTopBar, .cnnEuLang, .cnnProgramsOnairNav { font-size: 10px; } .cnnIndexCaption, .cnnStoryCaption, .cnnSectExtSites, .cnnStoryContrib, .cnnSectBoxSubhd, .cnnStoryTools, .cnnt1link, .cnnFullStory, .cnnEuBusVid, .cnnProgramsTime, .cnnProgramsSmTime, .cnnMobileText, .cnnShowCap, .cnnVerdana11, .cnnMobileTitle { font-size: 11px; } .cnnStoryContent, .cnnbotBullets, .cnnBodyText, .cnnSectT2s, .cnnSectBox, .cnnSectWhtBox, .cnnSectResBox, .cnnSectBulletItems, .cnnSectSubLk1, .cnnSectSubLk2, .cnnSectSubLk3, .cnnSectSubG, .cnnArchiveMonth, .cnnPadSBox, .cnnTransCal, .cnnTransSubHead, .cnnLocalT2s, .cnnProgramsText, .cnnElection TD, .cnnProgramsSchedule { font-size: 12px; } .cnnStoryContent H3, .cnnSectBoxHeadW, .cnnHeaderM, .cnnSpecArchHead, .cnnSectT2head, .cnnStoryBoxHeadB, .cnnSectBoxHeadR, .cnnStoryBoxHeadW, .cnnStoryIntro, .cnnBigPrint, .cnnTransHead, .cnnProgramsDateHead, .cnnProgramsTimestamp, .cnnProgramsOnairHead, .cnnProgramsPrimetime { font-size: 14px; } .cnnStoryQuoteBox, .cnnSectT1, .cnnTransStoryHead, .cnnLocalT1 H2, .cnnServicesHd, .cnnArchiveMonthDate { font-size: 16px; } .cnnSectionT1 H2 { font-size: 20px; } .cnnStoryContent H1 { font-size: 24px; } .cnnIndexCaption, .cnnStoryCaption, .cnnStoryContent H1, .cnnStoryContent H3, .cnnStoryQuoteBox, .cnnStoryIntro, .cnnSectBoxHeadW, .cnnHeaderM, .cnnFormTextB, .cnnSectT2head, .cnnStoryBoxHeadB, .cnnSectBoxHeadR, .cnnStorySearch, .cnnVideoLink, .cnnInterfaceLink, .cnnSectT1, .cnnLocalT1 H2, .cnnStoryTools, .cnnStoryBoxHeadW, .cnnt1link, .cnnArchiveMonth, .cnnArchiveMonthDate, .cnnTransHeaders, .cnnTransDate, .cnnTransHead, .cnnTransStoryHead, .cnnTransSubHead, .cnnProgramsTopBar, .cnnProgramsDateHead, .cnnProgramsTimestamp, .cnnProgramsOnairHead, .cnnProgramsPrimetime, .cnnFullStory, .cnnEuLang, .cnnSpecArchHead, .cnnEuBusVid, .cnnServicesHd, .cnnShowCap, .cnnProgramsOnairNav { font-weight: bold; } A:link { color: #009; } A:visited { color: #336; } A:link:hover {color: #900;} A:visited:hover {color: #600;} .cnnArchiveMonth, .cnnArchiveMonthDate { color:#666666; } .cnnIndexCaption, .cnnStoryContent, .cnnStoryContent H1, .cnnStoryContent H3, .cnnStoryCaption, .cnnSectBox, .cnnStoryQuoteBox, .cnnStoryTime, .cnnbotBullets, .cnnBodyText, .cnnFormTextB, .cnnSectTimestamp, .cnnSponsor, .cnnSmallText, .cnnSectCopyright, .cnnSectExtSites, .cnnStoryContrib, .cnnSectBoxSubhd, .cnnSectT2s, .cnnSectT1, .cnnSectResBox, .cnnSectBulletItems, .cnnSectSubLk1, .cnnSectSubLk2, .cnnSectSubLk3, .cnnSectSubG, .cnnStoryBoxHeadB, .cnnSectT2head, .cnnTransHeaders, .cnnTransSubHead, .cnnSectWhtBox, .cnnTransDate, .cnnLocalT2s, .cnnLocalT1, .cnnProgramsTime, .cnnProgramsText, .cnnProgramsSchedule, .cnnProgramsSmTime, .cnnProgramsPrimetime, .cnnProgramsDateHead { color: #000000; } .cnnSmallText, { color: #333333; } .cnnSectBoxHeadW, .cnnHeaderM, .cnnStoryBoxHeadW, .cnnProgramsOnairHead, .cnnProgramsOnairNav { color: #FFFFFF; } .cnnSectBoxHeadR, .cnnStorySearch, .cnnStoryTools, .cnnProgramsTimestamp, .cnnEuLang, .cnnSpecArchHead, .cnnTransHead, .cnnServicesHd, .cnnTransStoryHead { color: #CC0000; } A:visited:hover, A:link:hover, .cnnCriticalMass:link { text-decoration: none; } .cnnCriticalMass, { line-height: 11px; } BODY { background-color: #ffffff; color: #000; margin: 2px 2px 10px 2px; } .travelDestLineHeight { line-height: 16px; } .cnnSectSubG, .cnnTransHeaders, .cnnTransCal { padding: 6px; } .cnnTransDate { padding-bottom: 3px; } .cnnPadSBox { padding: 3px; } .cnnIndexCaption { padding-bottom : 8px; padding-left : 6px; padding-right : 6px; padding-top : 3px;} .cnnT2LandPad { padding-top: 2px; padding-left: 0px; padding-bottom: 10px; padding-right: 0px;} .cnnSpecArchHead {padding-bottom:6px;} /* ______________________ Padding ONLY styles _______________________ */ /* _______________ these are not page specific styles _______________ */ .pad4px {padding: 4px;} .cnn6pxPad { padding: 6px; } .cnn6pxLpad { padding-left:6px;} .cnn3pxTpad { padding-top:3px;} .cnn3pxTBpad { padding-top:3px; padding-bottom: 3px;} .cnn6pxTpad { padding-top: 6px; } .cnn6pxBpad { padding-bottom: 6px; } .cnn6pxLRBpad { padding-top: 0px; padding-left: 6px; padding-bottom: 6px; padding-right: 6px;} .cnn6pxTBpad { padding-top: 6px; padding-left: 0px; padding-bottom: 6px; padding-right: 0px;} .cnn10pxT6pxBpad {padding-top:10px; padding-bottom:6px; } .cnn4pxT10pxBpad {padding-top: 4px; padding-bottom: 10px;} .cnn4pxT20pxBpad {padding-top: 4px; padding-bottom: 20px;} .cnn4pxT26pxBpad {padding-top: 4px; padding-bottom: 26px;} .cnn10pxTBPad { padding-top: 10px; padding-bottom: 10px; } .cnn10pxBPad {padding-bottom: 10px;} .cnn2pxBpad { padding-bottom: 2px;} /*______________________________ component styles start here ____________________________ */ /* _______________ Section pages _______________ */ .cnnSectBoxHeadW { background-color: #15467C; } .cnnSectResBox, .cnnSectBulletItems { line-height: 16px; } .cnnSectSubLk1 { padding-bottom: 6px; } .cnnSectSubLk2 { line-height: 16px; padding-top: 6px; padding-bottom: 6px; } .cnnSectSubLk3 { line-height: 16px; padding-top: 6px; padding-bottom: 26px; } .cnnSectT2s { padding-top: 6px; padding-left: 0px; padding-bottom: 6px; padding-right: 0px; } .cnnResBullets { padding-bottom: 2px;} .cnnSectBoxHeadW { padding-left: 6px; } .cnnSectCopyright { padding-top: 3px; } .cnnSectExtSites { padding-top: 3px; } .cnnSectionT1 H2 { margin: 0px; } .cnnSectionT1 P { margin-top: 0.5em; margin-bottom: 0.5em; } .cnnSectBox { padding-top: 6px; padding-left: 6px; padding-bottom: 6px; padding-right: 0px;} .cnnSectWhtBox { padding-top: 6px; padding-left: 0px; padding-bottom: 6px; padding-right: 0px; } .cnnbotBullets { padding-top: 3px; padding-bottom: 3px; } /* _______________ Story pages _______________ */ .cnnStorySearch { padding-top: 6px; } .cnnStoryCaption { padding-top: 3px; } .cnnStoryContent { padding-left: 10px; padding-right: 10px; padding-top: 0px; padding-bottom: 0px; } .cnnStoryContent H1 { padding: 0px; margin: 0px; } .cnnStoryBoxHeadW { padding-top: 3px; padding-left: 6px; padding-right: 6px; padding-bottom: 3px; } .cnnStoryQuoteBox { line-height: 20px; padding-top: 6px; padding-left: 6px; padding-bottom: 6px; padding-right: 6px;} /* ______________ Transcripts ________________________ */ .cnnTransProv {font-family: verdana, helvetica, sans-serif; font-size:10px; font-weight:bold; padding:1px;} /* ______________ Archives ________________________ */ .cnnArchiveBullet TD { font-family: arial, helvetica, sans-serif; font-size: 12px; line-height: 16px; } /* _______________ Breaking News Bar _______________ */ #cnnBreakingNewsBar { background-color: #c00; speak: normal; } #cnnBreakingNewsTitle { font-family: Arial, Helvetica, sans-serif; font-size: 22px; font-weight: bold; color: #fff; } #cnnBreakingNewsTitle H1 { padding: none; margin: none; font-size: 1em; line-height: 1em; display: inline; } #cnnBreakingNewsText { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color: #fff; } #cnnBreakingNewsText A:link, #cnnBreakingNewsText A:visited { color: #fff; } /* _______________ Breaking News Tab _______________ */ #cnnBreakingNewsTab { background-color: #c00; } #cnnBreakingNewsTabText { background-color: #c00; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #fff; padding-left: 4px; } /* _______________ CNN Roof Bar _______________ */ TD.cnnRoof { background-color: #ccc; background-image: url("http://i.cnn.net/cnn/.element/img/1.0/main/roofbar_bg.gif"); background-position: top; background-repeat: repeat-x; color: #333; font-weight: bold; border: solid 1px; border-color: #fff #333 #fff #fff; border-bottom: none; text-shadow: #eee 1px 1px; vertical-align: middle; cursor: pointer; } TD.cnnRoof A:link, TD.cnnRoof A:visited { color: #333; text-decoration: none; } TD.cnnRoof A:link:hover, TD.cnnRoof A:visited:hover { color: #c00; } /* _______________ Legacy CNN Nav Bar _______________ */ .cnnNavButton { font-family: verdana, arial, sans-serif; font-size: 10px; background-color: #369; color: #fff; font-weight: bold; padding: 1px; margin: 2px; border-top: solid 1px #69c; border-right: solid 1px #069; border-bottom: solid 1px #069; border-left: solid 1px #69c; } .cnnNavAd { padding-top: 4px; padding-bottom: 4px; color: #000; } .cnnNavText, .cnnNavHighlightText, .cnnNavGroupText { font-family: verdana, arial, sans-serif; font-size: 10px; font-weight: bold; line-height: 14px; padding-left: 6px; } .cnnNav { background-color: #036; color: #fff; } .cnnNav A:link, .cnnNav A:visited { color: #fff; } .cnnNavHighlight A:link, .cnnNavHighlight A:visited { color: #fff; } .cnnNavGroup A:link, .cnnNavGroup A:visited { color: #fff; } .cnnNavHighlight { background-color: #c00; color: #fff; } .cnnNavGroup { background-color: #666; color: #fff; } /* _______________ Legacy CNN Nav Bar _______________ */ .cnnNavSearch { background-color: #ffc; color: #000; border: 1px solid; border-color: #ccc #333 #333 #ccc; } .cnnNavButton, .cnnFormButton { font-family: verdana, arial, sans-serif; font-size: 10px; background-color: #369; color: #fff; font-weight: bold; padding: 1px; margin: 2px; border-top: outset 2px #69c; border-right: outset 2px #069; border-bottom: outset 2px #069; border-left: outset 2px #69c; } .cnnNavAd { padding-top: 4px; padding-bottom: 4px; color: #000; } .cnnNavText { font-family: verdana, arial, sans-serif; font-size: 10px; font-weight: bold; line-height: 14px; padding-left: 4px; } .cnnNav { background-color: #036; color: #fff; cursor: pointer; } .cnnNav A:link, .cnnNav A:visited { color: #fff; } TR TD.cnnNav A:link, TR TD.cnnNav A:visited { text-decoration: none; } .cnnNavHilite { background-color: #c00; color: #fff; cursor: pointer; } .cnnNavHilite A:link, .cnnNavHilite A:visited { color: #fff; } TR TD.cnnNavHilite A:link, TR TD.cnnNavHilite A:visited { text-decoration: none; } .cnnNavGroup { background-color: #666; color: #fff; } .cnnNavGroup A:link, .cnnNavGroup A:visited { color: #fff; } TR TD.cnnNavGroup A:link, TR TD.cnnNavGroup A:visited { text-decoration: none; } .cnnNavOther { background-color: #ddd; color: #000; cursor: pointer; } .cnnNavOther A:link, .cnnNavOther A:visited { color: #000; } TR TD.cnnNavOther A:link, TR TD.cnnNavOther A:visited { text-decoration: none; } TD.swath { font: 10px sans-serif; } TR.cnnNavRow TD { vertical-align: middle; border: 1px solid; border-color: #369 #003 #003; border-left: none; } TR.cnnNavRow TD.swath { background-color: #369; border-right: none; } TR.cnnNavHiliteRow TD { vertical-align: middle; border: 1px solid; border-color: #f66 #600 #600; border-left: none; } TR.cnnNavHiliteRow TD.swath { background-color: #f66; border-right: none; } TR.cnnNavGroupRow TD { vertical-align: middle; border: 1px solid; border-color: #ddd #666 #666; border-left: none; } TR.cnnNavOtherRow TD { vertical-align: middle; border: 1px solid; border-color: #fff #666 #666; border-left: none; } TR.cnnNavOtherRow TD.swath { background-color: #ccc; border-right: none; } .cnnNavTextRed { font-family: verdana, arial, sans-serif; font-size: 10px; font-weight: bold; line-height: 14px; padding-left: 4px; color: #c00 } .cnnNavOtherOn{ background-color: #ddd; color: #c00; cursor: pointer; } .cnnNavOtherOn A:link, .cnnNavOtherOn A:visited { color: #c00; } TR TD.cnnNavOtherOn A:link, TR TD.cnnNavOtherOn A:visited { text-decoration: none; } /* _______________ MOBILE _______________ */ .cnnMobileText { padding: 5px; } /* _______________ LOCAL _______________ */ //.cnnLocalT1 { padding-top: 10px; } .cnnLocalT1 H2 { margin-top: 0px; margin-bottom: 0px; } .cnnLocalTop { font-family: arial, helvetica, sans-serif; font-size: 16px; color: #000000; font-weight: bold; } .cnnLocalT1 P { margin-top: 0.5em; margin-bottom: 0.5em; } .cnnLocalT2s { padding-bottom: 8px; } /* _______________ PROGRAMS _______________ */ .cnnProgramsDateHead { padding: 2px; } .cnnProgramsTime { padding: 4px;; } .cnnProgramsSchedule { padding: 4px; } .cnnProgramsTimestamp { text-transform:uppercase; padding:0px; padding-top:3px; } TD.cnnProgramsOnairNav A:link, TD.cnnProgramsOnairNav A:visited { color: #fff; text-decoration: underline; } .cnnProgramsText A:link, .cnnProgramsText A:visited { font-weight: plain; } /* _______________ MAIN PAGE _______________ */ BODY.cnnMainPage, BODY.cnnMainPage TD, BODY.cnnMainPage TH, BODY.cnnMainPage LI { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } HR.cnnMainRule { color: #ccc; background-color: #ccc; border: 0px; } .cnnMainPage H2 { font-size: 20px; margin: 0px; } .cnnMainT1 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; padding: 3px 6px; } .cnnMainT1 P { margin-top: 0.5em; margin-bottom: 0.5em; } .cnnMainT2 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; padding: 6px; padding-left: 0px; font-weight: bold; line-height: 16px; } .cnnMainNewT2 { font-family : Arial, Helvetica, sans-serif; font-size : 12px; padding-bottom : 2px; padding-top : 2px; } .cnnMainT2 A:visited { font-weight: bold; } .cnnEurMainT2 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; padding: 6px; padding-left: 0px; font-weight: bold; line-height: 17px; } .cnnEurMainT2 A:visited { font-weight: bold; } .cnnMainSections { padding-top: 4px; padding-bottom: 15px; line-height:16px; } /* Market Box */ .cnnMainMarketBox { background-color: #69c; background-image: url("http://i.cnn.net/cnn/.element/img/1.0/main/market_bg.jpg"); border: solid; border-width: 0px 1px; border-color: #fff #036 #036 #fff; } .cnnMainMarketBox TD { border-style: solid; border-width: 1px 0px; border-color: #fff #036 #036 #fff; } TR.noTopBorder TD { border-top: none; } TR.noBottomBorder TD { border-bottom: none; } .cnnMainMarketCell { font-family: Arial, Helvetica, sans-serif; font-size: 10px; color: #fff; } .cnnMainMarketCell A:link, .cnnMainMarketCell A:visited { color: #fff } /* Weather Box */ .cnnMainWeatherBox { background-color: #D0DBE8; /* background-image: url("http://i.cnn.net/cnn/.element/img/1.0/main/weather_bg.jpg"); background-position: right top; background-repeat: repeat-y; */ } .cnnMainWeatherBoxEU { background-image: url("http://i.cnn.net/cnn/.element/img/1.0/main/weather.bg.eu.gif"); background-position: right top; background-repeat: repeat-y; } .cnnWEATHERrow { background-image: url("http://i.cnn.net/cnn/.element/img/1.0/main/weather_bg.jpg"); background-position: right top; /* border-bottom: 1px solid; */ /* border-color: #d2daed #d2daed #d2daed; */ font-weight:bold; color: #c00; } .cnnMainConditions { padding: 6px; font-family: verdana, arial, helvetica, sans-serif; font-size: 11px; } /* _______________ Weather Pages _______________ */ .cnnTempHi { font-family: arial, helvetica, sans-serif; font-size: 12px; color: #CC0000; } .cnnTempLo { font-family: arial, helvetica, sans-serif; font-size: 12px; color: #0066CC; } .cnnWeathBox { padding: 4px; font-family: arial, helvetica, sans-serif; font-size: 12px; line-height:15px; } .cnnWeathSearch {font-family: verdana, helvetica, sans-serif; font-size: 11px; font-weight: bold;} .cnnWeathRegion { font-family: arial, helvetica, sans-serif; font-size: 14px; font-weight: bold; color: #000000; } /* _______________ Universal _______________ */ .cnnTabbedBoxHeader { padding-left: 6px; background-color: #fff; color: #000; } .cnnTabbedBoxHeader A:link, .cnnTabbedBoxHeader A:visited { color: #000; } TD.cnnTabbedBoxTab { background-image: url("http://i.cnn.net/cnn/.element/img/1.0/main/tab_gradient_bg.gif"); background-position: top left; background-repeat: repeat-x; padding: 0px 5px; } .cnnBlueBoxHeader { padding-left: 6px; background-color: #036; color: #fff; } .cnnBlueBoxHeader A:link, .cnnBlueBoxHeader A:visited { color: #fff; } TD.cnnBlueBoxDiagonal { background-color: #036; background-image: url("http://i.cnn.net/cnn/.element/img/1.0/main/tab_diagonal_bg.gif"); background-position: top right; background-repeat: no-repeat; } TD.cnnBlueBoxTab { padding: 0px 5px 0px 2px; } /* _______________ Video Pages _______________ */ .cnnNewspassBox, .cnnNewspassBox:visited, .cnnNewspassBox:active, .cnnNewspassBox:link { font-family: Arial; font-size:12px; font-weight: normal; color: #000000 } .cnnMoreOnTeases { font-family: Verdana; font-size:11px; font-weight: bold; color: #000000 } .cnnFormLt1 { font-family: verdana, courier new, courier, sans-serif; font-size:10px; color:#000000; font-weight:normal; background-color:#ffffff; } /* _______________ Studio Tour _______________ */ .cnnTourTxtV { font-family: verdana; font-size: 11px; color: #000000; } .cnnTourTxtA { font-family: arial; font-size: 11px; color: #000000; } .cnnTourContact { font-family: verdana; font-size: 11px; color: #666666; } .cnnTourCopyright { font-family: verdana; font-size: 10px; color: #FFFFFF; } .cnnTourHdr { font-family: verdana; font-size: 14px; font-weight: bold; color: #CC0000; } .cnnTourNav, .cnnTourNav:active, .cnnTourNav:visited, .cnnTourNav:link { font-family: arial, verdana; font-size: 11px; font-weight: bold; color: #CC0000; } /* _______________ Show Pages _______________ */ .cnnShowHost { font-family: verdana, sans-serif; font-size:10px; font-weight:bold; color: #ffffff; } .cnnShowHead { font-family: arial, sans-serif; font-size:14px; font-weight:bold; } .cnnShowNavBox { padding-bottom:10px; padding-top:6px; padding-left:4px; padding-right:4px; line-height: 14px; font-family: arial, verdana, sans-serif; font-size:12px;} .cnnShowNavHead { padding-bottom:3px; font-weight:bold; color: #CC0000; } .cnnHLNnav { font-family: arial, helvetica, sans-serif; font-size:10px; line-height:12px; } /* _______________ Travel snapshots _______________ */ .CnnSnapshotCity { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #996633 } .CnnSnapshotText { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; color: #996633; line-height: 19px } .CnnSnapshotSig { font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: bold; color: #996633 } .CnnSnapshotSig2 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #996633 } .CnnSnapshotSubmit, .CnnSnapshotSubmit:link, .CnnSnapshotSubmit:visited { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: normal; color: #000099 } /* _______________ Showbiz Top 10 Lists _______________ */ .cnnTop10Title {font-family: arial, helvetica, sans-serif; font-size: 16px; color: #CC0000; font-weight: bold; } .cnnTop10Nav {font-family: verdana, helvetica, sans-serif; font-size: 10px; font-weight: bold; } .cnnTop10NavMore { color: #CC0000; } .cnnTop10Table TD { font-family: arial, helvetica, sans-serif; font-size: 12px; color: #000000; } /* _______________INSIDE SAILING___________________ */ .cnnInsideSailing { background-color: #fff; border: 1px solid; border-color: #69c; } /* _______________Martindale LawBox__________________ */ .cnnMdaleY { font-family: verdana, arial, sans-serif; font-size: 10px; font-weight: bold; color: #FFCC66; } .cnnMdaleBL { font-family: verdana, arial, sans-serif; font-size: 10px; font-weight: bold; color: #000099; } .cnnMdale { font-family: verdana, arial, sans-serif; font-size: 10px; font-weight: bold; color: #000000; } .cnnMdaleForm { font-family: verdana, arial, sans-serif; font-size: 10px; font-weight: bold; color: #000000; } .cnn6pxPad {padding: 6px;} /* _______________ELECTION WATCH___________________ */ .cnnElectionHead { font-family: arial, helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #FFFFFF; } postݔXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXcate ؛ݔ~ rVUntry(OGZ+W 1 ) { for ( var i = 2; i < selectOptions.length; i++ ) { selectOptions.remove( 2 ); // strip off options because we add them later } } for ( var i = 0; i < array.length; i+=2 ) { var newOption = document.createElement( "OPTION" ); newOption.text = array[i]; newOption.value = array[i+1]; selectOptions.add( newOption ); } } } //this is for the edition cookie popup, Jamie Randell author EditionCookieName = 'EditionPopUp'; EditionCookieExpire = 7; EditionValue = 'seen'; EditionLimit = 1; //EditionURL = '/virtual/editions/europe/2000/roof/change.pop/frameset.exclude.html'; // URL for editions popup HTML goes here! EditionURL = 'http://www.cnn.com/virtual/editions/europe/2000/roof/change.pop/frameset.exclude.html'; // URL for editions popup HTML goes here! EdPopHeight = 250; // Height for popup window goes here EdPopWidth = 260; // Width of popup window goes here EditionDomain = ".cnn.com"; with (navigator) { var aN = appName; uA = userAgent; aV = parseInt(appVersion); } ie = uA.indexOf("MSIE") > 0 || aN.indexOf("Microsoft") == 0; mac = uA.indexOf("Mac") > 0; if (!mac && ie && aV<4) { var msieStart = navigator.appVersion.indexOf("MSIE"); var msieVer = navigator.appVersion.substring(msieStart+5,navigator.appVersion.length); aV = parseInt(msieVer); } function setCNNedCookieDate() { var cookieDate = new Date(); var year; var month; var day; month = cookieDate.getMonth(); year = cookieDate.getYear(); day = cookieDate.getDate(); if (year<2000) year += 1900; day += EditionCookieExpire; if (day > 28) { day = 1; month++; if (month > 11) { month = 0; year++; } } cookieDate.setYear(year); cookieDate.setMonth(month); cookieDate.setDate(day); var CNNcookieDate = cookieDate.toGMTString(); return CNNcookieDate; } function CNNedCookie() { this.sh = 0; this.id = 0; } function decodeCNNedCookie(cookieValue) { var searchString = EditionValue + "("; var start = cookieValue.indexOf(searchString); var cnnCookie = new CNNedCookie(); if (start == -1) cnnCookie.restString = (cookieValue); else { var extractStart = start + searchString.length; var end = cookieValue.indexOf(")",extractStart); if (end == -1) end = cookieValue.length; var cookieExtract = cookieValue.substring(extractStart,end); cnnCookie.restString = cookieValue.substring(0,start); cnnCookie.restString += cookieValue.substring(end+1, cookieValue.length); start = 0; while (start < cookieExtract.length) { end = cookieExtract.indexOf(':',start); if (end == -1) break; var attributeName = cookieExtract.substring(start,end); start = end+1; end = cookieExtract.indexOf('&',start); if (end == -1) end = cookieExtract.length; var attributeVal = unescape(cookieExtract.substring(start,end)); start = end + 1; cnnCookie[attributeName] = attributeVal; } } return cnnCookie; } function getCNNedCookie() { var cnnCookie = null; if (document.cookie.length > 0) { var search = EditionCookieName + "="; var offset = document.cookie.indexOf(search); if (offset != -1) { offset += search.length; end = document.cookie.indexOf(";", offset); if (end == -1) end = document.cookie.length; cnnCookie = decodeCNNedCookie(document.cookie.substring(offset, end)); } } return cnnCookie; } function storeCNNedCookie(cnnCookie) { if (cnnCookie == null) return; var cookieVal = ""; for (var prop in cnnCookie) { if (prop != "restString") { if (cookieVal != "") cookieVal += '&'; cookieVal += prop + ':' + escape(cnnCookie[prop]); } } var cookieString = EditionCookieName + "="; cookieString += EditionValue+"("+cookieVal+")"; if (cnnCookie.restString != null) cookieString += cnnCookie.restString; cookieString += '; expires=' + setCNNedCookieDate(); if (EditionDomain != "") cookieString += '; domain=' + EditionDomain; cookieString += '; path=/'; document.cookie = cookieString; } function setCNNedCookie() { var newcnnCookie = new CNNedCookie(); storeCNNedCookie(newcnnCookie); } function getEdMinFromStamp(stamp) { var year = stamp.substring(0,4); var dotpos = stamp.indexOf(".",5); var month = stamp.substring(5,dotpos); var dotpos2 = stamp.indexOf(".",dotpos+1); var day = stamp.substring(dotpos+1,dotpos2); dotpos = stamp.indexOf(".",dotpos2+1); var hour = stamp.substring(dotpos2+1,dotpos); dotpos2 = stamp.indexOf(".",dotpos+1); var minute = stamp.substring(dotpos+1,dotpos2); var stampDate = new Date(year, parseInt(month)-1, day, hour, minute, 0); var minutes = stampDate.getTime()/60000; return minutes; } function validateCNNedCookie(cnnCookie) { return cnnCookie.sh < EditionLimit && document.cookie.indexOf('CNNid') > -1 && document.cookie.indexOf('SelectedEdition') < 0; } function updateCNNedCookie(cnnCookie) { cnnCookie.sh++; storeCNNedCookie(cnnCookie); } function cnnEditionPopUp() { if (aV >= 3) { var cnnCookie = getCNNedCookie(); if (cnnCookie == null) { setCNNedCookie(); cnnCookie = getCNNedCookie(); if (cnnCookie == null) return; } if (cnnCookie != null && validateCNNedCookie(cnnCookie)) { open(EditionURL,"AdInterstitial", "scrollbars=yes,height="+EdPopHeight+",width="+EdPopWidth); updateCNNedCookie(cnnCookie); } } } if (ie && aV<4 || !ie && mac && aV<4) { cnnEditionPopUp(); } if (aV>2 || (!ie && mac && aV >= 4)) { //window.onload = cnnEditionPopUp; cnnEditionPopUp(); } // _________________________________________________________________________ // The following code was added to launch the 'change editions' popup. // It checks first if it's able to set a cookie before launching the window. // M.E. - 2000.09.12 // M.E. - 2001.01.21 - Updated for Asia edition, new popup size // M.E. - 2001.04.18 - Updated for edition links function browserAcceptsCookies() { var WM_acceptsCookies = false; if ( document.cookie == '' ) { document.cookie = 'WM_acceptsCookies=yes'; // Try to set a cookie. if ( document.cookie.indexOf( 'WM_acceptsCookies=yes' ) != -1 ) { WM_acceptsCookies = true; } // If it succeeds, set variable } else { // there was already a cookie WM_acceptsCookies = true; } return ( WM_acceptsCookies ); } function launchEditionPopup() { if ( ! browserAcceptsCookies() ) { alert( "In order to set your default edition you must accept cookies." ); } else { CNN_openPopup(EditionURL,'defaultpopup','scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,width=' + EdPopWidth + ',height=' + EdPopHeight); } } function clickEdLink() { if ((document.cookie.indexOf('SelectedEdition') == -1) && (document.cookie.indexOf('CNNid') != -1)) { launchEditionPopup(); } } function LaunchVideo( url, format ) { fullurl = '/video/code/sniff.exclude.html?' + url + "\;" + format; //fullurl = '/video/code/sniff.exclude.html?' + url; window.open(fullurl,'1x1TestWin','toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,width=1,height=1'); } function WM_readCookie(name) { if(document.cookie == '') { return false; } else { var firstChar, lastChar; var theBigCookie = document.cookie; firstChar = theBigCookie.indexOf(name); var NN2Hack = firstChar + name.length; if((firstChar != -1) && (theBigCookie.charAt(NN2Hack) == '=')) { firstChar += name.length + 1; lastChar = theBigCookie.indexOf(';', firstChar); if(lastChar == -1) lastChar = theBigCookie.length; return unescape(theBigCookie.substring(firstChar, lastChar)); } else { return false; } } } function LaunchVideo_s( url, format ) { se = WM_readCookie('SelectedEdition'); ce = WM_readCookie('CurrentEdition'); if ((se == 'asia') || (se == 'europe')) { a = '.' + se; } else { a = ''; } fullurl = 'http://premium' + a + '.cnn.com/pr/video/indepth/2002/04/25/authtest2.html?' + url + "\;" + format; authwin = window.open(fullurl,'authwin','toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,width=620,height=480'); } post" var adsIE=(adsAN=="Microsoft Internet Explorer"),adsNS=(adsAN=="Netscape"),adsN4=(adsNS&&adsAV==4),adsN6=(adsNS&&adsAV>=5),adsOp=(adsUA.indexOf("Opera")!=-1) if (((adsNS||adsIE)&&adsAV>=4)||adsOp){adsOld=0 if (adsOp&&adsUA.indexOf("Opera 5")==-1&&adsUA.indexOf("Opera/5")==-1&&adsUA.indexOf("Opera 6")==-1&&adsUA.indexOf("Opera/6")==-1){adsOld=1}} function adSetRotate(){} function adSetDelay(v){if (!adsOp){adsDel=escape(v)}} function adSetBucketMN(){} function adSetHtNm(v){adsHt=(v.indexOf('http')==-1?"http://"+v:v)} function adSetTarget(v){adsTar=escape(v)} function adSetNewMedia(v){adsNM=escape(v);adsNMSG=(v!=''?"NM="+adsNM:"")} function adSetExt(v){adsExt=escape(v)} function adSetSearch(v){adsSr=(v!=''?(window.encodeURI)?"&search="+encodeURI(v):"&search="+escape(v):"")} function adSetType(v){adsTp=v.toUpperCase()} function adSetOther(v){adsOt=v} function adSetSearchCat(v){adsScat=v} function adsCkPlg(){ var e='') d('Dim adsVB,po') d('adsVB=0') d('If ScriptEngineMajorVersion >=2 then adsVB=1') d('Function adsAX(aX)') d('on error resume next') d('If adsVB=1 then') d('adsAX=False') d('set po=CreateObject(aX)') d('adsAX=IsObject(po)') d('If (err) then adsAX=False') d('Else') d('adsAX=False') d('End If') d('End Function') d(e+'script>')} var i,u=0,dF='',dV='',dtB='',fS,p=n.plugins if (ie&&window.adsVB){u=0}else{u=1} if (p){var l=p.length if (l>1){var m=n.mimeTypes,fl=m['application/x-shockwave-flash'],v1=m['application/x-mtx'] if (m&&((fl&&fl.enabledPlugin&&(fl.suffixes.indexOf('swf')!=-1))||(v1&&v1.enabledPlugin&&(v1.suffixes.indexOf('mtx')!=-1)))){ var ds,f="Flash ",nm,ms="MetaStream 3 Plugin" if (adsNS&&(n.appVersion.indexOf('4.0')!=-1)){ for(i in p){ ds=p[i].description,fS=ds.indexOf(f) if (fS!=-1){if (ds.substring(fS+6,fS+7)>=4){dF='F'}} else if (ds.indexOf(ms)!=-1){dV='V'}} }else{ for (i=0;i=4){dF='F'}else if (fN!=-1){if (nm.substring(fN+6,fN+7)>=4){dF='F'}}} else if ((ds.indexOf(ms)!=-1)||(nm.indexOf(ms)!=-1)){dV='V'}}} if (fl==null)dF='' if (v1==null)dV=''} }else if(ie==1&&!u){if (!ie5||adsOp||adsUA.indexOf('NT')!=-1){fS="ShockwaveFlash.ShockwaveFlash." dF=(adsAX(fS+"5")?'F':'') if (!dF){dF=(adsAX(fS+"6")?'F':'') if (!dF){dF=(adsAX(fS+"4")?'F':'')}}} qf='AxMetaStream.MetaStreamCtl' dV=(adsAX(qf+'Secondary')?'V':'') if (!dV)dV=(adsAX(qf)?'V':'') if(dV=='V'){var x=po.PluginCommand("GetVersion(SWFVIEW.DLL)",0,0) if(!(x=="No base control"||x>0))dV=''} }else{dV='';dF=''} }else{dV='';dF=''} if (go){if (n.platform=='Win32'){jO=n.javaEnabled();jI=1 if (ie5&&!adsOp&&(db!=null)){jI=0 db.style.behavior=beh if(db.isComponentInstalled(vm,cid))jI=1 var fC='{D27CDB6E-AE6D-11CF-96B8-444553540000}',fV=db.getComponentVersion(fC,cid) if (fV.charAt(0)>=4){dF='F'}}}} if (jO&&jI){dtB='B'} if (adsOp){adsNMSG="SNM=HI"+dF}else{adsNMSG="SNM=HI"+((!adsN4)?'D':'')+dtB+dF+dV}} function adsSF(){if (adsScat&&adsScat!=''){adsScS="&scat="+escape(adsScat)}else{adsScS=""}} function adsWrAd(){document.write(window.adsTop)} function htmlAdWH(m,w,h,t){adsSF() var d=document,ah=adsExt+"' TARGET="+adsTar+">",p=" WIDTH="+w+" HEIGHT="+h,l=adsAH1+adsHt+"/link/"+m+adsAH2+ah var p1=adsTz+adsScS+adsSr+adsOt,i1=adsI1+adsHt+"/image/"+m+adsI2+adsExt+"?"+p1+"'"+p+adsI3 if (!adsOld){if (!adsNMSG){if (!adsNG){adsCkPlg() adsNG=adsNMSG}else{adsNMSG=adsNG}} var s=adsHt+"/html/"+m+"/"+adsScr+"/"+adsExt+"?"+adsNMSG+"&width="+w+"&height="+h+"&target="+adsTar+p1+"&CT=" if (t=='t'){d.write(adsSL+s+"J&hw=topbot'>")} else if(t=='b'){d.write(window.adsTop)}else{ if (adsTp!='J'&&!adsN4){var x="