bplist00{_WebSubresources_WebMainResource_WebSubframeArchives $(,15:>CHLPTX\`abfghlpw _WebResourceResponse_WebResourceData^WebResourceURL_WebResourceMIMETypeO bplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Fri, 05 Oct 2007 13:26:43 GMT_Mon, 08 Oct 2007 07:36:26 GMTU43964["727000902"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1z   .3BGT]c "h0Ohtml { overflow: scroll; } body { margin: 0; padding: 0; background: url(http://images.newmedia.lu/rtl.lu/global2007/bg.jpg) repeat-x fixed; background-color: #757575; font-size: 9pt; font-family: arial; } h2 { font-weight: normal; font-size: 1.6em; color: #000; text-align: left; margin: 0; padding: 0; padding: 0; text-align: center; } h3 { font-weight: normal; font-size: 1.4em; color: #000; text-align: left; margin: 0; padding: 0; padding: 0; text-align: center; } h4 { font-weight: normal; font-size: 1.2em; color: #000; text-align: left; margin: 0; padding: 0; padding: 0; text-align: center; } a { color: #94100f; text-decoration: none; } a:hover { text-decoration: underline; } a:focus { -moz-outline-style: none; } table,tr,td { font-size: 1em; } img { border: 0; } .clearit { clear: both; margin: 0; padding: 0; height: 0; line-height: 0; font-size: 0; } #container { width: 856px; margin: 5px auto; text-align: center; position: relative; } #leaderboard { margin: 5px auto; text-align: center; width: 768px; height: 90px; } #main { width: 856px; background-color: #FFF; position: relative; z-index: 0; } #skyscraper { width: 160px; position: absolute; top: 0; left: 860px; z-index: 10; } #manif_button { margin: 4px; } #subarticles { margin: 5px; } /* --------- Yellow --------- */ #yellow { border: 1px solid #CECECE; margin-top: 10px; width: 528px; } #yellow .innerframe { width: 526px; margin: 1px; background: url(http://images.newmedia.lu/rtl.lu/global2007/yellow/yellow_bg.gif) repeat-x; } #yellow .innerframe .left { float: left; width: 130px; margin-left: 0; } #yellow .innerframe .right { float: left; width: 390px; margin-left: 3px; text-align: center; } #yellow .innerframe .right .intext { border: 1px solid #000000; font-weight: bolder; font-size: 1em; padding: 2px; width: 130px; } #yellow .innerframe .right .form_submit { color: #FFFFFF; font-size: 1em; font-weight: bolder; background-image: url(http://images.newmedia.lu/rtl.lu/global2007/yellow/search.jpg); border: 0; height: 20px; margin-left: 5px; } #yellow .innerframe .right form { padding: 0; margin: 0; } #yellow .innerframe .right h1 { font-size: 1.3em; margin: 6px; padding: 0; } /* --------- RTL Navi --------- */ #navi { margin-bottom: 5px; width: 530px; } #navi .no_features { width: 850px; } #navi div.left, #navi .no_features div.left { float: left; width: 69%; } #navi div.right, #navi .no_features div.right { width: 29%; text-align: right; margin-left: 5px; } * html #navi div.right { margin-left: 3px; } /* --------- RTL Search --------- */ #middle #search p { text-align: center; } #middle #search div.items { margin: 5px; border: 1px solid #CECECE; padding: 5px; } #middle #search div.items h1 { font-weight: bolder; font-size: 1.1em; text-align: left; margin: 0; padding: 0; text-align: left; border: none; } #middle #search div.items h2 { font-weight: normal; font-size: 0.9em; color: #555555; text-align: left; margin: 3px 0; padding: 0; text-align: left; border: none; } /* --------- Topbar --------- */ #topbar { height: 18px; width: 850px; margin: 0; padding: 0; background: url(http://images.newmedia.lu/rtl.lu/global2007/topbar_bg.gif) repeat-x; border-top: 3px solid #FFF; border-left: 3px solid #FFF; border-right: 3px solid #FFF; } #topbar .left { float: left; width: 49%; text-align: left; margin-left: 7px; margin-top: 3px; } #topbar .right { float: left; text-align: right; width: 49%; margin-top: 3px; } /* --------- Header --------- */ #header { height: 109px; width: 850px; margin: 0; padding: 0; background: url(http://images.newmedia.lu/rtl.lu/global2007/bg_header.jpg) repeat-x; border-top: 1px solid #FFF; border-bottom: 3px solid #FFF; border-left: 3px solid #FFF; border-right: 3px solid #FFF; z-index: 1; } #header .left { float: left; width: 100px; } #header .left img { margin-left: 10px; } #header .right { float: left; width: 745px; } #header .right a { color: #FFF; text-decoration: none; } #header .right a:hover { text-decoration: underline; } #header .right .top { height: 62px; } #header .right .top .search { float: left; color: #fcb2b2; margin: 3px; width: 535px; } #header .right .top .search .links { margin-left: 10px; } #header .right .top .search .links span { float: left; display: block; padding-top: 3px; margin-top: 1px; } #header .right .top .search .links span a { text-decoration: none; padding-top: 3px; padding-left: 8px; padding-right: 8px; } #header .right .top .search .links span.selected { background: url(http://images.newmedia.lu/rtl.lu/global2007/search_tab_left_bg.gif) top left no-repeat; padding-top: 3px; } #header .right .top .search .links span.selected a { background: url(http://images.newmedia.lu/rtl.lu/global2007/search_tab_right_bg.gif) top right no-repeat; padding-left: 8px; padding-right: 8px; text-decoration: none; } #header .right .top .search .searchbox form { padding-top: 8px; padding-left: 10px; margin: 0; } #header .right .top .search .searchbox { margin-top: 3px; background: url(http://images.newmedia.lu/rtl.lu/global2007/search_bg.gif) no-repeat; width: 558px; height: 35px; } #header .right .top .search .searchbox .inputtext { float: left; } #header .right .top .search .searchbox .searchbtn { float: left; } #header .right .top .search .searchbox .inputtext .field { width: 400px; height: 18px; border: 0; background: url(http://images.newmedia.lu/rtl.lu/global2007/input_bg.gif) no-repeat; } #header .right .top .search .searchbox .inputtext .field_yellow { width: 190px; height: 18px; border: 0; margin-right: 3px; background: url(http://images.newmedia.lu/rtl.lu/global2007/input_bg.gif) no-repeat; font-weight: bolder; font-size: 1em; } #header .right .top .search .searchbox .searchbtn .submit { width: 127px; height: 18px; border: 0; color: #FFF; background: url(http://images.newmedia.lu/rtl.lu/global2007/bg_button_search.jpg) no-repeat; background-color: #ff6400; font-weight: bolder; font-size: 1em; margin-left: 2px; } #header .right { position: relative; } #header .right .bottom { padding: 0; margin: 0; } #header .right .bottom .menu { width: 670px; text-align: left; } * html #header .right .bottom .menu { margin-left: -75px; } #header .right .bottom .menu ul { list-style-type: none; margin: 0; padding: 0; } #header .right .bottom .menu ul li { display: inline; float: left; background: url(http://images.newmedia.lu/rtl.lu/global2007/menu_divider.gif) top right no-repeat; } #header .right .bottom .menu ul li a { color: #333333; font-weight: bolder; display: block; line-height: 25px; padding-left: 10px; padding-right: 10px; } #header .right .bottom .menu ul li.selected { background-color: #FFF; } #header .right .bottom .menu ul li.selected a { color: #9c1010; } #header .right .bottom .menu .submenu { margin: 1px 0 0 8px; } #header .right .bottom .menu .submenu ul { margin: 0; padding: 0; list-style: none; } #header .right .bottom .menu .submenu ul li { position: relative; float: left; background: none; padding: 0; margin: 0; } #header .right .bottom .menu .submenu li ul { position: absolute; left: 5px; top: 20px; display: none; padding: 0; margin: 0; background-color: #FFF; border-top: 1px solid #CCC; border-right: 1px solid #CCC; border-left: 1px solid #CCC; z-index: 1; } #header .right .bottom .menu .submenu ul li a { display: block; text-decoration: none; color: #9c1010; line-height: 20px; padding-left: 4px; padding-right: 4px; font-weight: normal; float: left; } #header .right .bottom .menu .submenu ul li span.divider { position: relative; top: 1px; } #header .right .bottom .menu .submenu ul li a:hover { text-decoration: underline; } #header .right .bottom .menu .submenu ul li a.selected { font-weight: bolder; } #header .right .bottom .menu .submenu ul li ul a { display: block; text-decoration: none; color: #9c1010; line-height: 20px; padding-left: 4px; padding-right: 4px; width: 150px; border-bottom: 1px solid #CCC; } #header .right .bottom .menu .submenu ul li ul li { clear: both; } #header .right .bottom .menu .submenu ul li ul a:hover { text-decoration: none; background-color: #f1f1f1; } #header .right .bottom .menu .submenu li:hover ul, #header .right .bottom .menu .submenu li.over ul { display: block; z-index: 1; } #header .right .bottom .ptluxembourg { position: absolute; top: 52px; left: 680px; z-index: -0; } #header .right .links { float: left; color: #fcb2b2; text-align: right; } #header .right .links .menu { margin: 10px 0 0 85px; } * html #header .right .links .menu { margin: 10px 0 0 50px; } #header .right .links .menu img { position: relative; top: 4px; } /* --------- Footer --------- */ #footer { height: 36px; width: 850px; margin: 0; padding: 0; background: url(http://images.newmedia.lu/rtl.lu/global2007/bg_footer.jpg) repeat-x; border: 3px solid #FFF; color: #fcb2b2; } #footer a { color: #FFF; text-decoration: none; } #footer a:hover { color: #FFF; text-decoration: underline; } #footer .metriweb { float: left; width: 15%; text-align: left; margin-top: 15px; margin-left: 10px; } #footer .disclaimer { float: left; width: 80%; text-align: center; margin-top: 12px; } /* --------- Main Content --------- */ #middle { background-color: #FFF; margin: 10px 0; text-align: left; } .no_features { min-width: 850px; } #middle .left { float: left; width: 528px; margin-left: 3px; } /* HIGHLIGHTS */ #middle .left .highlights { width: 100%; border: 1px solid #cecece; background: url(http://images.newmedia.lu/rtl.lu/global2007/container_bg.jpg) no-repeat; padding-bottom: 10px; } #middle .left .ferber { width: 100%; text-align: center; margin-top: 10px; } #middle .left .ferber img { border: 1px solid #c0cdd4; padding: 1px; } #middle .left .highlights h1 { font-weight: bolder; font-size: 1.3em; color: #94100f; text-align: left; margin: 0; padding: 0; margin: 5px 5px; } #middle .left .highlights h2 { font-weight: normal; font-size: 1.1em; color: #717171; text-align: left; margin: 0; padding: 0; margin: 3px 5px; padding: 0; } #middle .left .highlights h3 { font-weight: normal; font-size: 1.3em; color: #94100f; text-align: left; margin: 0; padding: 0; } #middle .left .highlights h4 { font-weight: bolder; font-size: 1.1em; color: #94100f; text-align: left; margin: 0; padding: 0; } #middle .left .highlights h5 { font-weight: bolder; font-size: 1.1em; color: #94100f; text-align: left; margin: 5px; padding: 0; } #middle .left .highlights img { border: 1px solid #c0cdd4; padding: 1px; margin: 0; } #middle .left .highlights .hl_news p { margin-top: 2px; margin-bottom: 2px; } #middle .left .highlights .hl_news h3 { margin-top: 4px; margin-left: 4px; } #middle .left .highlights .hl_news a { font-weight: bolder; } #middle .left .highlights .hl_news { margin: 10px; border: 1px solid #CECECE; } #middle .left .highlights .hl_news .subarticles { border-top: 1px solid #CECECE; padding-top: 4px; } #middle .left .highlights .hl p { margin-top: 2px; margin-bottom: 2px; } #middle .left .highlights .hl a { font-weight: bolder; } #middle .left .highlights .hl { margin: 10px; } #middle .left .highlights .hl .left { float: left; width: 170px; } #middle .left .highlights .hl .right { float: left; width: 330px; margin: 0; } #middle .left .highlights .hl_small { margin: 12px 0 0 10px; } #middle .left .highlights .hl_img { margin: 10px 0 0 15px; } #middle .left .highlights .hl_small .left { float: left; width: 40px; margin: 0; } #middle .left .highlights .hl_small .right { float: left; width: 200px; margin: 0; } #middle .left .highlights .hl_small .right p { margin: 0; padding: 0; } #middle .left .highlights .hl_small a { font-weight: bolder; } #middle .left .highlights .hl_big { margin: 10px 0 0 10px; } #middle .left .highlights .hl_big .left { float: left; width: 120px; margin: 0; } #middle .left .highlights .hl_big .right { float: left; width: 125px; margin: 0; } #middle .left .highlights .hl_big .right p { margin: 0; padding: 0; } #middle .left .highlights .col1 { float: left; width: 255px; padding: 0; } #middle .left .highlights .col2 { float: left; width: 255px; padding: 0; } #middle .left .highlights .highlights_vert { margin-top: 10px; } #middle .left .highlights .highlights_vert a { margin-top: 10px; font-weight: bolder; } #middle .left .highlights .highlights_vert p { margin-top: 2px; margin-bottom: 0; } #middle .left .highlights .highlights_vert .col1_vert { float: left; width: 160px; margin-left: 15px; } * html #middle .left .highlights .highlights_vert .col1_vert { margin-left: 10px; } #middle .left .highlights .highlights_vert .col2_vert { float: left; width: 160px; margin-left: 10px; } #middle .left .highlights .highlights_vert .col3_vert { float: left; width: 160px; margin-left: 10px; } #middle .left .highlights .models_archive { margin-left: 10px; margin-top: 10px; } #middle .left .highlights .models_archive h4 { padding: 0; margin: 0; } #middle .left .highlights_model .highlights_model_vert { width: 260px; border: 1px solid #cecece; background: url(http://images.newmedia.lu/rtl.lu/global2007/container_bg.jpg) no-repeat; padding-bottom: 10px; float: left; } #middle .left .highlights_model .highlights_model_vert p { margin: 0; padding: 0; } #middle .left .highlights_model .highlights_model_vert .col1_vert { float: left; width: 224px; margin-left: 15px; margin-top: 10px; } #middle .left .highlights_model .highlights_model_vert .col2_vert { float: left; width: 224px; margin-left: 15px; margin-top: 10px; } #middle .left .highlights_model .highlights_model_vert .col2_vert img { border: 1px solid #c0cdd4; padding: 1px; } #middle .left .highlights_model .highlights_model_vert h4 { margin-bottom: 5px; } #middle .left .highlights_model .highlights_model_vert p { margin: 0; padding: 0; } #middle .left .highlights_model .highlights_model_vert a { font-weight: bolder; } /* TABBED SCROLLBOX */ #middle .left .RTL_TabbedScrollBox { width: 528px; border: 1px solid #cecece; margin-top: 10px; position: relative; overflow: hidden; } #middle .left .RTL_TabbedScrollBox .tabs { height: 20px; margin: 1px; background: url(http://images.newmedia.lu/rtl.lu/global2007/feature_h1_red.gif) repeat-x; padding-left: 5px; } #middle .left .RTL_TabbedScrollBox .tabs .item { float: left; margin: 0; padding: 1px 0; color: #FFF; line-height: 20px; height: 20px; margin-right: 15px; } * html #middle .left .RTL_TabbedScrollBox .tabs .item { padding: 0; } #middle .left .RTL_TabbedScrollBox .tabs .item span { padding: 0; height: 20px; } #middle .left .RTL_TabbedScrollBox .tabs .active { background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_red_selected_left.gif) 0 3px no-repeat; line-height: 20px; height: 20px; } #middle .left .RTL_TabbedScrollBox .tabs .active span { background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_red_selected_right.gif) right 3px no-repeat; color: #94100f; font-weight: bolder; line-height: 20px; height: 20px; padding: 3px 10px; } #middle .left .RTL_TabbedScrollBox div.content { overflow: hidden; border: none; background: none; } #middle .left .RTL_TabbedScrollBox .content ul { overflow: hidden; width: 5000px; display: block; list-style-type: none; margin: 2px 0; padding:0; } #middle .left .RTL_TabbedScrollBox .content ul li { display: block; width: 528px; float: left; } #middle .left .RTL_TabbedScrollBox .content ul li div.item { float: left; width: 165px; height: 95px; border: 1px solid #c3c3c3; margin-left: 7px; } * html #middle .left .RTL_TabbedScrollBox .content ul li div.item { margin-left: 5px; height: 98px; } #middle .left .RTL_TabbedScrollBox .content ul li div.item img { margin: 4px 4px 1px 4px; } #middle .left .RTL_TabbedScrollBox .content ul li div.item p { padding: 0; margin: 0; margin-left: 4px; } #middle .left .RTL_TabbedScrollBox .content ul li div.item a { color: #000; } #middle .left .RTL_TabbedScrollBox .content ul li div.item a:hover { text-decoration: none; } #middle .left .RTL_TabbedScrollBox .footer { width: 100%; } #middle .left .RTL_TabbedScrollBox .footer .next { display: block; float: left; width: 24px; height: 15px; background: url(http://images.newmedia.lu/rtl.lu/global2007/scroll_right.gif); margin: 0 8px 4px 0; } #middle .left .RTL_TabbedScrollBox .footer .prev { display: block; float: left; width: 24px; height: 15px; background: url(http://images.newmedia.lu/rtl.lu/global2007/scroll_left.gif); margin: 0 4px 4px 8px; } #middle .left .RTL_TabbedScrollBox .footer .clearit { clear:both; } #middle .left .RTL_TabbedScrollBox div.content_highlights { overflow: hidden; border: none; background: none; } #middle .left .RTL_TabbedScrollBox .content_highlights ul { overflow: hidden; width: 5000px; display: block; list-style-type: none; margin: 2px 0; padding:0; margin-bottom: 6px; } #middle .left .RTL_TabbedScrollBox .content_highlights ul li { display: block; width: 528px; float: left; } #middle .left .RTL_TabbedScrollBox .content_highlights ul li div.item { float: left; width: 165px; height: 95px; border: 1px solid #c3c3c3; margin-left: 7px; } * html #middle .left .RTL_TabbedScrollBox .content_highlights ul li div.item { margin-left: 5px; height: 98px; } #middle .left .RTL_TabbedScrollBox .content_highlights ul li div.item img { margin: 4px 4px 1px 4px; } #middle .left .RTL_TabbedScrollBox .content_highlights ul li div.item p { padding: 0; margin: 0; margin-left: 4px; } #middle .left .RTL_TabbedScrollBox .content_highlights ul li div.item a { color: #000; } #middle .left .RTL_TabbedScrollBox .content_highlights ul li div.item a:hover { text-decoration: none; } /* Highlights Scrollbox */ #middle .left .RTL_TabbedScrollBox_hl { width: 528px; border: 1px solid #cecece; margin-top: 10px; position: relative; overflow: hidden; } #middle .left .RTL_TabbedScrollBox_hl .tabs { height: 20px; margin: 1px; background: url(http://images.newmedia.lu/rtl.lu/global2007/feature_h1_red.gif) repeat-x; padding-left: 5px; } #middle .left .RTL_TabbedScrollBox_hl .tabs .item { float: left; margin: 0; padding: 1px 0; color: #FFF; line-height: 20px; height: 20px; margin-right: 15px; } * html #middle .left .RTL_TabbedScrollBox_hl .tabs .item { padding: 0; } #middle .left .RTL_TabbedScrollBox_hl .tabs .item span { padding: 0; height: 20px; } #middle .left .RTL_TabbedScrollBox_hl .tabs .active { background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_red_selected_left.gif) 0 3px no-repeat; line-height: 20px; height: 20px; } #middle .left .RTL_TabbedScrollBox_hl .tabs .active span { background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_red_selected_right.gif) right 3px no-repeat; color: #94100f; font-weight: bolder; line-height: 20px; height: 20px; padding: 3px 10px; } #middle .left .RTL_TabbedScrollBox_hl .footer { width: 100%; } #middle .left .RTL_TabbedScrollBox_hl .footer .next { display: block; float: left; width: 24px; height: 15px; background: url(http://images.newmedia.lu/rtl.lu/global2007/scroll_right.gif); margin: 0 8px 4px 0; } #middle .left .RTL_TabbedScrollBox_hl .footer .prev { display: block; float: left; width: 24px; height: 15px; background: url(http://images.newmedia.lu/rtl.lu/global2007/scroll_left.gif); margin: 0 4px 4px 8px; } #middle .left .RTL_TabbedScrollBox_hl .footer .clearit { clear:both; } #middle .left .RTL_TabbedScrollBox_hl div.content_highlights { overflow: hidden; border: none; background: none; } #middle .left .RTL_TabbedScrollBox_hl .content_highlights ul { overflow: hidden; width: 5000px; display: block; list-style-type: none; margin: 2px 0; padding:0; margin-bottom: 6px; } #middle .left .RTL_TabbedScrollBox_hl .content_highlights ul li { display: block; width: 528px; float: left; } #middle .left .RTL_TabbedScrollBox_hl .content_highlights ul li div.item { float: left; width: 165px; height: 95px; border: 1px solid #c3c3c3; margin-left: 7px; } * html #middle .left .RTL_TabbedScrollBox_hl .content_highlights ul li div.item { margin-left: 5px; height: 98px; } #middle .left .RTL_TabbedScrollBox_hl .content_highlights ul li div.item img { margin: 4px 4px 1px 4px; } #middle .left .RTL_TabbedScrollBox_hl .content_highlights ul li div.item p { padding: 0; margin: 0; margin-left: 4px; } #middle .left .RTL_TabbedScrollBox_hl .content_highlights ul li div.item a { color: #000; } #middle .left .RTL_TabbedScrollBox_hl .content_highlights ul li div.item a:hover { text-decoration: none; } /* Promoshop */ #middle .right .RTL_TabbedScrollBox { width: 300px; border: 1px solid #cecece; margin: 0 4px 10px; position: relative; overflow: hidden; background-color: #FFF; } #middle .right .RTL_TabbedScrollBox .tabs { background: url(http://images.newmedia.lu/rtl.lu/global2007/promoshop/header_bg.jpg) no-repeat; width: 298px; height: 25px; margin: 1px; } #middle .right .RTL_TabbedScrollBox .tabs_travel { background: url(http://images.newmedia.lu/rtl.lu/global2007/travel/header_bg.jpg) no-repeat; width: 298px; height: 28px; margin: 1px; } #middle .right .RTL_TabbedScrollBox div.content { overflow: hidden; border: none; background: none; } #middle .right .RTL_TabbedScrollBox .content ul { overflow: hidden; width: 5000px; display: block; list-style-type: none; margin: 2px 0; padding:0; } #middle .right .RTL_TabbedScrollBox .content ul li { display: block; width: 300px; float: left; } #middle .right .RTL_TabbedScrollBox .content ul li div.item { float: left; width: 292px; height: 84px; margin-left: 7px; } #middle .right .RTL_TabbedScrollBox .content ul li div.item a { margin: 3px 0; font-weight: bolder; } #middle .right .RTL_TabbedScrollBox .content ul li div.item .image { float: left; width: 80px; margin-right: 5px; margin-top: 3px; overflow: hidden; text-align: center; } #middle .right .RTL_TabbedScrollBox .content ul li div.item .description { float: left; width: 205px; overflow: hidden; } #middle .right .RTL_TabbedScrollBox .content ul li div.item .description .price { background: url(http://images.newmedia.lu/rtl.lu/global2007/promoshop/price_bg.jpg) no-repeat; width: 56px; height: 20px; text-align: center; color: #FFF; font-weight: bolder; padding: 3px; margin-top: 5px; } #middle .right .RTL_TabbedScrollBox .content ul li div.item .description .price a { color: #FFFFFF; } #middle .right .RTL_TabbedScrollBox .content ul li div.item_travel { float: left; width: 292px; height: 88px; margin-left: 7px; } #middle .right .RTL_TabbedScrollBox .content ul li div.item_travel a { font-weight: bolder; color: #00abd7; } #middle .right .RTL_TabbedScrollBox .content ul li div.item_travel .description { width: 292px; overflow: hidden; } #middle .right .RTL_TabbedScrollBox .content ul li div.item_travel .description .price { background: url(http://images.newmedia.lu/rtl.lu/global2007/travel/price.gif) no-repeat; width: 80px; height: 20px; text-align: center; color: #FFF; font-weight: bolder; padding: 3px; margin-top: 5px; } #middle .right .RTL_TabbedScrollBox .content ul li div.item_travel .description .price a { color: #FFFFFF; } #middle .right .RTL_TabbedScrollBox .footer { height: 0; } #middle .right .RTL_TabbedScrollBox .footer .next { display: block; width: 24px; height: 15px; background: url(http://images.newmedia.lu/rtl.lu/global2007/scroll_right.gif); position: absolute; top: 3px; left: 270px; } #middle .right .RTL_TabbedScrollBox .footer .prev { display: block; width: 24px; height: 15px; background: url(http://images.newmedia.lu/rtl.lu/global2007/scroll_left.gif); position: absolute; top: 3px; left: 240px; } #middle .right .RTL_TabbedScrollBox .footer .clearit { clear:both; } /* TABBED PT */ #middle #tabbed_pt { width: 528px; border: 1px solid #cecece; margin-top: 10px; position: relative; } #middle #tabbed_pt .header { height: 20px; margin: 1px; background: url(http://images.newmedia.lu/rtl.lu/global2007/feature_h1_green.gif) repeat-x; width: 526px; padding: 0; } #middle #tabbed_pt .header .left { float: left; width: 200px; } #middle #tabbed_pt .header .left a { color: #FFF; line-height: 20px; font-weight: bolder; } #middle #tabbed_pt .header .right { float: left; width: 320px; } #middle #tabbed_pt .header .right ul { list-style-type: none; margin: 0; padding: 0; margin-left: 160px; } #middle #tabbed_pt .header .right ul li { float: left; } #middle #tabbed_pt .header .right ul li.active { background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_green_selected_left.gif) 0 3px no-repeat; } #middle #tabbed_pt .header .right ul li a { color: #FFF; display: block; padding-left: 10px; padding-right: 10px; line-height: 20px; } #middle #tabbed_pt .header .right ul li.active a { color: #3f6f00; display: block; padding-left: 10px; padding-right: 10px; padding-top: 3px; line-height: 20px; font-weight: bolder; background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_green_selected_right.gif) right 3px no-repeat; } #middle #tabbed_pt .pt_highlights .left { float: left; width: 310px; } #middle #tabbed_pt .pt_highlights .left .hl_big { height: 85px; margin: 5px 0; } #middle #tabbed_pt .pt_highlights .left .hl_big .left { float: left; width: 145px; } #middle #tabbed_pt .pt_highlights .left .hl_big .left img { border: 1px solid #c0cdd4; padding: 1px; } #middle #tabbed_pt .pt_highlights .left .hl_big .right { float: left; width: 150px; } #middle #tabbed_pt .pt_highlights .left .hl_big .right a { font-weight: bolder; color: #3f6f00; line-height: 20px; } #middle #tabbed_pt .pt_highlights .quizmaster .hl_big .left { float: left; width: 235px; } #middle #tabbed_pt .pt_highlights .quizmaster .hl_big .left img { border: 1px solid #c0cdd4; padding: 1px; } #middle #tabbed_pt .pt_highlights .quizmaster .hl_big .right { float: left; width: 280px; margin-left: 5px; } #middle #tabbed_pt .pt_highlights .quizmaster .hl_big .right a { font-weight: bolder; color: #3f6f00; line-height: 20px; } #middle #tabbed_pt .pt_highlights .right { float: left; width: 210px; } #middle #tabbed_pt .pt_highlights .right .hl_small { margin: 5px 0; height: 34px; } #middle #tabbed_pt .pt_highlights .right .hl_small .left { float: left; width: 39px; } #middle #tabbed_pt .pt_highlights .right .hl_small .left img { border: 1px solid #c0cdd4; padding: 1px; } #middle #tabbed_pt .pt_highlights .right .hl_small .right { float: left; width: 165px; } #middle #tabbed_pt .pt_highlights .right .hl_small .right a { font-weight: bolder; color: #3f6f00; line-height: 20px; } #middle #tabbed_pt .pt_links_container { border: 1px solid #cecece; padding: 1px; width: 514px; height: 50px; margin: 5px 5px 5px; } #middle #tabbed_pt .pt_links_container .pt_links { width: 100%; background: url(http://images.newmedia.lu/rtl.lu/global2007/pt_links_bg.gif) repeat-x; height: 48px; } #middle #tabbed_pt .pt_links_container .pt_links .hl_small { float: left; margin: 5px 0; height: 34px; width: 33%; } #middle #tabbed_pt .pt_links_container .pt_links .hl_small .left { float: left; width: 39px; } #middle #tabbed_pt .pt_links_container .pt_links .hl_small .left img { border: 1px solid #c0cdd4; padding: 1px; } #middle #tabbed_pt .pt_links_container .pt_links .hl_small .right { float: left; width: 125px; } #middle #tabbed_pt .pt_links_container .pt_links .hl_small .right a { font-weight: bolder; color: #3f6f00; line-height: 20px; } /* TABBEDRTL */ #middle #tabbed_rtl { width: 300px; margin-top: 10px; position: relative; background-color: #FFF; margin: 6px 4px; } #middle #tabbed_rtl .header { height: 20px; margin: 1px; background: url(http://images.newmedia.lu/rtl.lu/global2007/feature_h1_red.gif) repeat-x; width: 298px; padding: 0; } #middle #tabbed_rtl .header .left { float: left; width: 140px; } #middle #tabbed_rtl .header .left a { color: #FFF; line-height: 20px; font-weight: bolder; } #middle #tabbed_rtl .header .right { float: left; width: 155px; } * html #middle #tabbed_rtl .header .right { float: left; width: 150px; } #middle #tabbed_rtl .header .right ul { list-style-type: none; margin: 0; padding: 0; margin-left: 45px; } #middle #tabbed_rtl .header .right ul li { float: left; } #middle #tabbed_rtl .header .right ul li.active { background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_red_selected_left.gif) 0 3px no-repeat; } #middle #tabbed_rtl .header .right ul li a { color: #FFF; display: block; padding-left: 10px; padding-right: 10px; line-height: 20px; } #middle #tabbed_rtl .header .right ul li.active a { color: #94100f; display: block; padding-left: 10px; padding-right: 10px; padding-top: 3px; line-height: 20px; font-weight: bolder; background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_red_selected_right.gif) right 3px no-repeat; } #middle #tabbed_rtl .waatleeft div.links { margin: 4px; } #middle #tabbed_rtl .waatleeft div.line { margin: 3px 4px 0 4px; border-bottom: 1px solid #CECECE; padding-bottom: 2px; } #middle #tabbed_rtl .waatleeft div.line img { margin-bottom: -3px; } /* RTL Links Highlights */ #middle #rtllinks_hl { width: 528px; height: 55px; padding: 0; margin-top: 10px; margin-bottom: 10px; position: relative; border: 1px solid #cecece; } #middle #rtllinks_hl ul { list-style-type: none; position: absolute; top: 2px; left: 3px; padding: 0; margin: 0; } #middle #rtllinks_hl li { float: left; margin: 3px; padding: 0; width: 98px; height: 20px; } #middle #rtllinks_hl li a { padding-left: 22px; line-height: 18px; } /* RTL Links */ #middle #rtllinks { width: 530px; height: 74px; padding: 0; margin-top: 10px; position: relative; } #middle #rtllinks .left { float: left; border: 1px solid #cecece; width: 320px; height: 74px; margin: 0; margin-right: 9px; position: relative; } #middle #rtllinks .left ul { list-style-type: none; position: absolute; top: 2px; left: 3px; padding: 0; margin: 0; } #middle #rtllinks .left li { float: left; margin: 3px; padding: 0; width: 98px; height: 18px; } #middle #rtllinks .left li a { padding-left: 22px; line-height: 18px; } #middle #rtllinks .right { float:left; border: 1px solid #cecece; padding: 0; width: 197px; margin: 0; height: 74px; } #middle #rtllinks .right img { margin: 1px; } #middle .left .gameslogin { width: 350px; border: 1px solid #cecece; background: url(http://images.newmedia.lu/rtl.lu/global2007/container_bg.jpg) no-repeat; margin-bottom: 10px; } #middle .left .gameslogin h1 { font-weight: bolder; font-size: 1.1em; color: #94100f; text-align: left; margin: 0; padding: 0; margin: 5px 5px; padding-bottom: 3px; border-bottom: 1px solid #cecece; } #middle .left .content { width: 528px; border: 1px solid #cecece; background: url(http://images.newmedia.lu/rtl.lu/global2007/container_bg.jpg) no-repeat; margin-bottom: 10px; } #middle .left .content .innercontent { margin: 5px; } #middle .left .content h1 { font-weight: bolder; font-size: 1.1em; color: #94100f; text-align: left; margin: 0; padding: 0; margin: 5px 5px; padding-bottom: 3px; border-bottom: 1px solid #cecece; } #middle .left .content_big { width: 848px; border: 1px solid #cecece; /* background: url(http://images.newmedia.lu/rtl.lu/global2007/container_bg.jpg) repeat-x; */ margin-bottom: 10px; } #middle .left .content_big h1 { font-weight: bolder; font-size: 1.1em; color: #94100f; text-align: left; margin: 0; padding: 0; margin: 5px 5px; padding-bottom: 3px; border-bottom: 1px solid #cecece; } #middle .right { float: left; width: 320px; } #middle .right .lvl4nav { width: 308px; border: 1px solid #cecece; background: url(http://images.newmedia.lu/rtl.lu/global2007/container_bg.jpg) no-repeat; margin-bottom: 10px; margin-left: 10px; } #middle .right .lvl4nav ul { margin: 0; padding: 0; list-style-type: none; margin: 5px; } #middle .right .lvl4nav h1 { font-weight: bolder; font-size: 1.1em; color: #94100f; text-align: left; margin: 0; padding: 0; margin: 5px 5px; padding-bottom: 3px; border-bottom: 1px solid #cecece; } #middle .right .newsbox { border: 1px solid #cecece; background-color: #f1f1f1; margin-left: 10px; margin-bottom: 10px; width: 308px; } #banner_home { margin-top: 10px; } * html #middle .right .newsbox { margin-left: 5px; } #middle .right .newsbox .rtlnews { margin: 4px 4px 4px 4px; background-color: #FFF; height: 193px; width: 300px; } #middle .right .newsbox #news_holder { height: 105px; } #middle .right .newsbox .rtlnews .hlbox { width: 280px; height: 50px; border: 1px solid #cecece; margin: 0 8px 8px 8px; background: url(http://images.newmedia.lu/rtl.lu/global2007/rtlnews_bg.gif) no-repeat; } #middle .right .newsbox .rtlnews .hlbox .left { float: left; width: 49%; } #middle .right .newsbox .rtlnews .hlbox .image { float: left; width: 32px; overflow: hidden; padding: 1px; border: 1px solid #baced5; margin: 3px; } #middle .right .newsbox .rtlnews .hlbox .description { float: left; margin-top: 3px; width: 90px; } #middle .right .newsbox .rtlnews .hlbox .description a { font-weight: bolder; color: #144b8b; } #middle .right .newsbox .rtlnews .hlbox .right { float: left; width: 49%; } #middle .right .newsbox .rtlnews h1 { background: url(http://images.newmedia.lu/rtl.lu/global2007/feature_h1_news.gif) repeat-x; padding: 0; margin: 0; height: 20px; border: 1px solid #FFF; } #middle .right .newsbox .rtlnews ul { list-style-type: none; margin: 8px; padding: 0; } #middle .right .newsbox .rtlnews ul li .date { float: left; width: 45px; height: 32px; } #middle .right .newsbox .rtlnews ul li .date span { position: relative; top: 3px; left: 2px; border: 1px solid #cdcdcd; color: #686868; background: url(http://images.newmedia.lu/rtl.lu/global2007/rtlnews_date.gif) repeat-x; padding-left: 2px; padding-right: 2px; } #middle .right .newsbox .rtlnews ul li .text { float: left; width: 238px; } #middle .right .newsbox .rtlnews ul li .text a { color: #144985; } #middle .right .features { border: 1px solid #cecece; background-color: #f1f1f1; margin-left: 10px; width: 308px; } * html #middle .right .features { margin-left: 5px; } #middle .right .features .imu { margin: 4px 4px 6px 4px; } #middle .right .feature { width: 300px; background-color: #FFF; margin: 4px 4px 6px 4px; padding: 0; border: 1px solid #cecece; } #middle .right .feature h1 { background: url(http://images.newmedia.lu/rtl.lu/global2007/feature_h1_grey.gif) repeat-x; padding: 2px 0 0 5px; margin: 0; font-size: 1em; font-weight: bolder; color: #000; height: 20px; } #middle .right .feature .content { margin: 4px; } #middle .right .feature .content .text_feature_title { font-weight: bolder; color: #000; } /* MODELS */ #middle #model .description { width: 480px; text-align: left; } #middle #model .description ul { list-style-type: none; margin: 0; padding: 0; } #middle #model .description li { color: #000; background-color: # EEE; margin-top: 2px; padding: 3px; } #middle #model .video { width: 480px; text-align: right; } #middle #model .sponsor { width: 480px; background-color: # EEE; padding-top: 10px; } #middle #model .sponsor img { border: 1px solid # AAA; padding: 1px; } #middle #model ul.mlinks { list-style-type: none; margin: 0; padding: 0; width: 480px; } #middle #model ul.mlinks li { float: left; } #middle #model ul.mlinks li a { display: block; line-height: 20px; width: 234px; margin: 2px; border: 1px solid #CECECE; } #middle #model ul.mlinks li a:hover { background-color: #94100f; text-decoration: none; color: #FFF; } /* Chrecht Addum */ .standard_tbl_bg { background-color:#f3f3f3; } .standard_tbl_title { font-weight:bold; } .standard_tbl { border-style:solid; border-color:#CCC; border-width:1px; padding:10px; border-collapse:collapse; } .standard_tbl th { background-color:# EEE; border-style:solid; border-color:#CCC; border-width:1px; padding:4px; } .standard_tbl td { border-style:solid; border-color:#CCC; border-width:1px; padding:6px; } .standard_noborder { border: none; } .standard_noborder td,th { border: none; } .standard_border { border-style:solid; border-color:#CCC; border-width:1px; } .standard_border td { padding:6px; } /* Main Movie DIV */ .movie_main { display:table; margin-top:10px; margin-left:10px; margin-bottom:10px; width:830px; height: 400%; background-color:#f6f6f6; border-style:solid; border-color:#CCC; border-width:1px; } /* Movie Tabs */ .movie_tabs { width:100%; height:26px; background : url(http://images.newmedia.lu/rtl.lu/sport/tourdefrance/tabbg.gif) 100% 100% repeat-x; } .movie_tabs ul { list-style-type : none; margin : 0; padding : 0; } .movie_tabs li { display : inline; float : left; background : url(http://images.newmedia.lu/rtl.lu/global2007/menu_divider.gif) top right no-repeat; padding : 6px; cursor : pointer; } .movie_tabs li.active { color : #ce0a0a; background-color: #FFF; border-right : 1px solid #CCC; background : url(http://images.newmedia.lu/rtl.lu/sport/tourdefrance/tabactive.gif) repeat-x; } .moviebox { float : left; width : 140px; height : 230px; margin-left : 10px; margin-right : 10px; margin-top : 15px; margin-bottom : 10px; } .moviebox img { margin-bottom : 7px; } .moviebox a { font-size : 10px; font-weight : bold; color : #000; } .moviedetail { margin-left:12px; margin-right:12px; } .moviedetail td { padding-right:8px; padding-left:8px; } .moviedetail_title { margin-left :15px; font-size: 20px; font-weight: bold; color: #87090a; } .moviedetail_genre { margin-left : 15px; margin-top : 15px; font-size: 12px; color : #555555; } .moviedetail h3 { border-bottom-color:#CCC; border-bottom-style:solid; border-bottom-width:1px; } .moviedetail img { margin-top : 10px; margin-right : 10px; } .moviedetail_imgshot { margin-top : 0; } .moviedetail_imgshot img { margin : 3px; padding : 0; float:left; } .moviedetail p { text-align : justify; } .moviedetailtbl { font-size : 11px; width : 280px; margin : 0; padding : 0; } .moviedetailtbl td { border-bottom-color: #CCC; border-bottom-width: 1px; border-bottom-style: solid; margin:0; padding:3px; } .moviesessions { width : 400px; margin-top : 5px; } .moviesessions th { height : 48px; vertical-align: bottom; text-align : left; font-size : 13px; font-weight : bold; border-bottom-color: #CCC; border-bottom-width: 2px; border-bottom-style: solid; } .moviesessions td { border-bottom-color: #CCC; border-bottom-width: 1px; border-bottom-style: solid; margin:0; padding:3px; } /* ------------ */ _Fhttp://images.newmedia.lu/rtl.lu/styles_static2007/global_05102007.cssXtext/css  Obplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Fri, 28 Sep 2007 17:06:22 GMT_Mon, 08 Oct 2007 07:36:26 GMTU26636]"-1948946251"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1pu~$)8=JSYyh(Oh body { margin: 0; padding: 0; background: url(http://images.newmedia.lu/rtl.lu/global2007/bg.jpg) repeat-x fixed; background-color: #757575; font-size: 9pt; font-family: arial; } h2 { font-weight: normal; font-size: 1.6em; color: #000000; text-align: left; margin: 0; padding: 0; padding: 0; text-align: center; } h3 { font-weight: normal; font-size: 1.4em; color: #000000; text-align: left; margin: 0; padding: 0; padding: 0; text-align: center; } h4 { font-weight: normal; font-size: 1.2em; color: #000000; text-align: left; margin: 0; padding: 0; padding: 0; text-align: center; } a { color: #94100f; text-decoration: none; } a:hover { text-decoration: underline; } table,tr,td { font-size: 1em; } img { border: 0; } .clearit { clear: both; margin: 0; padding: 0; height: 0; line-height: 0; font-size: 0; } #container { width: 100%; margin: 5px auto; text-align: center; } #leaderboard { display: none; } #main { width: 100%; background-color: #FFFFFF; position: relative; } #skyscraper { display: none; } #manif_button { margin: 4px; } #subarticles { margin: 5px; } #navi { display: none; } /* --------- Topbar --------- */ #topbar { height: 18px; width: 100%; margin: 0; padding: 0; background: url(http://images.newmedia.lu/rtl.lu/global2007/topbar_bg.gif) repeat-x; border-top: 3px solid #FFFFFF; border-left: 3px solid #FFFFFF; border-right: 3px solid #FFFFFF; } #topbar .left { float: left; width: 49%; text-align: left; margin-left: 7px; margin-top: 1px; } #topbar .right { display: none; } /* --------- Header --------- */ #header { display: none; } /* --------- Footer --------- */ #footer { display: none; } /* --------- Main Content --------- */ #middle { background-color: #FFFFFF; margin: 10px 0; text-align: left; } .no_features { min-width: 100%; } #middle .left { float: left; width: 100%; margin-left: 3px; } /* HIGHLIGHTS */ #middle .left .highlights { width: 100%; border: 1px solid #cecece; background: url(http://images.newmedia.lu/rtl.lu/global2007/container_bg.jpg) no-repeat; padding-bottom: 10px; } #middle .left .ferber { width: 100%; text-align: center; margin-top: 10px; } #middle .left .ferber img { border: 1px solid #c0cdd4; padding: 1px; } #middle .left .highlights h1 { font-weight: bolder; font-size: 1.3em; color: #94100f; text-align: left; margin: 0; padding: 0; margin: 5px 5px; } #middle .left .highlights h2 { font-weight: normal; font-size: 1.1em; color: #717171; text-align: left; margin: 0; padding: 0; margin: 3px 5px; padding: 0; } #middle .left .highlights h3 { font-weight: normal; font-size: 1.3em; color: #94100f; text-align: left; margin: 0; padding: 0; } #middle .left .highlights h4 { font-weight: bolder; font-size: 1.1em; color: #94100f; text-align: left; margin: 0; padding: 0; } #middle .left .highlights h5 { font-weight: bolder; font-size: 1.1em; color: #94100f; text-align: left; margin: 5px; padding: 0; } #middle .left .highlights img { border: 1px solid #c0cdd4; padding: 1px; margin: 0; } #middle .left .highlights .hl_news p { margin-top: 2px; margin-bottom: 2px; } #middle .left .highlights .hl_news h3 { margin-top: 4px; margin-left: 4px; } #middle .left .highlights .hl_news a { font-weight: bolder; } #middle .left .highlights .hl_news { margin: 10px; border: 1px solid #CECECE; } #middle .left .highlights .hl_news .subarticles { border-top: 1px solid #CECECE; padding-top: 4px; } #middle .left .highlights .hl p { margin-top: 2px; margin-bottom: 2px; } #middle .left .highlights .hl a { font-weight: bolder; } #middle .left .highlights .hl { margin: 10px; } #middle .left .highlights .hl .left { float: left; width: 170px; } #middle .left .highlights .hl .right { float: left; width: 330px; margin: 0; } #middle .left .highlights .hl_small { margin: 12px 0 0 10px; } #middle .left .highlights .hl_img { margin: 10px 0 0 15px; } #middle .left .highlights .hl_small .left { float: left; width: 40px; margin: 0; } #middle .left .highlights .hl_small .right { float: left; width: 200px; margin: 0; } #middle .left .highlights .hl_small .right p { margin: 0; padding: 0; } #middle .left .highlights .hl_big { margin: 10px 0 0 10px; } #middle .left .highlights .hl_big .left { float: left; width: 120px; margin: 0; } #middle .left .highlights .hl_big .right { float: left; width: 125px; margin: 0; } #middle .left .highlights .hl_big .right p { margin: 0; padding: 0; } #middle .left .highlights .col1 { float: left; width: 255px; padding: 0; } #middle .left .highlights .col2 { float: left; width: 255px; padding: 0; } #middle .left .highlights .highlights_vert { margin-top: 10px; } #middle .left .highlights .highlights_vert a { margin-top: 10px; font-weight: bolder; } #middle .left .highlights .highlights_vert p { margin-top: 2px; margin-bottom: 0; } #middle .left .highlights .highlights_vert .col1_vert { float: left; width: 160px; margin-left: 15px; } #middle .left .highlights .highlights_vert .col2_vert { float: left; width: 160px; margin-left: 10px; } #middle .left .highlights .highlights_vert .col3_vert { float: left; width: 160px; margin-left: 10px; } #middle .left .highlights .models_archive { margin-left: 10px; margin-top: 10px; } #middle .left .highlights .models_archive h4 { padding: 0; margin: 0; } #middle .left .highlights_model .highlights_model_vert { width: 260px; border: 1px solid #cecece; background: url(http://images.newmedia.lu/rtl.lu/global2007/container_bg.jpg) no-repeat; padding-bottom: 10px; float: left; } #middle .left .highlights_model .highlights_model_vert p { margin: 0; padding: 0; } #middle .left .highlights_model .highlights_model_vert .col1_vert { float: left; width: 224px; margin-left: 15px; margin-top: 10px; } #middle .left .highlights_model .highlights_model_vert .col2_vert { float: left; width: 224px; margin-left: 15px; margin-top: 10px; } #middle .left .highlights_model .highlights_model_vert .col2_vert img { border: 1px solid #c0cdd4; padding: 1px; } #middle .left .highlights_model .highlights_model_vert h4 { margin-bottom: 5px; } #middle .left .highlights_model .highlights_model_vert p { margin: 0; padding: 0; } #middle .left .highlights_model .highlights_model_vert a { font-weight: bolder; } /* TABBED SCROLLBOX */ #middle .left .RTL_TabbedScrollBox { width: 528px; border: 1px solid #cecece; margin-top: 10px; position: relative; overflow: hidden; } #middle .left .RTL_TabbedScrollBox .tabs { height: 20px; margin: 1px; background: url(http://images.newmedia.lu/rtl.lu/global2007/feature_h1_red.gif) repeat-x; padding-left: 5px; } #middle .left .RTL_TabbedScrollBox .tabs .item { float: left; margin: 0; padding: 1px 0; color: #FFFFFF; line-height: 20px; height: 20px; margin-right: 10px; } * html #middle .left .RTL_TabbedScrollBox .tabs .item { padding: 0; } #middle .left .RTL_TabbedScrollBox .tabs .item span { padding: 0; height: 20px; } #middle .left .RTL_TabbedScrollBox .tabs .active { background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_red_selected_left.gif) 0px 3px no-repeat; line-height: 20px; height: 20px; } #middle .left .RTL_TabbedScrollBox .tabs .active span { background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_red_selected_right.gif) right 3px no-repeat; color: #94100f; font-weight: bolder; line-height: 20px; height: 20px; padding: 3px 10px; } #middle .left .RTL_TabbedScrollBox div.content { overflow: hidden; border: none; background: none; } #middle .left .RTL_TabbedScrollBox .content ul { overflow: hidden; width: 5000px; display: block; list-style-type: none; margin: 2px 0; padding:0; } #middle .left .RTL_TabbedScrollBox .content ul li { display: block; width: 528px; float: left; } #middle .left .RTL_TabbedScrollBox .content ul li div.item { float: left; width: 165px; height: 95px; border: 1px solid #c3c3c3; margin-left: 7px; } * html #middle .left .RTL_TabbedScrollBox .content ul li div.item { margin-left: 5px; height: 98px; } #middle .left .RTL_TabbedScrollBox .content ul li div.item img { margin: 4px 4px 1px 4px; } #middle .left .RTL_TabbedScrollBox .content ul li div.item p { padding: 0; margin: 0; margin-left: 4px; } #middle .left .RTL_TabbedScrollBox .content ul li div.item a { color: #000000; } #middle .left .RTL_TabbedScrollBox .content ul li div.item a:hover { text-decoration: none; } #middle .left .RTL_TabbedScrollBox .footer { width: 100%; } #middle .left .RTL_TabbedScrollBox .footer .next { display: block; float: left; width: 24px; height: 15px; background: url(http://images.newmedia.lu/rtl.lu/global2007/scroll_right.gif); margin: 0 8px 4px 0; } #middle .left .RTL_TabbedScrollBox .footer .prev { display: block; float: left; width: 24px; height: 15px; background: url(http://images.newmedia.lu/rtl.lu/global2007/scroll_left.gif); margin: 0 4px 4px 8px; } #middle .left .RTL_TabbedScrollBox .footer .clearit { clear:both; } /* Promoshop */ #middle .right .RTL_TabbedScrollBox { width: 300px; border: 1px solid #cecece; margin: 0 4px 10px; position: relative; overflow: hidden; background-color: #FFFFFF; } #middle .right .RTL_TabbedScrollBox .tabs { background: url(http://images.newmedia.lu/rtl.lu/global2007/promoshop/header_bg.jpg) no-repeat; width: 298px; height: 25px; margin: 1px; } #middle .right .RTL_TabbedScrollBox .tabs_travel { background: url(http://images.newmedia.lu/rtl.lu/global2007/travel/header_bg.jpg) no-repeat; width: 298px; height: 28px; margin: 1px; } #middle .right .RTL_TabbedScrollBox div.content { overflow: hidden; border: none; background: none; } #middle .right .RTL_TabbedScrollBox .content ul { overflow: hidden; width: 5000px; display: block; list-style-type: none; margin: 2px 0; padding:0; } #middle .right .RTL_TabbedScrollBox .content ul li { display: block; width: 300px; float: left; } #middle .right .RTL_TabbedScrollBox .content ul li div.item { float: left; width: 292px; height: 84px; margin-left: 7px; } #middle .right .RTL_TabbedScrollBox .content ul li div.item a { margin: 3px 0; font-weight: bolder; } #middle .right .RTL_TabbedScrollBox .content ul li div.item .image { float: left; width: 80px; margin-right: 5px; margin-top: 3px; overflow: hidden; text-align: center; } #middle .right .RTL_TabbedScrollBox .content ul li div.item .description { float: left; width: 205px; overflow: hidden; } #middle .right .RTL_TabbedScrollBox .content ul li div.item .description .price { background: url(http://images.newmedia.lu/rtl.lu/global2007/promoshop/price_bg.jpg) no-repeat; width: 56px; height: 20px; text-align: center; color: #FFFFFF; font-weight: bolder; padding: 3px; margin-top: 5px; } #middle .right .RTL_TabbedScrollBox .content ul li div.item_travel { float: left; width: 292px; height: 88px; margin-left: 7px; } #middle .right .RTL_TabbedScrollBox .content ul li div.item_travel a { font-weight: bolder; color: #00abd7; } #middle .right .RTL_TabbedScrollBox .content ul li div.item_travel .description { width: 292px; overflow: hidden; } #middle .right .RTL_TabbedScrollBox .content ul li div.item_travel .description .price { background: url(http://images.newmedia.lu/rtl.lu/global2007/travel/price.gif) no-repeat; width: 80px; height: 20px; text-align: center; color: #FFFFFF; font-weight: bolder; padding: 3px; margin-top: 5px; } #middle .right .RTL_TabbedScrollBox .footer { height: 0; } #middle .right .RTL_TabbedScrollBox .footer .next { display: block; width: 24px; height: 15px; background: url(http://images.newmedia.lu/rtl.lu/global2007/scroll_right.gif); position: absolute; top: 3px; left: 270px; } #middle .right .RTL_TabbedScrollBox .footer .prev { display: block; width: 24px; height: 15px; background: url(http://images.newmedia.lu/rtl.lu/global2007/scroll_left.gif); position: absolute; top: 3px; left: 240px; } #middle .right .RTL_TabbedScrollBox .footer .clearit { clear:both; } /* TABBED PT */ #middle #tabbed_pt { width: 528px; border: 1px solid #cecece; margin-top: 10px; position: relative; } #middle #tabbed_pt .header { height: 20px; margin: 1px; background: url(http://images.newmedia.lu/rtl.lu/global2007/feature_h1_green.gif) repeat-x; width: 526px; padding: 0; } #middle #tabbed_pt .header .left { float: left; width: 200px; } #middle #tabbed_pt .header .left a { color: #FFFFFF; line-height: 20px; font-weight: bolder; } #middle #tabbed_pt .header .right { float: left; width: 320px; } #middle #tabbed_pt .header .right ul { list-style-type: none; margin: 0; padding: 0; margin-left: 160px; } #middle #tabbed_pt .header .right ul li { float: left; } #middle #tabbed_pt .header .right ul li.active { background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_green_selected_left.gif) 0px 3px no-repeat; } #middle #tabbed_pt .header .right ul li a { color: #FFFFFF; display: block; padding-left: 10px; padding-right: 10px; line-height: 20px; } #middle #tabbed_pt .header .right ul li.active a { color: #3f6f00; display: block; padding-left: 10px; padding-right: 10px; padding-top: 3px; line-height: 20px; font-weight: bolder; background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_green_selected_right.gif) right 3px no-repeat; } #middle #tabbed_pt .pt_highlights .left { float: left; width: 310px; } #middle #tabbed_pt .pt_highlights .left .hl_big { height: 85px; margin: 5px 0; } #middle #tabbed_pt .pt_highlights .left .hl_big .left { float: left; width: 145px; } #middle #tabbed_pt .pt_highlights .left .hl_big .left img { border: 1px solid #c0cdd4; padding: 1px; } #middle #tabbed_pt .pt_highlights .left .hl_big .right { float: left; width: 150px; } #middle #tabbed_pt .pt_highlights .left .hl_big .right a { font-weight: bolder; color: #3f6f00; line-height: 20px; } #middle #tabbed_pt .pt_highlights .right { float: left; width: 210px; } #middle #tabbed_pt .pt_highlights .right .hl_small { margin: 5px 0; height: 34px; } #middle #tabbed_pt .pt_highlights .right .hl_small .left { float: left; width: 39px; } #middle #tabbed_pt .pt_highlights .right .hl_small .left img { border: 1px solid #c0cdd4; padding: 1px; } #middle #tabbed_pt .pt_highlights .right .hl_small .right { float: left; width: 165px; } #middle #tabbed_pt .pt_highlights .right .hl_small .right a { font-weight: bolder; color: #3f6f00; line-height: 20px; } #middle #tabbed_pt .pt_links_container { border: 1px solid #cecece; padding: 1px; width: 514px; height: 50px; margin: 5px 5px 5px; } #middle #tabbed_pt .pt_links_container .pt_links { width: 100%; background: url(http://images.newmedia.lu/rtl.lu/global2007/pt_links_bg.gif) repeat-x; height: 48px; } #middle #tabbed_pt .pt_links_container .pt_links .hl_small { float: left; margin: 5px 0; height: 34px; } #middle #tabbed_pt .pt_links_container .pt_links .hl_small .left { float: left; width: 39px; } #middle #tabbed_pt .pt_links_container .pt_links .hl_small .left img { border: 1px solid #c0cdd4; padding: 1px; } #middle #tabbed_pt .pt_links_container .pt_links .hl_small .right { float: left; width: 125px; } #middle #tabbed_pt .pt_links_container .pt_links .hl_small .right a { font-weight: bolder; color: #3f6f00; line-height: 20px; } /* TABBEDRTL */ #middle #tabbed_rtl { width: 300px; margin-top: 10px; position: relative; background-color: #FFFFFF; margin: 6px 4px; } #middle #tabbed_rtl .header { height: 20px; margin: 1px; background: url(http://images.newmedia.lu/rtl.lu/global2007/feature_h1_red.gif) repeat-x; width: 298px; padding: 0; } #middle #tabbed_rtl .header .left { float: left; width: 145px; } #middle #tabbed_rtl .header .left a { color: #FFFFFF; line-height: 20px; font-weight: bolder; } #middle #tabbed_rtl .header .right { float: left; width: 150px; } #middle #tabbed_rtl .header .right ul { list-style-type: none; margin: 0; padding: 0; margin-left: 45px; } #middle #tabbed_rtl .header .right ul li { float: left; } #middle #tabbed_rtl .header .right ul li.active { background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_red_selected_left.gif) 0px 3px no-repeat; } #middle #tabbed_rtl .header .right ul li a { color: #FFFFFF; display: block; padding-left: 10px; padding-right: 10px; line-height: 20px; } #middle #tabbed_rtl .header .right ul li.active a { color: #94100f; display: block; padding-left: 10px; padding-right: 10px; padding-top: 3px; line-height: 20px; font-weight: bolder; background: url(http://images.newmedia.lu/rtl.lu/global2007/tabs_red_selected_right.gif) right 3px no-repeat; } #middle #tabbed_rtl .waatleeft div.links { margin: 4px; } #middle #tabbed_rtl .waatleeft div.line { margin: 3px 4px 0 4px; border-bottom: 1px solid #CECECE; padding-bottom: 2px; } #middle #tabbed_rtl .waatleeft div.line img { margin-bottom: -3px; } /* RTL Links Highlights */ #middle #rtllinks_hl { width: 528px; height: 55px; padding: 0; margin-top: 10px; margin-bottom: 10px; position: relative; border: 1px solid #cecece; } #middle #rtllinks_hl ul { list-style-type: none; position: absolute; top: 2px; left: 3px; padding: 0; margin: 0; } #middle #rtllinks_hl li { float: left; margin: 3px; padding: 0; width: 98px; height: 20px; } #middle #rtllinks_hl li a { padding-left: 22px; line-height: 18px; } /* RTL Links */ #middle #rtllinks { width: 530px; height: 74px; padding: 0; margin-top: 10px; position: relative; } #middle #rtllinks .left { float: left; border: 1px solid #cecece; width: 320px; height: 74px; margin: 0; margin-right: 9px; position: relative; } #middle #rtllinks .left ul { list-style-type: none; position: absolute; top: 2px; left: 3px; padding: 0; margin: 0; } #middle #rtllinks .left li { float: left; margin: 3px; padding: 0; width: 98px; height: 18px; } #middle #rtllinks .left li a { padding-left: 22px; line-height: 18px; } #middle #rtllinks .right { float:left; border: 1px solid #cecece; padding: 0; width: 197px; margin: 0; height: 74px; } #middle #rtllinks .right img { margin: 1px; } #middle .left .content { width: 100%; border: 1px solid #cecece; background: url(http://images.newmedia.lu/rtl.lu/global2007/container_bg.jpg) no-repeat; margin-bottom: 10px; } #middle .left .content .innercontent { margin: 5px; } #middle .left .content h1 { font-weight: bolder; font-size: 1.1em; color: #94100f; text-align: left; margin: 0; padding: 0; margin: 5px 5px; padding-bottom: 3px; border-bottom: 1px solid #cecece; } #middle .left .content_big { width: 848px; border: 1px solid #cecece; background: url(http://images.newmedia.lu/rtl.lu/global2007/container_bg.jpg) no-repeat; margin-bottom: 10px; } #middle .left .content_big h1 { font-weight: bolder; font-size: 1.1em; color: #94100f; text-align: left; margin: 0; padding: 0; margin: 5px 5px; padding-bottom: 3px; border-bottom: 1px solid #cecece; } #middle .right { display: none; } #middle .right .newsbox { border: 1px solid #cecece; background-color: #f1f1f1; margin-left: 10px; margin-bottom: 10px; width: 308px; } #banner_home { margin-top: 10px; } /* MODELS */ #middle #model .description { width: 480px; text-align: left; } #middle #model .description ul { list-style-type: none; margin: 0; padding: 0; } #middle #model .description li { color: #000000; background-color: #EEEEEE; margin-top: 2px; padding: 3px; } #middle #model .video { width: 480px; text-align: right; } #middle #model .sponsor { width: 480px; background-color: #EEEEEE; padding-top: 10px; } #middle #model .sponsor img { border: 1px solid #AAAAAA; padding: 1px; } #middle #model ul.mlinks { list-style-type: none; margin: 0; padding: 0; width: 480px; } #middle #model ul.mlinks li { float: left; } #middle #model ul.mlinks li a { display: block; line-height: 20px; width: 234px; margin: 2px; border: 1px solid #CECECE; } #middle #model ul.mlinks li a:hover { background-color: #94100f; text-decoration: none; color: #FFFFFF; } /* Chrecht Addum */ .standard_tbl_bg { background-color:#f3f3f3; } .standard_tbl_title { font-weight:bold; } .standard_tbl { border-style:solid; border-color:#cccccc; border-width:1px; padding:10px; border-collapse:collapse; } .standard_tbl th { background-color:#eeeeee; border-style:solid; border-color:#cccccc; border-width:1px; padding:4px; } .standard_tbl td { border-style:solid; border-color:#cccccc; border-width:1px; padding:6px; } .standard_noborder { border: none; } .standard_noborder td,th { border: none; } .standard_border { border-style:solid; border-color:#cccccc; border-width:1px; } .standard_border td { padding:6px; } /* Main Movie DIV */ .movie_main { display:table; margin-top:10px; margin-left:10px; margin-bottom:10px; width:830px; height: 400%; background-color:#f6f6f6; border-style:solid; border-color:#cccccc; border-width:1px; } /* Movie Tabs */ .movie_tabs { width:100%; height:26px; background : url(http://images.newmedia.lu/rtl.lu/sport/tourdefrance/tabbg.gif) 100% 100% repeat-x; } .movie_tabs ul { list-style-type : none; margin : 0; padding : 0; } .movie_tabs li { display : inline; float : left; background : url(http://images.newmedia.lu/rtl.lu/global2007/menu_divider.gif) top right no-repeat; padding : 6px; cursor : pointer; } .movie_tabs li.active { color : #ce0a0a; background-color: #ffffff; border-right : 1px solid #cccccc; background : url(http://images.newmedia.lu/rtl.lu/sport/tourdefrance/tabactive.gif) repeat-x; } .moviebox { float : left; width : 140px; height : 230px; margin-left : 10px; margin-right : 10px; margin-top : 15px; margin-bottom : 10px; } .moviebox img { margin-bottom : 7px; } .moviebox a { font-size : 10px; font-weight : bold; color : #000000; } .moviedetail { margin-left:12px; margin-right:12px; } .moviedetail td { padding-right:8px; padding-left:8px; } .moviedetail_title { margin-left :15px; font-size: 20px; font-weight: bold; color: #87090a; } .moviedetail_genre { margin-left : 15px; margin-top : 15px; font-size: 12px; color : #555555; } .moviedetail h3 { border-bottom-color:#cccccc; border-bottom-style:solid; border-bottom-width:1px; } .moviedetail img { margin-top : 10px; margin-right : 10px; } .moviedetail_imgshot { margin-top : 0; } .moviedetail_imgshot img { margin : 3px; padding : 0px; float:left; } .moviedetail p { text-align : justify; } .moviedetailtbl { font-size : 11px; width : 280px; margin : 0; padding : 0; } .moviedetailtbl td { border-bottom-color: #cccccc; border-bottom-width: 1px; border-bottom-style: solid; margin:0; padding:3px; } .moviesessions { width : 400px; margin-top : 5px; } .moviesessions th { height : 48px; vertical-align: bottom; text-align : left; font-size : 13px; font-weight : bold; border-bottom-color: #cccccc; border-bottom-width: 2px; border-bottom-style: solid; } .moviesessions td { border-bottom-color: #cccccc; border-bottom-width: 1px; border-bottom-style: solid; margin:0; padding:3px; } /* ------------ */ _?ISZNS.objectsWNS.keys@ABCDEFGHJKLMNOPQR VServer]Last-Modified]Accept-RangesZConnectionTDate^Content-LengthZKeep-AliveTEtag\Content-TypeVApache_Mon, 29 Jan 2007 20:16:22 GMTUbytes_Mon, 08 Oct 2007 07:36:25 GMTT1283_timeout=5, max=100_"eb03c5-503-8d113180"12effg6_NSMutableDictionary\NSDictionary12ijj6_NSHTTPURLResponseInternal12lmmn6_NSHTTPURLResponse]NSURLResponse$)2DILbd #/135[`itx~ -8=LW\ip8=AUocO/* MetriWeb Javascript file */ /* Version 3.0.2 -- 2005-03-11 */ /* Please, do NEVER modify this monitored file! */ var mw=new Object(); mw.V="3.0"; mw.D=".metriweb.be"; mw.W=function(u) { document.write('<\/sc'+'ript>'); } mw.n=function(d) { var k="0000"; var t=d.split("."); if(parseInt(k+t[t.length-1]))mw.d=d; else mw.d="."+t[t.length-2]+"."+t[t.length-1]; t="charCodeAt(0)"; var c=(k+eval("\""+mw.d.split("").join("\"."+t+"+\"")+"\"."+t)); t=k+k+k+k+new Date().getTime(); t=t.substr(t.length-16,16); return t.substr(0,13)+"."+t.substr(13,3)+c.substr(c.length-3,3)+".5"; } mw.g=function(s,f) { var c; var o=document.cookie.indexOf(s+"="); if(o<0){ c=f(document.domain); document.cookie=s+"="+c+"; domain="+mw.d+"; path=/; expires="+ new Date(new Date().getTime()+365*24*3600000).toGMTString()+";"; }else{ var e=document.cookie.indexOf(";",o); if(e<0)e=document.cookie.length; c=document.cookie.substring(o+4,e); } return c; } mw.c=mw.g("mwc",mw.n); function metriwebTag (tag,keyword,extra,refresh) { mw.W('http://'+tag+mw.D+'/sd/'+tag+'/mw.cgi?page='+keyword+ (extra?('&q='+extra):'')+(refresh?('&s='+refresh):'')+ '&c='+mw.c+'&v='+mw.V+'&R='+Math.random()); } /* (c) 2000-2005, MetriWeb */ _#http://www.rtl.lu/metriweb/mwTag.js_application/x-javascript Obplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Sun, 09 Sep 2007 17:24:28 GMT_Mon, 08 Oct 2007 07:36:26 GMTT3254["364590406"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1chq| %49FOUuh!O //v1.0 //Copyright 2006 Adobe Systems, Inc. All rights reserved. function AC_AddExtension(src, ext) { if (src.indexOf('?') != -1) return src.replace(/\?/, ext+'?'); else return src + ext; } function AC_Generateobj(objAttrs, params, embedAttrs) { var str = ' '; str += '?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Wed, 20 Jun 2007 00:31:38 GMT_Mon, 08 Oct 2007 07:36:26 GMTU96311\"2026709763"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd!-/13fkt#(7<IRXxh&Ox7/* Prototype JavaScript framework, version 1.5.1.1 * (c) 2005-2007 Sam Stephenson * * Prototype is freely distributable under the terms of an MIT-style license. * For details, see the Prototype web site: http://www.prototypejs.org/ * /*--------------------------------------------------------------------------*/ var Prototype = { Version: '1.5.1.1', Browser: { IE: !!(window.attachEvent && !window.opera), Opera: !!window.opera, WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1, Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1 }, BrowserFeatures: { XPath: !!document.evaluate, ElementExtensions: !!window.HTMLElement, SpecificElementExtensions: (document.createElement('div').__proto__ !== document.createElement('form').__proto__) }, ScriptFragment: ']*>([\\S\\s]*?)<\/script>', JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/, emptyFunction: function() { }, K: function(x) { return x } } var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } var Abstract = new Object(); Object.extend = function(destination, source) { for (var property in source) { destination[property] = source[property]; } return destination; } Object.extend(Object, { inspect: function(object) { try { if (object === undefined) return 'undefined'; if (object === null) return 'null'; return object.inspect ? object.inspect() : object.toString(); } catch (e) { if (e instanceof RangeError) return '...'; throw e; } }, toJSON: function(object) { var type = typeof object; switch(type) { case 'undefined': case 'function': case 'unknown': return; case 'boolean': return object.toString(); } if (object === null) return 'null'; if (object.toJSON) return object.toJSON(); if (object.ownerDocument === document) return; var results = []; for (var property in object) { var value = Object.toJSON(object[property]); if (value !== undefined) results.push(property.toJSON() + ': ' + value); } return '{' + results.join(', ') + '}'; }, keys: function(object) { var keys = []; for (var property in object) keys.push(property); return keys; }, values: function(object) { var values = []; for (var property in object) values.push(object[property]); return values; }, clone: function(object) { return Object.extend({}, object); } }); Function.prototype.bind = function() { var __method = this, args = $A(arguments), object = args.shift(); return function() { return __method.apply(object, args.concat($A(arguments))); } } Function.prototype.bindAsEventListener = function(object) { var __method = this, args = $A(arguments), object = args.shift(); return function(event) { return __method.apply(object, [event || window.event].concat(args)); } } Object.extend(Number.prototype, { toColorPart: function() { return this.toPaddedString(2, 16); }, succ: function() { return this + 1; }, times: function(iterator) { $R(0, this, true).each(iterator); return this; }, toPaddedString: function(length, radix) { var string = this.toString(radix || 10); return '0'.times(length - string.length) + string; }, toJSON: function() { return isFinite(this) ? this.toString() : 'null'; } }); Date.prototype.toJSON = function() { return '"' + this.getFullYear() + '-' + (this.getMonth() + 1).toPaddedString(2) + '-' + this.getDate().toPaddedString(2) + 'T' + this.getHours().toPaddedString(2) + ':' + this.getMinutes().toPaddedString(2) + ':' + this.getSeconds().toPaddedString(2) + '"'; }; var Try = { these: function() { var returnValue; for (var i = 0, length = arguments.length; i < length; i++) { var lambda = arguments[i]; try { returnValue = lambda(); break; } catch (e) {} } return returnValue; } } /*--------------------------------------------------------------------------*/ var PeriodicalExecuter = Class.create(); PeriodicalExecuter.prototype = { initialize: function(callback, frequency) { this.callback = callback; this.frequency = frequency; this.currentlyExecuting = false; this.registerCallback(); }, registerCallback: function() { this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); }, stop: function() { if (!this.timer) return; clearInterval(this.timer); this.timer = null; }, onTimerEvent: function() { if (!this.currentlyExecuting) { try { this.currentlyExecuting = true; this.callback(this); } finally { this.currentlyExecuting = false; } } } } Object.extend(String, { interpret: function(value) { return value == null ? '' : String(value); }, specialChar: { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '\\': '\\\\' } }); Object.extend(String.prototype, { gsub: function(pattern, replacement) { var result = '', source = this, match; replacement = arguments.callee.prepareReplacement(replacement); while (source.length > 0) { if (match = source.match(pattern)) { result += source.slice(0, match.index); result += String.interpret(replacement(match)); source = source.slice(match.index + match[0].length); } else { result += source, source = ''; } } return result; }, sub: function(pattern, replacement, count) { replacement = this.gsub.prepareReplacement(replacement); count = count === undefined ? 1 : count; return this.gsub(pattern, function(match) { if (--count < 0) return match[0]; return replacement(match); }); }, scan: function(pattern, iterator) { this.gsub(pattern, iterator); return this; }, truncate: function(length, truncation) { length = length || 30; truncation = truncation === undefined ? '...' : truncation; return this.length > length ? this.slice(0, length - truncation.length) + truncation : this; }, strip: function() { return this.replace(/^\s+/, '').replace(/\s+$/, ''); }, stripTags: function() { return this.replace(/<\/?[^>]+>/gi, ''); }, stripScripts: function() { return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), ''); }, extractScripts: function() { var matchAll = new RegExp(Prototype.ScriptFragment, 'img'); var matchOne = new RegExp(Prototype.ScriptFragment, 'im'); return (this.match(matchAll) || []).map(function(scriptTag) { return (scriptTag.match(matchOne) || ['', ''])[1]; }); }, evalScripts: function() { return this.extractScripts().map(function(script) { return eval(script) }); }, escapeHTML: function() { var self = arguments.callee; self.text.data = this; return self.div.innerHTML; }, unescapeHTML: function() { var div = document.createElement('div'); div.innerHTML = this.stripTags(); return div.childNodes[0] ? (div.childNodes.length > 1 ? $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) : div.childNodes[0].nodeValue) : ''; }, toQueryParams: function(separator) { var match = this.strip().match(/([^?#]*)(#.*)?$/); if (!match) return {}; return match[1].split(separator || '&').inject({}, function(hash, pair) { if ((pair = pair.split('='))[0]) { var key = decodeURIComponent(pair.shift()); var value = pair.length > 1 ? pair.join('=') : pair[0]; if (value != undefined) value = decodeURIComponent(value); if (key in hash) { if (hash[key].constructor != Array) hash[key] = [hash[key]]; hash[key].push(value); } else hash[key] = value; } return hash; }); }, toArray: function() { return this.split(''); }, succ: function() { return this.slice(0, this.length - 1) + String.fromCharCode(this.charCodeAt(this.length - 1) + 1); }, times: function(count) { var result = ''; for (var i = 0; i < count; i++) result += this; return result; }, camelize: function() { var parts = this.split('-'), len = parts.length; if (len == 1) return parts[0]; var camelized = this.charAt(0) == '-' ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) : parts[0]; for (var i = 1; i < len; i++) camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1); return camelized; }, capitalize: function() { return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase(); }, underscore: function() { return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase(); }, dasherize: function() { return this.gsub(/_/,'-'); }, inspect: function(useDoubleQuotes) { var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) { var character = String.specialChar[match[0]]; return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16); }); if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"'; return "'" + escapedString.replace(/'/g, '\\\'') + "'"; }, toJSON: function() { return this.inspect(true); }, unfilterJSON: function(filter) { return this.sub(filter || Prototype.JSONFilter, '#{1}'); }, isJSON: function() { var str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''); return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str); }, evalJSON: function(sanitize) { var json = this.unfilterJSON(); try { if (!sanitize || json.isJSON()) return eval('(' + json + ')'); } catch (e) { } throw new SyntaxError('Badly formed JSON string: ' + this.inspect()); }, include: function(pattern) { return this.indexOf(pattern) > -1; }, startsWith: function(pattern) { return this.indexOf(pattern) === 0; }, endsWith: function(pattern) { var d = this.length - pattern.length; return d >= 0 && this.lastIndexOf(pattern) === d; }, empty: function() { return this == ''; }, blank: function() { return /^\s*$/.test(this); } }); if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, { escapeHTML: function() { return this.replace(/&/g,'&').replace(//g,'>'); }, unescapeHTML: function() { return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); } }); String.prototype.gsub.prepareReplacement = function(replacement) { if (typeof replacement == 'function') return replacement; var template = new Template(replacement); return function(match) { return template.evaluate(match) }; } String.prototype.parseQuery = String.prototype.toQueryParams; Object.extend(String.prototype.escapeHTML, { div: document.createElement('div'), text: document.createTextNode('') }); with (String.prototype.escapeHTML) div.appendChild(text); var Template = Class.create(); Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/; Template.prototype = { initialize: function(template, pattern) { this.template = template.toString(); this.pattern = pattern || Template.Pattern; }, evaluate: function(object) { return this.template.gsub(this.pattern, function(match) { var before = match[1]; if (before == '\\') return match[2]; return before + String.interpret(object[match[3]]); }); } } var $break = {}, $continue = new Error('"throw $continue" is deprecated, use "return" instead'); var Enumerable = { each: function(iterator) { var index = 0; try { this._each(function(value) { iterator(value, index++); }); } catch (e) { if (e != $break) throw e; } return this; }, eachSlice: function(number, iterator) { var index = -number, slices = [], array = this.toArray(); while ((index += number) < array.length) slices.push(array.slice(index, index+number)); return slices.map(iterator); }, all: function(iterator) { var result = true; this.each(function(value, index) { result = result && !!(iterator || Prototype.K)(value, index); if (!result) throw $break; }); return result; }, any: function(iterator) { var result = false; this.each(function(value, index) { if (result = !!(iterator || Prototype.K)(value, index)) throw $break; }); return result; }, collect: function(iterator) { var results = []; this.each(function(value, index) { results.push((iterator || Prototype.K)(value, index)); }); return results; }, detect: function(iterator) { var result; this.each(function(value, index) { if (iterator(value, index)) { result = value; throw $break; } }); return result; }, findAll: function(iterator) { var results = []; this.each(function(value, index) { if (iterator(value, index)) results.push(value); }); return results; }, grep: function(pattern, iterator) { var results = []; this.each(function(value, index) { var stringValue = value.toString(); if (stringValue.match(pattern)) results.push((iterator || Prototype.K)(value, index)); }) return results; }, include: function(object) { var found = false; this.each(function(value) { if (value == object) { found = true; throw $break; } }); return found; }, inGroupsOf: function(number, fillWith) { fillWith = fillWith === undefined ? null : fillWith; return this.eachSlice(number, function(slice) { while(slice.length < number) slice.push(fillWith); return slice; }); }, inject: function(memo, iterator) { this.each(function(value, index) { memo = iterator(memo, value, index); }); return memo; }, invoke: function(method) { var args = $A(arguments).slice(1); return this.map(function(value) { return value[method].apply(value, args); }); }, max: function(iterator) { var result; this.each(function(value, index) { value = (iterator || Prototype.K)(value, index); if (result == undefined || value >= result) result = value; }); return result; }, min: function(iterator) { var result; this.each(function(value, index) { value = (iterator || Prototype.K)(value, index); if (result == undefined || value < result) result = value; }); return result; }, partition: function(iterator) { var trues = [], falses = []; this.each(function(value, index) { ((iterator || Prototype.K)(value, index) ? trues : falses).push(value); }); return [trues, falses]; }, pluck: function(property) { var results = []; this.each(function(value, index) { results.push(value[property]); }); return results; }, reject: function(iterator) { var results = []; this.each(function(value, index) { if (!iterator(value, index)) results.push(value); }); return results; }, sortBy: function(iterator) { return this.map(function(value, index) { return {value: value, criteria: iterator(value, index)}; }).sort(function(left, right) { var a = left.criteria, b = right.criteria; return a < b ? -1 : a > b ? 1 : 0; }).pluck('value'); }, toArray: function() { return this.map(); }, zip: function() { var iterator = Prototype.K, args = $A(arguments); if (typeof args.last() == 'function') iterator = args.pop(); var collections = [this].concat(args).map($A); return this.map(function(value, index) { return iterator(collections.pluck(index)); }); }, size: function() { return this.toArray().length; }, inspect: function() { return '#'; } } Object.extend(Enumerable, { map: Enumerable.collect, find: Enumerable.detect, select: Enumerable.findAll, member: Enumerable.include, entries: Enumerable.toArray }); var $A = Array.from = function(iterable) { if (!iterable) return []; if (iterable.toArray) { return iterable.toArray(); } else { var results = []; for (var i = 0, length = iterable.length; i < length; i++) results.push(iterable[i]); return results; } } if (Prototype.Browser.WebKit) { $A = Array.from = function(iterable) { if (!iterable) return []; if (!(typeof iterable == 'function' && iterable == '[object NodeList]') && iterable.toArray) { return iterable.toArray(); } else { var results = []; for (var i = 0, length = iterable.length; i < length; i++) results.push(iterable[i]); return results; } } } Object.extend(Array.prototype, Enumerable); if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse; Object.extend(Array.prototype, { _each: function(iterator) { for (var i = 0, length = this.length; i < length; i++) iterator(this[i]); }, clear: function() { this.length = 0; return this; }, first: function() { return this[0]; }, last: function() { return this[this.length - 1]; }, compact: function() { return this.select(function(value) { return value != null; }); }, flatten: function() { return this.inject([], function(array, value) { return array.concat(value && value.constructor == Array ? value.flatten() : [value]); }); }, without: function() { var values = $A(arguments); return this.select(function(value) { return !values.include(value); }); }, indexOf: function(object) { for (var i = 0, length = this.length; i < length; i++) if (this[i] == object) return i; return -1; }, reverse: function(inline) { return (inline !== false ? this : this.toArray())._reverse(); }, reduce: function() { return this.length > 1 ? this : this[0]; }, uniq: function(sorted) { return this.inject([], function(array, value, index) { if (0 == index || (sorted ? array.last() != value : !array.include(value))) array.push(value); return array; }); }, clone: function() { return [].concat(this); }, size: function() { return this.length; }, inspect: function() { return '[' + this.map(Object.inspect).join(', ') + ']'; }, toJSON: function() { var results = []; this.each(function(object) { var value = Object.toJSON(object); if (value !== undefined) results.push(value); }); return '[' + results.join(', ') + ']'; } }); Array.prototype.toArray = Array.prototype.clone; function $w(string) { string = string.strip(); return string ? string.split(/\s+/) : []; } if (Prototype.Browser.Opera){ Array.prototype.concat = function() { var array = []; for (var i = 0, length = this.length; i < length; i++) array.push(this[i]); for (var i = 0, length = arguments.length; i < length; i++) { if (arguments[i].constructor == Array) { for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++) array.push(arguments[i][j]); } else { array.push(arguments[i]); } } return array; } } var Hash = function(object) { if (object instanceof Hash) this.merge(object); else Object.extend(this, object || {}); }; Object.extend(Hash, { toQueryString: function(obj) { var parts = []; parts.add = arguments.callee.addPair; this.prototype._each.call(obj, function(pair) { if (!pair.key) return; var value = pair.value; if (value && typeof value == 'object') { if (value.constructor == Array) value.each(function(value) { parts.add(pair.key, value); }); return; } parts.add(pair.key, value); }); return parts.join('&'); }, toJSON: function(object) { var results = []; this.prototype._each.call(object, function(pair) { var value = Object.toJSON(pair.value); if (value !== undefined) results.push(pair.key.toJSON() + ': ' + value); }); return '{' + results.join(', ') + '}'; } }); Hash.toQueryString.addPair = function(key, value, prefix) { key = encodeURIComponent(key); if (value === undefined) this.push(key); else this.push(key + '=' + (value == null ? '' : encodeURIComponent(value))); } Object.extend(Hash.prototype, Enumerable); Object.extend(Hash.prototype, { _each: function(iterator) { for (var key in this) { var value = this[key]; if (value && value == Hash.prototype[key]) continue; var pair = [key, value]; pair.key = key; pair.value = value; iterator(pair); } }, keys: function() { return this.pluck('key'); }, values: function() { return this.pluck('value'); }, merge: function(hash) { return $H(hash).inject(this, function(mergedHash, pair) { mergedHash[pair.key] = pair.value; return mergedHash; }); }, remove: function() { var result; for(var i = 0, length = arguments.length; i < length; i++) { var value = this[arguments[i]]; if (value !== undefined){ if (result === undefined) result = value; else { if (result.constructor != Array) result = [result]; result.push(value) } } delete this[arguments[i]]; } return result; }, toQueryString: function() { return Hash.toQueryString(this); }, inspect: function() { return '#'; }, toJSON: function() { return Hash.toJSON(this); } }); function $H(object) { if (object instanceof Hash) return object; return new Hash(object); }; // Safari iterates over shadowed properties if (function() { var i = 0, Test = function(value) { this.key = value }; Test.prototype.key = 'foo'; for (var property in new Test('bar')) i++; return i > 1; }()) Hash.prototype._each = function(iterator) { var cache = []; for (var key in this) { var value = this[key]; if ((value && value == Hash.prototype[key]) || cache.include(key)) continue; cache.push(key); var pair = [key, value]; pair.key = key; pair.value = value; iterator(pair); } }; ObjectRange = Class.create(); Object.extend(ObjectRange.prototype, Enumerable); Object.extend(ObjectRange.prototype, { initialize: function(start, end, exclusive) { this.start = start; this.end = end; this.exclusive = exclusive; }, _each: function(iterator) { var value = this.start; while (this.include(value)) { iterator(value); value = value.succ(); } }, include: function(value) { if (value < this.start) return false; if (this.exclusive) return value < this.end; return value <= this.end; } }); var $R = function(start, end, exclusive) { return new ObjectRange(start, end, exclusive); } var Ajax = { getTransport: function() { return Try.these( function() {return new XMLHttpRequest()}, function() {return new ActiveXObject('Msxml2.XMLHTTP')}, function() {return new ActiveXObject('Microsoft.XMLHTTP')} ) || false; }, activeRequestCount: 0 } Ajax.Responders = { responders: [], _each: function(iterator) { this.responders._each(iterator); }, register: function(responder) { if (!this.include(responder)) this.responders.push(responder); }, unregister: function(responder) { this.responders = this.responders.without(responder); }, dispatch: function(callback, request, transport, json) { this.each(function(responder) { if (typeof responder[callback] == 'function') { try { responder[callback].apply(responder, [request, transport, json]); } catch (e) {} } }); } }; Object.extend(Ajax.Responders, Enumerable); Ajax.Responders.register({ onCreate: function() { Ajax.activeRequestCount++; }, onComplete: function() { Ajax.activeRequestCount--; } }); Ajax.Base = function() {}; Ajax.Base.prototype = { setOptions: function(options) { this.options = { method: 'post', asynchronous: true, contentType: 'application/x-www-form-urlencoded', encoding: 'UTF-8', parameters: '' } Object.extend(this.options, options || {}); this.options.method = this.options.method.toLowerCase(); if (typeof this.options.parameters == 'string') this.options.parameters = this.options.parameters.toQueryParams(); } } Ajax.Request = Class.create(); Ajax.Request.Events = ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; Ajax.Request.prototype = Object.extend(new Ajax.Base(), { _complete: false, initialize: function(url, options) { this.transport = Ajax.getTransport(); this.setOptions(options); this.request(url); }, request: function(url) { this.url = url; this.method = this.options.method; var params = Object.clone(this.options.parameters); if (!['get', 'post'].include(this.method)) { // simulate other verbs over post params['_method'] = this.method; this.method = 'post'; } this.parameters = params; if (params = Hash.toQueryString(params)) { // when GET, append parameters to URL if (this.method == 'get') this.url += (this.url.include('?') ? '&' : '?') + params; else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) params += '&_='; } try { if (this.options.onCreate) this.options.onCreate(this.transport); Ajax.Responders.dispatch('onCreate', this, this.transport); this.transport.open(this.method.toUpperCase(), this.url, this.options.asynchronous); if (this.options.asynchronous) setTimeout(function() { this.respondToReadyState(1) }.bind(this), 10); this.transport.onreadystatechange = this.onStateChange.bind(this); this.setRequestHeaders(); this.body = this.method == 'post' ? (this.options.postBody || params) : null; this.transport.send(this.body); /* Force Firefox to handle ready state 4 for synchronous requests */ if (!this.options.asynchronous && this.transport.overrideMimeType) this.onStateChange(); } catch (e) { this.dispatchException(e); } }, onStateChange: function() { var readyState = this.transport.readyState; if (readyState > 1 && !((readyState == 4) && this._complete)) this.respondToReadyState(this.transport.readyState); }, setRequestHeaders: function() { var headers = { 'X-Requested-With': 'XMLHttpRequest', 'X-Prototype-Version': Prototype.Version, 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*' }; if (this.method == 'post') { headers['Content-type'] = this.options.contentType + (this.options.encoding ? '; charset=' + this.options.encoding : ''); /* Force "Connection: close" for older Mozilla browsers to work * around a bug where XMLHttpRequest sends an incorrect * Content-length header. See Mozilla Bugzilla #246651. */ if (this.transport.overrideMimeType && (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005) headers['Connection'] = 'close'; } // user-defined headers if (typeof this.options.requestHeaders == 'object') { var extras = this.options.requestHeaders; if (typeof extras.push == 'function') for (var i = 0, length = extras.length; i < length; i += 2) headers[extras[i]] = extras[i+1]; else $H(extras).each(function(pair) { headers[pair.key] = pair.value }); } for (var name in headers) this.transport.setRequestHeader(name, headers[name]); }, success: function() { return !this.transport.status || (this.transport.status >= 200 && this.transport.status < 300); }, respondToReadyState: function(readyState) { var state = Ajax.Request.Events[readyState]; var transport = this.transport, json = this.evalJSON(); if (state == 'Complete') { try { this._complete = true; (this.options['on' + this.transport.status] || this.options['on' + (this.success() ? 'Success' : 'Failure')] || Prototype.emptyFunction)(transport, json); } catch (e) { this.dispatchException(e); } var contentType = this.getHeader('Content-type'); if (contentType && contentType.strip(). match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i)) this.evalResponse(); } try { (this.options['on' + state] || Prototype.emptyFunction)(transport, json); Ajax.Responders.dispatch('on' + state, this, transport, json); } catch (e) { this.dispatchException(e); } if (state == 'Complete') { // avoid memory leak in MSIE: clean up this.transport.onreadystatechange = Prototype.emptyFunction; } }, getHeader: function(name) { try { return this.transport.getResponseHeader(name); } catch (e) { return null } }, evalJSON: function() { try { var json = this.getHeader('X-JSON'); return json ? json.evalJSON() : null; } catch (e) { return null } }, evalResponse: function() { try { return eval((this.transport.responseText || '').unfilterJSON()); } catch (e) { this.dispatchException(e); } }, dispatchException: function(exception) { (this.options.onException || Prototype.emptyFunction)(this, exception); Ajax.Responders.dispatch('onException', this, exception); } }); Ajax.Updater = Class.create(); Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), { initialize: function(container, url, options) { this.container = { success: (container.success || container), failure: (container.failure || (container.success ? null : container)) } this.transport = Ajax.getTransport(); this.setOptions(options); var onComplete = this.options.onComplete || Prototype.emptyFunction; this.options.onComplete = (function(transport, param) { this.updateContent(); onComplete(transport, param); }).bind(this); this.request(url); }, updateContent: function() { var receiver = this.container[this.success() ? 'success' : 'failure']; var response = this.transport.responseText; if (!this.options.evalScripts) response = response.stripScripts(); if (receiver = $(receiver)) { if (this.options.insertion) new this.options.insertion(receiver, response); else receiver.update(response); } if (this.success()) { if (this.onComplete) setTimeout(this.onComplete.bind(this), 10); } } }); Ajax.PeriodicalUpdater = Class.create(); Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), { initialize: function(container, url, options) { this.setOptions(options); this.onComplete = this.options.onComplete; this.frequency = (this.options.frequency || 2); this.decay = (this.options.decay || 1); this.updater = {}; this.container = container; this.url = url; this.start(); }, start: function() { this.options.onComplete = this.updateComplete.bind(this); this.onTimerEvent(); }, stop: function() { this.updater.options.onComplete = undefined; clearTimeout(this.timer); (this.onComplete || Prototype.emptyFunction).apply(this, arguments); }, updateComplete: function(request) { if (this.options.decay) { this.decay = (request.responseText == this.lastText ? this.decay * this.options.decay : 1); this.lastText = request.responseText; } this.timer = setTimeout(this.onTimerEvent.bind(this), this.decay * this.frequency * 1000); }, onTimerEvent: function() { this.updater = new Ajax.Updater(this.container, this.url, this.options); } }); function $(element) { if (arguments.length > 1) { for (var i = 0, elements = [], length = arguments.length; i < length; i++) elements.push($(arguments[i])); return elements; } if (typeof element == 'string') element = document.getElementById(element); return Element.extend(element); } if (Prototype.BrowserFeatures.XPath) { document._getElementsByXPath = function(expression, parentElement) { var results = []; var query = document.evaluate(expression, $(parentElement) || document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var i = 0, length = query.snapshotLength; i < length; i++) results.push(query.snapshotItem(i)); return results; }; document.getElementsByClassName = function(className, parentElement) { var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]"; return document._getElementsByXPath(q, parentElement); } } else document.getElementsByClassName = function(className, parentElement) { var children = ($(parentElement) || document.body).getElementsByTagName('*'); var elements = [], child, pattern = new RegExp("(^|\\s)" + className + "(\\s|$)"); for (var i = 0, length = children.length; i < length; i++) { child = children[i]; var elementClassName = child.className; if (elementClassName.length == 0) continue; if (elementClassName == className || elementClassName.match(pattern)) elements.push(Element.extend(child)); } return elements; }; /*--------------------------------------------------------------------------*/ if (!window.Element) var Element = {}; Element.extend = function(element) { var F = Prototype.BrowserFeatures; if (!element || !element.tagName || element.nodeType == 3 || element._extended || F.SpecificElementExtensions || element == window) return element; var methods = {}, tagName = element.tagName, cache = Element.extend.cache, T = Element.Methods.ByTag; // extend methods for all tags (Safari doesn't need this) if (!F.ElementExtensions) { Object.extend(methods, Element.Methods), Object.extend(methods, Element.Methods.Simulated); } // extend methods for specific tags if (T[tagName]) Object.extend(methods, T[tagName]); for (var property in methods) { var value = methods[property]; if (typeof value == 'function' && !(property in element)) element[property] = cache.findOrStore(value); } element._extended = Prototype.emptyFunction; return element; }; Element.extend.cache = { findOrStore: function(value) { return this[value] = this[value] || function() { return value.apply(null, [this].concat($A(arguments))); } } }; Element.Methods = { visible: function(element) { return $(element).style.display != 'none'; }, toggle: function(element) { element = $(element); Element[Element.visible(element) ? 'hide' : 'show'](element); return element; }, hide: function(element) { $(element).style.display = 'none'; return element; }, show: function(element) { $(element).style.display = ''; return element; }, remove: function(element) { element = $(element); element.parentNode.removeChild(element); return element; }, update: function(element, html) { html = typeof html == 'undefined' ? '' : html.toString(); $(element).innerHTML = html.stripScripts(); setTimeout(function() {html.evalScripts()}, 10); return element; }, replace: function(element, html) { element = $(element); html = typeof html == 'undefined' ? '' : html.toString(); if (element.outerHTML) { element.outerHTML = html.stripScripts(); } else { var range = element.ownerDocument.createRange(); range.selectNodeContents(element); element.parentNode.replaceChild( range.createContextualFragment(html.stripScripts()), element); } setTimeout(function() {html.evalScripts()}, 10); return element; }, inspect: function(element) { element = $(element); var result = '<' + element.tagName.toLowerCase(); $H({'id': 'id', 'className': 'class'}).each(function(pair) { var property = pair.first(), attribute = pair.last(); var value = (element[property] || '').toString(); if (value) result += ' ' + attribute + '=' + value.inspect(true); }); return result + '>'; }, recursivelyCollect: function(element, property) { element = $(element); var elements = []; while (element = element[property]) if (element.nodeType == 1) elements.push(Element.extend(element)); return elements; }, ancestors: function(element) { return $(element).recursivelyCollect('parentNode'); }, descendants: function(element) { return $A($(element).getElementsByTagName('*')).each(Element.extend); }, firstDescendant: function(element) { element = $(element).firstChild; while (element && element.nodeType != 1) element = element.nextSibling; return $(element); }, immediateDescendants: function(element) { if (!(element = $(element).firstChild)) return []; while (element && element.nodeType != 1) element = element.nextSibling; if (element) return [element].concat($(element).nextSiblings()); return []; }, previousSiblings: function(element) { return $(element).recursivelyCollect('previousSibling'); }, nextSiblings: function(element) { return $(element).recursivelyCollect('nextSibling'); }, siblings: function(element) { element = $(element); return element.previousSiblings().reverse().concat(element.nextSiblings()); }, match: function(element, selector) { if (typeof selector == 'string') selector = new Selector(selector); return selector.match($(element)); }, up: function(element, expression, index) { element = $(element); if (arguments.length == 1) return $(element.parentNode); var ancestors = element.ancestors(); return expression ? Selector.findElement(ancestors, expression, index) : ancestors[index || 0]; }, down: function(element, expression, index) { element = $(element); if (arguments.length == 1) return element.firstDescendant(); var descendants = element.descendants(); return expression ? Selector.findElement(descendants, expression, index) : descendants[index || 0]; }, previous: function(element, expression, index) { element = $(element); if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element)); var previousSiblings = element.previousSiblings(); return expression ? Selector.findElement(previousSiblings, expression, index) : previousSiblings[index || 0]; }, next: function(element, expression, index) { element = $(element); if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element)); var nextSiblings = element.nextSiblings(); return expression ? Selector.findElement(nextSiblings, expression, index) : nextSiblings[index || 0]; }, getElementsBySelector: function() { var args = $A(arguments), element = $(args.shift()); return Selector.findChildElements(element, args); }, getElementsByClassName: function(element, className) { return document.getElementsByClassName(className, element); }, readAttribute: function(element, name) { element = $(element); if (Prototype.Browser.IE) { if (!element.attributes) return null; var t = Element._attributeTranslations; if (t.values[name]) return t.values[name](element, name); if (t.names[name]) name = t.names[name]; var attribute = element.attributes[name]; return attribute ? attribute.nodeValue : null; } return element.getAttribute(name); }, getHeight: function(element) { return $(element).getDimensions().height; }, getWidth: function(element) { return $(element).getDimensions().width; }, classNames: function(element) { return new Element.ClassNames(element); }, hasClassName: function(element, className) { if (!(element = $(element))) return; var elementClassName = element.className; if (elementClassName.length == 0) return false; if (elementClassName == className || elementClassName.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))) return true; return false; }, addClassName: function(element, className) { if (!(element = $(element))) return; Element.classNames(element).add(className); return element; }, removeClassName: function(element, className) { if (!(element = $(element))) return; Element.classNames(element).remove(className); return element; }, toggleClassName: function(element, className) { if (!(element = $(element))) return; Element.classNames(element)[element.hasClassName(className) ? 'remove' : 'add'](className); return element; }, observe: function() { Event.observe.apply(Event, arguments); return $A(arguments).first(); }, stopObserving: function() { Event.stopObserving.apply(Event, arguments); return $A(arguments).first(); }, // removes whitespace-only text node children cleanWhitespace: function(element) { element = $(element); var node = element.firstChild; while (node) { var nextNode = node.nextSibling; if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) element.removeChild(node); node = nextNode; } return element; }, empty: function(element) { return $(element).innerHTML.blank(); }, descendantOf: function(element, ancestor) { element = $(element), ancestor = $(ancestor); while (element = element.parentNode) if (element == ancestor) return true; return false; }, scrollTo: function(element) { element = $(element); var pos = Position.cumulativeOffset(element); window.scrollTo(pos[0], pos[1]); return element; }, getStyle: function(element, style) { element = $(element); style = style == 'float' ? 'cssFloat' : style.camelize(); var value = element.style[style]; if (!value) { var css = document.defaultView.getComputedStyle(element, null); value = css ? css[style] : null; } if (style == 'opacity') return value ? parseFloat(value) : 1.0; return value == 'auto' ? null : value; }, getOpacity: function(element) { return $(element).getStyle('opacity'); }, setStyle: function(element, styles, camelized) { element = $(element); var elementStyle = element.style; for (var property in styles) if (property == 'opacity') element.setOpacity(styles[property]) else elementStyle[(property == 'float' || property == 'cssFloat') ? (elementStyle.styleFloat === undefined ? 'cssFloat' : 'styleFloat') : (camelized ? property : property.camelize())] = styles[property]; return element; }, setOpacity: function(element, value) { element = $(element); element.style.opacity = (value == 1 || value === '') ? '' : (value < 0.00001) ? 0 : value; return element; }, getDimensions: function(element) { element = $(element); var display = $(element).getStyle('display'); if (display != 'none' && display != null) // Safari bug return {width: element.offsetWidth, height: element.offsetHeight}; // All *Width and *Height properties give 0 on elements with display none, // so enable the element temporarily var els = element.style; var originalVisibility = els.visibility; var originalPosition = els.position; var originalDisplay = els.display; els.visibility = 'hidden'; els.position = 'absolute'; els.display = 'block'; var originalWidth = element.clientWidth; var originalHeight = element.clientHeight; els.display = originalDisplay; els.position = originalPosition; els.visibility = originalVisibility; return {width: originalWidth, height: originalHeight}; }, makePositioned: function(element) { element = $(element); var pos = Element.getStyle(element, 'position'); if (pos == 'static' || !pos) { element._madePositioned = true; element.style.position = 'relative'; // Opera returns the offset relative to the positioning context, when an // element is position relative but top and left have not been defined if (window.opera) { element.style.top = 0; element.style.left = 0; } } return element; }, undoPositioned: function(element) { element = $(element); if (element._madePositioned) { element._madePositioned = undefined; element.style.position = element.style.top = element.style.left = element.style.bottom = element.style.right = ''; } return element; }, makeClipping: function(element) { element = $(element); if (element._overflow) return element; element._overflow = element.style.overflow || 'auto'; if ((Element.getStyle(element, 'overflow') || 'visible') != 'hidden') element.style.overflow = 'hidden'; return element; }, undoClipping: function(element) { element = $(element); if (!element._overflow) return element; element.style.overflow = element._overflow == 'auto' ? '' : element._overflow; element._overflow = null; return element; } }; Object.extend(Element.Methods, { childOf: Element.Methods.descendantOf, childElements: Element.Methods.immediateDescendants }); if (Prototype.Browser.Opera) { Element.Methods._getStyle = Element.Methods.getStyle; Element.Methods.getStyle = function(element, style) { switch(style) { case 'left': case 'top': case 'right': case 'bottom': if (Element._getStyle(element, 'position') == 'static') return null; default: return Element._getStyle(element, style); } }; } else if (Prototype.Browser.IE) { Element.Methods.getStyle = function(element, style) { element = $(element); style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize(); var value = element.style[style]; if (!value && element.currentStyle) value = element.currentStyle[style]; if (style == 'opacity') { if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/)) if (value[1]) return parseFloat(value[1]) / 100; return 1.0; } if (value == 'auto') { if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none')) return element['offset'+style.capitalize()] + 'px'; return null; } return value; }; Element.Methods.setOpacity = function(element, value) { element = $(element); var filter = element.getStyle('filter'), style = element.style; if (value == 1 || value === '') { style.filter = filter.replace(/alpha\([^\)]*\)/gi,''); return element; } else if (value < 0.00001) value = 0; style.filter = filter.replace(/alpha\([^\)]*\)/gi, '') + 'alpha(opacity=' + (value * 100) + ')'; return element; }; // IE is missing .innerHTML support for TABLE-related elements Element.Methods.update = function(element, html) { element = $(element); html = typeof html == 'undefined' ? '' : html.toString(); var tagName = element.tagName.toUpperCase(); if (['THEAD','TBODY','TR','TD'].include(tagName)) { var div = document.createElement('div'); switch (tagName) { case 'THEAD': case 'TBODY': div.innerHTML = '' + html.stripScripts() + '
'; depth = 2; break; case 'TR': div.innerHTML = '' + html.stripScripts() + '
'; depth = 3; break; case 'TD': div.innerHTML = '
' + html.stripScripts() + '
'; depth = 4; } $A(element.childNodes).each(function(node) { element.removeChild(node) }); depth.times(function() { div = div.firstChild }); $A(div.childNodes).each(function(node) { element.appendChild(node) }); } else { element.innerHTML = html.stripScripts(); } setTimeout(function() { html.evalScripts() }, 10); return element; } } else if (Prototype.Browser.Gecko) { Element.Methods.setOpacity = function(element, value) { element = $(element); element.style.opacity = (value == 1) ? 0.999999 : (value === '') ? '' : (value < 0.00001) ? 0 : value; return element; }; } Element._attributeTranslations = { names: { colspan: "colSpan", rowspan: "rowSpan", valign: "vAlign", datetime: "dateTime", accesskey: "accessKey", tabindex: "tabIndex", enctype: "encType", maxlength: "maxLength", readonly: "readOnly", longdesc: "longDesc" }, values: { _getAttr: function(element, attribute) { return element.getAttribute(attribute, 2); }, _flag: function(element, attribute) { return $(element).hasAttribute(attribute) ? attribute : null; }, style: function(element) { return element.style.cssText.toLowerCase(); }, title: function(element) { var node = element.getAttributeNode('title'); return node.specified ? node.nodeValue : null; } } }; (function() { Object.extend(this, { href: this._getAttr, src: this._getAttr, type: this._getAttr, disabled: this._flag, checked: this._flag, readonly: this._flag, multiple: this._flag }); }).call(Element._attributeTranslations.values); Element.Methods.Simulated = { hasAttribute: function(element, attribute) { var t = Element._attributeTranslations, node; attribute = t.names[attribute] || attribute; node = $(element).getAttributeNode(attribute); return node && node.specified; } }; Element.Methods.ByTag = {}; Object.extend(Element, Element.Methods); if (!Prototype.BrowserFeatures.ElementExtensions && document.createElement('div').__proto__) { window.HTMLElement = {}; window.HTMLElement.prototype = document.createElement('div').__proto__; Prototype.BrowserFeatures.ElementExtensions = true; } Element.hasAttribute = function(element, attribute) { if (element.hasAttribute) return element.hasAttribute(attribute); return Element.Methods.Simulated.hasAttribute(element, attribute); }; Element.addMethods = function(methods) { var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag; if (!methods) { Object.extend(Form, Form.Methods); Object.extend(Form.Element, Form.Element.Methods); Object.extend(Element.Methods.ByTag, { "FORM": Object.clone(Form.Methods), "INPUT": Object.clone(Form.Element.Methods), "SELECT": Object.clone(Form.Element.Methods), "TEXTAREA": Object.clone(Form.Element.Methods) }); } if (arguments.length == 2) { var tagName = methods; methods = arguments[1]; } if (!tagName) Object.extend(Element.Methods, methods || {}); else { if (tagName.constructor == Array) tagName.each(extend); else extend(tagName); } function extend(tagName) { tagName = tagName.toUpperCase(); if (!Element.Methods.ByTag[tagName]) Element.Methods.ByTag[tagName] = {}; Object.extend(Element.Methods.ByTag[tagName], methods); } function copy(methods, destination, onlyIfAbsent) { onlyIfAbsent = onlyIfAbsent || false; var cache = Element.extend.cache; for (var property in methods) { var value = methods[property]; if (!onlyIfAbsent || !(property in destination)) destination[property] = cache.findOrStore(value); } } function findDOMClass(tagName) { var klass; var trans = { "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph", "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList", "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading", "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote", "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION": "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD": "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR": "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET": "FrameSet", "IFRAME": "IFrame" }; if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element'; if (window[klass]) return window[klass]; klass = 'HTML' + tagName + 'Element'; if (window[klass]) return window[klass]; klass = 'HTML' + tagName.capitalize() + 'Element'; if (window[klass]) return window[klass]; window[klass] = {}; window[klass].prototype = document.createElement(tagName).__proto__; return window[klass]; } if (F.ElementExtensions) { copy(Element.Methods, HTMLElement.prototype); copy(Element.Methods.Simulated, HTMLElement.prototype, true); } if (F.SpecificElementExtensions) { for (var tag in Element.Methods.ByTag) { var klass = findDOMClass(tag); if (typeof klass == "undefined") continue; copy(T[tag], klass.prototype); } } Object.extend(Element, Element.Methods); delete Element.ByTag; }; var Toggle = { display: Element.toggle }; /*--------------------------------------------------------------------------*/ Abstract.Insertion = function(adjacency) { this.adjacency = adjacency; } Abstract.Insertion.prototype = { initialize: function(element, content) { this.element = $(element); this.content = content.stripScripts(); if (this.adjacency && this.element.insertAdjacentHTML) { try { this.element.insertAdjacentHTML(this.adjacency, this.content); } catch (e) { var tagName = this.element.tagName.toUpperCase(); if (['TBODY', 'TR'].include(tagName)) { this.insertContent(this.contentFromAnonymousTable()); } else { throw e; } } } else { this.range = this.element.ownerDocument.createRange(); if (this.initializeRange) this.initializeRange(); this.insertContent([this.range.createContextualFragment(this.content)]); } setTimeout(function() {content.evalScripts()}, 10); }, contentFromAnonymousTable: function() { var div = document.createElement('div'); div.innerHTML = '' + this.content + '
'; return $A(div.childNodes[0].childNodes[0].childNodes); } } var Insertion = new Object(); Insertion.Before = Class.create(); Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), { initializeRange: function() { this.range.setStartBefore(this.element); }, insertContent: function(fragments) { fragments.each((function(fragment) { this.element.parentNode.insertBefore(fragment, this.element); }).bind(this)); } }); Insertion.Top = Class.create(); Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), { initializeRange: function() { this.range.selectNodeContents(this.element); this.range.collapse(true); }, insertContent: function(fragments) { fragments.reverse(false).each((function(fragment) { this.element.insertBefore(fragment, this.element.firstChild); }).bind(this)); } }); Insertion.Bottom = Class.create(); Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), { initializeRange: function() { this.range.selectNodeContents(this.element); this.range.collapse(this.element); }, insertContent: function(fragments) { fragments.each((function(fragment) { this.element.appendChild(fragment); }).bind(this)); } }); Insertion.After = Class.create(); Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), { initializeRange: function() { this.range.setStartAfter(this.element); }, insertContent: function(fragments) { fragments.each((function(fragment) { this.element.parentNode.insertBefore(fragment, this.element.nextSibling); }).bind(this)); } }); /*--------------------------------------------------------------------------*/ Element.ClassNames = Class.create(); Element.ClassNames.prototype = { initialize: function(element) { this.element = $(element); }, _each: function(iterator) { this.element.className.split(/\s+/).select(function(name) { return name.length > 0; })._each(iterator); }, set: function(className) { this.element.className = className; }, add: function(classNameToAdd) { if (this.include(classNameToAdd)) return; this.set($A(this).concat(classNameToAdd).join(' ')); }, remove: function(classNameToRemove) { if (!this.include(classNameToRemove)) return; this.set($A(this).without(classNameToRemove).join(' ')); }, toString: function() { return $A(this).join(' '); } }; Object.extend(Element.ClassNames.prototype, Enumerable); /* Portions of the Selector class are derived from Jack Slocum’s DomQuery, * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style * license. Please see http://www.yui-ext.com/ for more information. */ var Selector = Class.create(); Selector.prototype = { initialize: function(expression) { this.expression = expression.strip(); this.compileMatcher(); }, compileMatcher: function() { // Selectors with namespaced attributes can't use the XPath version if (Prototype.BrowserFeatures.XPath && !(/\[[\w-]*?:/).test(this.expression)) return this.compileXPathMatcher(); var e = this.expression, ps = Selector.patterns, h = Selector.handlers, c = Selector.criteria, le, p, m; if (Selector._cache[e]) { this.matcher = Selector._cache[e]; return; } this.matcher = ["this.matcher = function(root) {", "var r = root, h = Selector.handlers, c = false, n;"]; while (e && le != e && (/\S/).test(e)) { le = e; for (var i in ps) { p = ps[i]; if (m = e.match(p)) { this.matcher.push(typeof c[i] == 'function' ? c[i](m) : new Template(c[i]).evaluate(m)); e = e.replace(m[0], ''); break; } } } this.matcher.push("return h.unique(n);\n}"); eval(this.matcher.join('\n')); Selector._cache[this.expression] = this.matcher; }, compileXPathMatcher: function() { var e = this.expression, ps = Selector.patterns, x = Selector.xpath, le, m; if (Selector._cache[e]) { this.xpath = Selector._cache[e]; return; } this.matcher = ['.//*']; while (e && le != e && (/\S/).test(e)) { le = e; for (var i in ps) { if (m = e.match(ps[i])) { this.matcher.push(typeof x[i] == 'function' ? x[i](m) : new Template(x[i]).evaluate(m)); e = e.replace(m[0], ''); break; } } } this.xpath = this.matcher.join(''); Selector._cache[this.expression] = this.xpath; }, findElements: function(root) { root = root || document; if (this.xpath) return document._getElementsByXPath(this.xpath, root); return this.matcher(root); }, match: function(element) { return this.findElements(document).include(element); }, toString: function() { return this.expression; }, inspect: function() { return "#"; } }; Object.extend(Selector, { _cache: {}, xpath: { descendant: "//*", child: "/*", adjacent: "/following-sibling::*[1]", laterSibling: '/following-sibling::*', tagName: function(m) { if (m[1] == '*') return ''; return "[local-name()='" + m[1].toLowerCase() + "' or local-name()='" + m[1].toUpperCase() + "']"; }, className: "[contains(concat(' ', @class, ' '), ' #{1} ')]", id: "[@id='#{1}']", attrPresence: "[@#{1}]", attr: function(m) { m[3] = m[5] || m[6]; return new Template(Selector.xpath.operators[m[2]]).evaluate(m); }, pseudo: function(m) { var h = Selector.xpath.pseudos[m[1]]; if (!h) return ''; if (typeof h === 'function') return h(m); return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m); }, operators: { '=': "[@#{1}='#{3}']", '!=': "[@#{1}!='#{3}']", '^=': "[starts-with(@#{1}, '#{3}')]", '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']", '*=': "[contains(@#{1}, '#{3}')]", '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]", '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]" }, pseudos: { 'first-child': '[not(preceding-sibling::*)]', 'last-child': '[not(following-sibling::*)]', 'only-child': '[not(preceding-sibling::* or following-sibling::*)]', 'empty': "[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]", 'checked': "[@checked]", 'disabled': "[@disabled]", 'enabled': "[not(@disabled)]", 'not': function(m) { var e = m[6], p = Selector.patterns, x = Selector.xpath, le, m, v; var exclusion = []; while (e && le != e && (/\S/).test(e)) { le = e; for (var i in p) { if (m = e.match(p[i])) { v = typeof x[i] == 'function' ? x[i](m) : new Template(x[i]).evaluate(m); exclusion.push("(" + v.substring(1, v.length - 1) + ")"); e = e.replace(m[0], ''); break; } } } return "[not(" + exclusion.join(" and ") + ")]"; }, 'nth-child': function(m) { return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m); }, 'nth-last-child': function(m) { return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m); }, 'nth-of-type': function(m) { return Selector.xpath.pseudos.nth("position() ", m); }, 'nth-last-of-type': function(m) { return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", m); }, 'first-of-type': function(m) { m[6] = "1"; return Selector.xpath.pseudos['nth-of-type'](m); }, 'last-of-type': function(m) { m[6] = "1"; return Selector.xpath.pseudos['nth-last-of-type'](m); }, 'only-of-type': function(m) { var p = Selector.xpath.pseudos; return p['first-of-type'](m) + p['last-of-type'](m); }, nth: function(fragment, m) { var mm, formula = m[6], predicate; if (formula == 'even') formula = '2n+0'; if (formula == 'odd') formula = '2n+1'; if (mm = formula.match(/^(\d+)$/)) // digit only return '[' + fragment + "= " + mm[1] + ']'; if (mm = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b if (mm[1] == "-") mm[1] = -1; var a = mm[1] ? Number(mm[1]) : 1; var b = mm[2] ? Number(mm[2]) : 0; predicate = "[((#{fragment} - #{b}) mod #{a} = 0) and " + "((#{fragment} - #{b}) div #{a} >= 0)]"; return new Template(predicate).evaluate({ fragment: fragment, a: a, b: b }); } } } }, criteria: { tagName: 'n = h.tagName(n, r, "#{1}", c); c = false;', className: 'n = h.className(n, r, "#{1}", c); c = false;', id: 'n = h.id(n, r, "#{1}", c); c = false;', attrPresence: 'n = h.attrPresence(n, r, "#{1}"); c = false;', attr: function(m) { m[3] = (m[5] || m[6]); return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = false;').evaluate(m); }, pseudo: function(m) { if (m[6]) m[6] = m[6].replace(/"/g, '\\"'); return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m); }, descendant: 'c = "descendant";', child: 'c = "child";', adjacent: 'c = "adjacent";', laterSibling: 'c = "laterSibling";' }, patterns: { // combinators must be listed first // (and descendant needs to be last combinator) laterSibling: /^\s*~\s*/, child: /^\s*>\s*/, adjacent: /^\s*\+\s*/, descendant: /^\s/, // selectors follow tagName: /^\s*(\*|[\w\-]+)(\b|$)?/, id: /^#([\w\-\*]+)(\b|$)/, className: /^\.([\w\-\*]+)(\b|$)/, pseudo: /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|\s|(?=:))/, attrPresence: /^\[([\w]+)\]/, attr: /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\]]*?)\4|([^'"][^\]]*?)))?\]/ }, handlers: { // UTILITY FUNCTIONS // joins two collections concat: function(a, b) { for (var i = 0, node; node = b[i]; i++) a.push(node); return a; }, // marks an array of nodes for counting mark: function(nodes) { for (var i = 0, node; node = nodes[i]; i++) node._counted = true; return nodes; }, unmark: function(nodes) { for (var i = 0, node; node = nodes[i]; i++) node._counted = undefined; return nodes; }, // mark each child node with its position (for nth calls) // "ofType" flag indicates whether we're indexing for nth-of-type // rather than nth-child index: function(parentNode, reverse, ofType) { parentNode._counted = true; if (reverse) { for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) { node = nodes[i]; if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++; } } else { for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++) if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++; } }, // filters out duplicates and extends all nodes unique: function(nodes) { if (nodes.length == 0) return nodes; var results = [], n; for (var i = 0, l = nodes.length; i < l; i++) if (!(n = nodes[i])._counted) { n._counted = true; results.push(Element.extend(n)); } return Selector.handlers.unmark(results); }, // COMBINATOR FUNCTIONS descendant: function(nodes) { var h = Selector.handlers; for (var i = 0, results = [], node; node = nodes[i]; i++) h.concat(results, node.getElementsByTagName('*')); return results; }, child: function(nodes) { var h = Selector.handlers; for (var i = 0, results = [], node; node = nodes[i]; i++) { for (var j = 0, children = [], child; child = node.childNodes[j]; j++) if (child.nodeType == 1 && child.tagName != '!') results.push(child); } return results; }, adjacent: function(nodes) { for (var i = 0, results = [], node; node = nodes[i]; i++) { var next = this.nextElementSibling(node); if (next) results.push(next); } return results; }, laterSibling: function(nodes) { var h = Selector.handlers; for (var i = 0, results = [], node; node = nodes[i]; i++) h.concat(results, Element.nextSiblings(node)); return results; }, nextElementSibling: function(node) { while (node = node.nextSibling) if (node.nodeType == 1) return node; return null; }, previousElementSibling: function(node) { while (node = node.previousSibling) if (node.nodeType == 1) return node; return null; }, // TOKEN FUNCTIONS tagName: function(nodes, root, tagName, combinator) { tagName = tagName.toUpperCase(); var results = [], h = Selector.handlers; if (nodes) { if (combinator) { // fastlane for ordinary descendant combinators if (combinator == "descendant") { for (var i = 0, node; node = nodes[i]; i++) h.concat(results, node.getElementsByTagName(tagName)); return results; } else nodes = this[combinator](nodes); if (tagName == "*") return nodes; } for (var i = 0, node; node = nodes[i]; i++) if (node.tagName.toUpperCase() == tagName) results.push(node); return results; } else return root.getElementsByTagName(tagName); }, id: function(nodes, root, id, combinator) { var targetNode = $(id), h = Selector.handlers; if (!nodes && root == document) return targetNode ? [targetNode] : []; if (nodes) { if (combinator) { if (combinator == 'child') { for (var i = 0, node; node = nodes[i]; i++) if (targetNode.parentNode == node) return [targetNode]; } else if (combinator == 'descendant') { for (var i = 0, node; node = nodes[i]; i++) if (Element.descendantOf(targetNode, node)) return [targetNode]; } else if (combinator == 'adjacent') { for (var i = 0, node; node = nodes[i]; i++) if (Selector.handlers.previousElementSibling(targetNode) == node) return [targetNode]; } else nodes = h[combinator](nodes); } for (var i = 0, node; node = nodes[i]; i++) if (node == targetNode) return [targetNode]; return []; } return (targetNode && Element.descendantOf(targetNode, root)) ? [targetNode] : []; }, className: function(nodes, root, className, combinator) { if (nodes && combinator) nodes = this[combinator](nodes); return Selector.handlers.byClassName(nodes, root, className); }, byClassName: function(nodes, root, className) { if (!nodes) nodes = Selector.handlers.descendant([root]); var needle = ' ' + className + ' '; for (var i = 0, results = [], node, nodeClassName; node = nodes[i]; i++) { nodeClassName = node.className; if (nodeClassName.length == 0) continue; if (nodeClassName == className || (' ' + nodeClassName + ' ').include(needle)) results.push(node); } return results; }, attrPresence: function(nodes, root, attr) { var results = []; for (var i = 0, node; node = nodes[i]; i++) if (Element.hasAttribute(node, attr)) results.push(node); return results; }, attr: function(nodes, root, attr, value, operator) { if (!nodes) nodes = root.getElementsByTagName("*"); var handler = Selector.operators[operator], results = []; for (var i = 0, node; node = nodes[i]; i++) { var nodeValue = Element.readAttribute(node, attr); if (nodeValue === null) continue; if (handler(nodeValue, value)) results.push(node); } return results; }, pseudo: function(nodes, name, value, root, combinator) { if (nodes && combinator) nodes = this[combinator](nodes); if (!nodes) nodes = root.getElementsByTagName("*"); return Selector.pseudos[name](nodes, value, root); } }, pseudos: { 'first-child': function(nodes, value, root) { for (var i = 0, results = [], node; node = nodes[i]; i++) { if (Selector.handlers.previousElementSibling(node)) continue; results.push(node); } return results; }, 'last-child': function(nodes, value, root) { for (var i = 0, results = [], node; node = nodes[i]; i++) { if (Selector.handlers.nextElementSibling(node)) continue; results.push(node); } return results; }, 'only-child': function(nodes, value, root) { var h = Selector.handlers; for (var i = 0, results = [], node; node = nodes[i]; i++) if (!h.previousElementSibling(node) && !h.nextElementSibling(node)) results.push(node); return results; }, 'nth-child': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, formula, root); }, 'nth-last-child': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, formula, root, true); }, 'nth-of-type': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, formula, root, false, true); }, 'nth-last-of-type': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, formula, root, true, true); }, 'first-of-type': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, "1", root, false, true); }, 'last-of-type': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, "1", root, true, true); }, 'only-of-type': function(nodes, formula, root) { var p = Selector.pseudos; return p['last-of-type'](p['first-of-type'](nodes, formula, root), formula, root); }, // handles the an+b logic getIndices: function(a, b, total) { if (a == 0) return b > 0 ? [b] : []; return $R(1, total).inject([], function(memo, i) { if (0 == (i - b) % a && (i - b) / a >= 0) memo.push(i); return memo; }); }, // handles nth(-last)-child, nth(-last)-of-type, and (first|last)-of-type nth: function(nodes, formula, root, reverse, ofType) { if (nodes.length == 0) return []; if (formula == 'even') formula = '2n+0'; if (formula == 'odd') formula = '2n+1'; var h = Selector.handlers, results = [], indexed = [], m; h.mark(nodes); for (var i = 0, node; node = nodes[i]; i++) { if (!node.parentNode._counted) { h.index(node.parentNode, reverse, ofType); indexed.push(node.parentNode); } } if (formula.match(/^\d+$/)) { // just a number formula = Number(formula); for (var i = 0, node; node = nodes[i]; i++) if (node.nodeIndex == formula) results.push(node); } else if (m = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b if (m[1] == "-") m[1] = -1; var a = m[1] ? Number(m[1]) : 1; var b = m[2] ? Number(m[2]) : 0; var indices = Selector.pseudos.getIndices(a, b, nodes.length); for (var i = 0, node, l = indices.length; node = nodes[i]; i++) { for (var j = 0; j < l; j++) if (node.nodeIndex == indices[j]) results.push(node); } } h.unmark(nodes); h.unmark(indexed); return results; }, 'empty': function(nodes, value, root) { for (var i = 0, results = [], node; node = nodes[i]; i++) { // IE treats comments as element nodes if (node.tagName == '!' || (node.firstChild && !node.innerHTML.match(/^\s*$/))) continue; results.push(node); } return results; }, 'not': function(nodes, selector, root) { var h = Selector.handlers, selectorType, m; var exclusions = new Selector(selector).findElements(root); h.mark(exclusions); for (var i = 0, results = [], node; node = nodes[i]; i++) if (!node._counted) results.push(node); h.unmark(exclusions); return results; }, 'enabled': function(nodes, value, root) { for (var i = 0, results = [], node; node = nodes[i]; i++) if (!node.disabled) results.push(node); return results; }, 'disabled': function(nodes, value, root) { for (var i = 0, results = [], node; node = nodes[i]; i++) if (node.disabled) results.push(node); return results; }, 'checked': function(nodes, value, root) { for (var i = 0, results = [], node; node = nodes[i]; i++) if (node.checked) results.push(node); return results; } }, operators: { '=': function(nv, v) { return nv == v; }, '!=': function(nv, v) { return nv != v; }, '^=': function(nv, v) { return nv.startsWith(v); }, '$=': function(nv, v) { return nv.endsWith(v); }, '*=': function(nv, v) { return nv.include(v); }, '~=': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + ' '); }, '|=': function(nv, v) { return ('-' + nv.toUpperCase() + '-').include('-' + v.toUpperCase() + '-'); } }, matchElements: function(elements, expression) { var matches = new Selector(expression).findElements(), h = Selector.handlers; h.mark(matches); for (var i = 0, results = [], element; element = elements[i]; i++) if (element._counted) results.push(element); h.unmark(matches); return results; }, findElement: function(elements, expression, index) { if (typeof expression == 'number') { index = expression; expression = false; } return Selector.matchElements(elements, expression || '*')[index || 0]; }, findChildElements: function(element, expressions) { var exprs = expressions.join(','), expressions = []; exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) { expressions.push(m[1].strip()); }); var results = [], h = Selector.handlers; for (var i = 0, l = expressions.length, selector; i < l; i++) { selector = new Selector(expressions[i].strip()); h.concat(results, selector.findElements(element)); } return (l > 1) ? h.unique(results) : results; } }); function $$() { return Selector.findChildElements(document, $A(arguments)); } var Form = { reset: function(form) { $(form).reset(); return form; }, serializeElements: function(elements, getHash) { var data = elements.inject({}, function(result, element) { if (!element.disabled && element.name) { var key = element.name, value = $(element).getValue(); if (value != null) { if (key in result) { if (result[key].constructor != Array) result[key] = [result[key]]; result[key].push(value); } else result[key] = value; } } return result; }); return getHash ? data : Hash.toQueryString(data); } }; Form.Methods = { serialize: function(form, getHash) { return Form.serializeElements(Form.getElements(form), getHash); }, getElements: function(form) { return $A($(form).getElementsByTagName('*')).inject([], function(elements, child) { if (Form.Element.Serializers[child.tagName.toLowerCase()]) elements.push(Element.extend(child)); return elements; } ); }, getInputs: function(form, typeName, name) { form = $(form); var inputs = form.getElementsByTagName('input'); if (!typeName && !name) return $A(inputs).map(Element.extend); for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) { var input = inputs[i]; if ((typeName && input.type != typeName) || (name && input.name != name)) continue; matchingInputs.push(Element.extend(input)); } return matchingInputs; }, disable: function(form) { form = $(form); Form.getElements(form).invoke('disable'); return form; }, enable: function(form) { form = $(form); Form.getElements(form).invoke('enable'); return form; }, findFirstElement: function(form) { return $(form).getElements().find(function(element) { return element.type != 'hidden' && !element.disabled && ['input', 'select', 'textarea'].include(element.tagName.toLowerCase()); }); }, focusFirstElement: function(form) { form = $(form); form.findFirstElement().activate(); return form; }, request: function(form, options) { form = $(form), options = Object.clone(options || {}); var params = options.parameters; options.parameters = form.serialize(true); if (params) { if (typeof params == 'string') params = params.toQueryParams(); Object.extend(options.parameters, params); } if (form.hasAttribute('method') && !options.method) options.method = form.method; return new Ajax.Request(form.readAttribute('action'), options); } } /*--------------------------------------------------------------------------*/ Form.Element = { focus: function(element) { $(element).focus(); return element; }, select: function(element) { $(element).select(); return element; } } Form.Element.Methods = { serialize: function(element) { element = $(element); if (!element.disabled && element.name) { var value = element.getValue(); if (value != undefined) { var pair = {}; pair[element.name] = value; return Hash.toQueryString(pair); } } return ''; }, getValue: function(element) { element = $(element); var method = element.tagName.toLowerCase(); return Form.Element.Serializers[method](element); }, clear: function(element) { $(element).value = ''; return element; }, present: function(element) { return $(element).value != ''; }, activate: function(element) { element = $(element); try { element.focus(); if (element.select && (element.tagName.toLowerCase() != 'input' || !['button', 'reset', 'submit'].include(element.type))) element.select(); } catch (e) {} return element; }, disable: function(element) { element = $(element); element.blur(); element.disabled = true; return element; }, enable: function(element) { element = $(element); element.disabled = false; return element; } } /*--------------------------------------------------------------------------*/ var Field = Form.Element; var $F = Form.Element.Methods.getValue; /*--------------------------------------------------------------------------*/ Form.Element.Serializers = { input: function(element) { switch (element.type.toLowerCase()) { case 'checkbox': case 'radio': return Form.Element.Serializers.inputSelector(element); default: return Form.Element.Serializers.textarea(element); } }, inputSelector: function(element) { return element.checked ? element.value : null; }, textarea: function(element) { return element.value; }, select: function(element) { return this[element.type == 'select-one' ? 'selectOne' : 'selectMany'](element); }, selectOne: function(element) { var index = element.selectedIndex; return index >= 0 ? this.optionValue(element.options[index]) : null; }, selectMany: function(element) { var values, length = element.length; if (!length) return null; for (var i = 0, values = []; i < length; i++) { var opt = element.options[i]; if (opt.selected) values.push(this.optionValue(opt)); } return values; }, optionValue: function(opt) { // extend element because hasAttribute may not be native return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text; } } /*--------------------------------------------------------------------------*/ Abstract.TimedObserver = function() {} Abstract.TimedObserver.prototype = { initialize: function(element, frequency, callback) { this.frequency = frequency; this.element = $(element); this.callback = callback; this.lastValue = this.getValue(); this.registerCallback(); }, registerCallback: function() { setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); }, onTimerEvent: function() { var value = this.getValue(); var changed = ('string' == typeof this.lastValue && 'string' == typeof value ? this.lastValue != value : String(this.lastValue) != String(value)); if (changed) { this.callback(this.element, value); this.lastValue = value; } } } Form.Element.Observer = Class.create(); Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), { getValue: function() { return Form.Element.getValue(this.element); } }); Form.Observer = Class.create(); Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), { getValue: function() { return Form.serialize(this.element); } }); /*--------------------------------------------------------------------------*/ Abstract.EventObserver = function() {} Abstract.EventObserver.prototype = { initialize: function(element, callback) { this.element = $(element); this.callback = callback; this.lastValue = this.getValue(); if (this.element.tagName.toLowerCase() == 'form') this.registerFormCallbacks(); else this.registerCallback(this.element); }, onElementEvent: function() { var value = this.getValue(); if (this.lastValue != value) { this.callback(this.element, value); this.lastValue = value; } }, registerFormCallbacks: function() { Form.getElements(this.element).each(this.registerCallback.bind(this)); }, registerCallback: function(element) { if (element.type) { switch (element.type.toLowerCase()) { case 'checkbox': case 'radio': Event.observe(element, 'click', this.onElementEvent.bind(this)); break; default: Event.observe(element, 'change', this.onElementEvent.bind(this)); break; } } } } Form.Element.EventObserver = Class.create(); Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), { getValue: function() { return Form.Element.getValue(this.element); } }); Form.EventObserver = Class.create(); Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), { getValue: function() { return Form.serialize(this.element); } }); if (!window.Event) { var Event = new Object(); } Object.extend(Event, { KEY_BACKSPACE: 8, KEY_TAB: 9, KEY_RETURN: 13, KEY_ESC: 27, KEY_LEFT: 37, KEY_UP: 38, KEY_RIGHT: 39, KEY_DOWN: 40, KEY_DELETE: 46, KEY_HOME: 36, KEY_END: 35, KEY_PAGEUP: 33, KEY_PAGEDOWN: 34, element: function(event) { return $(event.target || event.srcElement); }, isLeftClick: function(event) { return (((event.which) && (event.which == 1)) || ((event.button) && (event.button == 1))); }, pointerX: function(event) { return event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); }, pointerY: function(event) { return event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); }, stop: function(event) { if (event.preventDefault) { event.preventDefault(); event.stopPropagation(); } else { event.returnValue = false; event.cancelBubble = true; } }, // find the first node with the given tagName, starting from the // node the event was triggered on; traverses the DOM upwards findElement: function(event, tagName) { var element = Event.element(event); while (element.parentNode && (!element.tagName || (element.tagName.toUpperCase() != tagName.toUpperCase()))) element = element.parentNode; return element; }, observers: false, _observeAndCache: function(element, name, observer, useCapture) { if (!this.observers) this.observers = []; if (element.addEventListener) { this.observers.push([element, name, observer, useCapture]); element.addEventListener(name, observer, useCapture); } else if (element.attachEvent) { this.observers.push([element, name, observer, useCapture]); element.attachEvent('on' + name, observer); } }, unloadCache: function() { if (!Event.observers) return; for (var i = 0, length = Event.observers.length; i < length; i++) { Event.stopObserving.apply(this, Event.observers[i]); Event.observers[i][0] = null; } Event.observers = false; }, observe: function(element, name, observer, useCapture) { element = $(element); useCapture = useCapture || false; if (name == 'keypress' && (Prototype.Browser.WebKit || element.attachEvent)) name = 'keydown'; Event._observeAndCache(element, name, observer, useCapture); }, stopObserving: function(element, name, observer, useCapture) { element = $(element); useCapture = useCapture || false; if (name == 'keypress' && (Prototype.Browser.WebKit || element.attachEvent)) name = 'keydown'; if (element.removeEventListener) { element.removeEventListener(name, observer, useCapture); } else if (element.detachEvent) { try { element.detachEvent('on' + name, observer); } catch (e) {} } } }); /* prevent memory leaks in IE */ if (Prototype.Browser.IE) Event.observe(window, 'unload', Event.unloadCache, false); var Position = { // set to true if needed, warning: firefox performance problems // NOT neeeded for page scrolling, only if draggable contained in // scrollable elements includeScrollOffsets: false, // must be called before calling withinIncludingScrolloffset, every time the // page is scrolled prepare: function() { this.deltaX = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0; this.deltaY = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; }, realOffset: function(element) { var valueT = 0, valueL = 0; do { valueT += element.scrollTop || 0; valueL += element.scrollLeft || 0; element = element.parentNode; } while (element); return [valueL, valueT]; }, cumulativeOffset: function(element) { var valueT = 0, valueL = 0; do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0; element = element.offsetParent; } while (element); return [valueL, valueT]; }, positionedOffset: function(element) { var valueT = 0, valueL = 0; do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0; element = element.offsetParent; if (element) { if(element.tagName=='BODY') break; var p = Element.getStyle(element, 'position'); if (p == 'relative' || p == 'absolute') break; } } while (element); return [valueL, valueT]; }, offsetParent: function(element) { if (element.offsetParent) return element.offsetParent; if (element == document.body) return element; while ((element = element.parentNode) && element != document.body) if (Element.getStyle(element, 'position') != 'static') return element; return document.body; }, // caches x/y coordinate pair to use with overlap within: function(element, x, y) { if (this.includeScrollOffsets) return this.withinIncludingScrolloffsets(element, x, y); this.xcomp = x; this.ycomp = y; this.offset = this.cumulativeOffset(element); return (y >= this.offset[1] && y < this.offset[1] + element.offsetHeight && x >= this.offset[0] && x < this.offset[0] + element.offsetWidth); }, withinIncludingScrolloffsets: function(element, x, y) { var offsetcache = this.realOffset(element); this.xcomp = x + offsetcache[0] - this.deltaX; this.ycomp = y + offsetcache[1] - this.deltaY; this.offset = this.cumulativeOffset(element); return (this.ycomp >= this.offset[1] && this.ycomp < this.offset[1] + element.offsetHeight && this.xcomp >= this.offset[0] && this.xcomp < this.offset[0] + element.offsetWidth); }, // within must be called directly before overlap: function(mode, element) { if (!mode) return 0; if (mode == 'vertical') return ((this.offset[1] + element.offsetHeight) - this.ycomp) / element.offsetHeight; if (mode == 'horizontal') return ((this.offset[0] + element.offsetWidth) - this.xcomp) / element.offsetWidth; }, page: function(forElement) { var valueT = 0, valueL = 0; var element = forElement; do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0; // Safari fix if (element.offsetParent == document.body) if (Element.getStyle(element,'position')=='absolute') break; } while (element = element.offsetParent); element = forElement; do { if (!window.opera || element.tagName=='BODY') { valueT -= element.scrollTop || 0; valueL -= element.scrollLeft || 0; } } while (element = element.parentNode); return [valueL, valueT]; }, clone: function(source, target) { var options = Object.extend({ setLeft: true, setTop: true, setWidth: true, setHeight: true, offsetTop: 0, offsetLeft: 0 }, arguments[2] || {}) // find page position of source source = $(source); var p = Position.page(source); // find coordinate system to use target = $(target); var delta = [0, 0]; var parent = null; // delta [0,0] will do fine with position: fixed elements, // position:absolute needs offsetParent deltas if (Element.getStyle(target,'position') == 'absolute') { parent = Position.offsetParent(target); delta = Position.page(parent); } // correct by body offsets (fixes Safari) if (parent == document.body) { delta[0] -= document.body.offsetLeft; delta[1] -= document.body.offsetTop; } // set position if(options.setLeft) target.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px'; if(options.setTop) target.style.top = (p[1] - delta[1] + options.offsetTop) + 'px'; if(options.setWidth) target.style.width = source.offsetWidth + 'px'; if(options.setHeight) target.style.height = source.offsetHeight + 'px'; }, absolutize: function(element) { element = $(element); if (element.style.position == 'absolute') return; Position.prepare(); var offsets = Position.positionedOffset(element); var top = offsets[1]; var left = offsets[0]; var width = element.clientWidth; var height = element.clientHeight; element._originalLeft = left - parseFloat(element.style.left || 0); element._originalTop = top - parseFloat(element.style.top || 0); element._originalWidth = element.style.width; element._originalHeight = element.style.height; element.style.position = 'absolute'; element.style.top = top + 'px'; element.style.left = left + 'px'; element.style.width = width + 'px'; element.style.height = height + 'px'; }, relativize: function(element) { element = $(element); if (element.style.position == 'relative') return; Position.prepare(); element.style.position = 'relative'; var top = parseFloat(element.style.top || 0) - (element._originalTop || 0); var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0); element.style.top = top + 'px'; element.style.left = left + 'px'; element.style.height = element._originalHeight; element.style.width = element._originalWidth; } } // Safari returns margins on body which is incorrect if the child is absolutely // positioned. For performance reasons, redefine Position.cumulativeOffset for // KHTML/WebKit only. if (Prototype.Browser.WebKit) { Position.cumulativeOffset = function(element) { var valueT = 0, valueL = 0; do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0; if (element.offsetParent == document.body) if (Element.getStyle(element, 'position') == 'absolute') break; element = element.offsetParent; } while (element); return [valueL, valueT]; } } Element.addMethods();_0http://images.newmedia.lu/rtl.lu/js/prototype.js !"#O$bplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Sat, 08 Sep 2007 11:45:40 GMT_Mon, 08 Oct 2007 07:36:44 GMTT2404\"1439479243"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1uz   $27FKXag &h4O d// script.aculo.us scriptaculous.js v1.7.0, Fri Jan 19 19:16:36 CET 2007 // Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) // // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including // without limitation the rights to use, copy, modify, merge, publish, // distribute, sublicense, and/or sell copies of the Software, and to // permit persons to whom the Software is furnished to do so, subject to // the following conditions: // // The above copyright notice and this permission notice shall be // included in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // // For details, see the script.aculo.us web site: http://script.aculo.us/ var Scriptaculous = { Version: '1.7.0', require: function(libraryName) { // inserting via DOM fails in Safari 2.0, so brute force approach document.write(''); }, load: function() { if((typeof Prototype=='undefined') || (typeof Element == 'undefined') || (typeof Element.Methods=='undefined') || parseFloat(Prototype.Version.split(".")[0] + "." + Prototype.Version.split(".")[1]) < 1.5) throw("script.aculo.us requires the Prototype JavaScript framework >= 1.5.0"); $A(document.getElementsByTagName("script")).findAll( function(s) { return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/)) }).each( function(s) { var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,''); var includes = s.src.match(/\?.*load=([a-z,]*)/); (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider').split(',').each( function(include) { Scriptaculous.require(path+include+'.js') }); }); } } Scriptaculous.load();_Ahttp://images.newmedia.lu/rtl.lu/js/scriptaculous.js?load=effects %&'Obplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Sat, 08 Sep 2007 11:45:04 GMT_Mon, 08 Oct 2007 07:36:44 GMTU37872["722470068"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1bgp{$38ENTth!O// script.aculo.us effects.js v1.7.0, Fri Jan 19 19:16:36 CET 2007 // Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) // Contributors: // Justin Palmer (http://encytemedia.com/) // Mark Pilgrim (http://diveintomark.org/) // Martin Bialasinki // // script.aculo.us is freely distributable under the terms of an MIT-style license. // For details, see the script.aculo.us web site: http://script.aculo.us/ // converts rgb() and #xxx to #xxxxxx format, // returns self (or first argument) if not convertable String.prototype.parseColor = function() { var color = '#'; if(this.slice(0,4) == 'rgb(') { var cols = this.slice(4,this.length-1).split(','); var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3); } else { if(this.slice(0,1) == '#') { if(this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase(); if(this.length==7) color = this.toLowerCase(); } } return(color.length==7 ? color : (arguments[0] || this)); } /*--------------------------------------------------------------------------*/ Element.collectTextNodes = function(element) { return $A($(element).childNodes).collect( function(node) { return (node.nodeType==3 ? node.nodeValue : (node.hasChildNodes() ? Element.collectTextNodes(node) : '')); }).flatten().join(''); } Element.collectTextNodesIgnoreClass = function(element, className) { return $A($(element).childNodes).collect( function(node) { return (node.nodeType==3 ? node.nodeValue : ((node.hasChildNodes() && !Element.hasClassName(node,className)) ? Element.collectTextNodesIgnoreClass(node, className) : '')); }).flatten().join(''); } Element.setContentZoom = function(element, percent) { element = $(element); element.setStyle({fontSize: (percent/100) + 'em'}); if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0); return element; } Element.getOpacity = function(element){ return $(element).getStyle('opacity'); } Element.setOpacity = function(element, value){ return $(element).setStyle({opacity:value}); } Element.getInlineOpacity = function(element){ return $(element).style.opacity || ''; } Element.forceRerendering = function(element) { try { element = $(element); var n = document.createTextNode(' '); element.appendChild(n); element.removeChild(n); } catch(e) { } }; /*--------------------------------------------------------------------------*/ Array.prototype.call = function() { var args = arguments; this.each(function(f){ f.apply(this, args) }); } /*--------------------------------------------------------------------------*/ var Effect = { _elementDoesNotExistError: { name: 'ElementDoesNotExistError', message: 'The specified DOM element does not exist, but is required for this effect to operate' }, tagifyText: function(element) { if(typeof Builder == 'undefined') throw("Effect.tagifyText requires including script.aculo.us' builder.js library"); var tagifyStyle = 'position:relative'; if(/MSIE/.test(navigator.userAgent) && !window.opera) tagifyStyle += ';zoom:1'; element = $(element); $A(element.childNodes).each( function(child) { if(child.nodeType==3) { child.nodeValue.toArray().each( function(character) { element.insertBefore( Builder.node('span',{style: tagifyStyle}, character == ' ' ? String.fromCharCode(160) : character), child); }); Element.remove(child); } }); }, multiple: function(element, effect) { var elements; if(((typeof element == 'object') || (typeof element == 'function')) && (element.length)) elements = element; else elements = $(element).childNodes; var options = Object.extend({ speed: 0.1, delay: 0.0 }, arguments[2] || {}); var masterDelay = options.delay; $A(elements).each( function(element, index) { new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay })); }); }, PAIRS: { 'slide': ['SlideDown','SlideUp'], 'blind': ['BlindDown','BlindUp'], 'appear': ['Appear','Fade'] }, toggle: function(element, effect) { element = $(element); effect = (effect || 'appear').toLowerCase(); var options = Object.extend({ queue: { position:'end', scope:(element.id || 'global'), limit: 1 } }, arguments[2] || {}); Effect[element.visible() ? Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options); } }; var Effect2 = Effect; // deprecated /* ------------- transitions ------------- */ Effect.Transitions = { linear: Prototype.K, sinoidal: function(pos) { return (-Math.cos(pos*Math.PI)/2) + 0.5; }, reverse: function(pos) { return 1-pos; }, flicker: function(pos) { return ((-Math.cos(pos*Math.PI)/4) + 0.75) + Math.random()/4; }, wobble: function(pos) { return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5; }, pulse: function(pos, pulses) { pulses = pulses || 5; return ( Math.round((pos % (1/pulses)) * pulses) == 0 ? ((pos * pulses * 2) - Math.floor(pos * pulses * 2)) : 1 - ((pos * pulses * 2) - Math.floor(pos * pulses * 2)) ); }, none: function(pos) { return 0; }, full: function(pos) { return 1; } }; /* ------------- core effects ------------- */ Effect.ScopedQueue = Class.create(); Object.extend(Object.extend(Effect.ScopedQueue.prototype, Enumerable), { initialize: function() { this.effects = []; this.interval = null; }, _each: function(iterator) { this.effects._each(iterator); }, add: function(effect) { var timestamp = new Date().getTime(); var position = (typeof effect.options.queue == 'string') ? effect.options.queue : effect.options.queue.position; switch(position) { case 'front': // move unstarted effects after this effect this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) { e.startOn += effect.finishOn; e.finishOn += effect.finishOn; }); break; case 'with-last': timestamp = this.effects.pluck('startOn').max() || timestamp; break; case 'end': // start effect after last queued effect has finished timestamp = this.effects.pluck('finishOn').max() || timestamp; break; } effect.startOn += timestamp; effect.finishOn += timestamp; if(!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit)) this.effects.push(effect); if(!this.interval) this.interval = setInterval(this.loop.bind(this), 15); }, remove: function(effect) { this.effects = this.effects.reject(function(e) { return e==effect }); if(this.effects.length == 0) { clearInterval(this.interval); this.interval = null; } }, loop: function() { var timePos = new Date().getTime(); for(var i=0, len=this.effects.length;i= this.startOn) { if(timePos >= this.finishOn) { this.render(1.0); this.cancel(); this.event('beforeFinish'); if(this.finish) this.finish(); this.event('afterFinish'); return; } var pos = (timePos - this.startOn) / (this.finishOn - this.startOn); var frame = Math.round(pos * this.options.fps * this.options.duration); if(frame > this.currentFrame) { this.render(pos); this.currentFrame = frame; } } }, render: function(pos) { if(this.state == 'idle') { this.state = 'running'; this.event('beforeSetup'); if(this.setup) this.setup(); this.event('afterSetup'); } if(this.state == 'running') { if(this.options.transition) pos = this.options.transition(pos); pos *= (this.options.to-this.options.from); pos += this.options.from; this.position = pos; this.event('beforeUpdate'); if(this.update) this.update(pos); this.event('afterUpdate'); } }, cancel: function() { if(!this.options.sync) Effect.Queues.get(typeof this.options.queue == 'string' ? 'global' : this.options.queue.scope).remove(this); this.state = 'finished'; }, event: function(eventName) { if(this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this); if(this.options[eventName]) this.options[eventName](this); }, inspect: function() { var data = $H(); for(property in this) if(typeof this[property] != 'function') data[property] = this[property]; return '#'; } } Effect.Parallel = Class.create(); Object.extend(Object.extend(Effect.Parallel.prototype, Effect.Base.prototype), { initialize: function(effects) { this.effects = effects || []; this.start(arguments[1]); }, update: function(position) { this.effects.invoke('render', position); }, finish: function(position) { this.effects.each( function(effect) { effect.render(1.0); effect.cancel(); effect.event('beforeFinish'); if(effect.finish) effect.finish(position); effect.event('afterFinish'); }); } }); Effect.Event = Class.create(); Object.extend(Object.extend(Effect.Event.prototype, Effect.Base.prototype), { initialize: function() { var options = Object.extend({ duration: 0 }, arguments[0] || {}); this.start(options); }, update: Prototype.emptyFunction }); Effect.Opacity = Class.create(); Object.extend(Object.extend(Effect.Opacity.prototype, Effect.Base.prototype), { initialize: function(element) { this.element = $(element); if(!this.element) throw(Effect._elementDoesNotExistError); // make this work on IE on elements without 'layout' if(/MSIE/.test(navigator.userAgent) && !window.opera && (!this.element.currentStyle.hasLayout)) this.element.setStyle({zoom: 1}); var options = Object.extend({ from: this.element.getOpacity() || 0.0, to: 1.0 }, arguments[1] || {}); this.start(options); }, update: function(position) { this.element.setOpacity(position); } }); Effect.Move = Class.create(); Object.extend(Object.extend(Effect.Move.prototype, Effect.Base.prototype), { initialize: function(element) { this.element = $(element); if(!this.element) throw(Effect._elementDoesNotExistError); var options = Object.extend({ x: 0, y: 0, mode: 'relative' }, arguments[1] || {}); this.start(options); }, setup: function() { // Bug in Opera: Opera returns the "real" position of a static element or // relative element that does not have top/left explicitly set. // ==> Always set top and left for position relative elements in your stylesheets // (to 0 if you do not need them) this.element.makePositioned(); this.originalLeft = parseFloat(this.element.getStyle('left') || '0'); this.originalTop = parseFloat(this.element.getStyle('top') || '0'); if(this.options.mode == 'absolute') { // absolute movement, so we need to calc deltaX and deltaY this.options.x = this.options.x - this.originalLeft; this.options.y = this.options.y - this.originalTop; } }, update: function(position) { this.element.setStyle({ left: Math.round(this.options.x * position + this.originalLeft) + 'px', top: Math.round(this.options.y * position + this.originalTop) + 'px' }); } }); // for backwards compatibility Effect.MoveBy = function(element, toTop, toLeft) { return new Effect.Move(element, Object.extend({ x: toLeft, y: toTop }, arguments[3] || {})); }; Effect.Scale = Class.create(); Object.extend(Object.extend(Effect.Scale.prototype, Effect.Base.prototype), { initialize: function(element, percent) { this.element = $(element); if(!this.element) throw(Effect._elementDoesNotExistError); var options = Object.extend({ scaleX: true, scaleY: true, scaleContent: true, scaleFromCenter: false, scaleMode: 'box', // 'box' or 'contents' or {} with provided values scaleFrom: 100.0, scaleTo: percent }, arguments[2] || {}); this.start(options); }, setup: function() { this.restoreAfterFinish = this.options.restoreAfterFinish || false; this.elementPositioning = this.element.getStyle('position'); this.originalStyle = {}; ['top','left','width','height','fontSize'].each( function(k) { this.originalStyle[k] = this.element.style[k]; }.bind(this)); this.originalTop = this.element.offsetTop; this.originalLeft = this.element.offsetLeft; var fontSize = this.element.getStyle('font-size') || '100%'; ['em','px','%','pt'].each( function(fontSizeType) { if(fontSize.indexOf(fontSizeType)>0) { this.fontSize = parseFloat(fontSize); this.fontSizeType = fontSizeType; } }.bind(this)); this.factor = (this.options.scaleTo - this.options.scaleFrom)/100; this.dims = null; if(this.options.scaleMode=='box') this.dims = [this.element.offsetHeight, this.element.offsetWidth]; if(/^content/.test(this.options.scaleMode)) this.dims = [this.element.scrollHeight, this.element.scrollWidth]; if(!this.dims) this.dims = [this.options.scaleMode.originalHeight, this.options.scaleMode.originalWidth]; }, update: function(position) { var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position); if(this.options.scaleContent && this.fontSize) this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType }); this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale); }, finish: function(position) { if(this.restoreAfterFinish) this.element.setStyle(this.originalStyle); }, setDimensions: function(height, width) { var d = {}; if(this.options.scaleX) d.width = Math.round(width) + 'px'; if(this.options.scaleY) d.height = Math.round(height) + 'px'; if(this.options.scaleFromCenter) { var topd = (height - this.dims[0])/2; var leftd = (width - this.dims[1])/2; if(this.elementPositioning == 'absolute') { if(this.options.scaleY) d.top = this.originalTop-topd + 'px'; if(this.options.scaleX) d.left = this.originalLeft-leftd + 'px'; } else { if(this.options.scaleY) d.top = -topd + 'px'; if(this.options.scaleX) d.left = -leftd + 'px'; } } this.element.setStyle(d); } }); Effect.Highlight = Class.create(); Object.extend(Object.extend(Effect.Highlight.prototype, Effect.Base.prototype), { initialize: function(element) { this.element = $(element); if(!this.element) throw(Effect._elementDoesNotExistError); var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || {}); this.start(options); }, setup: function() { // Prevent executing on elements not in the layout flow if(this.element.getStyle('display')=='none') { this.cancel(); return; } // Disable background image during the effect this.oldStyle = {}; if (!this.options.keepBackgroundImage) { this.oldStyle.backgroundImage = this.element.getStyle('background-image'); this.element.setStyle({backgroundImage: 'none'}); } if(!this.options.endcolor) this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff'); if(!this.options.restorecolor) this.options.restorecolor = this.element.getStyle('background-color'); // init color calculations this._base = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this)); this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this)); }, update: function(position) { this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){ return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart()); }.bind(this)) }); }, finish: function() { this.element.setStyle(Object.extend(this.oldStyle, { backgroundColor: this.options.restorecolor })); } }); Effect.ScrollTo = Class.create(); Object.extend(Object.extend(Effect.ScrollTo.prototype, Effect.Base.prototype), { initialize: function(element) { this.element = $(element); this.start(arguments[1] || {}); }, setup: function() { Position.prepare(); var offsets = Position.cumulativeOffset(this.element); if(this.options.offset) offsets[1] += this.options.offset; var max = window.innerHeight ? window.height - window.innerHeight : document.body.scrollHeight - (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight); this.scrollStart = Position.deltaY; this.delta = (offsets[1] > max ? max : offsets[1]) - this.scrollStart; }, update: function(position) { Position.prepare(); window.scrollTo(Position.deltaX, this.scrollStart + (position*this.delta)); } }); /* ------------- combination effects ------------- */ Effect.Fade = function(element) { element = $(element); var oldOpacity = element.getInlineOpacity(); var options = Object.extend({ from: element.getOpacity() || 1.0, to: 0.0, afterFinishInternal: function(effect) { if(effect.options.to!=0) return; effect.element.hide().setStyle({opacity: oldOpacity}); }}, arguments[1] || {}); return new Effect.Opacity(element,options); } Effect.Appear = function(element) { element = $(element); var options = Object.extend({ from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0), to: 1.0, // force Safari to render floated elements properly afterFinishInternal: function(effect) { effect.element.forceRerendering(); }, beforeSetup: function(effect) { effect.element.setOpacity(effect.options.from).show(); }}, arguments[1] || {}); return new Effect.Opacity(element,options); } Effect.Puff = function(element) { element = $(element); var oldStyle = { opacity: element.getInlineOpacity(), position: element.getStyle('position'), top: element.style.top, left: element.style.left, width: element.style.width, height: element.style.height }; return new Effect.Parallel( [ new Effect.Scale(element, 200, { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }), new Effect.Opacity(element, { sync: true, to: 0.0 } ) ], Object.extend({ duration: 1.0, beforeSetupInternal: function(effect) { Position.absolutize(effect.effects[0].element) }, afterFinishInternal: function(effect) { effect.effects[0].element.hide().setStyle(oldStyle); } }, arguments[1] || {}) ); } Effect.BlindUp = function(element) { element = $(element); element.makeClipping(); return new Effect.Scale(element, 0, Object.extend({ scaleContent: false, scaleX: false, restoreAfterFinish: true, afterFinishInternal: function(effect) { effect.element.hide().undoClipping(); } }, arguments[1] || {}) ); } Effect.BlindDown = function(element) { element = $(element); var elementDimensions = element.getDimensions(); return new Effect.Scale(element, 100, Object.extend({ scaleContent: false, scaleX: false, scaleFrom: 0, scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, restoreAfterFinish: true, afterSetup: function(effect) { effect.element.makeClipping().setStyle({height: '0px'}).show(); }, afterFinishInternal: function(effect) { effect.element.undoClipping(); } }, arguments[1] || {})); } Effect.SwitchOff = function(element) { element = $(element); var oldOpacity = element.getInlineOpacity(); return new Effect.Appear(element, Object.extend({ duration: 0.4, from: 0, transition: Effect.Transitions.flicker, afterFinishInternal: function(effect) { new Effect.Scale(effect.element, 1, { duration: 0.3, scaleFromCenter: true, scaleX: false, scaleContent: false, restoreAfterFinish: true, beforeSetup: function(effect) { effect.element.makePositioned().makeClipping(); }, afterFinishInternal: function(effect) { effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity}); } }) } }, arguments[1] || {})); } Effect.DropOut = function(element) { element = $(element); var oldStyle = { top: element.getStyle('top'), left: element.getStyle('left'), opacity: element.getInlineOpacity() }; return new Effect.Parallel( [ new Effect.Move(element, {x: 0, y: 100, sync: true }), new Effect.Opacity(element, { sync: true, to: 0.0 }) ], Object.extend( { duration: 0.5, beforeSetup: function(effect) { effect.effects[0].element.makePositioned(); }, afterFinishInternal: function(effect) { effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle); } }, arguments[1] || {})); } Effect.Shake = function(element) { element = $(element); var oldStyle = { top: element.getStyle('top'), left: element.getStyle('left') }; return new Effect.Move(element, { x: 20, y: 0, duration: 0.05, afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: -40, y: 0, duration: 0.1, afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: 40, y: 0, duration: 0.1, afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: -40, y: 0, duration: 0.1, afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: 40, y: 0, duration: 0.1, afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: -20, y: 0, duration: 0.05, afterFinishInternal: function(effect) { effect.element.undoPositioned().setStyle(oldStyle); }}) }}) }}) }}) }}) }}); } Effect.SlideDown = function(element) { element = $(element).cleanWhitespace(); // SlideDown need to have the content of the element wrapped in a container element with fixed height! var oldInnerBottom = element.down().getStyle('bottom'); var elementDimensions = element.getDimensions(); return new Effect.Scale(element, 100, Object.extend({ scaleContent: false, scaleX: false, scaleFrom: window.opera ? 0 : 1, scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, restoreAfterFinish: true, afterSetup: function(effect) { effect.element.makePositioned(); effect.element.down().makePositioned(); if(window.opera) effect.element.setStyle({top: ''}); effect.element.makeClipping().setStyle({height: '0px'}).show(); }, afterUpdateInternal: function(effect) { effect.element.down().setStyle({bottom: (effect.dims[0] - effect.element.clientHeight) + 'px' }); }, afterFinishInternal: function(effect) { effect.element.undoClipping().undoPositioned(); effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); } }, arguments[1] || {}) ); } Effect.SlideUp = function(element) { element = $(element).cleanWhitespace(); var oldInnerBottom = element.down().getStyle('bottom'); return new Effect.Scale(element, window.opera ? 0 : 1, Object.extend({ scaleContent: false, scaleX: false, scaleMode: 'box', scaleFrom: 100, restoreAfterFinish: true, beforeStartInternal: function(effect) { effect.element.makePositioned(); effect.element.down().makePositioned(); if(window.opera) effect.element.setStyle({top: ''}); effect.element.makeClipping().show(); }, afterUpdateInternal: function(effect) { effect.element.down().setStyle({bottom: (effect.dims[0] - effect.element.clientHeight) + 'px' }); }, afterFinishInternal: function(effect) { effect.element.hide().undoClipping().undoPositioned().setStyle({bottom: oldInnerBottom}); effect.element.down().undoPositioned(); } }, arguments[1] || {}) ); } // Bug in opera makes the TD containing this element expand for a instance after finish Effect.Squish = function(element) { return new Effect.Scale(element, window.opera ? 1 : 0, { restoreAfterFinish: true, beforeSetup: function(effect) { effect.element.makeClipping(); }, afterFinishInternal: function(effect) { effect.element.hide().undoClipping(); } }); } Effect.Grow = function(element) { element = $(element); var options = Object.extend({ direction: 'center', moveTransition: Effect.Transitions.sinoidal, scaleTransition: Effect.Transitions.sinoidal, opacityTransition: Effect.Transitions.full }, arguments[1] || {}); var oldStyle = { top: element.style.top, left: element.style.left, height: element.style.height, width: element.style.width, opacity: element.getInlineOpacity() }; var dims = element.getDimensions(); var initialMoveX, initialMoveY; var moveX, moveY; switch (options.direction) { case 'top-left': initialMoveX = initialMoveY = moveX = moveY = 0; break; case 'top-right': initialMoveX = dims.width; initialMoveY = moveY = 0; moveX = -dims.width; break; case 'bottom-left': initialMoveX = moveX = 0; initialMoveY = dims.height; moveY = -dims.height; break; case 'bottom-right': initialMoveX = dims.width; initialMoveY = dims.height; moveX = -dims.width; moveY = -dims.height; break; case 'center': initialMoveX = dims.width / 2; initialMoveY = dims.height / 2; moveX = -dims.width / 2; moveY = -dims.height / 2; break; } return new Effect.Move(element, { x: initialMoveX, y: initialMoveY, duration: 0.01, beforeSetup: function(effect) { effect.element.hide().makeClipping().makePositioned(); }, afterFinishInternal: function(effect) { new Effect.Parallel( [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }), new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }), new Effect.Scale(effect.element, 100, { scaleMode: { originalHeight: dims.height, originalWidth: dims.width }, sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true}) ], Object.extend({ beforeSetup: function(effect) { effect.effects[0].element.setStyle({height: '0px'}).show(); }, afterFinishInternal: function(effect) { effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle); } }, options) ) } }); } Effect.Shrink = function(element) { element = $(element); var options = Object.extend({ direction: 'center', moveTransition: Effect.Transitions.sinoidal, scaleTransition: Effect.Transitions.sinoidal, opacityTransition: Effect.Transitions.none }, arguments[1] || {}); var oldStyle = { top: element.style.top, left: element.style.left, height: element.style.height, width: element.style.width, opacity: element.getInlineOpacity() }; var dims = element.getDimensions(); var moveX, moveY; switch (options.direction) { case 'top-left': moveX = moveY = 0; break; case 'top-right': moveX = dims.width; moveY = 0; break; case 'bottom-left': moveX = 0; moveY = dims.height; break; case 'bottom-right': moveX = dims.width; moveY = dims.height; break; case 'center': moveX = dims.width / 2; moveY = dims.height / 2; break; } return new Effect.Parallel( [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }), new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}), new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }) ], Object.extend({ beforeStartInternal: function(effect) { effect.effects[0].element.makePositioned().makeClipping(); }, afterFinishInternal: function(effect) { effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); } }, options) ); } Effect.Pulsate = function(element) { element = $(element); var options = arguments[1] || {}; var oldOpacity = element.getInlineOpacity(); var transition = options.transition || Effect.Transitions.sinoidal; var reverser = function(pos){ return transition(1-Effect.Transitions.pulse(pos, options.pulses)) }; reverser.bind(transition); return new Effect.Opacity(element, Object.extend(Object.extend({ duration: 2.0, from: 0, afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); } }, options), {transition: reverser})); } Effect.Fold = function(element) { element = $(element); var oldStyle = { top: element.style.top, left: element.style.left, width: element.style.width, height: element.style.height }; element.makeClipping(); return new Effect.Scale(element, 5, Object.extend({ scaleContent: false, scaleX: false, afterFinishInternal: function(effect) { new Effect.Scale(element, 1, { scaleContent: false, scaleY: false, afterFinishInternal: function(effect) { effect.element.hide().undoClipping().setStyle(oldStyle); } }); }}, arguments[1] || {})); }; Effect.Morph = Class.create(); Object.extend(Object.extend(Effect.Morph.prototype, Effect.Base.prototype), { initialize: function(element) { this.element = $(element); if(!this.element) throw(Effect._elementDoesNotExistError); var options = Object.extend({ style: {} }, arguments[1] || {}); if (typeof options.style == 'string') { if(options.style.indexOf(':') == -1) { var cssText = '', selector = '.' + options.style; $A(document.styleSheets).reverse().each(function(styleSheet) { if (styleSheet.cssRules) cssRules = styleSheet.cssRules; else if (styleSheet.rules) cssRules = styleSheet.rules; $A(cssRules).reverse().each(function(rule) { if (selector == rule.selectorText) { cssText = rule.style.cssText; throw $break; } }); if (cssText) throw $break; }); this.style = cssText.parseStyle(); options.afterFinishInternal = function(effect){ effect.element.addClassName(effect.options.style); effect.transforms.each(function(transform) { if(transform.style != 'opacity') effect.element.style[transform.style.camelize()] = ''; }); } } else this.style = options.style.parseStyle(); } else this.style = $H(options.style) this.start(options); }, setup: function(){ function parseColor(color){ if(!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff'; color = color.parseColor(); return $R(0,2).map(function(i){ return parseInt( color.slice(i*2+1,i*2+3), 16 ) }); } this.transforms = this.style.map(function(pair){ var property = pair[0].underscore().dasherize(), value = pair[1], unit = null; if(value.parseColor('#zzzzzz') != '#zzzzzz') { value = value.parseColor(); unit = 'color'; } else if(property == 'opacity') { value = parseFloat(value); if(/MSIE/.test(navigator.userAgent) && !window.opera && (!this.element.currentStyle.hasLayout)) this.element.setStyle({zoom: 1}); } else if(Element.CSS_LENGTH.test(value)) var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/), value = parseFloat(components[1]), unit = (components.length == 3) ? components[2] : null; var originalValue = this.element.getStyle(property); return $H({ style: property, originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0), targetValue: unit=='color' ? parseColor(value) : value, unit: unit }); }.bind(this)).reject(function(transform){ return ( (transform.originalValue == transform.targetValue) || ( transform.unit != 'color' && (isNaN(transform.originalValue) || isNaN(transform.targetValue)) ) ) }); }, update: function(position) { var style = $H(), value = null; this.transforms.each(function(transform){ value = transform.unit=='color' ? $R(0,2).inject('#',function(m,v,i){ return m+(Math.round(transform.originalValue[i]+ (transform.targetValue[i] - transform.originalValue[i])*position)).toColorPart() }) : transform.originalValue + Math.round( ((transform.targetValue - transform.originalValue) * position) * 1000)/1000 + transform.unit; style[transform.style] = value; }); this.element.setStyle(style); } }); Effect.Transform = Class.create(); Object.extend(Effect.Transform.prototype, { initialize: function(tracks){ this.tracks = []; this.options = arguments[1] || {}; this.addTracks(tracks); }, addTracks: function(tracks){ tracks.each(function(track){ var data = $H(track).values().first(); this.tracks.push($H({ ids: $H(track).keys().first(), effect: Effect.Morph, options: { style: data } })); }.bind(this)); return this; }, play: function(){ return new Effect.Parallel( this.tracks.map(function(track){ var elements = [$(track.ids) || $$(track.ids)].flatten(); return elements.map(function(e){ return new track.effect(e, Object.extend({ sync:true }, track.options)) }); }).flatten(), this.options ); } }); Element.CSS_PROPERTIES = $w( 'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' + 'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' + 'borderRightColor borderRightStyle borderRightWidth borderSpacing ' + 'borderTopColor borderTopStyle borderTopWidth bottom clip color ' + 'fontSize fontWeight height left letterSpacing lineHeight ' + 'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+ 'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' + 'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' + 'right textIndent top width wordSpacing zIndex'); Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/; String.prototype.parseStyle = function(){ var element = Element.extend(document.createElement('div')); element.innerHTML = '
'; var style = element.down().style, styleRules = $H(); Element.CSS_PROPERTIES.each(function(property){ if(style[property]) styleRules[property] = style[property]; }); if(/MSIE/.test(navigator.userAgent) && !window.opera && this.indexOf('opacity') > -1) { styleRules.opacity = this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]; } return styleRules; }; Element.morph = function(element, style) { new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || {})); return element; }; ['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom', 'collectTextNodes','collectTextNodesIgnoreClass','morph'].each( function(f) { Element.Methods[f] = Element[f]; } ); Element.Methods.visualEffect = function(element, effect, options) { s = effect.gsub(/_/, '-').camelize(); effect_class = s.charAt(0).toUpperCase() + s.substring(1); new Effect[effect_class](element, options); return $(element); }; Element.addMethods();_.http://images.newmedia.lu/rtl.lu/js/effects.js )*+Obplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN ]Last-Modified]Accept-RangesVServerTDate^Content-Length\Content-TypeTEtag_Fri, 05 Oct 2007 11:32:30 GMTUbytesXlighttpd_Mon, 08 Oct 2007 07:36:26 GMTT7864["922652038"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1bgp{ $3@Eekth O// Menu Hack for IE startList = function() { if (document.all&&document.getElementById) { navRoot = document.getElementById("nav"); for (i=0; i'; } function tabChangeState(in_ulid,in_selectedid,in_dataurl,in_datafieldid) { var cnt=document.getElementById(in_ulid).childNodes.length; if (show_loading==1) { showLoading(in_datafieldid); } for (i=0;i '; content+=''; $('searchbox').update(content); $('searchbtn').value="Search Yellow.lu"; $('searchform').method="get"; $('searchform').action="http://yellow.rtl.lu/search/"; $('search_'+search).className="selected"; $('search_'+search).blur(); break; case 'youmaketv': content+=''; $('searchbox').update(content); $('searchbtn').value="Search Youmake.tv"; $('searchform').method="post"; $('searchform').action="http://www.youmake.tv/browse/search"; $('search_'+search).className="selected"; $('search_'+search).blur(); break; case 'agenda': content+=''; $('searchbox').update(content); $('searchbtn').value="Search Agenda"; $('searchform').method="post"; $('searchform').action="http://www.rtl.lu/service/agenda/search/"; $('search_'+search).className="selected"; $('search_'+search).blur(); break; } } // AdTech Banner function updateAdtech(cid,atag) { if ($(cid)!=null) { $(cid).update(atag); } } // Tabbedbox v2 RTL = Class.create(); RTL.prototype = { initialize: function() {} } RTL.Components = Class.create(); RTL.Components.prototype = { initialize: function() {} } RTL.Components.TabbedScrollBox = Class.create(); RTL.Components.TabbedScrollBox.prototype ={ container: null, dataHolder: null, pages: null, curPage: null, width: null, initialize: function(container) { //if(undefined == this.container) return false; this.container = container; this.width = parseInt(this.container.getElementsBySelector('div.content ul li')[0].getStyle('width')) this.loadTabs(); this.loadContent(); this.appendFooter(); }, appendFooter: function() { new Insertion.After(this.dataHolder, ''); this.container.getElementsBySelector('div.footer div').each(function(elm) { elm.parent = this; elm.observe('mouseover', function(event) { Event.element(event).setStyle({ cursor: 'pointer' }); }.bind(this)) }.bind(this)); }, loadTabs: function() { this.container.getElementsBySelector('div.tabs div.item').each(function(elm) { this.addTab(elm); }.bind(this)); }, loadContent: function() { this.pages = this.container.getElementsBySelector('div.content ul li'); this.dataHolder = this.container.getElementsByClassName('content')[0]; this.curPage = 1; }, findItem: function(elm) { ancestors = elm.ancestors(); for(i = 0; i < 2; i++) { if(ancestors[i].hasClassName('item')) { return ancestors[i]; } } return elm; }, addTab: function(elm) { elm.observe('mouseover', function(event) { element = this.findItem(Event.element(event)); Event.element(event).setStyle({ cursor: 'pointer' }); }.bind(this)); elm.observe('click', function(event) { var elm = this.findItem(Event.element(event)); this.setActive(elm); new Ajax.Request(elm.readAttribute('rel'),{ method: 'get', onSuccess: function(transport) { this.dataHolder.update(transport.responseText); this.loadContent(); }.bind(this)}); }.bind(this)); }, setActive: function(element) { this.container.getElementsBySelector('div.tabs div.item').each(function(elm) { elm.removeClassName('active'); }.bind(this)); element.addClassName('active'); }, scroll: function(direction) { var increment = -1; var moveMe = this.dataHolder.getElementsBySelector('ul')[0]; if(direction == 'next') increment = 1; if(null === this.curPage) this.curPage = 1; this.curPage+= increment; if(this.curPage<1) this.curPage = this.pages.length; if(this.curPage > this.pages.length) this.curPage = 1; new Effect.Move (moveMe,{ x: -1 * this.width * (this.curPage-1), y: 0, mode: 'absolute', delay:0.1}); } }; Event.observe(window, 'load', function() { $$('div.RTL_TabbedScrollBox').each(function(elm) { new RTL.Components.TabbedScrollBox(elm); }); });_.http://images.newmedia.lu/rtl.lu/js/rtl_dev.js -./0Obplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServerZConnection]Cache-Control^Content-LengthWExpiresVPragma\Content-Type_MetriWeb/9.0.1 (DouWere)UcloseXno-cacheR10Q012]^^_6_NSMutableDictionary\NSDictionary12abb6_NSHTTPURLResponseInternal12deef6_NSHTTPURLResponse]NSURLResponse$)2DILbd *,.0   !#%')+-/6AO^fmzg$J/* nope */_vhttp://rtlu.metriweb.be/sd/rtlu/mw.cgi?page=tele/videoarchiv/&q=fr&c=0001186655476.335655.5&v=3.0&R=0.1170107219913093Ztext/plain 234Obbplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/3:>?CSTUVWXYZ[>\`cU$null  !"#$%&'(R$6S$10R$2S$13R$7R$3S$11R$8R$4S$14R$9R$0V$classR$5S$12R$1#At]x,/#At]U#*+!-.WNS.base[NS.relative012YNS.string_http://adserver.adtech.de/addyn%7C3.0%7C694%7C1432016%7C0%7C16%7CADTECH;loc=100;target=_blank;key=key1+key2+key3+key4;grp=612327010;misc=11918354996654567X$classesZ$classname789_NSMutableStringXNSStringXNSObject45;<<=9UNSURLV%NSURL_application/x-javascript@ABDEFLRZNS.objectsWNS.keysGHIJKMNOPQ VServerZConnection]Cache-Control^Content-Length\Content-Type_Adtech AdserverZkeep-aliveXno-cacheS30345]^^_9_NSMutableDictionary\NSDictionary45abb9_NSHTTPURLResponseInternal45deef9_NSHTTPURLResponse]NSURLResponse$)2DILbd}  (*,.3="(/JQSUW^iqwy{}%*-INRfgtO/document.write('AdTech Ad'); _http://adserver.adtech.de/addyn|3.0|694|1432016|0|16|ADTECH;loc=100;target=_blank;key=key1+key2+key3+key4;grp=612327010;misc=1191835499665 6789Obplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?JUZNS.objectsWNS.keys@ABCDEFGHIKLMNOPQRST VServer]Last-Modified]Accept-Ranges]Cache-ControlTDate^Content-LengthWExpiresZConnectionTEtag\Content-Type_Apache/2.0.52 (White Box)_Tue, 25 Sep 2007 13:50:38 GMTUbytes^max-age=540364_Mon, 08 Oct 2007 08:05:30 GMTR43_Sun, 14 Oct 2007 14:11:34 GMTZkeep-alive_"2f4729-2b-5a66780"12jkkl6_NSMutableDictionary\NSDictionary12noo6_NSHTTPURLResponseInternal12qrrs6_NSHTTPURLResponse]NSURLResponse$)2DILbd $0246   "$&(*,.02468?M[in}6AW\`vtO+GIF89a!,D;_[http://a1767.g.akamai.net/v/1767/2939/7d/imageserv.adtech.de/images/Default_Size_16_1x1.gifYimage/gif ;<=Obplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/3:>?CUVWXYZ[\]^_>`dgU$null  !"#$%&'(R$6S$10R$2S$13R$7R$3S$11R$8R$4S$14R$9R$0V$classR$5S$12R$1#At]ג<#At]}M#3 *+!-.WNS.base[NS.relative012YNS.string_http://adserver.adtech.de/addyn%7C3.0%7C694%7C1432013%7C0%7C154%7CADTECH;loc=100;target=_blank;key=key1+key2+key3+key4;grp=612327010;misc=11918354997434567X$classesZ$classname789_NSMutableStringXNSStringXNSObject45;<<=9UNSURLV%NSURL_application/x-javascript@ABDEFMTZNS.objectsWNS.keysGHIJKLNOPQRS _Content-EncodingVServerZConnection]Cache-Control^Content-Length\Content-TypeTgzip_Adtech AdserverZkeep-aliveXno-cacheT477645abbc9_NSMutableDictionary\NSDictionary45eff9_NSHTTPURLResponseInternal45hiij9_NSHTTPURLResponse]NSURLResponse$)2DILbd *,.05? !%+2MTVXZalt{}  $:GLOkptkO// Visual basic helper required to detect Flash Player ActiveX control version information\n"); document.write("Function VBGetSwfVer(i)\n"); document.write("on error resume next\n"); document.write("Dim swControl, swVersion\n"); document.write("swVersion = 0\n"); document.write("set swControl = CreateObject(\"ShockwaveFlash.ShockwaveFlash.\" + CStr(i))\n"); document.write("if (IsObject(swControl)) then\n"); document.write("swVersion = swControl.GetVariable(\"$version\")\n"); document.write("end if\n"); document.write("VBGetSwfVer = swVersion\n"); document.write("End Function\n"); document.write("\n"); function JSGetSwfVer(){ if (navigator.plugins != null && navigator.plugins.length > 0) { if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) { var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description; flashVer = flashDescription.split(" ")[2].split(".")[0]; } else {flashVer = -1;} } else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4; else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3; else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2; else flashVer = -1; return flashVer; } //### BROWSER CHECK ### var AT_agent = navigator.userAgent.toLowerCase(); var AT_major = parseInt(navigator.appVersion); // ####### Different browser types // ####### Different browser types var AT_is_nav = ((AT_agent.indexOf('mozilla')!=-1) && (AT_agent.indexOf('spoofer')==-1) && (AT_agent.indexOf('compatible') == -1) && (AT_agent.indexOf('opera')==-1) && (AT_agent.indexOf('webtv')==-1)); var AT_is_ie=(AT_agent.indexOf("msie") != -1) || (AT_is_nav && AT_major >= 5); var AT_IS_FIREFOX = AT_agent.indexOf('firefox')!=-1; var AT_IS_OPERA = AT_agent.indexOf('opera')!=-1; if (AT_IS_OPERA) AT_is_ie = false; if (AT_is_nav) AT_is_ie = false; if (AT_IS_FIREFOX) AT_is_ie = false; // ## END if (AT_FLASH) { if (AT_FlashClick) {FlashClick = AT_ClickFn1432013;} AT_MULTICLICKSTR+="&targetTAG="+AT_TARGET1432013+"&clickTarget="+escape(AT_TARGET1432013) var ShockMode = 0; var versionStr = 0; if (navigator.appVersion.indexOf("MSIE") != -1 && navigator.appVersion.toLowerCase().indexOf("win") != -1 && !(navigator.userAgent.indexOf("Opera") != -1)) { for (i=25;i>0;i--) {versionVB = VBGetSwfVer(i); if (versionVB != 0){versionStr = versionVB.split(" ")[1].split(",")[0]; if (versionStr>=AT_FLASHVERSION) {i=0;}}} } else { versionStr = JSGetSwfVer(); } if (versionStr >= AT_FLASHVERSION) ShockMode = 1; } adtech_flashinc=""; if (AT_EXPANDABLE && AT_EXPANDABLE != 'false') adtech_flashinc+='
'; if (AT_FAKEPOPUP) { adtech_flashinc+='
'; } if (ShockMode && AT_FLASH){ if (AT_EXPANDABLE && AT_EXPANDABLE !='false') AT_WIDTH_HEIGHT = "width=160 height=600"; adtech_flashinc+=''; adtech_flashinc+=''; adtech_flashinc+=''; adtech_flashinc+=''; adtech_flashinc+=''; if (AT_FLASH_BGCOLOR) {adtech_flashinc+='';} adtech_flashinc+=''; adtech_flashinc+=''; adtech_flashinc+=''; } else { adtech_flashinc+=''; } if (AT_IMAGE) { adtech_flashinc+=''+AT_TEXT+''; } else { adtech_flashinc+=AT_TEXT; } adtech_flashinc+=''; } if (AT_FAKEPOPUP) { adtech_flashinc+='' ; if (AT_is_ie) { var _zindex = AT_ZINDEX-1; if (AT_EXPANDABLE && AT_EXPANDABLE != 'false') {_zindex= -4000;} adtech_flashinc+='
'; adtech_flashinc+=''; adtech_flashinc+='
'; } } if (AT_EXPANDABLE && AT_EXPANDABLE != 'false' ) { adtech_flashinc+=''; } if (typeof AD_vars != 'undefined') document.write(''); else document.write(adtech_flashinc); if (AT_FAKEPOPUP&&AT_FAKEPOPUP_autoclose) window.setTimeout ("closeAdLayer1432013()",AT_FAKEPOPUP_autoclose); if (AT_FAKEPOPUP) { closeAdLayer1432013=function(){document.getElementById("AT_DIV1432013").style.display = "none"; if (AT_is_ie) { var iframediv = document.getElementById('HID_IFRAME_1432013'); iframediv.style.display = "none"; } } openAdLayer1432013=function() {document.getElementById("AT_DIV1432013").style.display = ""; if (AT_is_ie) { var iframediv = document.getElementById('HID_IFRAME_1432013'); iframediv.style.display = ""; } } } expand1432013=function() { var thediv = document.getElementById('AT_DIV1432013'); var thediv2 = document.getElementById('AT_ANCHOR_DIV1432013'); if (AT_is_ie) { var iframediv = document.getElementById('HID_IFRAME_1432013'); iframediv.style.display = ""; } thediv.style.width = "160px"; thediv.style.height = "600px"; thediv2.style.overflow = ""; } expand_width1432013 = function(value) { var thediv = document.getElementById('AT_DIV1432013'); var thediv2 = document.getElementById('AT_ANCHOR_DIV1432013'); if (AT_is_ie) { var iframediv = document.getElementById('HID_IFRAME_1432013'); iframediv.style.display = ""; } thediv.style.width = value+"px"; thediv2.style.overflow = ""; } expand_height1432013 = function(value) { var thediv = document.getElementById('AT_DIV1432013'); var thediv2 = document.getElementById('AT_ANCHOR_DIV1432013'); thediv.style.height = value+"px"; thediv2.style.overflow = ""; if (AT_is_ie) { var iframediv = document.getElementById('HID_IFRAME_1432013'); iframediv.style.display = ""; } } collapse1432013 =function() { var thediv = document.getElementById('AT_DIV1432013'); var thediv2 = document.getElementById('AT_ANCHOR_DIV1432013'); thediv.style.width = "160px"; thediv.style.height = "600px"; thediv2.style.overflow = "hidden"; if (AT_is_ie) { var iframediv = document.getElementById('HID_IFRAME_1432013'); iframediv.style.display = ""; } } restartMovie1432013=function(){movie=document.getElementById("AT_FLASHO1432013");movie.REWIND();movie.PLAY()} stopMovie1432013=function() {document.getElementById("AT_FLASHO1432013").STOP();} AT_FLASHO1432013_DoFSCommand=function(command,value){ if (command.search(/(click|link|url)/i)>=0){ AT_ClickFn1432013(command.replace(/[^0-9]/g,'')); } else if (command.search(/(hide|close|stop|halt|done|quit)/i)>-1) { closeAdLayer1432013(); } else if (command.search(/(show|open|start|spawn|launch)/i)>-1) { if(command != "showmenu") openAdLayer1432013(); }else if (command == "expand") { expand1432013(); } else if (command == "collapse") { collapse1432013(); } else if (command == "expandwidth") { expand_width1432013(value); } else if (command == "expandheight") { expand_height1432013(value); } else if (command == "redirectToPage") { window.open("http://adserver.adtech.de/adlink|694|1432013|0|154|AdId=1514553;BnId=1;itime=835499325;key=key1+key2+key3+key4;nodecode=yes;link="+value, "redirectwin", ""); } } var restartMovie=restartMovie1432013; var stopMovie=stopMovie1432013; if (AT_FAKEPOPUP) { var closeAdLayer=closeAdLayer1432013; var adlayerhider=closeAdLayer; var openAdLayer=openAdLayer1432013; } if (navigator.userAgent.indexOf('MSIE')>0 && navigator.userAgent.indexOf('Opera')<0) { document.writeln(''); document.writeln('Sub AT_FLASHO1432013_FSCommand(ByVal command, ByVal args)'); document.writeln('call AT_FLASHO1432013_DoFSCommand(command, args)'); document.writeln('end sub'); document.writeln(''); } _http://adserver.adtech.de/addyn|3.0|694|1432013|0|154|ADTECH;loc=100;target=_blank;key=key1+key2+key3+key4;grp=612327010;misc=1191835499743 ?@ABObplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?JUZNS.objectsWNS.keys@ABCDEFGHIKLMNOPQRST VServer]Last-Modified]Accept-Ranges]Cache-ControlTDate^Content-LengthWExpiresZConnectionTEtag\Content-Type_Apache/2.0.52 (White Box)_Fri, 05 Oct 2007 07:20:07 GMTUbytes^max-age=567035_Mon, 08 Oct 2007 09:25:00 GMTU29625_Sun, 14 Oct 2007 22:55:35 GMTZkeep-alive_"4f4187-73b9-bb7777c0"12jkkl6_NSMutableDictionary\NSDictionary12noo6_NSHTTPURLResponseInternal12qrrs6_NSHTTPURLResponse]NSURLResponse$)2DILbd  %1357$/7BDFHJLNPRTVacegikmoqsuw~#2RXx tOsCWSʁxԺepLӰ)33cffcfffff!ff9f;ffff[on}F99O$ * @X:02Z0X92غ19Y؛001q2q3sX9Y8ٙ9x[90xFrVf @P @ূРXp$_L Ԁ|~>={ p}j@;M BZAd+S111 #Toj~?0aJ@ />P>@"||RȿCW قGF'&CGDl##j>?A@p x ld\|(Ѐ`B| @@` Vd > ` $f(4a%t#Rh ez̯&.Xdl* ~}': gO=   _gg/`¨JN7FA fIXH>x`( p()bK^%`캦66rCdߨٝ;e>YB nSo^ to2 HrF1 io7tp%#caη'v1{Kw |Kx:k^P[Ԛ=4)Enm,׌A9I*96y~% "@K%_;JZ>;Yl=̩OM`+OwޝdrֆdhwxWtg&kp:ʱi_HWi V&ߟ/N ;@UI1o=j3,/q˿o&rPq9SKM*Tp~{ZuJf:Qi ˵ϛ|%)_/ŻdCP) Y`m&_:ʼZ}GAwx'1e$yx}S8剞|L3PѨ^,Ө'![q+F/O3a߭6Tw4o9 T m*:hE Q߶|+t_unZܟDz4ҦYc!=Ԣ@вn{[ + a(EDݞUſn5;wTo] )x`ȬvW&\6dDRd3ҍx,E;!{t,1F4g:wiC4r3D#%O֫9,=܅ /V֘N:k.)}jsa6\b|(gEΜ|4[:ǘM,aV~]7 2v{pH }񟹡NvXdcb1) FjZI-4>~X%L.{\ pfK*}~_T539{S&l`.IsL;g$=T?- 8Ao>ƩgKK]|~ԛGaۦ=XVoo6W"W&saFⓙTQy)i>|!Rˋ9rͷG,)!nֵ'unnTwgiEL'(QovKK8QM2t;+73$O,Mb0}X:$ԡ Rfqd /{LJe ipڨ,WJɣt J) OdؒL(jk8aT s iӣl]MpvpLuVŅr){_L9>z-VʺA6zEbV wq Ri)/|V֋ZhK v_N"kM?{Y0e>=7+dp5M1}xgs_A7 A@xfXb *bRiq`_ Ğ#H>~+-Iiv ϝ[DCs@'+C#w'-6#Gj}-=o#tJϔToM5eTMG%Sudh#(qmwadq9fakZزUIPfd' /LP_V~7Jp>1_'jwx7;{ίr/ѱOrv Ut09n{PXkiwk4L "u[t 'K(D-vl-Rn\\'@wn w|;nBQJYLNg't˒Kȼ#~Ycu5^Tg)CV&~MƆ!7[%5Lb7uJab1lP#]%+UV MY9ꕡ4ǜ#͝fj$ji.摈 p"eNkϚ%rPUj cF)J"|FvB[y6M)>2rb$92; UPu*(()ƈZ_nB65KKY{y7Yjt{wS*oq]+/񅗎⌯9.GK[;6T(ҹ0 c کݣhE_S]|`f&l|~4F-4@J\B pS)BO3i@^s@ĉl.<9@>랗Z9m8z^)3/9H]@!\iI>!'N|U">|ŏ|: +%mVߨxN'WrvB?Q?{U H.p*!<'dD=mBMH8NcD~dڼ߄q"*l!-(2* Vڕ vN])3t /ѪGmk:m(~ւ\~_&r8ܕyX ;Go MkIVBưsPo#|) jGY *-SV3 |9iQp>x#̕#}>* P)KX}c  ctt+M;ʇXҍEpM}rX+J "jt'Sƭ?8­kJ^&$y~Z/R%T4Rȩj8[R3s)]tS\5;l\R`;]:o<֯84LXv,zv.TcUpCW 6ٞF$cxdEb4>.r 0/Q @*0 9c$`:דr|U.hDrb"PPPHP1_PH DfoLV.$1"'W) i֩HdڑRy-^Kkit*Rv:hP5ip\%0oy0T!OzJE6#|eO*br2݋9a"|-A.x3cO2 Ap8|3¬&o[#U lbeנDvR얥)^:Bl;bYЋdXϬ/5yޘ "fgDYgd-=:XLtktMG6P#zUs8#MH'FJN [[Rn$R8XΤvUI"vϰtvJ§@R!Ha4r".c?]8X~pT'`aZ'o.^Vh塪HH"hb04ΆRDTΕdG{@wfGJ˰daSE{w y(Wۻ GnZ8>*YKӦIf/Wg;Ht˹b(Ҥ2=w6MD:K,aikpnꓛ)r|_z@,WwJ luNJ-a(̱zb2ꞌ09Q_ŝ@ ,& PgrTIECy|iRȅA>f.zzJ@$[vNW6|;lf)Ә."  OlikΤ(="I,ǓfQDi V#S+ydBv⃑d\U@nrJ׆Nel!nlFyDzkdNä0-7L9V{o `ƨy~DgOQ9UL0d TEчZEkNh(ϙ'7q@橇Zwh5fyRJn$0DJ'+IeH\OʪTn{zB;XOA'R,1fL^oܬ|D&rwJږb UsYYH) ̈́? ;S4lvS?}rJoH qsB /@3dδ:v{#*v#|rQA{شkmj{q$Q ljFPy,nJu'!]@Z*@9wMwne#&ʃiZ,52VVDR1_J{| :1OPeJHSu5i!Y!֪E~]|@D1ޏrW`abd7B]y?b Y)_% wzHdڋ`/1[,DyV,8v9i<̞PW/NV1%s\A ͖vr|L8El1p.<ނhڋ> 8RhvQQ aPa`11aaQ1Pac#"¡qrqqRab`c`QӠMBY,AH8X(X88h((8̴dhXXb&# eǗ?\/_\PF(84 8ܿ 3gI*\P ,a]%qhRa#& 1U5אo}!A@7p |Y ?kH@P@?V3r*J5{K"b , Bh2޴A70}:%/=Y_T>hVq]=q]D7 | vc،/T~y[E aRMu= ml$߮55Px4,.eeFe7 Ԑi ၩ)Hw\2hA9P2A%Ej=-;U;j:=-.l+u̵,γи(^+#,a+V:W `# zF*j]rK!gdF,BH([0Md/)k(#U3*TϠkT5 4TG+8([LJUC.kscKj*5 U"h`3'un$cV$"-k}n`"jgfݐBE68rȸ)QmvjjB6ul63Ag4}?k+2*+ чEB+]07]p`W5֥*h0hXhh9SXGN\4/]ڥ:FytZωZ{o+747 GNULr2W'EvW@֌ϝFV7z#Se$yXjz6$u2J#کڹf)5\IT W%! M>郃#3Z vloėBNw5XJ93RPs ͌$.aꕤn} QKUX <UZ/SEʈIS@B%Okŏl#9d ؀-l{Sg?pgN `!w4fM!9Uٛm2ܛܺ64 mK~tZ)VNF]O/^z) DXZed衚n&T.BE%ЖiJ ґ`>Ǝqn:ϼŠ/I*Nm)͊w3HJwr1^pb̈́Z^A+oD&@ ـEIP"3.9SHrWHҢȺCZ՜ո˟pϼtF;vRbͦT][X rϔ8{OTE)CpଘKY5 ~[u(7Ljbi" m8WMI}7%P;]J> l<2WP01V=?jE1*U>r#&ƺ>(N07|&3 \&z'=r^k vB5%nFfhPZRFDz-cl>>!p(j)S׺7fKkg5aiνe%859 BglfkϖRF\_$:*.SEhdD|Ez]4U:8z zUߨ_x1F3B ogXa7@0gt|rmyi u3Ujӻ :>-5 WJ~U)0vSQ7[kA{miJ\}L>1ebתijr?a{-:,-%QWx/&!JD Zئ([ HTd0顊lq1a7xpuyy4 )tsTpI9P$MD"bjB"P`ӄ{ML4a-{yvT@.Ȏ" o @6@q5$5'v eHyQ)߹y!pI8v<v>fJ`CHwzf"l\jo*rt_]uRkIXU{nk2Xw綩|=ANCglìLC{:VWV,a,:Cyy.jx#jJZ*Ҍ q~1l7b&[t )dԁL]&㧈$ewD-mmB㈁X "dBǡ2 h~:\kLӊK׿~gs73 AJiFq=} A]:Cisl T"~ g/KX$DFDo]ϡ'7ݿ\ǭ `m0ۨVs'<45FUF w fwbBjjf rX- ~/I/|Dѯt&~^i[=1'a"E8 |/2(ƳvC(ёKϻ(a="x{;[Mdb`?t*B(WekYkIBo&ġđdxĿ^\yHnٍ-R G󡂱 /^ꁰG%ǍCpƩ;{ _ ="xh:e-nW%Yq;KF)"*W+NZZ^$g-2Ct]=I+Qd\í(J> ?yŞv`X4uXjOl﷫Wy^F)Ŷ+T36sO !HAcR?0MƆd,Ll(c$D ␡gDW!ugi C5AP5Iw`$[K4*EeRV^Z&^?&.;7اp DO%UPnAUAh*c4H5pއ6.Zy]GeOYisrK(Ʀ-;WD _BZsG"!Rm-, q\n^R&(Q5=c]q4w:f~<=O`%|K,iQ U=ex GJ)#Wj~Vht!y(IG G6(;F@ji4V󶧱55o`~%>~LhxnwQQ3Zi0arà9Tnp oiAM-q rY,tjӲږ$ T'۹ F$z}!AoD\N)B,]$*Su=k>u\;SwS+oO[9n[օ3 cP @%BZ&)%KWNJQNʫ.pLr. xӎP1D:t[Y5`n]X9;*lcf{$g#$9 ) g@I3BNsp678ϚoF#8Tr0-u~\0mMxz ?&rMk48loC]q@ Wd,5^=Mw3dAc?1g-oJO|]t1R-rn#˶̖-`|1%OjRXGςԹb7vU;@I}tp+̻?'@L׉FҾ |K0+ւƛx-FvpP%IآQq57fv4 OZ6(+G:z2آ]3 ۡeXDf Al6;6=p7#+oS<$1b[dbwJ$Z K*Kd[~H$+h6}%#dJ9B!@ S՝Y״ۙ@z m cPj~}sP Kd7Xg<~B_*ҕx_[r i%QnO(wn21Aq""'p ʼnY쪥 wKO2*KGĸh3ޗ uz;I@E:ёm0b["*⩔ t뷆氣A  <&JtoS~GkvtEU沫oƥ!Պ*Fr-onmmǡ \)@r![J}IvU$"btK<!.APt,LSwW$ޚYSZ=zsiV3&HݏɽO!&/ὴz̉>gJ3x/4EGv#hq:Dl+ NUQW[4wJ)d<+Ixc69GOaD ʛ(GPiCu"=4Q3u%O09LB\|E_2&f^%cFbI+Azi%Y>Zy^\䲺_|~Bc!l5br=o{&{zH/ ޑ tB@Ez/ҋtAzToA}Z$Wٿ=s55#J"(r k904M& Z#x./n=35l_~Q7 5tCcFCfte$NVz !Z'XKb?lWL kj^xw߮Vg*[E. *\ ҃nf_gff2.$ 7D43⥍ T]s`rl%N*dR(%䁵$>nU]ݪrot] nPIT<ߛp~7_ny76Z7FI]h+^d,o.ș?=+f6;If,D@Ɋ>y+ }.ӛG?wD&/vǑw-wl P鈨1W}IǏ$+3⼵oEwRr^^G;#iwSu0/\Qefq/nbR3ƙ,vIngiWf~T{lP]l+˟$T䍔_|PUgEѷ&۹\hmI*"IYlilLf#䗂}ŻGq}_fA:@Ѿd 3d஀9Ul(|gjK ӎjBA&oB#(h${A."Kj\916#EmR;u+@YGѕ=J0b(͉ \[F6XWNN9-tS|0rS#pǖ9h1v,p0u,2CBx#xW+hοfG89&qSԢ=n7 ­֐)hOiŭscK&|\G/zc+oRrhM&8ncqYEW3/lsţqdᨧ-IY0"JcǕ؏L=κXԲ+žNX$6|`kJh\ώT8 9k5ymΰsޘ>' '[%L',u?7NJW`(2g`==,~(31Ψv@s ՆvÙ!͗c܏fU \Rds`"B^RM-l]w<̭RU(03)~zmQwj@QkR]Gu1n]K uI'_xcA3>h&A(0@|a? ~Rj+-TJeF5ed(Y-1}JmOEBm}.7B6H >,wGIL=MrԽAn+u@#Ge#s8" ~׉g|^]AJW_U"&.Jv[PA+3C@k[CIoASW}ѥF;@eC.%nhX"b,˵odϺ ^wR rP6I~N9^vkXYq8L'V yjHe'_$2_$Sr|Cܠe.E+6'Wʨ>vEO&u8wcV,PyA4el(kdMg^eCB։v+7Yj0ovoss-jŴv; o`W3ʝ57~s|],XhKȭ jF4)^uvjcvd0{ςʻU8{lEF/)X$E[)sHEJpESv  sK'ùһ¬:Y"BLvo3taz> (~E^Yn7vڟGV6^nk*doYY.v,I ʜDFFG{!24v=uu&3KEc.~H;V5\ow{쎡s 1e-jZI&8\_Epq5szD؈4a iH0HV'MYVGtUK)Z+B\:Gܪ̠,0K=SwP\!ԡwx1/2Bb"bJܨx&?cF3{G3mOrXc\+ljl:/eYǮ뻝*[?]"Vk]%rY3/ef#ʦ F9">n6:Z%ƖѼFT|$4h\E7ϳ4q3;3{UUק5 fbcf#ֲ/6\վ܊mCX̿fbxضd)xm*Ӄ;.6$+xWm4v2 YGE\ɭ-\T}t`!+oL)?\g-z[m8]JzNh 2Il7m/@":E]i6B}G6U|RT++H=Zc7Vȋj^n{692qx-L` /?xio"XEncQ);  b&l gij؁[U}fJc- mSGF;ou0'xB5:gvY,З_[0ؚ֯acPJX`jz};VT@^;d?qQ.J}vLhuV6% ^d;Oj4!"дyOAI匲bmW Qk3{Gҁs͐]W56 >mMh5)bewupwiH ];="Vuēٻ^b So_C鲎vU4xyS]Nx*Djo -3JÈցY7KO0qV$r`J2^ec.O ޥ6?S*n4o[˜W28 9m4/^ԁx=s=O,q#|Lc CJ$=q!fdSV W.sGU0I땋zd? mS(cКv#mG:Ƒ]nRZX=dOJjMtS"J):0M.Lģ. |#O5WR+ g9uwy"3'#Eniԡ rXSxN #Z #v$H|ɪo۵,!';-c|\j/C|ʓEmK!%) pż3yѽfY*k% +-#qM&pX*ڿw@ Lؚ G%v )ro׫1~T/]R{q;s͂ C yA VXlH w f W}0O-ų7?1gq^|/-i %kKz)Ccު\#".+PuzfS( kJT94*&Y Jca6^x,i_Ǧ6H(2໼ x\Խn?GuނG4f×f ߗ2Dx)7\ܣ4l }&+M?')6礟}=2a% FmIenV|q][9^ZM2םLblS9E;LQ fh|Dd.}.NjYW?^RӘ l-L:[*ANR:RpF9mmM=˚vI0csA E}5UĴX b}5=ٳ=`zkx8zXDr|iľrP pG%;w׽O54k^'bwz3KZ\40)ZFmءTJZgwi-a*ymՙXJ# <{$ii#0oXӭh>zs[I_@b[~Ȱ>V5yWYJL`+u \b_/t('KXqdpe" #orvb&\5 K"f̍%u/&sO>_յf$5iqS7Čфųe]=#NU/z>zsW/u ZƾgG-Nw?#Sp &jp?aخ} BIOņ=SAر dÜAzS"l`OƪjW1 _/n1eLW.>L_*>3#!+٣C57;k@D,֫H|^x4T$ WhRxy/zrf7鴶vR|ksnN8}Sn)k߅r,QEޱ(ϖ M~Lap0(=`np 3;*s1,$ +vO10.cJabcł"$Y32"{@7MB($L5)w՝y/ɇʕ&Z\x5IpYML|+.hZ)WҖml ٽőǤL'n6#ynY\I/trh`r0lO%J>˺pf:{3Ș8kYJx~LN _"Q)ma6zB-e>7 FkȉX;ōyDueY|xyB O6=e[:dNlyb* @cb+ƀŐiz/+?"GӓqvT2<0u\SO^׈)mJ7sI|4 >`x<|ff߹;Hj--? j]{ ! ۊ\5|>័L~Twܳ{72:2"<m\uN[M;VeŊc;TϚ6n-fzלkRw(P8ǶDY i&ϰ .1(|@|vdFġ0l)N֔lҳ$l`*6֦j7R32 hٽ6ᘣ k|U*"plßx(sySm@Kєpa.0xdIPd"3gj>Cɢ] j栛j!k%5l8bܼa(a0CxAN(jferP 'g3G8̕* E\a%/ j {AaN$f6pG*uurgAPDg fefs-N BB}p:YAapK9 a C@evfyP)߻|Oٜܿ-3/T67IU,'pד.8Np+Tn3GW+xf035\p77TfΨfsuI~JY:ru9BPmpvBiohYo7P?!` e,(@PP!s|(5c&lO@l**`&lFXx9A WmXŷJ//_6~Ozf_6z7m@h״c`bX'ѻ 9&wRWp.03ǰIk#bRjVlМ\/ 08A`R .<9j~z\Bj>PXAe&im)D,z~o-x?̧f/d=L orh[^ \"Շ~q^a0p~^3se 1hL:*Nog@m^jأW_7C+wn*rZfDbFb_!kVz^]Ng Ocn=/+ǙX&,lBH@):lu%^é#*s.Hl Ӊ)q;{SuWS/@rlJm򱨢?G}P./<D#,=}ZQ!zDi;f񮺧l:r)?$H{v4R@6O!tBGog5e2١֘TI= Bt"|W+56 \ZHt.&rɚLdJ]uEJpbHC" DjS_t(j|[Jm6B GdoEf]며U [![ʳ3͒ Yk' Eokjk.&lk|Nr&ow+w|瓻_v[\Ȋ7Ԕt/Cxz|lf4£~ɉ~R^0YjS{RJ3aaAw-䢩 TyF\=Sc=/+'RŇnVp"%뷚`kTG^U %"(k 9;y* ¿ڙų:O W>Qv/d nIêy;U?gUCEJf%$]09 ݞb.15t]@=?h&;רuRC9(ZhϴIH=ILC_xv7D4d\j,p'caƹmaT`WM ߬e2qV~f]މ²Kz[ tաqʍMcwbQWG~>OY:6_ ࣖM\A7ݤsO+s˷}Qha0t;&*j= d>gDآ;%}e'2w˯2e麪a"%;CL3HDzDŽ ȻPiU  b{l&Z2#6/y;x՜PLdf )w|5вsͨe N& #:JSEi@1qjۄ*~l3vo-~W1SIn=  CO`ű䈷'kqNifRBk\;[h@J{* K龩i6\8*҈o~Y>ݰВyc'5S\wWVL$bkr73K.[gH860c沚cm>Cr\#]?v•aC?p~,19lzґ6-GYx,_AҼ9~] yYԑ ·hiw-kוwW@D`F=!}*{G-.6`3+ʛZP=!HOmYح!"8gZ{[|osuF_Wg\ߊ`x9WVuQV ÛRtW nȶI$5%7@7D‰_-2O/] BV֙t #V#&_͋N RK \4ezZl{^iĠ¤Vm_ӊk`Pa|Mϧrh? ▿9Rk%<"נL2b;Z#D$m)NK̸6sCw`@V'|$$<]ggfwjřAY1 DѲ+뙗[D=d͏qtf^]:Rj?zǫV3n !OCwE҃|TQPȃ8QAAAW2ЂHσHσj Gтp΃p΃*')т@A1~VAy NW1ahF2ffe hqgXfz/ yh-qhBQ!͐?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Tue, 28 Aug 2007 09:25:31 GMT_Mon, 08 Oct 2007 07:36:28 GMTT4272]"-1316352899"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1lqz"'6;HQWwh%OJFIFddDuckyPAdobed      mX    !1aQb#T A"RrӕW2$vqBCd7SDt5Uf8 !Q1AaqR"2bSrƒ$4Bs#3C5 ?^ְ]2N5 % 2N- #H$ 28tLH$8tL- #H$YƯPR&GIƤdqnA&GIdqjA&GIƤe!9PӜz|Zɻ*>.J]eCJN@Ʈm&;\B#jӍ-BRRJR0JE?2{RiwݮRRFfɭ\|GGgz]iT2kWG֗}e/$fa̚{RiwݮSRFfɭ\|GG'ޗ}e?a|$fa̚{P4K2аj30Mj?=~δ)} #3d֮>#ڰwMt˺ciĔf1bfa̢.jndL>BvZ*D3-+Q'RA;àV?Rk*y;ol~!V5 KLӖN?{*~`q+f۶zVboUe 2>='M]'|'Q#WG|I5t>7IWG}IWY ?Ϥ髪XZ\tlO՗18hrssew{ ?*nljLJZZLQSY*H1dY~g8̩'1 ė%JVPCJ*}:o"Эwoa·JZTtBF5VR nǾ9bQ,ƼF5Q SRj)Ѕ)@|(&ʪ6q,aܼ}@//U̩| }tө𭶸̸KT-2 ,I H'`H^Y=NMؾ}h, Jәɇ&L=|z6SW3b]  e6X+𳈊ӚGiTu]\}7U l.վEl=]c@o fK䕺PmJB;I JU}]E?Mh6w]P^81OxQٻEf>μqs2IapIçY.TTHδ.]=_sȼ]eeH{D}Df.R78T\ PV=p,qހj{9ԕΒXf;J-L b mª.khiqZpL<7lJͬGΰ5d^Navv_2؇)Ey"UXeP /8Hw(drk"mmeY#əpU/RPYxxq:wRcw\F" -d?ԯ8E&gZɭ|KyjD6bω2*u;#aRzW48e:\ Gr-ڣdn ݗVRצ5ۅSTa둸ga$mё+1^в'46)n8(jlg:VgW++;sƹCoIR_6r32?bnY*+VTio2KRwjN@Um}aTmk|9 WI=zǛl%$k<ΣJ;䰡 [Գ*BJ ln\R`wqV BX}A3?.I'7yPȣpґUx?[ұ1S_=hǚl?߲-;-#/H韻~k8>g"~}i Rgyew^O\<6ԩ~j. S-KQQ mJ6UzTw2׻\}uL"c.~7{ґЬpٌj;V }ƅF`4!c8uaZ5y^GQY.FCoI_j>wʾ vqs>]oHp}2Wqp)!`o| ^c@T8Voqh1 n:B3=STT& Ɉ\H%:8JӏBQN,tG3$IJ:G"޿i?^poڷT[B>yя4[eCS?w'@[fGf{^'?wPv|E,k3+U>Y]3 Ri.SK[''*.c0Hp>^8z:zFZ>宔ZĽ8t%ķ:9>ۏ f_~}>6.ÇXlWJ{/ŇY23(K%AEl pՏP\]2b.>LGlfS%NJkokqq;äWcoZI!#ZT:(ܱjЉmi)jD9,wmGU[< _14qg<'x>Һ'l(dVa=6!*_a8ԜUo/JxEWwP|%/sE۳mŷBGuC#X4ᮻ.ʃRɼ}Wrklt2؈_@PK+Á-w!XpﳗѤ80)m6&$tVwv'/:)h-=x)pCJqkʰ .DZ.Ev ֽҽ.ÈMö>MOWs aZˊ]_#ҕqoeJ㒗UwӫbC~jkF@)mI8 *c+Q\aT+`',Vҝ;έo,QRI&k8èlh2ޓ$(^YF5ܼESkx)KHCr_i ґP TpzU3=$lN)N-si;kIUTM4@,zfIZ}Pq9 q%y?CuPp+Fcb R m =gnGgvm'ɫ`l*UkU n^/pxͭ۽ݎc"m*Ɏ#9WO QQ4( Lp&M 8B&!IB&M 8]T4(&M A-7)uL(6훋mk3pt1q-Wdl8|$}:cRȹ,۝o\t(!IB#{jk,jWʌ1~f~ګ,&d952$Lɒ*h6a>G ]veB#Ü$WeBSGMO9;oINdSpovRS4Ü#m]M5>We%9MO9;oINdSpovRS4Ü,m%!KQ) (O6TCw\Rhp <٦#5f< V[-/ Ƃ.8v1=56_mEϨ _ =1\UYc{GNp^<978l Lg+%mHylg(pڥ$PBnv@|Q+W=OeH{?@kg">ȭ~QGHgQAh?MeIl14DHxQ-3oj*Kk=8޺"xDy#|Z"-/h?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Wed, 03 Oct 2007 04:05:20 GMT_Mon, 08 Oct 2007 07:36:28 GMTT1314]"-1294224103"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1ot}$)8=JSYyh'O"GIF89aEaaeft֋e؂nԴʿǽƶͮ•C4Rğx]za'7ǖs- 5\}iȹƫԵA:Gå}Ĺ KFVvgb9.F5%D܌ZұþɮI6[K;^ƲƞfƙݐaĿŹÿgպti09*I5&I޲󯔻лòȚrB+YĴȱtfĹѹةǯsڇ]Ğۡʾͯ}V !,E F*\Ȑ!]1#N 2D@ _ CIɓ$ TD᳉7ɳϟ@ JPXaB]JO.8#իXjU+A_!(C*C hKɕ ݸݛ.^`\ S>K Hǽ> reʖ3k -({F̃YN[r]dž=ٵeϦksA8#kҖDlPƢ<:ŰWnvگKE-$ʄj#l>՟~矀 PF =+pdȋ\fŀa(!A0 Q F̐.<"W?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Tue, 28 Aug 2007 11:27:03 GMT_Mon, 08 Oct 2007 07:36:28 GMTS721\"1189664144"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1glu!05BKQqhOGIF89a(Tb*b*M 4 Q"312Ȣna#ʢɣ5cU:j׸^[ǣdʭijW,=`ZâUϩ_knغ,fPťeB“ػ9k>wW:AL.z,RF4u)Ygg#`n'4!,(a ]"a_\\bN>1XXAD@bbCbķUU:+(;/bHUbUYY56JX$bXYTT2L= LHO/b+`SHDL 1118r ZR`A(4H4kysVx 144(/b<uT+W⊊%5+gVʖO.`rc&9L˷߿LÈ`Aǐ#K?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Fri, 14 Sep 2007 09:10:05 GMT_Mon, 08 Oct 2007 07:36:28 GMTT2782\"-276123222"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1kpy %49FOUuh"O GIF89aC-["x D| ӭW &S#ZLjY++S'|VuQ`oӷcTm:li(l!  { D(  D%.6sȾ d=| cTtS EY!p 1,ݢ^O&X!+cSᾋ ~L ^ r;*?& abf G\gzkWTbSMR}BG\] J(\  J$ n7' cJE%[  9(;t tPơ ¯2z3tÙTn3+b Fa ,s ?j!.-(W_v}  G]f_#N4=a U$!,C- ȄI*\ȰÆ,e3jȱǏ -FXpڀ>_t[ɲ˗0cʌK  mϟ@J0ɕhb@sӧPJ Z 4+oF?4ŠKٳhӆ4*cKݻx;7?]n/vÈ+^̸ql+[Xl˘3k̹g̑ҌR^ͺװS>2BVBͻ߿߿;+<+_μy~yk=Æ Q&!cG\B 1C0@7LJ{T˗ȕ9hJ[0u<1b C Aj?ؠgl `?#3+I㎾ $9w@9E%H:kN:H9>GUFe:U;$첒#l|cO9"D"2jؑ?*D!Pc @ >aJ )oOP`KXB^0  9 d ÂzX` ! ,'X.X`M ThPP+,Bm(D*8XD]B/(` `\ .o~P P @ 4j"#T$P,XH-qY &0W*RHJ~"L'bL3̦6:+IvLx)H- l SP~7B.H .vPNņ(A!9XfAWP ]xЅ[8 P8]C)\ T~C=+рPBTP 5d@l R  AGpq ! PWr j^50*b@,|у ix@"r! %^ 6Xx)@-#]NZ x%@ Q ` >܃ H0 @ӾֵeJ:A]xE<{@( B``_hAAp S V[" (oy)^ zȰcp L"&PL`.I@ ĩ1L|X3 A?ڀa  8P\" Sβ.{˵W22hN69H^I A:xγgC U6@6ЈNF;чf? 3Pf ӠGMRzͨ`(22Z( @> ^0`s`ƭ=lfa`?!^_ Hj[ζD`/kf7IvAMO;_7http://images.newmedia.lu/rtl.lu/global2007/logo_pt.gif UVW9O bplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Thu, 27 Sep 2007 19:59:29 GMT_Mon, 08 Oct 2007 07:36:28 GMTS110\"-763673580"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd *,.0glu!05BKQqhOnGIF89a999(((,; PkZ9t0`hcgc0zE #P+EHۀ$角b;_4http://images.newmedia.lu/rtl.lu/global2007/send.gif YZ[9Obplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Thu, 27 Sep 2007 19:59:33 GMT_Mon, 08 Oct 2007 07:36:28 GMTS110\"-763870892"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd *,.0hmv"16CLRrhOnGIF89a///,;( ܠpEQ|#gȈs>'z-! <l,F2r;_5http://images.newmedia.lu/rtl.lu/global2007/print.gif ]^_GObplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN ]Last-Modified]Accept-RangesVServerTDate^Content-Length\Content-TypeTEtag_Tue, 25 Sep 2007 15:39:27 GMTUbytesXlighttpd_Mon, 08 Oct 2007 07:36:45 GMTT1174["887335801"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1v{ %,1@MRrx h-OJFIFddDuckyPAdobed        !1AQ"T#V!1AQqRBa"C ?uis!:Fiy!7 d} B2,J1ƹ`TXEMm!rTi1ے< 0 V D/- M5M( VSofn6k%'yh!!!%EDTT^躀AƻV@A8lw? 4:qS?n_]8aS~dFY:MdDDD"DI‚XUP@5_Bhttp://images.newmedia.lu/rtl.lu/tele/videoarchiv/brescht_logo.jpg ]^_G ]^_G cdeGObplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN ]Last-Modified]Accept-RangesVServerTDate^Content-Length\Content-TypeTEtag_Tue, 25 Sep 2007 14:43:57 GMTUbytesXlighttpd_Mon, 08 Oct 2007 07:36:45 GMTS963\"1303381770"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1lqz "'6CHhnwh#OJFIFddDucky<Adobed        !1AaQ"2$4 1A!aq"Q ?ow+_nHu] SE4$_<5e'ۊWYZ=Y >}s؛baړ"9.}>j.sw1Ui,ԾYy)]WA (?֥J#T^FTv]M:PI R1i5"/(^FIdH m ]ClEI*rw{Ý=mvU2ķ*D7 ήF:TA/( AӸ&y!ud\i$27 ;$l[q#FXѲ9/W1fUF;G {r얛ח;3]ȨѬȕ֐vZ2{sƣ#Gb-䆎'(/mg]YA!HK"}!kU͇3wxMjڽ&rHS3+NeKxw$:.b*lDBKX\% cx(lzR V8ӈQ|bƺBM):_8http://images.newmedia.lu/rtl.lu/tele/videoarchiv/98.jpg ]^_G ]^_G ijk9Obplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN ]Last-Modified]Accept-RangesVServerTDate^Content-Length\Content-TypeTEtag_Tue, 25 Sep 2007 12:58:40 GMTUbytesXlighttpd_Mon, 08 Oct 2007 07:36:45 GMTT2225]"-2087673006"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1pu~%*9FKkqzh(OGIF89a*f3ff3ff3f3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3f𠠤,*@Hp*\ȰÇ#>̢Ņŋ1j)ȱcG-0X@"80F]9sF8sԹ$@*Ȁ&HI]ZLK6pSULj7b\RRmQоr4pY D+PfbVd1e}G4MF5=S鴕2:i!.ߛ}n'+#r@`ᆬ.C 7ʒQhIno~}ʘÞHPF3K'64\ziԽ}E3QֺGDˑÔqV0Wer y ]rs&}p3)3LKݿ>2Q*#TN S =Dyhe{aw SzJ浝FtDPzZ dt.8wIf`}$D"Al2rw]!GR%{k(ṭ ?GOZNS.objectsWNS.keys@ABCDEFHIJKLMN VServer]Accept-Ranges]Last-ModifiedTDate^Content-LengthTEtag\Content-TypeXlighttpdUbytes_Tue, 28 Aug 2007 13:01:48 GMT_Mon, 08 Oct 2007 07:36:29 GMTS495["110058534"12^__`6_NSMutableDictionary\NSDictionary12bcc6_NSHTTPURLResponseInternal12effg6_NSHTTPURLResponse]NSURLResponse$)2DILbd+-/1qv &+:?LU[{h&OGIF89a? iiiyyyMMMLLLhhhzzz푑!,? <$Rlp,35mOCE_ ?0I,IQPꤢyPaU  #)wRE@~]a3a1((=JClIJlNO}$ ($]U++[  ]    5  \U @ ٠ftqW%4r00,rԸG4%L"с4^Sljװa`0#*lJJsE{* V[PA gs _  AMg| Q-[gNT@*@@٭Dzo!;_=http://images.newmedia.lu/rtl.lu/global2007/logo_metriweb.gif qrstuv_WebResourceTextEncodingNameYtext/htmlOM{(function(){ var Q=document;function T(){var c=Q.cookie,a=Math.round((new Date).getTime()/1000),b=c.indexOf("__utma=")>-1,d=c.indexOf("__utmb=")>-1,e=c.indexOf("__utmc=")>-1,f,g={};if(b){f=c.split("__utma=")[1].split(";")[0].split(".");g.sid=(!d||!e?a:f[4])+"";g.vid=f[1]+"."+f[2];g.from_cookie=true}else{g.sid=window&&window.gaGlobal&&window.gaGlobal.sid?window.gaGlobal.sid:a+"";g.vid=window&&window.gaGlobal&&window.gaGlobal.vid?window.gaGlobal.vid:Math.round(Math.random()*2147483647)+"."+a;g.from_cookie=false}g.hid= window&&window.gaGlobal&&window.gaGlobal.hid?window.gaGlobal.hid:Math.round(Math.random()*2147483647);window.gaGlobal=g;return g}(function(){function c(){}c.prototype.l=function(d){var e=d.indexOf("#")+1;return e?d.substr(e):""};c.prototype.n=function(d){return/[&<>\"]/.test(d)?d.replace(/&/g,"&").replace(//g,">").replace(/\"/g,"""):d};c.prototype.b=function(d){var e=""};c.prototype.m=function(d, e){try{return d.frames[e]}catch(f){return null}};c.prototype.e=function(d){var e=document.createElement("iframe");for(var f in d){e.setAttribute(f,d[f])}return e};c.prototype.i=function(d,e){var f=this;document.body.appendChild(f.e({id:d,name:d,src:e,width:0,height:0,frameBorder:0}))};c.prototype.s=function(d,e){var f=this;document.write(f.b({id:d,name:d,src:e,width:0,height:0,frameBorder:0}))};c.prototype.g=function(d,e){var f=[],g=d.length,i=0;while(i0){g.f[e]=l[k];for(var o=0;oIDICommon.MAX_URL_LENGTH){r+="$";var w=j.d(e),A=IDICommon.MAX_URL_LENGTH-1-w.length,H=IDICommon.g(r,A),I=H.length;for(var q=0;q')}if(Y(c.google_ad_output,c.google_ad_client)){if(c.google_relay){IDIHost.q(c.google_relay)}IDIHost.r("http://pagead2.googlesyndication.com/pagead/idi_relay.html");var e="google_inline_div"+c.google_num_ad_slots,f="
'; a.write(f);var g="google_frame"+c.google_num_ad_slots,i=c.setTimeout(function(){IDIHost.h(g)},5000);IDIHost.j(b,g,c.google_ad_width,c.google_ad_height,{callback:function(m,j){W(m,j,i)},pollingInterval:500,iframeAttrs:{style:"position: absolute;left:0px",marginWidth:"0",marginHeight:"0",vspace:"0",hspace:"0",allowTransparency:"true"},parentDivId:e})}else{a.write('")}if(d!=null){a.write("")}}}else if(c.google_ad_output=="textlink"){a.write('
AdTech Ad
Méindeg, den 8. Oktober 2007

RTL Télé Video Archiv

Emissiounen


Sonnden 07/10/2007

Dok Show
<<-    ->>

Aktuell

Sonnden 07/10/2007

Météo
Kultur
Journal
Sport
Dok Show
<<-    ->>

Dok Show vum 7. Oktober 2007






UUTF-8T_new_#http://www.rtl.lu/tele/videoarchiv/ Ofbplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse (.29=>BTUVWXYZ[\]^=_cfU$null  !"#$%&%'R$6S$10R$2S$13R$7R$3S$11R$8R$4S$14R$9R$0V$classR$5S$12R$1#At]D4<#At]-8&)*!,-WNS.base[NS.relative/01YNS.string_|http://adserver.adtech.de/addyn%7C3.0%7C694%7C1432014%7C0%7C225%7CADTECH;target=_blank;key=key1+key2+key3+key4;grp=6123270103456X$classesZ$classname678_NSMutableStringXNSStringXNSObject34:;;<8UNSURLV%NSURL_application/x-javascript?@ACDELSZNS.objectsWNS.keysFGHIJKMNOPQR _Content-EncodingVServerZConnection]Cache-Control^Content-Length\Content-TypeTgzip_Adtech AdserverZkeep-aliveXno-cacheT476334`aab8_NSMutableDictionary\NSDictionary34dee8_NSHTTPURLResponseInternal34ghhi8_NSHTTPURLResponse]NSURLResponse$)2DILbd !#%',6)0246=HPWY[]_acjlnprtvx#(+GLPdjrO// Visual basic helper required to detect Flash Player ActiveX control version information\n"); document.write("Function VBGetSwfVer(i)\n"); document.write("on error resume next\n"); document.write("Dim swControl, swVersion\n"); document.write("swVersion = 0\n"); document.write("set swControl = CreateObject(\"ShockwaveFlash.ShockwaveFlash.\" + CStr(i))\n"); document.write("if (IsObject(swControl)) then\n"); document.write("swVersion = swControl.GetVariable(\"$version\")\n"); document.write("end if\n"); document.write("VBGetSwfVer = swVersion\n"); document.write("End Function\n"); document.write("\n"); function JSGetSwfVer(){ if (navigator.plugins != null && navigator.plugins.length > 0) { if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) { var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description; flashVer = flashDescription.split(" ")[2].split(".")[0]; } else {flashVer = -1;} } else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4; else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3; else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2; else flashVer = -1; return flashVer; } //### BROWSER CHECK ### var AT_agent = navigator.userAgent.toLowerCase(); var AT_major = parseInt(navigator.appVersion); // ####### Different browser types // ####### Different browser types var AT_is_nav = ((AT_agent.indexOf('mozilla')!=-1) && (AT_agent.indexOf('spoofer')==-1) && (AT_agent.indexOf('compatible') == -1) && (AT_agent.indexOf('opera')==-1) && (AT_agent.indexOf('webtv')==-1)); var AT_is_ie=(AT_agent.indexOf("msie") != -1) || (AT_is_nav && AT_major >= 5); var AT_IS_FIREFOX = AT_agent.indexOf('firefox')!=-1; var AT_IS_OPERA = AT_agent.indexOf('opera')!=-1; if (AT_IS_OPERA) AT_is_ie = false; if (AT_is_nav) AT_is_ie = false; if (AT_IS_FIREFOX) AT_is_ie = false; // ## END if (AT_FLASH) { if (AT_FlashClick) {FlashClick = AT_ClickFn1432014;} AT_MULTICLICKSTR+="&targetTAG="+AT_TARGET1432014+"&clickTarget="+escape(AT_TARGET1432014) var ShockMode = 0; var versionStr = 0; if (navigator.appVersion.indexOf("MSIE") != -1 && navigator.appVersion.toLowerCase().indexOf("win") != -1 && !(navigator.userAgent.indexOf("Opera") != -1)) { for (i=25;i>0;i--) {versionVB = VBGetSwfVer(i); if (versionVB != 0){versionStr = versionVB.split(" ")[1].split(",")[0]; if (versionStr>=AT_FLASHVERSION) {i=0;}}} } else { versionStr = JSGetSwfVer(); } if (versionStr >= AT_FLASHVERSION) ShockMode = 1; } adtech_flashinc=""; if (AT_EXPANDABLE && AT_EXPANDABLE != 'false') adtech_flashinc+='
'; if (AT_FAKEPOPUP) { adtech_flashinc+='
'; } if (ShockMode && AT_FLASH){ if (AT_EXPANDABLE && AT_EXPANDABLE !='false') AT_WIDTH_HEIGHT = "width=728 height=90"; adtech_flashinc+=''; adtech_flashinc+=''; adtech_flashinc+=''; adtech_flashinc+=''; adtech_flashinc+=''; if (AT_FLASH_BGCOLOR) {adtech_flashinc+='';} adtech_flashinc+=''; adtech_flashinc+=''; adtech_flashinc+=''; } else { adtech_flashinc+=''; } if (AT_IMAGE) { adtech_flashinc+=''+AT_TEXT+''; } else { adtech_flashinc+=AT_TEXT; } adtech_flashinc+=''; } if (AT_FAKEPOPUP) { adtech_flashinc+='' ; if (AT_is_ie) { var _zindex = AT_ZINDEX-1; if (AT_EXPANDABLE && AT_EXPANDABLE != 'false') {_zindex= -4000;} adtech_flashinc+='
'; adtech_flashinc+=''; adtech_flashinc+='
'; } } if (AT_EXPANDABLE && AT_EXPANDABLE != 'false' ) { adtech_flashinc+=''; } if (typeof AD_vars != 'undefined') document.write(''); else document.write(adtech_flashinc); if (AT_FAKEPOPUP&&AT_FAKEPOPUP_autoclose) window.setTimeout ("closeAdLayer1432014()",AT_FAKEPOPUP_autoclose); if (AT_FAKEPOPUP) { closeAdLayer1432014=function(){document.getElementById("AT_DIV1432014").style.display = "none"; if (AT_is_ie) { var iframediv = document.getElementById('HID_IFRAME_1432014'); iframediv.style.display = "none"; } } openAdLayer1432014=function() {document.getElementById("AT_DIV1432014").style.display = ""; if (AT_is_ie) { var iframediv = document.getElementById('HID_IFRAME_1432014'); iframediv.style.display = ""; } } } expand1432014=function() { var thediv = document.getElementById('AT_DIV1432014'); var thediv2 = document.getElementById('AT_ANCHOR_DIV1432014'); if (AT_is_ie) { var iframediv = document.getElementById('HID_IFRAME_1432014'); iframediv.style.display = ""; } thediv.style.width = "728px"; thediv.style.height = "90px"; thediv2.style.overflow = ""; } expand_width1432014 = function(value) { var thediv = document.getElementById('AT_DIV1432014'); var thediv2 = document.getElementById('AT_ANCHOR_DIV1432014'); if (AT_is_ie) { var iframediv = document.getElementById('HID_IFRAME_1432014'); iframediv.style.display = ""; } thediv.style.width = value+"px"; thediv2.style.overflow = ""; } expand_height1432014 = function(value) { var thediv = document.getElementById('AT_DIV1432014'); var thediv2 = document.getElementById('AT_ANCHOR_DIV1432014'); thediv.style.height = value+"px"; thediv2.style.overflow = ""; if (AT_is_ie) { var iframediv = document.getElementById('HID_IFRAME_1432014'); iframediv.style.display = ""; } } collapse1432014 =function() { var thediv = document.getElementById('AT_DIV1432014'); var thediv2 = document.getElementById('AT_ANCHOR_DIV1432014'); thediv.style.width = "728px"; thediv.style.height = "90px"; thediv2.style.overflow = "hidden"; if (AT_is_ie) { var iframediv = document.getElementById('HID_IFRAME_1432014'); iframediv.style.display = ""; } } restartMovie1432014=function(){movie=document.getElementById("AT_FLASHO1432014");movie.REWIND();movie.PLAY()} stopMovie1432014=function() {document.getElementById("AT_FLASHO1432014").STOP();} AT_FLASHO1432014_DoFSCommand=function(command,value){ if (command.search(/(click|link|url)/i)>=0){ AT_ClickFn1432014(command.replace(/[^0-9]/g,'')); } else if (command.search(/(hide|close|stop|halt|done|quit)/i)>-1) { closeAdLayer1432014(); } else if (command.search(/(show|open|start|spawn|launch)/i)>-1) { if(command != "showmenu") openAdLayer1432014(); }else if (command == "expand") { expand1432014(); } else if (command == "collapse") { collapse1432014(); } else if (command == "expandwidth") { expand_width1432014(value); } else if (command == "expandheight") { expand_height1432014(value); } else if (command == "redirectToPage") { window.open("http://adserver.adtech.de/adlink|694|1432014|0|225|AdId=1488483;BnId=1;itime=835500113;key=key1+key2+key3+key4;nodecode=yes;link="+value, "redirectwin", ""); } } var restartMovie=restartMovie1432014; var stopMovie=stopMovie1432014; if (AT_FAKEPOPUP) { var closeAdLayer=closeAdLayer1432014; var adlayerhider=closeAdLayer; var openAdLayer=openAdLayer1432014; } if (navigator.userAgent.indexOf('MSIE')>0 && navigator.userAgent.indexOf('Opera')<0) { document.writeln(''); document.writeln('Sub AT_FLASHO1432014_FSCommand(ByVal command, ByVal args)'); document.writeln('call AT_FLASHO1432014_DoFSCommand(command, args)'); document.writeln('end sub'); document.writeln(''); } _phttp://adserver.adtech.de/addyn|3.0|694|1432014|0|225|ADTECH;target=_blank;key=key1+key2+key3+key4;grp=612327010 BObplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?JUZNS.objectsWNS.keys@ABCDEFGHIKLMNOPQRST VServer]Last-Modified]Accept-Ranges]Cache-ControlTDate^Content-LengthWExpiresZConnectionTEtag\Content-Type_Apache/2.0.52 (White Box)_Thu, 04 Oct 2007 13:23:53 GMTUbytes^max-age=298441_Mon, 08 Oct 2007 09:25:00 GMTU30155_Thu, 11 Oct 2007 20:19:01 GMTZkeep-alive_"5182a2-75cb-b28e6c40"12jkkl6_NSMutableDictionary\NSDictionary12noo6_NSHTTPURLResponseInternal12qrrs6_NSHTTPURLResponse]NSURLResponse$)2DILbd  %1357 )1<>@BDFHJLNP[]_acegikmoqx,LRr}tOuCWSlxUX۶.Z0p%h ݃{Bp !5N`]΀9{}:UzU5@$G@a}ˈDD$D$$$TT B, tt R<|lBjg4TTL/h8(^r =cy%#. -(` qC}y<X<"2 *T `@ppP7TaP"WR2jZ:&fV\\{|)91)9;'7/kuMm]}C㏟ѱSK+k'gWq 64.X88C\0n p8*oP#EgU!S9BX|vcd ?+Ih,X2CX0?Fta'@0T,6 ~ @@/@؀0wAXs4A6-p V)I fU ~{j(6LšLR#S^ .K]Ė"͔aZSػFu=ej:TjsjC?&Nq2n׎ĵ-r =*v?{+Tf/H~%yr%m-S`Q@ǡf̦F{5i)|jhvsl Ppm1-ӻ(?ԕ_Peqa6T!ϥjkh;PC7*`|"0Rac9a\?Bӌ6Wލ«oT*fTj"vP+%T>;ڡ󢇾C3NfG?;nb  M,X SJN28Oe>(N*fEypZ‡Z>:4n}&a,:/B P:XC6N@^zc名#}~\(0ѡ~h? g/pAhZGGBmy*~fDZAUͦp?>d;j ~}T"hՠU"m Z  [ w@ -D;9}-CޣкBS@vܿhG͗ct,SvkiSE{P@W}GO_=h\uuu@3?)˕4tRgX*ep'R)ߌ UߛK"ё >m40؁ ɬ#ʺ>|#Y8՛zA6ufP&xIuh(Q? G+-}ϐCE%`sTN|LkӳFδ=OO?*D& i'遌_*'´2̗.&%TNyNqSe TAd9"HqjbW@~L|{"[%H#؇TvW,I/r?]Z˄1}hdvzdMp` kRMzCuޭ%a3W,/I1yHu[i?9lHJ){[X~V׿#Uk(s.2"2 QuΘ qzLBlZza@ɪpjDeG93kz eұO$46*^ˍܵj+ ZঠnU^Eݮͺ =&@? ` Ej s\d+ dFg$ :dRUG b#PR|m&]=(͙3Qg:0-{( SG=P&7H6Ga,df}"K̵Hg-\JEZFmN7">{u{ஆwyfP@5;6Ԉu#zـ CR&'_Bg+)\.ѢO+%3!-ǫ~&NwS\c[Ѝi-ů~k~ZETiE9i{VS{DD$X0%Z:E|gɗgZ,۵RC`(g7[ک@[VVsT$j|,Ï oWw#JrQ>~{PȄ?6ǾTzjϒ͟wm9I %K ("Mi?=%S|Zq7Q#sNjj 5N'=`w01r=ͪq] ՊEW3~pYhŨuDү`BRA AËsF`o \ht-](EBLzҢRa.91zm&N3˅:#y!Ξb s;k|-iFmvhwA!NO ܙ{5a}5|pd]S~ 71~B2$ZΊ5_tb#^(T묔h 錳H`P\{ʾ44kej(|o{d'pElq(쪲͎v]izVq;>\ዑE ;o3h ;e,fS= :3S%,7uo)eo~Йsrj&w!t%hz$`YgΓU(BA\QُwS:Jnаo:l8!7!kX y"OIh Q.#~Ì8FLtԼU%K eIjzggh-1MHGjp<]&_,mzGd q;9YodNQ,h6ÜE67g7ibԦ3ox!t1lrf=Nj5*$7{ FQ[OS~b (9vfƭ&\&l]+(uU,IN圩#d?|:CGm0\s4mW sqaN`LcH}TyuęAMaAX<&_vd~ԟ}h{RzT &( m|AmKH6'$%)o>ɨ'JH를O1S7g{JjcD:Ud* r8J 4Etq} ILfmWMAG wqm5hp.Js c)F C*O m,yUS(}Osww 8N'=7J2&4!93~pc͎Zqme.oVd6+~ TS \'."ZaiO_jccDMS@jоfN,]GL;E>CuHuC؂Z]$@j}N Pgoynr G=88RTkc#\G+I[iUZHpU5%ƚp߸:J_̩9Rŋ(-gYBVNO8‚0H+2␆+M>P)QrS C- gRG`9d65E'C#F{/DbuMefV"'Z*cE61q #ҥ ՉiS|Hݐ)HY$w\c hE)^j^6MyA+V4؉`f]J%_ŦJߎ,iQܖ%gwY9í;cΌ(heSekkqJ^e`y/%|TZK}#/)CV`ꘉ]*XWEwQa_Vr2 ?ͯ-xjlYln%JTP=ڙىQd_&OdR%fr]\o8Ŵ3eu!ux3V0 _M~(*!b !Rv|w;2aX%'v]>, 9mT< Qe2K: MNw})J2[%Ǵ$&J_ ēX[HՋ+N؄(N UfZXf,VbOsi&~bIub~1seJ#a̛*n_‚FY1,II< W 1J;9g+[twp'к9PtE۸ B03f !e/ņoz]թ%x[wyH/jʕԆ$gE҉=;*e/h 6BT332@U~ボcB%ɳ[1U4/ OiIB.k,ҾB#'! z'kiؤBhw,SsT: 55"W(I Ѿ^g@4ZI,XOPzq2XsEYc sFy֊X_-rHJ7_7h}ϏC28sz@FB*}@;A 38JsCt>ޙzr?[ ZnKl^} (#.f'둥b Я**Q:b}tпj dr'_|=,ιj%0=9_N-~Wi-O/ٳE;ҢX̤!MD%m)KO(D"f\4/бyھfi7"N~q/Ѽ Ar \Gԗi$$ΩeR}y@U.=zgLXLEը60nKj̛\SDL 7F uݰ²~7=bn3WUqHQGK(r6;$ ݕ*f`l䥽Yo^LI++qɲ]kރ/^,S9626O9c||W-!,J0vԥݽP4XQ#-\d Pw/?}M .Hw>$_;o}rPJۉ!-3YiӢ7cv LφlDRI`PotBelޛ`lbvX\f䠌Z&Zh(tM=L6@MX7WAw~kFvӰ|Ĭ-h !>Kעrc7R´b=]xw6NRG 萶Sy {n{St~=`-Uo"r@}[,qlxJzAL{$ 6wxWu7xl_wGG+2ޘBj\>+65&ϙo [}XO 1BcՒX8@ɾkLRm'3`KjM1i099p<\RW(kZ_U#{H'ƌ/N8gi+~ -Wzv-m7$਷Bi׭FH: U\{lĊ՘>KDKu~:9;J_[X]LpHKfjP?]jmcUSǿmW& ̨/҉AFr92DϨ#Ah>v'AUQAmYyt9֛]]Ey)SJ3}Ȑ˟G$TNN&d<:ø` 7*9;m}|=@Ncit8);q{󻒄~\ٵ,!Y3}}C<d*XCs_<Í\ѳrT"ÆLn&%)Zd :05Mr) drۍg7xڥZ5⭿?ю~ Dh>M8m)WCiDM*_~d=0G4-g1F,ΣH v[l[ӎ5>6yO28`2NXn!A{ Q_7IP ŗ F|vv!T=GEx,`45@:y$1јr{ bchy:6`Uyϗq׺݋hKSoYʝ,<)Oxgrx~^^.V6 Ib= ]=Rݫ$D 3~͹$@ mU8@lXGTc7E^XnSѦ2k83(^}P/MM*fL#W|ڻ z0V\.3t=lU#C^[l'UVE @>D %W oMd:+jg?36A'x%QSBQIOEҕ_ w8p0ҼEb%$Fyy9*] ݐڲn}GZ+~]&5Upai ËKflM?뽟FgTWU+dAt4W}q4]S9 [kqw~ozSW[.^R(I9݋[g+ {+{—bߥSQGRӓHȇCNZī#n[ȇ(lG .f!|M**n^TyDu4!"O@wyRw>B,Bi ͐2.te{D~QhU*܅BSGjSR|\P&Q|C&=pZH 0|F 3E;/Sy"GiJKf=XG("ȱu2Wk'E#B6h{LMwY"!$nN-}e&o#U!.=JcOܓ xAp>$ {㶖N>WKڼ'/T3E!1liIk]|2ٯ\ۅ3C~q5>`hh>=-D3Ij2꿳cۣT!C߅XqNar"T5?)_5ݕTICH.Ⱦȇ̛ i-s靏&r眇ST;+aMTRFI lE:KA??OhE+ˠ,9N<34-9rd  M")݆pg;9:p,(T*䣿]fkkj>u-Rn6(PFq8S콶Vo+uL<5poZ_'[ݭNe1y[Y]@Q9-YM |JA(OLq]6/=8D3.=i NX8OK4 H,Lwxx.JY|s7叅-fsސ䍎'Av\C͗gE#1> x.U>q:0$sґ6L,ޖ6R+ّH 083v'k]f$qch;gҝ`)@'1ֲÏk؇qK t=T{'ҙ_2,y|]UA/bHN%,UdZ3(hXz>Qs]zڨctWqmmm !!l˔DLr_~!g7f℺|oR3#W!-/֥M.ԧᆶXd`VWWOVG= Y*vӣd4傕]3o>\ŗSvdt1D^x?1rS̥\r~o0UbrFp#ܧy8/ߴqZ98 tM6KMN"g{á"do ej7?2u@MM_˖Kev ` ѡOoO?9>5w˻_7qL0|gJrn\Od\?}=NFSЯLqDKFpOM_`t/ڵjmz|sP@2Hl" wd9OatN=}Gg$=>ܾϛy9__b'3DVi??-=6]z`\*`Y Ąo댔~2į ,#^EKeCc^wnwĂz~q(9L/߈*1=v zSaC (hc}f%l?ͱ. ?P֬EKZ5Iy˴R4?%+*^,; ޞMppR^txVfJ0 Ef GxRxv2sx2>c\OVs+2/|OW'o\GFm2,9 up*mySc1"0a#A Ȇ%d:_ V@w5A Ov¦s) L+yo7}: @HMg,~KT fǮFֺB{) ~M4[U-X*qx=>r1K"CN;0hBhJV!]N\T,rd&I+vMZ-3#Iz;m-W1rLE L04+r 0DJ䉐ݰֺn fl~7'xy˘LnJm(v4=>D@줛.pO,(IMW>wK0[:AZgNף$mkOQ&b6eCrpUojKU/1GӃ_} |ꆕUpXq!ዪOy(k$ckn€c+pMNˉ#M5A&n>ȑGXgqiK w:e3)<*m9'J|0/|BkIa]w&*!Tzm|C>O\==DAK U4>7_ ;7MUk|D*ʤD-iCeO( b*E=;АӞfZ\m:$'uc'~(DOi/ ݪź .`,8b98sO}qާQU+S*3 Uf"MaIAG(;NeۆFM:,J n)E/(uunkN)LB4jsoԴ+ϒMk|R7|-RbtQӀ}u98 R\Wۇ ޓ2^"L!lϝ2Dܸs0%vE[.U!ul^OVc7?Wum:*ʕt5iy5nDl|<_3ct epvXz1?}Ylv8 ۀ7q [%r_؋7߇_1rSDv)QmSR*6٨)4^j_гsɀ@[2W0~v cAo9Z[TvG!?&Dv?Z%]޳ù5v鯋΋BZA4ZG=g$'&.|937٘+{&%i\[KveqRy!z^ 8b=Zs3wHy_A?gi`w(5%ǜYœy k2#ݡ8'܊#k ^l ԪL$R< OPz?ƞ-=_q%{>15+g@^ϴ ̠ ua]G% LߑRq@ֵY_P_PN~J g~ߊ7F]~4bL6VE3$ 6w!.S@?"?."yq3ܤ;2{c~g2_Úd gZ+RMS%~³2/9fVL׬2FWH'=_T5{8bѽ"O4tx]g9@2yCuO\kM|HZBa|ղ Ǭ[ȋF%ִv )gGMnϼמJ:,l -Gt퓅LN?LVlj ){ PrLƋ {h2mqկVvuqM1:V'(s}: '8E^fe@'4 q+ͻ<3:^7Hxm|A޴GGljG]͊RBګskXXS+ ;Ӻe`u2+Ҕn)KܘXcz){!5kxNMX}`g&W{a&3Y hn*]w(|{q6#RzOnC&mi Ju_LEp  i"9.L]]Agn {Ku=Rߩx&R^o1oT?K&=)O{KbDɿOiI%Dkc[2T+RʏJQ\hN>A? $2MJ}kD b|uYJXu~gzKJֻc}սL~,8IgEZy\j 5EcժW?zִXe{ɝI}w9zJQL>v46D7=*5,H*q ï :Mm}EKxYٓ[dIA=]PwᴝT\Fk6|~'a QةJq~ t0`M/)gB2wy[E M~͖|[ܔ)sIBgs7b}lw9zx܋6N ٨W9f^b,5KOb,l/}T΂R9$6nzГSUج5dWk ՄM|6̬CNz%rɹb]",}3Tز69B9K RFŨ7WcmRn8vuF:y +'9$^ϒh*9C&yc] Ͻ3c}AtVɮKz-ժkX[c3й/>wVSm"*}÷,])BdH5v R?&Xj@ƎS|zmu#HI+&xԶu`o>TY}/:v)r ‼x3>w/:)w9&z"_WNر? [ OF)NЙ%aLAIU+r,?{:26;L9l~A4_Ý֎@KJ?#[/-_{? e)/Y_7 P(Q8p=9a¿ 58O﫸Fj_#o=HSkGN:_%.+GIB.Am(7ȏ+w?@+_}h-j/:˘C{$UrA)9iG6ab8&!ŴM\]dsWx0H^ H, D"l 4^[}+k#710 *;Xߴ <#λy-lxWOz_#Km$:Z!zDm1{u Qerpm wR-UxǬF.5a%Sku%^ rLs`GɷNHhI ~ƕPS{Q,'„:e2U 鞙uQ)fDf@SA(7|B\l $g]1Ӟؒ8Ջ*Fς,–.àLpD,>='8>eK+/5˿c։?j`>ܬ;6,]|\T5Va*^qŠ}&]A#i;3]_= RAYGBdk˒ Eo:YPM8}vp{Edz4LfsiMa*|Fh8ʶa E=1n[7:ުn=d|q3ϐq]x{e~*))) !F]m> 1*ͼW;͟e d""U!8 q&z)-:_ﮀև'W@a;Է56Yu=B bJ$'sH yFs3\Ң$-ׄ]9RxP7Ql$j yjk"Fc-ϡb![T5ıD˿SCe 1T8|L([4+fÙlrF{9g뙽V~SUFu[=(68G,KW0yT<2Rb@!Gyr{޹Pq_Hn=!7F }+e_S Ip-R v`3C^Y/HO~Mݓ&o s_co儃evU+/,r;:ݱb Xqo3HaU%{ݬ"R6Q^Z=vneu~q!{|9ɳʥf'g.Ng=9zH/i{Air&\y}=2uwUB X K}`IOT(nA=|xx({0R=J#2N)A7WP9(MKԎ}%@C*-0fpY|r$ΎI2| Dٽs.me|vxsìވxkzgw]WOހ}\\GE8m2*,|t?><Ѣ;DG mWcIW{3Z7ˮߥJxW<`-ON8`(=~݋rgظ=屍'q/ˆAcdohטSΔ=`iKAԪ<殪draExGpi@nv6O~6*Sx4DZav~k Aw[n1"2uLd-:Wah[,et`G#ٞ0(]?*_^^1<s/fW\a|I"5OtJ ^&}32 xRf.g?ӜzYr, 7HnEwYVޏiE~Э>Q7 QF5n~fytQ6riʑ+R/~c[W@9=4H"{ uIT͈Pv] k̈́'HE#ԋƧ؎X?)ᯩL(QƠ[HE fqte6Z~7n攫G|'J2c~5ޑѡ;K.άT-;·k -9,_g=(;-ܺ7H lG}A/JQMb;J.YéRy5B;]`}$4ac']E0g LOrCw(5&W}}*uh|OieA#~uxIj!W_T(wR\;cap l]]Y+Yip>_E9"/:I=)21a40%Bvֹ"&]R, ޣz&D˚DH_9 JkoZJ xHj>%ڡa?,:5{Z~඼i·l XʪP&4%em^n͝& 2?Gǯ iݮbިn>^0""nb`?# W5F vCe"n*˂TK"vM; JBl$5mEj%}I f!Y3">ϮҾ -(=㍀ cBCaG7K9i4oaM7ŏKrJ؜3Ctϳb,"igd>|{!@maʣ4xՍBj%ֹ%dAvh*!F|z><O[+ 5WZKTT~!bFn &FzOoGt\fC;Pw땍Y֔< .`3C f%eߕQDӉQKXM71K^ Ac\CMU_)D(c!'tiWH};JU N<{1/.mXO^6?E +%Xij$B0u$&ɀDK`,,u;Z]桘4["7`>Z4)~!Y:]c4XN8ly]Ks 6I~?*0k0% ԛrG{3\gKŁ:W0K'oP :/5%ѶTI;BbᚯTݟCk1=o0.*Y Q;(vE#rW>恃|lraq o+`Ulh]I5 o)˻c# oM|֋s6vO6~QjoNQ/(g|t8oHڸj #o/o}vIUqdf/D6vTob׸ 6֜P|@7|M8ق ۼ,ɬess%A%a< w,>1Ui!Xo*AX0Alu֝.\=\`*!=8eYy}fcIZpc]eϟ}JR'ᬌ/=nvҟ;GOOvyWx"-I<,o!M=鄯?SfIB_F_ Kv#fZ]]o8S/E?hԯb81}yPFIJbVs#Xv rygqUx_#=IsAK/7q_"{RvSG}&f[iz A3gFKlV?{H7Y'*U7t2g 엪?jMhgK`x] χyże ^6_co˨zٰm+Ӥ٫.zh'e7xiF~qך6~Lh{t/7f8t>Rx Al0"Tۆ.Dq{c^ojO;$4+ ӛ|}!D4Iz ITh3< je:K|L#c3,roI,'*<10GEPj[ExV8P~J_y 5c6 ]s\ Hvt|(0|įzsYarg"whwMg;WJ ?BC_ڟbF䜌4ϴDY"X<$m 0vC Ѷ 'Y7L"^S8NEr`Ӻʯ ȸZ&E5Ycb'j0fq6-{ITɏ/=MF%wUo)ԢUV6lGnɗ#٪;YαԡjЀkXX]e-BROQ3lYff<>ae n;hY9U4kXz\XtDqhpR0R]iD|p2ݮn&{M@y -Nl3nZsԸV ,Lݏj| _Uݗ?h{ x;.Ti^~>W!B$6G&yLo7Ç?,1V?lPރ|ZqyVU.)j-F?볆s{tM|O5 ɸ'|bꇨVj!sM2Xe*_ \ercQ"^XjzV-d y3.>9fJ0y*x e. ! {s/bl~os֏jν^`&b3&Qui)962S-}V"LFE)0gz<=׺]EQ)C cՇ5xصi O]%©0 Wy7b0I8A%;I=+`r"DަqSɭމtY91ې5+Bp@ 7m @izr{KJ]3WI*#H6n!m l2цf%awdKy/l]2<ީ9%m %=`P~Z%uMH4P;S^՜וo uՔ\:ј3Yvv wN7OTߣ*:A 2 \hUIIY-̨829'[m<3i{i|/hҋA"$i/^WO0pksF7QjjwWXGpQpAkҹ1iż"Чlw~#׻І[|y lcQ՞"};qA,&Vu_ޔgDC7[Ud w'Uf%p܅ $b=Iy&Yʎ4( x= 2_XM01m<&i=W{i#*'}s֥WuzTǪ򙬓FakJ#% "Z>JIG^3w7m 5K`'S{e} QUsL %ˈqփEՇ,S>5T ܞ,'u g׽zm)n3Ɵ -PM?n<${vI4$,X[it9M)g:ܴՆ3mK7yF@7S D;B "Z4O .>mؙd ߇$7& BXWb8VNy_vifΞڈ;t11`JTzuYY `\_5 r (cR=*'D k"MnWjb_vn( jDsC*?ռ]@T~@,eosաSF*MC7($5G$hK][GU<ÛY\Hon?:N2 J657j䏸'vo迗=X@[ V,%Xi:ō vW+To':mq!(<. X\>*ٓrM~j/lWЦ6"][S>H95 hzSE|JM Adx#S9o Ә/ػr4jV ] \Yråؖ< $pQIKMsK+%bL!`;qSHJY7_f%9cX'R 3metX3geW9IL˺b*|}Y1V"E {tk)N?aU .i`ty:~6A߸^:^8k _K~" TٗipfXg ԥZ1Wӟ{\`VbB'N c3TKML-m?7xg( ,T7;ƴ2֮ ŃZӘ+l8mo٘Rܞů>=IX M_d/psN-qɕ esDMT*3W /HyTRN.539O܍{C,s᡼917!7}a /E-,H=fN eR؋Mi,@47y !o{N~xpυ&?Y,.TAb}y} ?%a1jyn0 ɕXWFIHcNatZwP o)PP 0|2MzGj>znQN,PQZqn svTc RMEh,fFː=*B`[>7X K/J~9[\`:'K8(~Vs~fwMdv7@ >tx̣ҥ-l]_^׭f9paMN%IDN!Cdk\L3kZl@, x|ϰ {# /dVr~#_28l8/?&4ߗְm]P]635_QԴdn G1eB.{܋IwmdͿ }ğ㗰 Z+_++[h|!T#D 8:cX<_QbqȚKGO-gkﲐܔ? ?x¹dcKӦóKH#YhvMd 7.?XHiᱨ}, h}¥7Tjb.=1P80Ᏸ1ύBzg᭗JsRT1[ Ɉ&=,klHge<5Ւ]&׶\`KvKVM4Տ9I@qV~]vSto%KW$(lD.efgTNVr(D0žV*_wuo/FNGJѳz%ڳYw_Y:Bh|?} u`ai!t|&Vn{0b`Kbb%c ˓"YZJ{ ]_Jb}87|5{gkv ,mjre>Q2Փm,ws\'Dml26XK P5H0_oqW9!ȆI7xBu뉏mW+*6%l¹wU@ m@0` v\ <@)ącu v0 I$τ8I8ȺSX_qEӼʖ"i8t"LdJUyxۻ݆ 4: @2~ 1m? '_nEm7c )Gy2/o?] +tJQZ9'A34MQY*QDl)Q^q:p x<`@/?UD uE7by{w_:yIE0?i[?KKD?3&`[>GLn _a80˛JU{83qhKKa?T` Xa*!u*֪^Px:=B@m4V >vj&(4("_ixcLiD硬Nz1oΰKJ4Gy_ˋpb gRy4ST蛈fmg;Ce~pf>Ʌ5䢵a1{Wv໘G1(֞sǽ ^IiˑϏzA*% ?ZLo>L(B&B Cfˬ),4&mNϖYCn,-T S@t9ɪWKI%)Nΐ {'~}G'C arw9}%\ q[eQKQxvN!|]X,+2!y.Op:,8yw'͟W5\BI㩾x1: ek7#:;)Hgy2ɜocIc%:Zivz].zXwK;UxԪӃ%;i>)(h 1~֕G%g|J sk*1wxuƭYd{ܮ싯6bLj5,ܬCww/1njA1*E!qv>b~V(R& *`)]])H$a-yn:!emHɼw,  _$-->_shttp://adserver.adtech.de/adiframe|3.0|694|1432014|0|225|ADTECH;target=_blank;key=key1+key2+key3+key4;grp=612327010 Obplist00 Y$archiverX$versionT$topX$objects_NSKeyedArchiver _WebResourceResponse )/078?HQZNS.objectsWNS.keys@ABCDEFGIJKLMNOP VServer]Last-Modified]Cache-ControlTDate^Content-LengthWExpires\Content-TypeSP3pTcafe_Thu, 03 May 2007 20:40:03 GMT_)public, max-age=86400, x-gzip-ok="public"_Mon, 08 Oct 2007 07:36:29 GMTT1021_Tue, 09 Oct 2007 07:36:29 GMT_lpolicyref="http://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA PVD OTP OUR OTR IND OTC"12bccd6_NSMutableDictionary\NSDictionary12fgg6_NSHTTPURLResponseInternal12ijjk6_NSHTTPURLResponse]NSURLResponse$)2DILbd!-/13  -;@OWdhmmrvlOPNG  IHDR^rgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATXMhA#-JQ"xi`(<^(hQDQP@( BcXP*+jEQ$( A E_T+9&&ik~y3!uC +Av]*;+%Ep !yi&t|EwۣR?Z ="|QJQJzA8HU`nV9S`^lT΀joL[~7{n}S Ճk`@$$\fl0r ((^Nq@%9vςbl5˨O0Z'8 !;$.Re _bA{0wV?þ|L#`{͒)~QSD b;|Ċz9dDX6[,W*!C6 +٨,2O@Yw ۤ_R&{.A^97Ft*Ѭ pѮU0!y1:Oˋ_(S7+TLThs5gi_kU?H~ >LYy14眞1=yELZ9mfJM$yULxE/;S W?n:I]wNۿ`XөEzI͵͈ޟ} q^2?\I]Tq =V+1|TQ>Le5'4UL5vP}`.ʉF2)NPF%WcEK&*W](^Z,׻nAiSlG8ɱ"Ѭ洘+/@qq\szO9|PtuG)7`o՜l'i`y<{폈kh. _/>%B6`-|-^/Yk+~H!~߇IENDB`_Jhttp://pagead2.googlesyndication.com/pagead/abglogo/abg-de-100c-ffffff.pngYimage/png q|r~O
  • Auto Luxembourg
    Decken Sie das Vergnügen auf, in aller Ruhe mit Laguna zu steuern !
    www.InsideNewLaguna.com
  • Ringtones an Logoen
    Logoen, Ringtones an Java Spiller fir dain Handy!
    www.telefon.lu
  • Anorexique-boulimique ?
    Difficultés avec votre poids, votre alimentation ? Aide au Luxembourg
    psycho.org.lu/IDelhaye
  • Tanzhotel im TV
    1. Tanzhotel in den Alpen war bei Barbara Karlich im TV zu Gast
    www.tanzhotel.com
Google-Anzeigen
_google_ads_frame_Phttp://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-1540268503811499&dt=1191835500044&lmt=1191835499&alt_color=FFFFFF&format=728x90_as&output=html&correlator=1191835500042&url=http%3A%2F%2Fwww.rtl.lu%2Ftele%2Fvideoarchiv%2F&color_bg=757575&color_text=e4e4e4&color_link=ffffff&color_url=ffffff&color_border=757575&ad_type=text&ref=http%3A%2F%2Fwww.rtl.lu%2Fcms%2Ftele%2Ffrequences_tv%2F2ten_rtl%2F&cc=99&ga_vid=1244368238.1186655485&ga_sid=1191828989&ga_hid=1286781882&ga_fc=true&flash=9&u_h=960&u_w=1440&u_ah=938&u_aw=1408&u_cd=32&u_tz=120&u_his=5&u_java=true&u_nplug=14&u_nmime=141!3Iir*ir!&'''(+=78)8;8D<^g«´ZZZ_ }}~"HHR[Ϙ&/RKMMMQbbbbfllYlbpssHs~swD{?HiHQZczA|h&0 JSx\"\N\Y\pͨͮͳW`iUX7AL_r