var Maps=window.Maps||{};Maps.Init=function(){return{initMaps:function(){window.Maps.Util=Maps.Util();window.Maps.Gui=Maps.Gui();window.Maps.Events=Maps.Events();window.Maps.History=Maps.History();window.Maps.Search=Maps.Search();window.Maps.Messagebox=Maps.Messagebox();window.Maps.Actions=Maps.Actions();window.Maps.Buttons=Maps.Buttons();window.Maps.Tl=Maps.Tl();Maps.Vars.initVars();Maps.Search.implementSearchform()},initDependend:function(){window.Maps.Position=Maps.Position()},initDemo:function(){if(YAHOO.lang.isFunction(Maps.Demo)){window.Maps.Demo=Maps.Demo();Maps.Demo.initDemoGUI()}},preloadedImgs:[],preloadImages:function(){var i,img,path="../../images/",imgsrcs=["button_back_h.png","button_forward_h.png","button_live_h.png","button_live_d.png","button_loop30_h.png","button_loop30_d.png","button_loop60_h.png","button_loop60_d.png","button_loop90_h.png","button_loop90_d.png","button_pause_h.png","button_play_h.png","button_radar_h.png","button_satelite_h.png","button_lightning_h.png","button_zoom_minus_h.png","button_zoom_plus_h.png","button_distance_h.png","button_screenshot_h.png","button_link_h.png","button_info_h.png","legendbutton_bg.gif","overviewbutton_bg.gif","button_search_h.png","button_center_h.png",];var preloadedImgsTmp=new Array;for(i in imgsrcs){img=new Image();img.src=path+imgsrcs[i];preloadedImgsTmp.push(img)}img=new Image();img.src="../../content/"+sLang+"/img/navigator_radar.png";preloadedImgsTmp.push(img);setTimeout(function(){return preloadedImgsTmp},10000);this.preloadedImages=preloadedImgsTmp}}}();Maps.Params={lang:{defaultValue:"de",deutsch:"de",english:"en"},live:{defaultValue:1,liveOn:1,liveOff:0},lon:7.10314,lat:50.73812};Maps.Vars={appStart:{langError:false,errorMessages:new Array},isAppInitiating:false,isTimelineInitiating:false,hasSessionError:Maps.errorRedirect||false,countConfigFailures:0,messageEvents:[],status:{clientWidth:0,activeId:null,mode:"archiv",enabledLayers:{layer_R:true,layer_S:true,layer_F:true,layer_G:true,layer_C:true,layer_B:true},liveDisabled:false},animation:{frames:new Array},actionRecoveryTime:(function(){var outTime=300;var browser=YAHOO.env.ua;if(browser.ie){switch(browser.ie){case 6:outTime=700;break;case 7:outTime=700;break;case 8:outTime=300;break;default:outTime=500;break}}if(browser.webkit){outTime=500}return outTime})(),initVars:function(){this.status.clientWidth=Maps.Util.getScreenWidth()},linkWithCenterMark:true};Maps.Config=(function(){Dom=YAHOO.util.Dom;Event=YAHOO.util.Event;setQuerystringParams(Maps.Vars.appStart);Maps.Vars.appStart.timestamp&&(YAHOO.lang.isUndefined(Maps.Vars.appStart.loop)||Maps.Vars.appStart.loop!=1)?Maps.Vars.appStart.live=0:checkPropertyValue("live",Maps.Vars.appStart,Maps.Params.live);Maps.Vars.appStart.lang=Maps.Params.lang.defaultValue;sLang=Maps.Vars.appStart.lang;Maps.Texts=new Array(),document.write('<script type="text/javascript" src="content/'+sLang+'/texts.js"><\/script>');return"done";function checkPropertyValue(property,paramArray,defaultParamsArray){if(YAHOO.lang.isUndefined(paramArray[property])){paramArray[property]=defaultParamsArray.defaultValue;return true}else{for(i in defaultParamsArray){if(defaultParamsArray[i]==paramArray[property]){return true;break}}paramArray[property]=defaultParamsArray.defaultValue;return false}}function setQuerystringParams(querystringObject){if(window.location.search==0){return false}var paramValueArray=window.location.search.match(/\w*=[\w-.%]*/gi),split=[];for(var i=0;i<paramValueArray.length;i++){split=paramValueArray[i].split("=");querystringObject[split[0]]=split[1]}return true}})();Maps.Events=function(){var mapsEventsProvider=new YAHOO.util.EventProvider;var mapsEventNames=["searchRequestStart","searchRequestSuccess","searchRequestFailure","searchRequestComplete","searchInvalid","searchStart"];for(var id in mapsEventNames){mapsEventsProvider.createEvent(mapsEventNames[id])}return mapsEventsProvider};Maps.History=function(){var clickedElements=[{id:"virgin"},{id:"virgin"}];Event.addListener(document,"click",function(e){Maps.History.registerClick(e)});return{registerClick:function(e){if(YAHOO.lang.isString(e)){clickedElements.unshift({id:e,exception:"string"})}else{try{clickedElements.unshift(Event.getTarget(e))}catch(e){clickedElements.unshift({id:"unknown",exception:"no event"})}}clickedElements.pop()},getLastClickedElement:function(){return clickedElements[0]},getBeforeClickedElement:function(){return clickedElements[1]},getClickedElements:function(){return clickedElements}}};Maps.Util=function(){return{timeoutScheduler:timeoutScheduler,getScreenWidth:getScreenWidth,getScreenHeight:getScreenHeight,findInArray:findInArray,findInArrayLike:findInArrayLike,random:random,requestIvw:requestIvw,countIvw:countIvw,ivwCounter:Dom.get("ivwcounter"),ivwUrl:"http://wetteron.ivwbox.de/cgi-bin/ivw/CP/",ivwDefaultChannel:"maps",ivwTimeout:250};function timeoutScheduler(func,delay){var timer;return(function(){if(timer){clearTimeout(timer)}timer=setTimeout(function(){func();timer=null},delay)})}function getScreenWidth(){if(YAHOO.env.ua.ie==6){return(document.body.clientWidth-2)}else{return YAHOO.util.Dom.getViewportWidth()}}function getScreenHeight(){if(YAHOO.env.ua.ie==6){return(document.body.clientHeight-2)}else{return YAHOO.util.Dom.getViewportHeight()}}function findInArray(arr,thing){var i;for(i=0;i<arr.length;i++){if(arr[i]===thing){return i}}return -1}function findInArrayLike(aArray,mValue){var i;for(i in aArray){if(aArray[i]==mValue){return i;break}}return -1}function random(min,max){var rdm=min+Math.round((max-min)*Math.random());return rdm}function requestIvw(channel){channel=channel||this.ivwDefaultChannel;this.ivwCounter.src=this.ivwUrl+channel+";?r="+escape(document.referrer)+"&d="+this.random(1000,90000)}function countIvw(channel){if(this.ivwTimer){this.ivwTimer.cancel()}this.ivwTimer=YAHOO.lang.later(this.ivwTimeout,this,this.requestIvw,channel)}};Maps.Gui=function(){return{setViewportDimensions:setViewportDimensions,hideInitLoader:hideInitLoader,removeClassFromElements:removeClassFromElements,hideButtons:hideButtons,showButtons:showButtons,hideLayerButtons:hideLayerButtons,isElementDisplayed:isElementDisplayed,moveOutNavigator:moveOutNavigator,clearMoveOutNavigator:clearMoveOutNavigator,showHideNavigator:showHideNavigator,moveOutLegend:moveOutLegend,showHideLegend:showHideLegend,fillLegend:fillLegend,fillLinkbarFooter:fillLinkbarFooter,linkImprint:linkImprint,downloadScreenshot:downloadScreenshot,showLegend:showLegend,showLink:showLink,setWokbookmarkLink:setWokbookmarkLink,openMaps:openMaps,showHelp:showHelp,openSignUp:openSignUp,redirect:redirect,womUrl:womUrl,openWOM:openWOM,initAnimation:initAnimation,toggleAnimation:toggleAnimation,lockButtons:lockButtons,unlockButtons:unlockButtons,toggleLayer:toggleLayer};function setViewportDimensions(){if(YAHOO.env.ua.ie>0){if(YAHOO.env.ua.ie==6){Dom.setStyle("viewport","height",(YAHOO.util.Dom.getViewportHeight()-125)+"px");Dom.setStyle("wokfog","height",(YAHOO.util.Dom.getViewportHeight())+"px")}else{Dom.setStyle("viewport","height",(YAHOO.util.Dom.getViewportHeight()-126)+"px")}}}function hideInitLoader(){var initloader=Dom.get("initloader");var initmap=Dom.get("initmap");if(initloader){initloader.parentNode.removeChild(initloader)}if(initmap){setTimeout(function(){initmap.parentNode.removeChild(initmap)},100)}}function removeClassFromElements(name){var elements=Dom.getElementsByClassName(name);Dom.removeClass(elements,name)}function hideButtons(id){Dom.addClass(id,"hidden")}function showButtons(id){Dom.removeClass(id,"hidden")}function hideLayerButtons(layers){if(YAHOO.lang.isString(layers)){layers=[layers]}for(var i in layers){layers[i]="button_layer_"+layers[i]}this.hideButtons(layers)}function isElementDisplayed(){for(i=0;i<arguments.length;i++){if(document.getElementById(arguments[i]).style.display!="none"){return true}}return false}function moveOutNavigator(){var navigator=Dom.get("navigator");if(Dom.hasClass(navigator,"hidden")==false){var navigatorHeight=navigator.clientHeight,navigatorWidth=navigator.clientWidth,fadeAttributes={right:{to:-navigatorWidth+15},top:{to:-navigatorHeight+15}},fadeOut=new YAHOO.util.Anim(navigator,fadeAttributes,2,YAHOO.util.Easing.easeBoth);Dom.setStyle("wokoverview","overflow","hidden");fadeOut.onComplete.subscribe(function(){Dom.setStyle("wokoverview","overflow","");Dom.setStyle(navigator,"right","");Dom.setStyle(navigator,"top","");Maps.Gui.showHideNavigator()});fadeOut.animate()}}function clearMoveOutNavigator(){if(Maps.Gui.moveOutNavigatorTimeout){window.clearTimeout(Maps.Gui.moveOutNavigatorTimeout)}api.event.unsubscribe("navigate",Maps.Gui.clearMoveOutNavigator);oButMapOverview.unsubscribe("click",Maps.Gui.clearMoveOutNavigator)}function showHideNavigator(){var navigator=Dom.get("navigator"),wokoverview=Dom.get("wokoverview"),overviewbutton=Dom.get("wokoverviewbutton");Dom.setStyle(navigator,"right","");Dom.setStyle(navigator,"top","");if(Dom.hasClass(navigator,"hidden")){Dom.removeClass([wokoverview,navigator,overviewbutton],"hidden")}else{Dom.addClass([wokoverview,navigator,overviewbutton],"hidden")}}function moveOutLegend(){var legend=Dom.get("woklegenddiv");if(Dom.hasClass(legend,"hidden")==false){var legendHeight=legend.clientHeight,legendWidth=legend.clientWidth,fadeAttributes={right:{to:-legendWidth+15},bottom:{to:-legendHeight+15}},fadeOut=new YAHOO.util.Anim(legend,fadeAttributes,2,YAHOO.util.Easing.easeBoth);fadeOut.onComplete.subscribe(function(){Maps.Gui.showHideLegend();Dom.setStyle(legend,"right","");Dom.setStyle(legend,"bottom","")});fadeOut.animate()}}function showHideLegend(){var legendDiv=Dom.get("woklegenddiv"),legendButton=Dom.get("woklegendbutton"),legendOverflow=Dom.get("woklegendoverflow"),legendBackground=Dom.get("woklegendbackground");if(Dom.hasClass(legendDiv,"hidden")){Dom.removeClass([legendDiv,legendButton,legendOverflow,legendBackground],"hidden")}else{Dom.addClass([legendDiv,legendButton,legendOverflow,legendBackground],"hidden")}}function fillLegend(){var lightningTitle='<p class="legendtitle">'+Maps.Texts[375]+"</ p>";var lightningLegend='<ul class="legendlist"><li>'+Maps.Texts[376]+"</ li><li>"+Maps.Texts[377]+"</ li><li>"+Maps.Texts[378]+"</ li><li>"+Maps.Texts[379]+"</ li><li>"+Maps.Texts[380]+"</ li></ ul>";Dom.get("woklegendlight").innerHTML=lightningTitle+lightningLegend;var precipTitle='<p class="legendtitle">'+Maps.Texts[381]+"</ p>";var precipLegend='<ul class="legendlist"><li>'+Maps.Texts[382]+"</ li><li>"+Maps.Texts[383]+"</ li><li>"+Maps.Texts[384]+"</ li><li>"+Maps.Texts[385]+"</ li></ ul>";Dom.get("woklegendprecip").innerHTML=precipTitle+precipLegend;Dom.get("woklegendinfo").innerHTML='<a href="javascript:Maps.Gui.showLegend()">'+Maps.Texts[372]+"</ a>"}function showLegend(){var message={boxTitle:"WetterMaps - "+Maps.Texts[4],messageTitle:false,closebox:true,messageHTML:'<iframe class="fullframe" src="content/'+sLang+'/caption.htm"></iframe>',button:false,width:600,height:550,verticalOffset:50};Maps.Messagebox.show(message)}function fillLinkbarFooter(addLinks){var links={},link,content="";links.imprint={text:Maps.Texts[650],href:"javascript:Maps.Gui.linkImprint()"};for(link in addLinks){content+="<li><a "+((addLinks[link].style)?'class="'+addLinks[link].style+'" ':" ");content+='href="'+addLinks[link].href+'" >'+addLinks[link].text+"</ a></ li>"}for(link in links){content+='<li><a href="'+links[link].href+'">'+links[link].text+"</ a></ li>"}Dom.get("woklinkbarfooter").innerHTML="<ul>"+content+"</ ul>"}function linkImprint(){var server;(document.location.hostname.search("-dev")==-1)?server="wom":server="wom-dev";window.open("http://"+server+".wetteronline.de/impressum/")}function downloadScreenshot(){window.open(api.getScreenshotURL(),"WetterOnline")}function showLink(){Dom.setStyle("wokfog","display","block");showBookMarkBox();var checkboxMarkCenter=Dom.get("wokbookmarkcenter");checkboxMarkCenter.checked=Maps.Vars.linkWithCenterMark;Maps.Gui.setWokbookmarkLink(checkboxMarkCenter.checked);Event.addListener(checkboxMarkCenter,"click",function(){Maps.Vars.linkWithCenterMark=checkboxMarkCenter.checked;Maps.Gui.setWokbookmarkLink(checkboxMarkCenter.checked)})}function setWokbookmarkLink(markCenter){var Link=api.getStatusURL()+"&timestamp="+Maps.Vars.status.activeId;Link=Link.replace("#","");if(markCenter==true){Link+="&H=1"}var inputLink=Dom.get("wokbookmarklink");inputLink.value=Link;inputLink.select()}function openMaps(){window.open(location.href)}function showHelp(){var message={boxTitle:"WetterMaps - "+Maps.Texts[3],messageTitle:false,closebox:true,messageHTML:'<iframe class="fullframe"  src="content/'+sLang+'/help.htm"></iframe>',button:false,width:600,height:550,verticalOffset:50};Maps.Messagebox.show(message)}function openSignUp(){window.open("https://signup.account.wetteronline.de/","","width=850, height=680","alwaysRaised=yes")}function redirect(){location.href=Maps.Gui.womUrl()}function womUrl(){if(location.hostname.indexOf("-dev")!=-1){return"http://wom-dev.wetteronline.de/"}else{return"http://wom.wetteronline.de/"}}function openWOM(params){var url=Maps.Gui.womUrl();switch(params){case"":url+="";break;case"marketing":url+="?pid=p_marketing&mainmenu=contents&submenu=weathermaps";break;default:url+="params";break}window.open(url,"WetterOnlineMitgliedschaft")}function initAnimation(bChecked,button){var start=6,end=0,step=1,param;Maps.Gui.lockButtons();if(bChecked==true){if(button){param=animationButtons.byObj(button);start=param.startTick;end=param.endTick;step=param.tickSpacing;animationButtons.uncheckAllExcept(button)}Maps.Tl.switchTimeLine(true,start,end,step);Dom.setStyle("wokbutplay","display","none");Dom.setStyle("wokbutpause","display","block");setStatus("wokbutplay","disabled",false);setStatus("wokbutplay","checked",true);setStatus("wokbutpause","checked",true);setStatus("wokbutnext","disabled",false);setStatus("wokbutprev","disabled",false);setStatus("wokbutscreenshot","disabled",true);setStatus("wokbutlink","disabled",true)}else{Dom.addClass("woktimelinevideo","hide");Dom.setStyle("wokbutplay","display","none");Dom.setStyle("wokbutpause","display","none");setStatus("wokbutplay","disabled",true);setStatus("wokbutplay","checked",false);setStatus("wokbutpause","checked",false);setStatus("wokbutscreenshot","disabled",false);setStatus("wokbutlink","disabled",false);Maps.Tl.switchTimeLine(false)}}function toggleAnimation(bChecked){if(bChecked==true){setStatus("wokbutpause","checked",true);Dom.setStyle("wokbutplay","display","none");Dom.setStyle("wokbutpause","display","block");Maps.Tl.restartAnimation()}else{Maps.Tl.stopAnimation();setStatus("wokbutplay","checked",false);Dom.setStyle("wokbutplay","display","block");Dom.setStyle("wokbutpause","display","none")}}function lockButtons(){Maps.Vars.isTimelineInitiating=true;animationButtons.disableAll();setStatus("wokbutlive","disabled",true);Dom.setStyle("tooltip","display","none")}function unlockButtons(){var i,p;if(!api.isAnimation()){animationButtons.disableAll();if(Maps.Vars.status.activeId=="animation"){Maps.Tl.switchTimeLine(false)}}else{for(i=0;i<animationButtons.length;i++){p=animationButtons[i];if(Maps.Tl.loopHasEnoughTimesteps(p.startTick,p.endTick,p.tickSpacing)||aButtonCodeArray[p.id].get("checked")){setStatus(p.id,"disabled",false)}}}setStatus("wokbutlive","disabled",Maps.Vars.status.liveDisabled);Dom.setStyle("tooltip","display","none");Maps.Vars.isTimelineInitiating=false}function toggleLayer(layer,status){if(status){api.activateLayer(layer)}else{api.deactivateLayer(layer)}Maps.Vars.status.enabledLayers[layer]=status}};var Maps=window.Maps||{};Maps.Messagebox=function(){function setMessageProperties(m){var that=Maps.Messagebox;m.element?that.element=Dom.get(m.element):that.element=Dom.get("wokmessagebox");that.boxTitle=m.boxTitle;m.closebox===true?that.closebox="closebox":that.closebox=m.closebox;m.closeboxAction?that.closeboxAction=m.closeboxAction:that.closeboxAction=Maps.Messagebox.hide;m.messageTitle?that.messageTitle=m.messageTitle:that.messageTitle=null;that.messageHTML=m.messageHTML;m.className?that.className=m.className:that.className="blank";m.login?that.login=m.login:that.login=false;YAHOO.lang.isNumber(m.width)?that.width=m.width:that.width=380;YAHOO.lang.isNumber(m.height)?that.height=m.height:that.height=false;YAHOO.lang.isNumber(m.verticalOffset)?that.verticalOffset=m.verticalOffset:that.verticalOffset=120;m.button===true?that.button="closebutton":that.button=m.button;m.buttonText?that.buttonText=m.buttonText:that.buttonText="OK";m.buttonAction?that.buttonAction=m.buttonAction:that.buttonAction=Maps.Messagebox.hide;YAHOO.lang.isFunction(m.postAction)?that.postAction=m.postAction:that.postAction=null}return{element:Dom.get("wokmessagebox"),boxTitle:"Info",closebox:"closebox",closeboxAction:function(){Maps.Messagebox.hide()},messageTitle:"Information",messageHTML:"<p>nachricht</p>",button:"closebutton",buttonText:"OK",buttonAction:function(){Maps.Messagebox.hide()},classNameFooter:"",className:"blank",width:380,height:false,verticalOffset:120,postAction:null,fogLayer:Dom.get("wokfog"),countOpen:0,show:function(m){setMessageProperties(m);this.showBox();this.displayBlockWokfog();this.addButtonEvent();this.addCloseboxEvent();this.addNoLoginEvent();if(YAHOO.lang.isFunction(this.postAction)){this.postAction()}if(YAHOO.env.ua.ie==6){this.addIE666Shit()}},showBox:function(){this.element.className=this.className;this.element.style.width=this.width+"px";this.height?this.element.style.height=this.height+"px":this.element.style.height="";this.element.innerHTML=this.createInnerHTML();this.element.style.display="block";var boxHeight=Dom.get(this.element).clientHeight;var boxWidth=this.width;var boxPosition=this.calculateBoxLeftTop(boxWidth,boxHeight);this.element.style.left=boxPosition.left+"px";this.element.style.top=boxPosition.top+"px"},calculateBoxLeftTop:function(width,height){var iLeft=Dom.getViewportWidth()/2-width/2;if(iLeft<5){iLeft=5}var viewportHeight=Dom.getViewportHeight();var iTop=viewportHeight/2-height/2-this.verticalOffset*viewportHeight/1600;if(iTop<5){iTop=5}return{left:iLeft,top:iTop}},addButtonEvent:function(){if(this.button){Event.addListener(Dom.get(this.button),"click",Maps.Messagebox.buttonAction)}},addCloseboxEvent:function(){if(this.closebox){Event.addListener(Dom.get(this.closebox),"click",Maps.Messagebox.closeboxAction)}},createInnerHTML:function(){var innerHTML;innerHTML="<h2>";if(this.closebox){innerHTML+='<div id="'+this.closebox+'" class="closebox"></div> '}innerHTML+=this.boxTitle+"</h2>";if(this.login=="top"){innerHTML+=this.createLoginarea()}if(this.messageTitle){innerHTML+="<h3>"+this.messageTitle+"</h3>"}if(this.messageHTML){innerHTML+=this.messageHTML}if(this.login=="bottom"){innerHTML+=this.createLoginarea()}if(this.button){innerHTML+='<p id="messageboxfooter" class="buttons"><input type="button" id="'+this.button+'" value="'+this.buttonText+'" /></p>'}return innerHTML},createLoginarea:function(){var loginsrc="/?pid=p_verify&adplace=maps-web";var loginarea='<iframe id="loginiframe" scrolling="no" frameborder="0" src="'+loginsrc+'"></iframe>';if(this.login==="bottom"){loginarea+='<a id="redirect2wom">'+Maps.Texts[432]+"<a>"}return loginarea},addNoLoginEvent:function(){if(this.login==="bottom"){Event.addListener(Dom.get("redirect2wom"),"click",Maps.Gui.redirect)}},hide:function(){Event.purgeElement(Maps.Messagebox.element,true);Dom.setStyle(Maps.Messagebox.element,"display","none");Maps.Messagebox.displayNoneWokfog()},displayBlockWokfog:function(){if(this.countOpen==0){var fadeOpacity=new YAHOO.util.Anim(this.fogLayer,{opacity:{from:0.6,to:0.6}},0.01);fadeOpacity.animate();Dom.setStyle(this.fogLayer,"display","block")}this.countOpen=this.countOpen+1},displayNoneWokfog:function(){if(this.countOpen==1){Dom.setStyle(this.fogLayer,"display","none")}this.countOpen=this.countOpen-1},addIE666Shit:function(){var buttons=Dom.getElementsBy(function(){var isButton=false;(arguments[0].type=="button"||arguments[0].type=="submit")?isButton=true:isButton=false;return isButton},"input",this.element,function(){Event.addListener(arguments[0],"mouseover",function(){return function(){Dom.setStyle(this,"background-color","#cecece");Dom.setStyle(this,"background-image","url(../images/messagebox_button_hover.gif)");Dom.setStyle(this,"color","#333333")}}());Event.addListener(arguments[0],"mouseout",function(){return function(){Dom.setStyle(this,"background-color","");Dom.setStyle(this,"background-image","");Dom.setStyle(this,"color","#FFFFFF")}}())});if(this.closebox){Event.addListener(this.closebox,"mouseover",function(){Dom.setStyle(this,"background-image","url(../images/messagebox_close_hover.gif)")});Event.addListener(this.closebox,"mouseout",function(){Dom.setStyle(this,"background-image","url(../images/messagebox_close.gif)")})}}}};function showBookMarkBox(){var messageHTML='<div class="inputs">';messageHTML+='<input id="wokbookmarkcenter" name="wokbookmarkcenter" type="checkbox" class="checkbox" value="markCenter" />';messageHTML+='<label id="wokbookmarkcenterlabel" for="wokbookmarkcenter" class="checkboxlabel">'+Maps.Texts[10]+"</label>";messageHTML+='<input id="wokbookmarklink" name="wokbookmarklink" type="text" class="text" value="" />';messageHTML+="</div>";var message={boxTitle:"Link",messageTitle:Maps.Texts[9],closebox:true,messageHTML:messageHTML,button:true,width:420,postAction:function(){if(YAHOO.env.ua.opera){Dom.addClass("wokbookmarkcenter","checkboxopera");Dom.addClass("wokbookmarkcenterlabel","checkboxlabelopera")}}};Maps.Messagebox.show(message)}function showInfoMessage(eventMessage){var content=getMessageEventContent(eventMessage);if(content!=false){var message={boxTitle:Maps.Texts[8],closebox:true,messageHTML:content,button:true};Maps.Messagebox.show(message)}}function getMessageEventContent(message){switch(message){case"timestamp not available":return Maps.Texts[401];break;case"configuration failure":return Maps.Texts[404];case"not images available":return Maps.Texts[403];break;case"zoom parameter out of range":return Maps.Texts[405];break;case"geo parameters out of range":return Maps.Texts[406];break;case"live with timestamp":return Maps.Texts[407];break;case"language not supported":return Maps.Texts[415];break;default:if(Maps.Vars.messageEvents.length<100){Maps.Vars.messageEvents.push(message)}return false}}function showSessionMessage(){var message={login:"bottom",boxTitle:Maps.Texts[430],closebox:true,closeboxAction:Maps.Gui.redirect,messageHTML:" <p>"+Maps.Texts[431]+"</p>"};Maps.Messagebox.show(message)}var aStart=new Array(),aEnd=new Array();function startDistance(){api.lockDrag();var distancemeterDiv=Dom.get("distancemeter");Dom.setStyle(distancemeterDiv,"display","block");if(YAHOO.env.ua.ie==6){Dom.setStyle(distancemeterDiv,"height",Dom.getStyle("viewport","height"))}YAHOO.util.Event.addListener(distancemeterDiv,"click",handleClick4Distance);YAHOO.util.Event.addListener(distancemeterDiv,"dblclick",handleDblClick4Distance);if(typeof(geoCalc)=="undefined"){geoCalc=new arivis.webview.GeoCalc(35,62,-11,25,api.getImageConf().size.width,api.getImageConf().size.height)}}function handleClick4Distance(e){if(aStart.length!=0&&aEnd.length!=0){resetDistance()}var x=Event.getPageX(e);var y=Event.getPageY(e);var offset=function(){var offset={x:-1,y:-(getAbsPosition("viewport").top-2)};var browser=YAHOO.env.ua;if(browser.ie==7){offset.x+=-1;offset.y+=-2}if(browser.webkit){offset.x+=11;offset.y+=11}return offset}();var executeDistanceTool=function(){distanceTool(x+offset.x,y+offset.y,true)};if(aTimerDistanceClick.push(window.setTimeout(executeDistanceTool,200))>2){aTimerDistanceClick.shift()}}function handleDblClick4Distance(e){for(i in aTimerDistanceClick){window.clearTimeout(aTimerDistanceClick[i])}resetDistance();stopDistance();setStatus("wokbutdistance","checked",false)}function toggleDistance(checked){if(checked==true){resetDistance();startDistance()}else{resetDistance();stopDistance()}}function resetDistance(){Dom.get("distancemeter").innerHTML="";aStart=new Array();aEnd=new Array();aTimerDistanceClick=new Array()}function stopDistance(){var distancemeterDiv=Dom.get("distancemeter");Dom.setStyle(distancemeterDiv,"display","none");YAHOO.util.Event.removeListener(distancemeterDiv,"click",handleClick4Distance);YAHOO.util.Event.removeListener(distancemeterDiv,"dblclick",handleDblClick4Distance);api.unlockDrag()}function distanceTool(x,y,updateGeo){if(aStart.length==0){Dom.get("distancemeter").innerHTML="";jsCanva=new jsGraphics("distancemeter");aStart[0]=x;aStart[1]=y;if(updateGeo){geoStart=px2geo({x:x,y:y})}drawPoint(aStart)}else{if(aEnd.length==0){aEnd[0]=x;aEnd[1]=y;if(updateGeo){geoEnd=px2geo({x:x,y:y})}drawPoint(aEnd);showDistance(aStart,aEnd)}}}function updateDistancemeter(){var posStart,posEnd;if(aStart.length!=0&&aEnd.length==0){posStart=geo2px(geoStart,api.getZoom());resetDistance();distanceTool(posStart.x,posStart.y,false)}if(aStart.length!=0&&aEnd.length!=0){posStart=geo2px(geoStart,api.getZoom());posEnd=geo2px(geoEnd,api.getZoom());resetDistance();distanceTool(posStart.x,posStart.y,false);distanceTool(posEnd.x,posEnd.y,false)}}function showDistance(aStartPos,aEndPos){var geoStartXY=px2geo({x:aStartPos[0],y:aStartPos[1]});var geoEndXY=px2geo({x:aEndPos[0],y:aEndPos[1]});var fDistance=calcDistance(geoStartXY.lon,geoStartXY.lat,geoEndXY.lon,geoEndXY.lat);var fOutDistance=fDistance;var aZoomLevel=api.getZoomLevel();var fZoom=api.getZoom();if(aZoomLevel[0]==fZoom){fOutDistance=fOutDistance*10;fOutDistance=Math.round(fOutDistance);var sOutDistance=fOutDistance.toString();var sLast=sOutDistance.substr(sOutDistance.length-1,1);if(parseInt(sLast)<5){fOutDistance-=parseInt(sLast)}else{fOutDistance-=(parseInt(sLast)-5)}fOutDistance=fOutDistance/10}else{if(aZoomLevel[2]==fZoom){fOutDistance=Math.round(fOutDistance);sOutDistance=fOutDistance.toString();sLast=sOutDistance.substr(sOutDistance.length-1,1);if(parseInt(sLast)==1||parseInt(sLast)==3||parseInt(sLast)==5||parseInt(sLast)==7||parseInt(sLast)==9){fOutDistance+=1}}else{if(aZoomLevel[3]==fZoom){fOutDistance=Math.round(fOutDistance);sOutDistance=fOutDistance.toString();sLast=sOutDistance.substr(sOutDistance.length-1,1);fOutDistance=fOutDistance/10;fOutDistance=Math.round(fOutDistance);fOutDistance=fOutDistance*10;if(parseInt(sLast)<5){fOutDistance+=5}}else{fOutDistance=Math.round(fOutDistance)}}}var iBoxOffsetX=0;var iBoxOffsetY=0;if(aEndPos[0]+80>Maps.Util.getScreenWidth()){iBoxOffsetX=-90}var iClientHeight=Maps.Util.getScreenHeight()-120;if(aEndPos[1]+19>iClientHeight){iBoxOffsetY=25}jsCanva.setColor("#ff5500");jsCanva.drawLine(aStartPos[0],aStartPos[1]-3,aEndPos[0],aEndPos[1]-3);jsCanva.setColor("#000000");jsCanva.fillRect(iBoxOffsetX+aEndPos[0]+10,aEndPos[1]-5-iBoxOffsetY,70,24);jsCanva.setColor("#ffffff");jsCanva.drawString(fOutDistance+" km",iBoxOffsetX+aEndPos[0]+15,aEndPos[1]+0-iBoxOffsetY);jsCanva.drawLine(iBoxOffsetX+aEndPos[0]+10,aEndPos[1]-5-iBoxOffsetY,iBoxOffsetX+aEndPos[0]+80,aEndPos[1]-5-iBoxOffsetY);jsCanva.drawLine(iBoxOffsetX+aEndPos[0]+80,aEndPos[1]-5-iBoxOffsetY,iBoxOffsetX+aEndPos[0]+80,aEndPos[1]+19-iBoxOffsetY);jsCanva.drawLine(iBoxOffsetX+aEndPos[0]+80,aEndPos[1]+19-iBoxOffsetY,iBoxOffsetX+aEndPos[0]+10,aEndPos[1]+19-iBoxOffsetY);jsCanva.drawLine(iBoxOffsetX+aEndPos[0]+10,aEndPos[1]-5-iBoxOffsetY,iBoxOffsetX+aEndPos[0]+10,aEndPos[1]+19-iBoxOffsetY);jsCanva.paint()}function px2geo(pos){var absPosition=api.getImagePosition(pos.x,pos.y);return geoCalc.px2geo(absPosition.x,absPosition.y,1)}function geo2px(geo,zoom){var posXY=geoCalc.geo2px(geo.lat,geo.lon,zoom);var imagePosition=arivis.webview.layerContainer.getPosition();posXY.x=posXY.x-imagePosition.x;posXY.y=posXY.y-imagePosition.y;return posXY}function calcDistance(fLon1,fLat1,fLon2,fLat2){var iAt=6370000;var fPI=3.141592654;var fD2R=fPI/180;var lambda1=fLon1*fD2R;var phi1=fLat1*fD2R;var lambda2=fLon2*fD2R;var phi2=fLat2*fD2R;var d=iAt/1000*Math.acos(Math.sin(phi1)*Math.sin(phi2)+Math.cos(phi1)*Math.cos(phi2)*Math.cos(lambda2-lambda1));return d}function drawPoint(aPos){jsCanva.setColor("#ff5500");jsCanva.fillEllipse(aPos[0]-2,aPos[1]-5,4,4);jsCanva.paint()}Maps=Maps||{};Maps.Actions=function(){initResize();return{clickHandler:function(e){if(this.get("disabled")){return false}else{var sButName=this.get("name");switch(sButName){case"wokbutplay":case"wokbutpause":Maps.Gui.toggleAnimation(this.get("checked"));break;case"wokbutanimation30":case"wokbutanimation60":case"wokbutanimation90":Maps.Util.countIvw();if(!Maps.Vars.isTimelineInitiating){Maps.Gui.initAnimation(this.get("checked"),this);Maps.Tl.switchLiveMode(true)}break;case"wokbutlive":if(!Maps.Vars.isTimelineInitiating){Maps.Tl.switchLiveMode(this.get("checked"))}if(this.get("checked")){Maps.Util.countIvw()}break;case"wokbutdistance":toggleDistance(this.get("checked"));break;case"wokbutzoomout":setZoomSlider(0);break;case"wokbutzoomin":setZoomSlider(1);break;case"wokoverviewbutton":Maps.Gui.showHideNavigator();break;case"woklegendbutton":Maps.Gui.showHideLegend();break;case"wokbutscreenshot":Maps.Gui.downloadScreenshot();Maps.Util.countIvw();break;case"wokbutlink":Maps.Gui.showLink();break;case"wokbutinfo":Maps.Gui.showHelp();Maps.Util.countIvw("mapsintern");break;case"wokbutprev":Maps.Tl.setPrevTimeStamp();Maps.Util.countIvw();break;case"wokbutnext":Maps.Tl.setNextTimeStamp();Maps.Util.countIvw();break;case"searchbutton":Maps.Events.fireEvent("searchStart");Maps.Util.countIvw();break;case"centerbutton":if(e.ctrlKey===true){Maps.Position.drawMyPosition()}else{Maps.Position.centerZoomMap()}Maps.Util.countIvw();break;default:if(sButName.search("layer_")!=-1){var layer=sButName.match(/layer_\w/gi)[0],status=this.get("checked");Maps.Gui.toggleLayer(layer,status);Maps.Util.countIvw()}break}}return true}};function initResize(){var scheduleResize=Maps.Util.timeoutScheduler(function(){Maps.Tl.adjustDueToResize();Maps.Vars.status.clientWidth=Maps.Util.getScreenWidth()},Maps.Vars.actionRecoveryTime);YAHOO.util.Event.addListener(window,"resize",function(){scheduleResize();Maps.Gui.setViewportDimensions()})}};var aZoomSteps=[1,2,3,4],aAvailSteps=aZoomSteps.sort(function(iNum1,iNum2){return iNum1-iNum2}),aAllPossZoomSteps=[0.083333,0.166666,0.25,1],zoomSliderMin=0,zoomSliderMax=75,zoomSliderStep=25,iSliderStartPosition=0,oButZoomSlider,bDrag=false,iLastZoomValue,iClickPos=null;function checkZoomData(){if(aAvailSteps.length==0){oButZoomMinus.set("disabled",true);oButZoomPlus.set("disabled",true)}}function changeZoom(e,oObj){if(oButZoomSlider.getValue()>=0&&bDrag==false){var iLastValue=iLastZoomValue;var iValue=checkZoomSliderValue(oButZoomSlider.getValue());if(iValue!=iLastValue){api.setZoom(aAllPossZoomSteps[iValue/zoomSliderStep])}}iLastZoomValue=oButZoomSlider.getValue();checkZoomData()}function setSliderToZoomValue(fZoomValue){for(var i in aAllPossZoomSteps){if(aAllPossZoomSteps[i]==fZoomValue){var iSliderValue=i*zoomSliderStep;oButZoomSlider.setValue(iSliderValue,true,true,true);iLastZoomValue=iSliderValue;break}}checkZoomData()}function setZoomSlider(iDirection){var lastValue=iLastZoomValue;var iValue=getNextZoomSliderValue(oButZoomSlider.getValue(),iDirection);iValue=checkZoomSliderValue(iValue);if(iValue!=lastValue){oButZoomSlider.fireEvent("slideStart");oButZoomSlider.setValue(iValue,true,true,true);api.setZoom(aAllPossZoomSteps[iValue/zoomSliderStep])}}function getNextZoomSliderValue(iValue,iDirection){var iOldVal=iValue;if(iDirection==0){iValue=iValue-zoomSliderStep}else{if(iDirection==1){iValue=iValue+zoomSliderStep}}return iValue}function setZoomValue(iValue){oButZoomSlider.setValue(iValue);checkZoomSliderValue(iValue,0,1)}function checkZoomSliderValue(iValue){var iLastValue=iLastZoomValue;var allZoomLevel=api.getZoomLevel();for(var i=0;i<aAllPossZoomSteps.length;i++){if(Maps.Util.findInArrayLike(allZoomLevel,aAllPossZoomSteps[iValue/zoomSliderStep])<0){if(iLastValue>iValue){if(iValue<0){return iLastZoomValue}iLastValue=iValue;iValue-=zoomSliderStep}else{if(iLastValue<iValue){if(iValue==zoomSliderMax){return iLastZoomValue}iLastValue=iValue;iValue+=zoomSliderStep}else{iValue=iLastZoomValue;break}}}else{iLastZoomValue=iValue;return iValue}}return iLastZoomValue}function initZoomSlider(){if(aAvailSteps.length!=0){oButZoomSlider=new YAHOO.widget.Slider.getHorizSlider("wokzoomslider","wokzoomfitting",zoomSliderMin,zoomSliderMax,zoomSliderStep);oButZoomSlider.animate=false;oButZoomSlider.thumb.resetConstraints();Dom.setStyle("wokzoomfitting","left","0px");oButZoomSlider.setStartSliderState();iSliderStartPosition=0;if(aAvailSteps[0]!=1){}oButZoomSlider.subscribe("slideEnd",changeZoom);oButZoomSlider.onDrag=function(e){bDrag=true};oButZoomSlider.endDrag=function(e){bDrag=false;checkZoomData();changeZoom(e,this)};oButZoomSlider.onMouseDown=function(e){var iClickPos=YAHOO.util.Event.getPageX(e)-Dom.getX("wokzoomslider");getNearestPossible(iClickPos)}}}function getNearestPossible(iClickPos){var allZoomLevel=api.getZoomLevel();var aDistances=new Array();var aTmpDistances=new Array();for(var i in aAllPossZoomSteps){aDistances[i]=Math.abs(iClickPos-(i*zoomSliderStep));aTmpDistances[i]=Math.abs(iClickPos-(i*zoomSliderStep))}aTmpDistances=aTmpDistances.sort(function(iNum1,iNum2){return iNum1-iNum2});for(i in aTmpDistances){var iCnt=Maps.Util.findInArrayLike(aDistances,aTmpDistances[i]);if(Maps.Util.findInArrayLike(allZoomLevel,aAllPossZoomSteps[iCnt])>=0){oButZoomSlider.setValue(iCnt*zoomSliderStep,true,true,false);break}}}Maps=Maps||{};Maps.Tl=function(){var timespan=48*60*60,granularity=5*60,minm15tickSize=3,timelineMargin=15,maxMissingFramesForLoop=1,captionOverhang=10;var images,localTimes,m15tickSize,usedRange,singleTLWidth,singleThumbWidth=parseInt(Dom.getStyle("woktimelinesingle","width"),10),loopMode,singleSlider,dualSlider,startTickForLoop,endTickForLoop,tickSpacingForLoop,animation,isAnimationRunning,tlmarksElement,timelineInfoWidth=parseInt(Dom.getStyle("woktimelineinfo","width"),10)||120,ieBrowser=YAHOO.env.ua.ie;var scheduleUnlockButtons=Maps.Util.timeoutScheduler(Maps.Gui.unlockButtons,Maps.Vars.actionRecoveryTime);function timestampUtcFromDate(date){var ts;ts=date.getUTCFullYear().toString()+("0"+(date.getUTCMonth()+1)).slice(-2)+("0"+date.getUTCDate()).slice(-2)+"-"+("0"+date.getUTCHours()).slice(-2)+("0"+date.getUTCMinutes()).slice(-2);return ts}function expDateUtcFromImage(image){var ts=image.id;return{year:ts.slice(0,4),month:ts.slice(4,6),day:ts.slice(6,8),hour:ts.slice(9,11),minute:ts.slice(11,13)}}function expDateLocalFromImage(image){var utcTs=image.id,diffTs=image.diff,diffSeconds=parseInt(diffTs.slice(0,2),10)*3600+parseInt(diffTs.slice(3,5),10)*60,date=dateFromTimestampUtc(utcTs),ms=date.getTime();ms+=diffSeconds*1000;date.setTime(ms);return{year:date.getUTCFullYear().toString(),month:("0"+(date.getUTCMonth()+1)).slice(-2),day:("0"+date.getUTCDate()).slice(-2),hour:("0"+date.getUTCHours()).slice(-2),minute:("0"+date.getUTCMinutes()).slice(-2)}}function dateFromTimestampUtc(ts){var date=new Date(),year=parseInt(ts.slice(0,4),10),month=parseInt(ts.slice(4,6),10),day=parseInt(ts.slice(6,8),10),hour=parseInt(ts.slice(9,11),10),minute=parseInt(ts.slice(11,13),10);date.setUTCFullYear(year,month-1,day);date.setUTCHours(hour,minute);return date}function howManyDaysBetweenImages(olderImg,newerImg){var newerExp=expDateLocalFromImage(newerImg),olderExp=expDateLocalFromImage(olderImg),newerDate=new Date(),olderDate=new Date();newerDate.setUTCFullYear(newerExp.year,newerExp.month-1,newerExp.day);newerDate.setUTCHours(0,0,0);olderDate.setUTCFullYear(olderExp.year,olderExp.month-1,olderExp.day);olderDate.setUTCHours(0,0,0);return(newerDate.getTime()-olderDate.getTime())/(24*60*60*1000)}function findImage(arr,id){var i,len=arr.length;for(i=0;i<len;i++){if(arr[i]&&arr[i].id==id){return i}}return -1}function createModel(availImages,timespan,granularity){var images=[],localTimes=[],date,ticks=timespan/granularity,timeOffset=granularity*1000,i,j,currentStamp,currentDiff,granMinutes=granularity/60,expDate,img;j=0;do{expDate=expDateUtcFromImage(availImages[j]);j++}while((expDate.minute%granMinutes)&&j<availImages.length);j--;date=dateFromTimestampUtc(availImages[j].id);currentDiff=availImages[j].diff;for(i=0;i<ticks;i++){currentStamp=timestampUtcFromDate(date);img=availImages[findImage(availImages,currentStamp)];images[i]=img;if(img){currentDiff=img.diff}else{img={id:currentStamp,diff:currentDiff}}localTimes[i]=expDateLocalFromImage(img);date.setTime(date.getTime()-timeOffset)}return{images:images,localTimes:localTimes}}function findNextValidTick(tick){var nextTick=tick;do{nextTick--}while(!images[nextTick]&&nextTick>0);return images[nextTick]?nextTick:-1}function findPrevValidTick(tick){var maxIdx=images.length-1,prevTick=tick;do{prevTick++}while(!images[prevTick]&&prevTick<maxIdx);return images[prevTick]?prevTick:-1}function loopHasEnoughTimesteps(startTick,endTick,tickSpacing){var i,missing=0;if(!images){return false}for(i=startTick;i>=endTick;i-=tickSpacing){if(!images[i]){missing++}}return missing<=maxMissingFramesForLoop}function adjustDueToResize(){var tick,pos,max,min,oldRange=usedRange;adjustRange();if(usedRange==oldRange){return}if(singleSlider){tick=findImage(images,Maps.Vars.status.activeId);pos=pixelPosFromTick(tick);singleSlider.getThumb().setXConstraint(0,usedRange,1);singleSlider.setValue(pos,true,true,true)}if(dualSlider){tick=findImage(images,Maps.Vars.animation.frames[animation.currentFrame]);min=pixelPosFromTick(startTickForLoop);max=pixelPosFromTick(endTickForLoop);dualSlider.minSlider.thumb.setXConstraint(0,usedRange,1);dualSlider.maxSlider.thumb.setXConstraint(0,usedRange,1);dualSlider.setValues(min,max,true,true,true);dualSlider.minSlider.lock();dualSlider.maxSlider.lock();setVideoSlider(tick);Dom.setStyle("woktimelinevalue","width",(max-min)+"px")}}function adjustRange(dontRedraw){var oldRange=usedRange,availableRange=Maps.Util.getScreenWidth()-2*timelineMargin,fifteenMinutes=15*60,numm15ticks=(timespan/fifteenMinutes);m15tickSize=Math.floor(availableRange/numm15ticks);m15tickSize=Math.max(minm15tickSize,m15tickSize);usedRange=numm15ticks*m15tickSize;singleTLWidth=usedRange+singleThumbWidth;if(!dontRedraw&&(!oldRange||oldRange!=usedRange)){redrawTimeline()}return usedRange}function redrawTimeline(){var tl=timelineMarksCaption();Dom.setStyle("woktimeline","width",singleTLWidth+"px");Dom.setStyle("woktimelinemarks","width",usedRange+"px");Dom.setStyle("woktimelinecaption","width",(usedRange+2*captionOverhang)+"px");if(tl){document.getElementById("woktimelinemarks").innerHTML=tl.marks;document.getElementById("woktimelinecaption").innerHTML=tl.caption}YAHOO.util.Event.onAvailable("woktimelinemarks",function(){tlmarksElement=Dom.get("woktimelinemarks")})}function timelineMarksCaption(){if(granularity==5*60){return timelineMarksCaption5min()}else{if(granularity==15*60){return timelineMarksCaption15min()}else{return undefined}}}function timelineMarksCaption15min(){var i,len=images.length,marks="",caption="",when,pos;for(i=0;i<len;i++){when=localTimes[i];marks+='<span style="width:'+(i?m15tickSize:0)+'px"'+(images[i]?' class="timelinehaslayers">':' class="timelinenolayers">')+(when.minute=="00"?' <span class="timelinemark">&nbsp;</span>':"")+"&nbsp;</span>";if(when.minute=="00"&&parseInt(when.hour,10)%2==0){pos=usedRange-m15tickSize*i+6;caption+='<span style="position: absolute; z-index: 101; left:'+pos+'px;margin:0px">'+when.hour+"</span>"}}return{marks:marks,caption:caption}}function timelineMarksCaption5min(){var i,j,len=images.length,marks="",caption="",when,pos,min,runningTickSize,singlePixelCorrection;function dataAvail(i){return(images[i]||images[i+1]||images[i+2])}j=-1;do{j++;min=localTimes[j].minute}while(!(min=="00"||min=="15"||min=="30"||min=="45")&&j<len);if(j==len){return undefined}if(ieBrowser){singlePixelCorrection=(usedRange<1000)?0:1}else{singlePixelCorrection=(usedRange<1000)?1:0}runningTickSize=Math.floor(m15tickSize/3*(j%3))+singlePixelCorrection;for(i=j;i<len;i+=3){when=localTimes[i];marks+='<span style="width:'+runningTickSize+'px"'+(dataAvail(i)?' class="timelinehaslayers">':' class="timelinenolayers">')+(when.minute=="00"?' <span class="timelinemark">&nbsp;</span>':"")+"&nbsp;</span>";if(when.minute=="00"&&parseInt(when.hour,10)%2==0){pos=usedRange-m15tickSize*(i/3)+6-singlePixelCorrection;caption+='<span style="position: absolute; z-index: 101; left:'+pos+'px;margin:0px">'+when.hour+"</span>"}runningTickSize=m15tickSize}return{marks:marks,caption:caption}}function tickFromPixelPos(pos){var len=images.length;var tickSize=usedRange/images.length;var tick=Math.round((usedRange-pos)/(tickSize));tick=Math.max(0,tick);tick=Math.min(tick,len);return tick}function pixelPosFromTick(tick){var tickSize=usedRange/images.length,pos=Math.round((usedRange)-tick*tickSize);pos=Math.max(0,pos);pos=Math.min(pos,usedRange);return pos}function setWokTimeStamp(expDate){document.getElementById("woktimestampvalue").innerHTML=expDate.hour+":"+expDate.minute}function whatADay(diff,exp){if(typeof diff=="undefined"||Maps.Demo){return exp.day+"."+exp.month+"."+exp.year}switch(diff){case 0:return Maps.Texts[101];case 1:return Maps.Texts[102];case 2:return Maps.Texts[103];default:return exp.day+"."+exp.month+"."+exp.year}}function displayTimeInfo(olderObj,newerObj){var older,newer,dayDiff,longOutput,shortOutput,clockStr,dateStr;older=olderObj.id?expDateLocalFromImage(olderObj):olderObj;newer=newerObj&&newerObj.id?expDateLocalFromImage(newerObj):newerObj;dayDiff=olderObj.id?howManyDaysBetweenImages(olderObj,images[0]):undefined;dateStr=whatADay(dayDiff,older);clockStr=older.hour+":"+older.minute;longOutput=dateStr+", "+clockStr;shortOutput=clockStr;if(newer){clockStr=newer.hour+":"+newer.minute;dayDiff=newerObj.id?howManyDaysBetweenImages(newerObj,images[0]):undefined;dateStr=whatADay(dayDiff,newer);if(older.day==newer.day&&older.month==newer.month&&older.year==newer.year){longOutput+=(Maps.Texts[110]||" bis ")+clockStr}else{longOutput+=(Maps.Texts[110]||" bis ")+dateStr+", "+clockStr}}document.getElementById("woktimeinfo").innerHTML=longOutput;document.getElementById("woktimestampvalue").innerHTML=shortOutput}function setDisplayedTimesFromTick(minTick,maxTick){displayTimeInfo(images[minTick],(typeof maxTick!="undefined")?images[maxTick]:undefined)}function updateSliderInfo(pos,tick){tick=(typeof tick=="undefined")?tickFromPixelPos(pos):tick;var hoverImg=images[tick];var localTime=localTimes[tick];var dayDiff;dayDiff=hoverImg?howManyDaysBetweenImages(hoverImg,images[0]):undefined;var dateStr=whatADay(dayDiff,localTime);var clockStr=localTime.hour+":"+localTime.minute;var el=document.getElementById("woktimelineinfo");el.style.display="block";var tlmarksLeftEdge=YAHOO.util.Dom.getX(tlmarksElement);var positionLeft=tlmarksLeftEdge+pos;if(positionLeft+timelineInfoWidth<Maps.Util.getScreenWidth()){Dom.replaceClass(el,"right","left");Dom.setStyle(el,"left",positionLeft+"px")}else{Dom.replaceClass(el,"left","right");Dom.setStyle(el,"left",(positionLeft-timelineInfoWidth)+"px")}document.getElementById("timeLeft").innerHTML=dateStr+", "+clockStr}function setNextTimeStamp(){if(animationButtons.isAnyChecked()){setStatus("wokbutplay","checked",false);setStatus("wokbutpause","checked",false);Dom.setStyle("wokbutplay","display","block");Dom.setStyle("wokbutpause","display","none");animation.step(1);isAnimationRunning=false}else{var tick=findImage(images,Maps.Vars.status.activeId),nextTick=findNextValidTick(tick),nextPos;if(nextTick!=-1){nextPos=pixelPosFromTick(nextTick);Maps.Vars.status.activeId=images[nextTick].id;singleSlider.setValue(nextPos,true,true,true);singleSliderHasMoved(nextTick);Dom.setStyle("woktimelineinfo","display","block");scheduleHideSliderInfo()}}}function setPrevTimeStamp(){if(animationButtons.isAnyChecked()){setStatus("wokbutplay","checked",false);setStatus("wokbutpause","checked",false);Dom.setStyle("wokbutplay","display","block");Dom.setStyle("wokbutpause","display","none");animation.step(-1);isAnimationRunning=false}else{var tick=findImage(images,Maps.Vars.status.activeId),prevTick=findPrevValidTick(tick),prevPos;if(prevTick!=-1){prevPos=pixelPosFromTick(prevTick);Maps.Vars.status.activeId=images[prevTick].id;singleSlider.setValue(prevPos,true,true,true);singleSliderHasMoved(prevTick);Dom.setStyle("woktimelineinfo","display","block");scheduleHideSliderInfo()}}}function handleArrowLeft(){if(aButtonCodeArray.wokbutprev.get("disabled")==false){if(!Maps.Gui.isElementDisplayed("wokmessagebox")){setPrevTimeStamp();Maps.Util.countIvw()}}}function handleArrowRight(){if(aButtonCodeArray.wokbutnext.get("disabled")==false){if(!Maps.Gui.isElementDisplayed("wokmessagebox")){setNextTimeStamp();Maps.Util.countIvw()}}}function switchLiveMode(toLive){var pos;Maps.Vars.status.liveDisabled=false;Dom.removeClass("wokbutlive","activedisabled");if(toLive){Maps.Vars.status.mode="live-reload";if(!loopMode){pos=pixelPosFromTick(0);singleSlider.setValue(pos,true,true,true);singleSliderHasMoved(0)}else{setStatus("wokbutlive","disabled",true);Dom.addClass("wokbutlive","activedisabled");Maps.Vars.status.liveDisabled=true}}else{Maps.Vars.status.mode="archiv"}setStatus("wokbutlive","checked",toLive);scheduleHideSliderInfo()}function insertScaffoldingSingle(marks,captions){document.getElementById("timelines").innerHTML='<div id="woktimeline" tabindex="-1" style="width: '+singleTLWidth+'px;"><div id="woktimelinemarks" style="width: '+usedRange+'px;">'+marks+'</div><div id="woktimelinesingle"><img src="images/timeline_slider.gif" height="16" width="5" /></div><div id="woktimelinecaption" style="width: '+(usedRange+2*captionOverhang)+'px;">'+captions+"</div></div>";YAHOO.util.Event.onAvailable("woktimelinemarks",function(){tlmarksElement=Dom.get("woktimelinemarks")})}function insertScaffoldingDual(marks,captions){document.getElementById("timelines").innerHTML='<div id="woktimeline" tabindex="-1" style="width: '+singleTLWidth+'px;"><div id="woktimelinemarks" style="width: '+usedRange+'px;">'+marks+'</div><div id="woktimelinevalue"></div><div id="woktimelinestart"><img src="images/timeline_loop_start.gif" height="16" width="5" /></div><div id="woktimelineend"><img src="images/timeline_loop_end.gif" height="16" width="5" /></div><div id="woktimelinevideo"><img src="images/timeline_slider.gif" height="16" width="5" /></div><div id="woktimelinecaption" style="width: '+(usedRange+2*captionOverhang)+'px;">'+captions+"</div></div>";YAHOO.util.Event.onAvailable("woktimelinemarks",function(){tlmarksElement=Dom.get("woktimelinemarks")})}function createSingleSlider(pos,range){var slider=new YAHOO.widget.Slider.getHorizSlider("woktimeline","woktimelinesingle",0,range);slider.animate=false;slider.enableKeys=false;slider.thumb.resetConstraints();slider.setStartSliderState();slider.subscribe("change",handleChangeSingleTimeline,slider,true);slider.subscribe("slideEnd",handleSlideEndSingleTimeline,slider,true);addTimelineListener("woktimeline");var ivwCounterSetter=function(){setTimeout(function(){slider.unsubscribe("slideStart",ivwCounterSetter);slider.subscribe("slideStart",function(){Maps.Util.countIvw()})},50)};slider.subscribe("slideStart",ivwCounterSetter);slider.onMouseUp=function(e){Maps.History.registerClick(e);document.getElementById("woktimelineinfo").style.display="block";removeTimelineListener("woktimeline");scheduleHideSliderInfo();setTimeout(function(){addTimelineListener("woktimeline")},2000);handleSlideEndSingleTimeline()};YAHOO.util.Event.onAvailable("woktimelinesingle",function(){slider.setValue(pos,true,true,false);scheduleUnlockButtons()});return slider}function createDualSlider(min,max){var slider;slider=new YAHOO.widget.Slider.getHorizDualSlider("woktimeline","woktimelinestart","woktimelineend",usedRange,1,[min,max]);slider.subscribe("ready",function(){slider.animate=false;slider.minSlider.thumb.resetConstraints();slider.minSlider.setStartSliderState();slider.maxSlider.thumb.resetConstraints();slider.maxSlider.setStartSliderState();slider.setValues(min,max,true,true,true);slider.minSlider.lock();slider.maxSlider.lock()});YAHOO.util.Event.onAvailable("woktimelinevalue",function(){Dom.setStyle("woktimelinevalue","width",(max-min)+"px");var dualDiv=document.getElementById("woktimeline");new YAHOO.util.KeyListener(dualDiv,{keys:37},{fn:handleArrowLeft}).enable();new YAHOO.util.KeyListener(dualDiv,{keys:39},{fn:handleArrowRight}).enable();scheduleUnlockButtons();slider.minSlider.lock();slider.maxSlider.lock()});return slider}function stopAnimation(){animation.stop();isAnimationRunning=false}function restartAnimation(){animation.start();isAnimationRunning=true}function prepareAnimation(startTick,endTick,tickSpacing){var i;displayTimeInfo(images[startTick]||localTimes[startTick],images[endTick]||localTimes[endTick]);Maps.Vars.animation.frames=[];for(i=startTick;i>=endTick;i-=tickSpacing){if(images[i]){Maps.Vars.animation.frames.push(images[i].id)}}return true}function switchOnAnimation(dontStart){animation=api.loadAnimation(Maps.Vars.animation.frames,0,animationChangeFrame,0);Maps.Vars.status.activeId="animation";loopMode=true;if(!dontStart){animation.start()}isAnimationRunning=!dontStart}function animationChangeFrame(frame){var imageId=Maps.Vars.animation.frames[frame],tick=findImage(images,imageId),layerId,layerStatus,enabledLayers=Maps.Vars.status.enabledLayers;setWokTimeStamp(localTimes[tick]);setVideoSlider(tick);for(layerId in enabledLayers){layerStatus=api.getLayerStatus(layerId,imageId);activateButtonsLayers(layerStatus,layerId)}}function setVideoSlider(tick){var pos=pixelPosFromTick(tick);Dom.setStyle("woktimelinevideo","margin-left",pos+"px")}function setStatusPrevNextButtons(tick){var nextTick=findNextValidTick(tick),prevTick=findPrevValidTick(tick);if(nextTick==-1){setStatus("wokbutnext","disabled",true)}else{setStatus("wokbutnext","disabled",false)}if(prevTick==-1){setStatus("wokbutprev","disabled",true)}else{setStatus("wokbutprev","disabled",false)}}function addTimelineListener(tlid){var tlel=document.getElementById(tlid);function timelineListener(e){var tlmarksLeftEdge=YAHOO.util.Dom.getX(tlmarksElement);var x=Event.getPageX(e);var sliderPos=x-tlmarksLeftEdge;tlel.style.display="block";updateSliderInfo(sliderPos)}Event.addListener(tlid,"mouseover",timelineListener);Event.addListener(tlid,"mouseout",hideSliderInfo)}function removeTimelineListener(tlid){Event.removeListener(tlid,"mouseover");Event.removeListener(tlid,"mouseout")}function hideSliderInfo(){document.getElementById("woktimelineinfo").style.display="none";document.getElementById("woktimelineinfolast").style.display="none"}var scheduleHideSliderInfo=Maps.Util.timeoutScheduler(hideSliderInfo,2000);function changeToImage(tick){var newerTick,olderTick,pos;if(!images[tick]){newerTick=findNextValidTick(tick);olderTick=findPrevValidTick(tick);if(newerTick!=-1&&olderTick!=-1){tick=(olderTick-tick>tick-newerTick)?newerTick:olderTick}else{tick=(olderTick!=-1)?olderTick:newerTick}if(tick!=-1){pos=pixelPosFromTick(tick);singleSlider.setValue(pos,true,true,true)}}if(tick!=-1){api.changeImage(images[tick].id);setDisplayedTimesFromTick(tick);moveSliderInfo(tick);scheduleHideSliderInfo()}}function switchTimeLine(toLoopMode,start,end,step){var tick,pos,tl;if(toLoopMode){startTickForLoop=start;endTickForLoop=end;tickSpacingForLoop=step}if(loopMode&&toLoopMode){changeAnimationParameters(start,end,step)}else{tl=timelineMarksCaption();if(toLoopMode){adjustRange(true);insertScaffoldingDual(tl.marks,tl.caption);YAHOO.util.Event.onAvailable("woktimeline",function(){singleSlider=undefined;dualSlider=createDualSlider(pixelPosFromTick(start),pixelPosFromTick(end));prepareAnimation(start,end,step);switchOnAnimation()})}else{if(Maps.Vars.status.activeId=="animation"){Maps.Vars.status.activeId=Maps.Vars.animation.frames[animation.currentFrame]}tick=findImage(images,Maps.Vars.status.activeId);if(tick==-1){tick=0}if(animation){animation.stop();animation=api.unloadAnimation();isAnimationRunning=undefined}adjustRange(true);insertScaffoldingSingle(tl.marks,tl.caption);YAHOO.util.Event.onAvailable("woktimeline",function(){if(Maps.Vars.status.mode=="live"||Maps.Vars.status.mode=="live-reload"){Maps.Vars.status.mode="live-reload";tick=0}pos=pixelPosFromTick(tick);singleSlider=createSingleSlider(pos,usedRange);dualSlider=undefined;changeToImage(tick);singleSlider.setValue(pos,true,true,true)})}loopMode=toLoopMode}scheduleHideSliderInfo()}function changeAnimationParameters(start,end,step){var min=pixelPosFromTick(start),max=pixelPosFromTick(end);startTickForLoop=start;endTickForLoop=end;tickSpacingForLoop=step;animation.stop();dualSlider.setValues(min,max,true,true,true);dualSlider.minSlider.lock();dualSlider.maxSlider.lock();setVideoSlider(start);Dom.setStyle("woktimelinevalue","width",(max-min)+"px");animation=api.unloadAnimation();prepareAnimation(start,end,step);switchOnAnimation();scheduleUnlockButtons()}function handleChangeSingleTimeline(e){moveSliderInfo()}function moveSliderInfo(tick){updateSliderInfo(singleSlider.getValue(),tick)}function handleSlideEndSingleTimeline(e){singleSliderHasMoved()}function singleSliderHasMoved(tick){var pos;if(typeof tick=="undefined"){pos=singleSlider.getValue();tick=tickFromPixelPos(pos)}switch(Maps.Vars.status.mode){case"live":setStatus("wokbutlive","checked",false);Maps.Vars.status.mode="archiv";break;case"live-reload":setStatus("wokbutlive","checked",true);Maps.Vars.status.mode="live";break;default:setStatus("wokbutlive","checked",false);Maps.Vars.status.mode="archiv";break}setStatusPrevNextButtons(tick);hideSliderInfo();changeToImage(tick)}function init(){var model=createModel(api.getImages(),timespan,granularity),range,tl,tick=0;images=model.images;localTimes=model.localTimes;range=adjustRange(true);tl=timelineMarksCaption();insertScaffoldingSingle(tl.marks,tl.caption);if(Maps.Vars.appStart.timestamp){for(var i in images){if(images[i]&&images[i].id==Maps.Vars.appStart.timestamp){tick=i;break}}}singleSlider=createSingleSlider(pixelPosFromTick(tick),range);scheduleHideSliderInfo();Maps.Gui.lockButtons();Maps.Gui.unlockButtons()}function reloadAfterUpdate(){var didChange=false,wasAnimationRunning=isAnimationRunning,oldFrame,model=createModel(api.getImages(),timespan,granularity),tick;images=model.images;localTimes=model.localTimes;if(Maps.Vars.status.activeId=="animation"){animation.stop();oldFrame=animation.currentFrame;animation=api.unloadAnimation();prepareAnimation(startTickForLoop,endTickForLoop,tickSpacingForLoop);switchOnAnimation(!wasAnimationRunning);if(!wasAnimationRunning){animation.step(oldFrame,true)}}else{if(Maps.Vars.status.mode=="live"||Maps.Vars.status.mode=="live-reload"){Maps.Vars.status.activeId=images[0].id;tick=0;didChange=true}else{tick=findImage(images,Maps.Vars.status.activeId);if(tick<0){tick=findNextValidTick(images.length);Maps.Vars.status.activeId=images[tick].id;didChange=true}}if(didChange){api.changeImage(images[tick].id);setDisplayedTimesFromTick(tick)}singleSlider.setValue(pixelPosFromTick(tick),true,true,true);setStatusPrevNextButtons(tick)}Maps.Gui.lockButtons();Maps.Gui.unlockButtons();adjustRange(true);redrawTimeline()}return{init:init,loopHasEnoughTimesteps:loopHasEnoughTimesteps,reloadAfterUpdate:reloadAfterUpdate,switchTimeLine:switchTimeLine,setNextTimeStamp:setNextTimeStamp,setPrevTimeStamp:setPrevTimeStamp,switchLiveMode:switchLiveMode,stopAnimation:stopAnimation,restartAnimation:restartAnimation,adjustDueToResize:adjustDueToResize,changeAnimationParameters:changeAnimationParameters,handleArrowLeft:handleArrowLeft,handleArrowRight:handleArrowRight}};Maps.Search=function(){var searchString="",hasFocusSearchString=false,badSignsArray=[Maps.Texts[700],"[!^&#_:$|{};~*§%=?<>]","^[0-9]{3,4}$"],codeSignsArray=["^[^0-9]*[0-9]{5}[^0-9]*$"],coordinateRegExString="[-+NSOEW](\\d{1,2}([.,]\\d*)?(°|\"|''|'|\\u2032|\\u2033)?){1,3}|(\\d{1,2}([.,]\\d*)?(°|\"|''|'|\\u2032|\\u2033)?){1,3}[NSOEW]|(\\d{1,2}([.,]\\d*)?(°|\"|''|'|\\u2032|\\u2033)?){1,3}",coordinateSignsArray=[coordinateRegExString],request={method:"GET",url:"?ireq=true&pid=p_search&searchpcid=maps&utf8=true&searchstring=",callback:{customevents:{onStart:requestStartHandler,onComplete:requestCompleteHandler},success:requestSuccessHandler,failure:requestFailureHandler}},results=new Array,connectionObject;function setHasFocus(bool){hasFocusSearchString=bool}function sendRequest(){YAHOO.util.Connect.abort(connectionObject);var searchStringEscaped=encodeURI(searchString);connectionObject=YAHOO.util.Connect.asyncRequest(request.method,request.url+searchStringEscaped,request.callback,null)}function requestSuccessHandler(r){var regExp;try{results=YAHOO.lang.JSON.parse(r.responseText);Maps.Events.fireEvent("searchRequestSuccess")}catch(exception){requestFailureHandler()}}function requestFailureHandler(r){Maps.Events.fireEvent("searchRequestFailure")}function requestStartHandler(){Maps.Events.fireEvent("searchRequestStart")}function requestCompleteHandler(){Maps.Events.fireEvent("searchRequestComplete")}function analyzeSearchString(){if(searchRegExpArray(searchString,badSignsArray)||searchString==""){return"badSigns"}else{if(searchRegExpArray(searchString,codeSignsArray)){return"codeString"}else{if(searchRegExpArray(searchString,coordinateSignsArray)){return"coordinate"}else{if(searchString=="Standort"){return"myPosition"}else{if(searchString=="folgen"){return"followMyPosition"}else{if(searchString=="beenden"){return"stopMyPosition"}}}}}}return"goodString"}function searchRegExpArray(sSearch,regExpArray){var regExp,i;for(i in regExpArray){regExp=new RegExp(regExpArray[i],"gi");if(regExp.test(sSearch)){return true}}return false}return{setSearchString:function(sSearch){searchString=YAHOO.lang.trim(sSearch)},getSearchString:function(){return searchString},getResults:function(){return results},hasFocus:function(){return hasFocusSearchString},start:function(sSearch){this.setSearchString(sSearch);switch(analyzeSearchString()){case"goodString":sendRequest();break;case"codeString":var s=this.getSearchString();s=s.match(/[0-9]{5}/gi)[0];this.setSearchString(s);sendRequest();break;case"badSigns":results=[];Maps.Events.fireEvent("searchInvalid");break;case"coordinate":var c=this.createCoordinateResult();if(c.lat==null||c.lon==null){results=[{match:c.match}]}else{results=[{lat:c.lat,lon:c.lon,gid:""},{match:c.match}]}Maps.Events.fireEvent("searchRequestSuccess");break;case"myPosition":results=[{match:"myPosition"}];Maps.Events.fireEvent("searchRequestSuccess");break;case"followMyPosition":results=[{match:"followMyPosition"}];Maps.Events.fireEvent("searchRequestSuccess");break;case"stopMyPosition":results=[{match:"stopMyPosition"}];Maps.Events.fireEvent("searchRequestSuccess");break;default:break}},createCoordinateResult:function(){var regExp=new RegExp(coordinateRegExString,"gi");var regExpSimpleCoord=/^[-+]?\d{1,2}([.,]\d*)?°?$/gi;var regExpDirection=/[NSOW]/gi;var regExpSpace=/(^|\s)[-+NSWOE](\s|$)|\s(°|\"|''|'|\\u2032|\\u2033)/gi;var regExpSeparator=/,\s+[-+NSWOE]?\s*\d/gi;if(searchString.search(regExpSeparator)!=-1){searchString=searchString.replace(/,\s/gi,"X");searchString=searchString.replace(/[\s]/gi,"");searchString=searchString.replace(/X/gi," ")}else{if(searchString.search(regExpSpace)!=-1){return{lat:null,lon:null,match:"coord_spaces"}}}var coords=searchString.match(regExp);if(coords.length==2){if(coords[0].search(regExpSimpleCoord)!=-1&&coords[1].search(regExpSimpleCoord)!=-1){coords[0]=parseFloat(coords[0]);coords[1]=parseFloat(coords[1])}else{coords=this.parseDirection(coords);for(var i=0;i<coords.length;i++){coords[i]=this.parseCoord(coords[i]);coords[i]=this.calculateDecimalCoord(coords[i])}}if(searchString.search(regExpDirection)==-1){if((coords[1]>35&&coords[1]<62)&&(coords[0]>-11&&coords[0]<25)){coords.push(coords[0]);coords.shift()}}var matchInfo="yes";if(coords[0]<35||coords[0]>62||coords[1]<-11||coords[1]>25){matchInfo="coord_off_site";coords[0]=null;coords[1]=null}}else{matchInfo="coord_no";coords[0]=null;coords[1]=null}return{lat:coords[0],lon:coords[1],match:matchInfo}},parseDirection:function(coords){var coordsSorted=[];var direction=[];direction[0]=coords[0].match(/[-NSOEW+]/gi);direction[1]=coords[1].match(/[-NSOEW+]/gi);if(direction[0]==null){direction[0]=[""]}if(direction[1]==null){direction[1]=[""]}if((direction[0][0].search(/[OEW]/gi)>-1)||(direction[1][0].search(/[NS]/gi)>-1)){coordsSorted[0]=coords[1];coordsSorted[1]=coords[0];return coordsSorted}return coords},parseCoord:function(coord){var parsed={sign:1,degrees:null,minutes:null,seconds:null},match,i;coord=coord.replace(/\s/gi,"");coord=coord.replace(/,/gi,".");coord=coord.replace(/\u2032/gi,"'");coord=coord.replace(/''|\u2033/gi,'"');if((match=coord.match(/[-+NOESW]/gi))){if(match[0].search(/[-SW]/gi)>-1){parsed.sign=-1}}if(coord.search(/[0-9]/gi)>-1){if(coord.search(/[°'"]/gi)==-1){match=coord.match(/[0-9]{1,2}([\.,][0-9]*)?/gi);parsed.degrees=parseFloat(match[0]);coord=""}else{if((match=coord.match(/[0-9]{1,2}([\.,][0-9]*)?°/gi))){parsed.degrees=parseFloat(match[0]);coord=coord.replace(match[0],"")}}}if(coord.search(/[0-9]/gi)>-1){if(coord.search(/['"]/gi)==-1){match=coord.match(/[0-9]{1,2}([\.,][0-9]*)?/gi);parsed.minutes=parseFloat(match[0]);coord=""}else{if((match=coord.match(/[0-9]{1,2}([\.,][0-9]*)?'/gi))){parsed.minutes=parseFloat(match[0]);coord=coord.replace(match,"")}}}if(coord.search(/[0-9]/gi)>-1){if(coord.search(/["]/gi)==-1){match=coord.match(/[0-9]{1,2}([\.,][0-9]*)?/gi);parsed.seconds=parseFloat(match[0]);coord=""}else{if((match=coord.match(/[0-9]{1,2}([\.,][0-9]*)?"/gi))){parsed.seconds=parseFloat(match[0]);coord=coord.replace(match,"")}}}for(i in parsed){if(parsed[i]===null){parsed[i]=0}}return parsed},calculateDecimalCoord:function(coord){return(coord.sign*(coord.degrees+(1/60*(coord.minutes+1/60*coord.seconds))))},emptySearchstring:function(){this.searchstringElement.value=""},implementSearchform:function(){this.searchstringElement=Dom.get("searchstring");var defaultString=Maps.Texts[700];this.searchstringElement.value=defaultString;if(YAHOO.env.ua.webkit){Dom.setStyle(this.searchstringElement,"marginTop","0px")}Event.addListener(this.searchstringElement,"submit",function(e){Maps.Events.fireEvent("searchStart")});Event.addListener(this.searchstringElement,"click",function(e){Event.stopEvent(e)});Event.addListener(this.searchstringElement,"focus",function(e){(this.searchstringElement.value==defaultString)?window.setTimeout(function(){Maps.Search.searchstringElement.value=""},200):this.searchstringElement.select();setHasFocus(true);arrowLeft.disable();arrowRight.disable();window.setTimeout(function(){var el="searchstring";Maps.History.registerClick(el)},200)},this,true);Event.addListener(this.searchstringElement,"blur",function(e){if(this.searchstringElement.value==""){window.setTimeout(function(){Maps.Search.searchstringElement.value=defaultString},200)}setHasFocus(false);if(YAHOO.env.ua.ie>0){document.selection.empty()}arrowLeft.enable();arrowRight.enable()},this,true);var searchSubmit=new YAHOO.util.KeyListener(this.searchstringElement,{keys:13},{fn:function(){Maps.Events.fireEvent("searchStart");Maps.Util.countIvw()}});searchSubmit.enable();Maps.Events.subscribe("searchStart",handleSearchStart,this,true);Maps.Events.subscribe("searchRequestStart",handleSearchRequestStart,this,true);Maps.Events.subscribe("searchRequestComplete",handleSearchRequestComplete,this,true);Maps.Events.subscribe("searchRequestSuccess",handleSearchSuccess,this,true);Maps.Events.subscribe("searchRequestFailure",handleSearchFailure,this,true);Maps.Events.subscribe("searchInvalid",handleSearchInvalid,this,true);function handleSearchStart(){if(this.searchstringElement.value){this.searchstringElement.blur();Maps.Search.start(this.searchstringElement.value)}}function handleSearchRequestStart(){var fog=Dom.get("wokfog");Dom.setStyle(fog,"display","block");Dom.setStyle(fog,"cursor","wait")}function handleSearchRequestComplete(){var fog=Dom.get("wokfog");Dom.setStyle(fog,"display","none");Dom.setStyle(fog,"cursor","auto")}function handleSearchSuccess(){var resultsArray=Maps.Search.getResults();switch(resultsArray.length){case 1:dealWithMatchInfo(resultsArray);break;case 2:Maps.Position.adjustMap(resultsArray[0]);Maps.Buttons.setCenterButtonTooltip(resultsArray[0].name);break;default:showSelectBox(resultsArray);break}}function handleSearchFailure(){var message={boxTitle:Maps.Texts[8],messageTitle:Maps.Texts["715"],closebox:true,messageHTML:"<p>"+Maps.Texts["716"]+"</p><p>"+Maps.Texts["717"]+"</p>",button:true};Maps.Messagebox.show(message)}function handleSearchInvalid(){this.searchstringElement.focus()}function showSelectBox(resultsArray){var i;var messageHTML="<p>"+Maps.Texts[730]+' <span class="bold">\''+searchString+"'</span>"+Maps.Texts[731]+"<br />";messageHTML+=Maps.Texts[732]+'</p>\n                                   <form id="locationchoice" class="choiceform" action="javascript: Maps.Search.handleChoice()">\n                                    <select id="matches" size="6" >';for(i=results.length-2;i>=0;i--){messageHTML+='<option value="'+i+'">'+resultsArray[i].name;if(resultsArray[i].postcode){messageHTML+=" - PLZ: "+resultsArray[i].postcode}messageHTML+=" - "+resultsArray[i].parent+"</option>"}messageHTML+='</select>\n                                <span id="choicemessage" class="error">&nbsp</span>\n                                <p class="buttons">\n                                <input type="submit" class="leftbutton" value="'+Maps.Texts[713]+'" />\n                                <input type="button" id="closebutton" class="rightbutton" value="'+Maps.Texts[714]+'" />\n                                </p>\n                                </form>';var message={boxTitle:Maps.Texts["710"],messageTitle:Maps.Texts["711"]+"'"+searchString+"'",closebox:true,messageHTML:messageHTML,button:false,width:450,postAction:function(){Event.addListener("closebutton","click",newSearch)}};Maps.Messagebox.show(message)}function newSearch(){Maps.Messagebox.hide();Dom.get("searchstring").focus()}function dealWithMatchInfo(resultsArray){var matchInfo=resultsArray[0].match;switch(matchInfo){case"no":ShowNoMatchMessage();break;case"off_site":ShowOffSiteMessage();break;case"coord_off_site":ShowCoordOffSiteMessage();break;case"coord_spaces":ShowCoordSpacesMessage();break;case"coord_no":ShowCoordNoMatchMessage();break;case"myPosition":Maps.Position.drawMyPosition();this.searchstringElement.focus();break;case"followMyPosition":Maps.Position.followMyPosition();this.searchstringElement.focus();break;case"stopMyPosition":Maps.Position.stopMyPosition();this.searchstringElement.focus();break;default:break}}function ShowNoMatchMessage(){var message={boxTitle:Maps.Texts[710],messageTitle:Maps.Texts[718]+"'"+searchString+"'",closebox:true,messageHTML:"<p>"+Maps.Texts[719]+"</p>",button:true,buttonAction:newSearch};Maps.Messagebox.show(message)}function ShowOffSiteMessage(){var messageHTML="<p>"+Maps.Texts[721]+' <span class="bold">\''+searchString+"'</span>"+Maps.Texts[722]+"</p>\n                                 <p>"+Maps.Texts[723]+"</p>";var message={boxTitle:Maps.Texts[710],messageTitle:Maps.Texts[720],closebox:true,messageHTML:messageHTML,button:true,buttonAction:newSearch};Maps.Messagebox.show(message)}function ShowCoordOffSiteMessage(){var messageHTML="<p>"+Maps.Texts[741]+' <span class="bold">\''+searchString+"'</span>"+Maps.Texts[742]+"</p>\n                                 <p>"+Maps.Texts[743]+" "+Maps.Texts[744]+"</p>";var message={boxTitle:Maps.Texts[710],messageTitle:Maps.Texts[740],closebox:true,messageHTML:messageHTML,button:true,buttonAction:newSearch};Maps.Messagebox.show(message)}function ShowCoordSpacesMessage(){var messageHTML="<p>"+Maps.Texts[750]+"</p><p>"+Maps.Texts[751]+"</p>";var message={boxTitle:Maps.Texts[8],messageTitle:Maps.Texts[752],closebox:true,messageHTML:messageHTML,button:true,buttonAction:newSearch};Maps.Messagebox.show(message)}function ShowCoordNoMatchMessage(){var messageHTML="<p>"+Maps.Texts[741]+' <span class="bold">\''+searchString+"'</span>"+Maps.Texts[745]+"</p>\n                                 <p>"+Maps.Texts[744]+"</p>";var message={boxTitle:Maps.Texts[710],messageTitle:Maps.Texts[718]+" "+searchString,closebox:true,messageHTML:messageHTML,button:true,buttonAction:newSearch};Maps.Messagebox.show(message)}},handleChoice:function(){var matches=Dom.get("matches");if(matches.selectedIndex>-1){var selection=matches.options[matches.selectedIndex].value;var selectedResult=Maps.Search.getResults()[selection];Maps.Position.adjustMap(selectedResult);Maps.Messagebox.hide();Maps.Buttons.setCenterButtonTooltip(selectedResult.name)}else{Dom.get("choicemessage").innerHTML=Maps.Texts[712]}}}};Maps.Position=function(){var imageConf=api.getImageConf();var zoomLevels=imageConf.zoom.level;var geoCalc=new arivis.webview.GeoCalc(35,62,-11,25,imageConf.size.width,imageConf.size.height);var homeDisplay=arivis.webview.appStatus.homeDisplay||null;var defGid={locality:{stringLength:5,zoom:1},state:{stringLength:3,zoom:2},nation:{stringLength:2,zoom:3},continent:{stringLength:4,zoom:4}};var watchID;return{lon:Maps.Vars.appStart.Zlon||Maps.Params.lon,lat:Maps.Vars.appStart.Zlat||Maps.Params.lat,posX:homeDisplay?homeDisplay.posX:geoCalc.geo2px(Maps.Params.lat,Maps.Params.lon,1).x,posY:homeDisplay?homeDisplay.posY:geoCalc.geo2px(Maps.Params.lat,Maps.Params.lon,1).y,zoom:zoomLevels[Maps.Vars.appStart.M-1]||imageConf.zoom.def,hasMarker:false,isAdjustingMap:false,isCenteringMap:false,setLat:function(latNumber){this.lat=latNumber},setLon:function(lonNumber){this.lon=lonNumber},setLonLatPos:function(lon,lat){this.setLon(lon);this.setLat(lat);this.setPosXY()},setPosXY:function(){var geoXY=geoCalc.geo2px(this.lat,this.lon,1);this.posY=geoXY.y;this.posX=geoXY.x},setZoom:function(zoomNumber){this.zoom=zoomNumber},setHasMarker:function(markerBoolean){this.hasMarker=markerBoolean},setZoomFromGid:function(gidString){var i,gidStringLength;gidStringLength=gidString.length;for(i in defGid){if(defGid[i].stringLength==gidStringLength){this.setZoomFromM(defGid[i].zoom);return}}this.setZoomFromM()},setZoomFromM:function(m){m?this.setZoom(zoomLevels[m-1]):this.setZoom(api.getZoom())},setHasMarkerFromGid:function(gidString){var gidStringLength=gidString.length;if(gidStringLength==defGid.locality.stringLength||gidStringLength===0){this.hasMarker=true}else{this.hasMarker=false}},getHomeDisplay:function(){return homeDisplay},centerMap:function(){this.isCenteringMap=true;var zoom=api.getZoom();var offsetXY=arivis.webview.layerContainer.center2offset({x:this.posX*zoom,y:this.posY*zoom});arivis.webview.event.fireEvent("navigate",{x:offsetXY.x,y:offsetXY.y})},centerZoomMap:function(){arivis.webview.layerContainer.zoom=this.zoom;this.centerMap()},zoomMap:function(){api.setZoom(this.zoom)},drawMarker:function(){if(YAHOO.lang.isObject(homeDisplay)){this.moveHomeDisplay()}else{arivis.webview.appStatus.homeDisplay=new arivis.webview.HomeDisplay(0,0);homeDisplay=arivis.webview.appStatus.homeDisplay;this.moveHomeDisplay()}},moveHomeDisplay:function(){homeDisplay.posX=this.posX;homeDisplay.posY=this.posY;homeDisplay.setPosition()},deleteMarker:function(){if(YAHOO.lang.isObject(homeDisplay)){Dom.get("movebleMap").removeChild(homeDisplay.element);homeDisplay=null;arivis.webview.appStatus.homeDisplay=null}},adjustMap:function(location){this.isAdjustingMap=true;this.setZoomFromGid(location.gid);this.setLonLatPos(location.lon,location.lat);this.setHasMarkerFromGid(location.gid);this.centerZoomMap();this.hasMarker?this.drawMarker():this.deleteMarker()},drawMyPosition:function(){if(navigator.geolocation){navigator.geolocation.getCurrentPosition(this.geolocationSuccessHandler,this.geolocationErrorHandler,{timeout:10000})}},followMyPosition:function(){if(navigator.geolocation){watchID=navigator.geolocation.watchPosition(this.geolocationSuccessHandler,this.geolocationErrorHandler,{timeout:10000});log("id "+watchID)}},stopMyPosition:function(){if(navigator.geolocation){log("id "+watchID);navigator.geolocation.clearWatch(watchID)}},geolocationSuccessHandler:function(position){var myPosition={lat:position.coords.latitude,lon:position.coords.longitude,gid:""};Maps.Position.adjustMap(myPosition);Maps.Buttons.setCenterButtonTooltip(Maps.Texts[633])},geolocationErrorHandler:function(){}}};Maps=Maps||{};Maps.Buttons=function(){return{setProperty:function(name,prop,value){aButtonCodeArray[name][prop]=value},setCenterButtonTooltip:function(txt){var tooltip;txt.search("Standort")==-1?tooltip=Maps.Texts[631]+txt:tooltip=Maps.Texts[633];this.setProperty("centerbutton","toolunselected",tooltip)}}};var aButtonCodeArray=new Object();function initButtons(){aButtonCodeArray.button_layer_R=new YAHOO.widget.Button("button_layer_R");var tmpButton=aButtonCodeArray.button_layer_R;aButtonCodeArray.button_layer_R.subscribe("checkedChange",Maps.Actions.clickHandler);aButtonCodeArray.button_layer_R.toolselected=Maps.Texts[301];aButtonCodeArray.button_layer_R.toolunselected=Maps.Texts[302];aButtonCodeArray.button_layer_R.tooldisabled=Maps.Texts[303];aButtonCodeArray.button_layer_R.tooldisabledactive=Maps.Texts[304];aButtonCodeArray.button_layer_R.image="button_radar";aButtonCodeArray.button_layer_R.subscribe("mouseover",function(){Dom.addClass("navigatoroverlay","shown")});aButtonCodeArray.button_layer_R.subscribe("mouseout",function(){Dom.removeClass("navigatoroverlay","shown")});oButSatelite=new YAHOO.widget.Button("button_layer_S");oButSatelite.subscribe("checkedChange",Maps.Actions.clickHandler);oButSatelite.toolselected=Maps.Texts[305];oButSatelite.toolunselected=Maps.Texts[306];oButSatelite.tooldisabled=Maps.Texts[307];oButSatelite.tooldisabledactive=Maps.Texts[308];aButtonCodeArray.button_layer_S=oButSatelite;oButSatelite.image="button_satelite";oButLightning=new YAHOO.widget.Button("button_layer_B");oButLightning.subscribe("checkedChange",Maps.Actions.clickHandler);oButLightning.toolselected=Maps.Texts[309];oButLightning.toolunselected=Maps.Texts[310];oButLightning.tooldisabled=Maps.Texts[311];oButLightning.tooldisabledactive=Maps.Texts[312];aButtonCodeArray.button_layer_B=oButLightning;oButLightning.image="button_lightning";oButBorders=new YAHOO.widget.Button("button_layer_G");oButBorders.subscribe("checkedChange",Maps.Actions.clickHandler);oButBorders.toolselected=Maps.Texts[313];oButBorders.toolunselected=Maps.Texts[314];oButBorders.tooldisabled=Maps.Texts[315];oButBorders.tooldisabledactive=Maps.Texts[316];aButtonCodeArray.button_layer_G=oButBorders;oButBorders.image="button_borders";oButRivers=new YAHOO.widget.Button("button_layer_F");oButRivers.subscribe("checkedChange",Maps.Actions.clickHandler);oButRivers.toolselected=Maps.Texts[317];oButRivers.toolunselected=Maps.Texts[318];oButRivers.tooldisabled=Maps.Texts[319];oButRivers.tooldisabledactive=Maps.Texts[320];aButtonCodeArray.button_layer_F=oButRivers;oButRivers.image="button_rivers";oButCities=new YAHOO.widget.Button("button_layer_C");oButCities.subscribe("checkedChange",Maps.Actions.clickHandler);oButCities.toolselected=Maps.Texts[321];oButCities.toolunselected=Maps.Texts[322];oButCities.tooldisabled=Maps.Texts[323];oButCities.tooldisabledactive=Maps.Texts[324];aButtonCodeArray.button_layer_C=oButCities;oButCities.image="button_cities";oButZoomMinus=new YAHOO.widget.Button("wokbutzoomout");oButZoomMinus.subscribe("click",Maps.Actions.clickHandler);oButZoomMinus.toolunselected=Maps.Texts[330];oButZoomMinus.tooldisabled=Maps.Texts[331];aButtonCodeArray.wokbutzoomout=oButZoomMinus;oButZoomMinus.image="button_zoom_minus";oButZoomPlus=new YAHOO.widget.Button("wokbutzoomin");oButZoomPlus.subscribe("click",Maps.Actions.clickHandler);oButZoomPlus.toolunselected=Maps.Texts[332];oButZoomPlus.tooldisabled=Maps.Texts[333];aButtonCodeArray.wokbutzoomin=oButZoomPlus;oButZoomPlus.image="button_zoom_plus";oButLive=new YAHOO.widget.Button("wokbutlive");oButLive.subscribe("checkedChange",Maps.Actions.clickHandler);oButLive.toolunselected=Maps.Texts[335];oButLive.toolselected=Maps.Texts[336];oButLive.tooldisabled=Maps.Texts[360];oButLive.tooldisabledactive=Maps.Texts[361];aButtonCodeArray.wokbutlive=oButLive;oButLive.image="button_live";Dom.setStyle("wokbutanimation90","visibility","visible");Dom.setStyle("wokbutanimation90","display","block");oButAnimation90=new YAHOO.widget.Button("wokbutanimation90");oButAnimation90.subscribe("checkedChange",Maps.Actions.clickHandler);oButAnimation90.toolunselected="90 min "+Maps.Texts[337];oButAnimation90.toolselected="90 min "+Maps.Texts[338];oButAnimation90.tooldisabled="90 min "+Maps.Texts[334];aButtonCodeArray.wokbutanimation90=oButAnimation90;oButAnimation90.image="button_loop90";Dom.setStyle("wokbutanimation60","visibility","visible");Dom.setStyle("wokbutanimation60","display","block");oButAnimation60=new YAHOO.widget.Button("wokbutanimation60");oButAnimation60.subscribe("checkedChange",Maps.Actions.clickHandler);oButAnimation60.toolunselected="60 min "+Maps.Texts[337];oButAnimation60.toolselected="60 min "+Maps.Texts[338];oButAnimation60.tooldisabled="60 min "+Maps.Texts[334];aButtonCodeArray.wokbutanimation60=oButAnimation60;oButAnimation60.image="button_loop60";Dom.setStyle("wokbutanimation30","visibility","visible");Dom.setStyle("wokbutanimation30","display","block");oButAnimation30=new YAHOO.widget.Button("wokbutanimation30");oButAnimation30.subscribe("checkedChange",Maps.Actions.clickHandler);oButAnimation30.toolunselected="30 min "+Maps.Texts[337];oButAnimation30.toolselected="30 min "+Maps.Texts[338];oButAnimation30.tooldisabled="30 min "+Maps.Texts[334];aButtonCodeArray.wokbutanimation30=oButAnimation30;oButAnimation30.image="button_loop30";oButPrev=new YAHOO.widget.Button("wokbutprev");oButPrev.subscribe("click",Maps.Actions.clickHandler);oButPrev.toolunselected=Maps.Texts[339];oButPrev.tooldisabled=Maps.Texts[340];aButtonCodeArray.wokbutprev=oButPrev;oButPrev.image="button_back";oButNext=new YAHOO.widget.Button("wokbutnext");oButNext.subscribe("click",Maps.Actions.clickHandler);oButNext.toolunselected=Maps.Texts[341];oButNext.tooldisabled=Maps.Texts[342];aButtonCodeArray.wokbutnext=oButNext;oButNext.image="button_forward";oButPlay=new YAHOO.widget.Button("wokbutplay");oButPlay.subscribe("checkedChange",Maps.Actions.clickHandler);oButPlay.toolunselected=Maps.Texts[346];oButPlay.toolselected=Maps.Texts[345];oButPlay.tooldisabled=Maps.Texts[347];aButtonCodeArray.wokbutplay=oButPlay;oButPlay.image="button_play";oButPause=new YAHOO.widget.Button("wokbutpause");oButPause.subscribe("checkedChange",Maps.Actions.clickHandler);oButPause.toolunselected=Maps.Texts[346];oButPause.toolselected=Maps.Texts[345];oButPause.tooldisabled=Maps.Texts[347];aButtonCodeArray.wokbutpause=oButPause;oButPause.image="button_pause";oButMapOverview=new YAHOO.widget.Button("wokoverviewbutton");oButMapOverview.subscribe("click",Maps.Actions.clickHandler);aButtonCodeArray.wokoverviewbutton=oButMapOverview;if(YAHOO.env.ua.ie==7||YAHOO.env.ua.webkit!=0){oButMapOverview.subscribe("mousedown",function(){Dom.setStyle("navigator","overflow","visible")});oButMapOverview.subscribe("mouseup",function(){Dom.setStyle("navigator","overflow","hidden")})}oButLegend=new YAHOO.widget.Button("woklegendbutton");oButLegend.subscribe("click",Maps.Actions.clickHandler);aButtonCodeArray.woklegendbutton=oButLegend;oButDistance=new YAHOO.widget.Button("wokbutdistance");oButDistance.subscribe("checkedChange",Maps.Actions.clickHandler);oButDistance.toolunselected=Maps.Texts[600];oButDistance.toolselected=Maps.Texts[601];oButDistance.tooldisabled=Maps.Texts[602];aButtonCodeArray.wokbutdistance=oButDistance;oButDistance.image="button_distance";oButScreenshot=new YAHOO.widget.Button("wokbutscreenshot",{type:"push"});oButScreenshot.subscribe("click",Maps.Actions.clickHandler);oButScreenshot.toolunselected=Maps.Texts[605];oButScreenshot.tooldisabled=Maps.Texts[606];aButtonCodeArray.wokbutscreenshot=oButScreenshot;oButScreenshot.image="button_screenshot";oButLink=new YAHOO.widget.Button("wokbutlink",{type:"push"});oButLink.subscribe("click",Maps.Actions.clickHandler);oButLink.toolunselected=Maps.Texts[610];oButLink.tooldisabled=Maps.Texts[611];aButtonCodeArray.wokbutlink=oButLink;oButLink.image="button_link";oButInfo=new YAHOO.widget.Button("wokbutinfo",{type:"push"});oButInfo.subscribe("click",Maps.Actions.clickHandler);oButInfo.toolunselected=Maps.Texts[615];oButInfo.tooldisabled=Maps.Texts[616];aButtonCodeArray.wokbutinfo=oButInfo;oButInfo.image="button_info";oButSearch=new YAHOO.widget.Button("searchbutton",{type:"push"});oButSearch.subscribe("click",Maps.Actions.clickHandler);oButSearch.toolunselected=Maps.Texts[620];oButSearch.tooldisabled=Maps.Texts[621];aButtonCodeArray.searchbutton=oButSearch;oButCenter=new YAHOO.widget.Button("centerbutton",{type:"push"});oButCenter.subscribe("click",Maps.Actions.clickHandler);oButCenter.toolunselected=Maps.Texts[630];oButCenter.tooldisabled=Maps.Texts[633];aButtonCodeArray.centerbutton=oButCenter}function setStatus(sButtonCode,sAttribute,sValue){var bDisabled=aButtonCodeArray[sButtonCode].get("disabled");aButtonCodeArray[sButtonCode].set(sAttribute,sValue,true);if(YAHOO.env.ua.ie==6){if(sAttribute=="disabled"&&sValue==true){if(Dom.hasClass(sButtonCode,"activedisabled")){Dom.setStyle(sButtonCode,"background-image","url(../../images/"+aButtonCodeArray[sButtonCode].image+"_x.png)")}else{Dom.setStyle(sButtonCode,"background-image","url(../../images/"+aButtonCodeArray[sButtonCode].image+"_d.png)")}}else{if(sAttribute=="disabled"&&sValue==false&&bDisabled==true||sAttribute=="checked"){if(sButtonCode=="wokbutpause"||sButtonCode=="wokbutplay"){Dom.setStyle(sButtonCode,"background-image","url(../../images/"+aButtonCodeArray[sButtonCode].image+"_i.png)")}else{if(aButtonCodeArray[sButtonCode].get("checked")==true){Dom.setStyle(sButtonCode,"background-image","url(../../images/"+aButtonCodeArray[sButtonCode].image+"_a.png)")}else{if(aButtonCodeArray[sButtonCode].get("checked")==false){Dom.setStyle(sButtonCode,"background-image","url(../../images/"+aButtonCodeArray[sButtonCode].image+"_i.png)")}}}}else{aButtonCodeArray[sButtonCode].set(sAttribute,sValue,true)}}}}function setToolTip(){for(var buttonname in aButtonCodeArray){setToolTipEvents(buttonname)}}function setToolTipEvents(buttonname){Event.addListener(buttonname,"mouseover",showTooltip,aButtonCodeArray[buttonname],true);Event.addListener(buttonname,"click",hideTooltip,aButtonCodeArray[buttonname],true);Event.addListener(buttonname,"mousemove",resetTooltipPosition,aButtonCodeArray[buttonname],true);Event.addListener(buttonname,"mouseout",hideTooltip,aButtonCodeArray[buttonname],true)}function showTooltip(e){var ID=this.get("id");var sToolTipText="";switch(ID){case"wokoverviewbutton":sToolTipText=(Dom.hasClass(ID,"hidden")==false)?Maps.Texts[343]:Maps.Texts[344];break;case"woklegendbutton":sToolTipText=(Dom.hasClass(ID,"hidden")==false)?Maps.Texts[370]:Maps.Texts[371];break;default:if(aButtonCodeArray[ID].get("disabled")==false){if(YAHOO.env.ua.ie==6){Dom.setStyle(ID,"background-image","url(../../images/"+aButtonCodeArray[ID].image+"_h.png)")}if(aButtonCodeArray[ID].get("checked")==true){sToolTipText=aButtonCodeArray[ID].toolselected}else{sToolTipText=aButtonCodeArray[ID].toolunselected}}else{if(Dom.hasClass(ID,"activedisabled")==true){sToolTipText=aButtonCodeArray[ID].tooldisabledactive;if(YAHOO.env.ua.ie==6){Dom.setStyle(ID,"background-image","url(../../images/"+aButtonCodeArray[ID].image+"_x.png)")}}else{sToolTipText=aButtonCodeArray[ID].tooldisabled;if(YAHOO.env.ua.ie==6){Dom.setStyle(ID,"background-image","url(../../images/"+aButtonCodeArray[ID].image+"_d.png)")}}}break}var sToolTip=document.getElementById("tooltip");sToolTip.innerHTML=sToolTipText;var iMouseY=Event.getPageY(e);var iMouseX=Event.getPageX(e);Dom.setStyle("tooltip","display","block");positionTooltip(iMouseX,iMouseY)}function positionTooltip(x,y){var clientHeight=Dom.getViewportHeight();var clientWidth=Dom.getViewportWidth();var tooltipElement=document.getElementById("tooltip");var height=tooltipElement.clientHeight;var width=tooltipElement.clientWidth;if(y+height+30>clientHeight){Dom.setStyle(tooltipElement,"margin-top",(y-height-15)+"px")}else{Dom.setStyle(tooltipElement,"margin-top",(y+20)+"px")}if(x+width+2>clientWidth){Dom.setStyle(tooltipElement,"margin-left",(x-width)+"px")}else{Dom.setStyle(tooltipElement,"margin-left",(x)+"px")}}function resetTooltipPosition(e){var iMouseY=Event.getPageY(e);var iMouseX=Event.getPageX(e);positionTooltip(iMouseX,iMouseY)}function hideTooltip(e){Dom.setStyle("tooltip","display","none");var ID=this.get("id");if(YAHOO.env.ua.ie==6&&ID!="wokoverviewbutton"&&ID!="woklegendbutton"){if(aButtonCodeArray[ID].get("disabled")==false){if(ID=="wokbutplay"||ID=="wokbutpause"){Dom.setStyle(ID,"background-image","url(../../images/"+aButtonCodeArray[ID].image+"_i.png)")}else{if(aButtonCodeArray[ID].get("checked")==true){Dom.setStyle(ID,"background-image","url(../../images/"+aButtonCodeArray[ID].image+"_a.png)")}else{if(aButtonCodeArray[ID].get("checked")==false){Dom.setStyle(ID,"background-image","url(../../images/"+aButtonCodeArray[ID].image+"_i.png)")}}}}else{if(YAHOO.env.ua.ie==6){if(Dom.hasClass(ID,"activedisabled")==true){Dom.setStyle(ID,"background-image","url(../../images/"+aButtonCodeArray[ID].image+"_x.png)")}else{Dom.setStyle(ID,"background-image","url(../../images/"+aButtonCodeArray[ID].image+"_d.png)")}}}}}var animationButtons=[{id:"wokbutanimation30",tickSpacing:1,startTick:6,endTick:0},{id:"wokbutanimation60",tickSpacing:2,startTick:12,endTick:0},{id:"wokbutanimation90",tickSpacing:3,startTick:18,endTick:0}];animationButtons.disableAll=function(){var i;for(i=0;i<this.length;i++){setStatus(this[i].id,"disabled",true)}};animationButtons.uncheckAll=function(){var i;for(i=0;i<this.length;i++){setStatus(this[i].id,"checked",false)}};animationButtons.uncheckAllExcept=function(obj){var i;for(i=0;i<this.length;i++){if(aButtonCodeArray[this[i].id]!=obj){setStatus(this[i].id,"checked",false)}}};animationButtons.isAnyChecked=function(){var i,result=false;for(i=0;i<this.length;i++){result=result||aButtonCodeArray[this[i].id].get("checked")}return result};animationButtons.byId=function(id){var i;for(i=0;i<this.length;i++){if(this[i].id==id){return this[i]}}return undefined};animationButtons.byObj=function(obj){var i;for(i=0;i<this.length;i++){if(aButtonCodeArray[this[i].id]==obj){return this[i]}}return undefined};YAHOO.util.Event.addListener(window,"load",function(){arivis.webview.init(window.init)});function init(){api=new arivis.webview.Api();api.event.subscribe("applicationRestart",handleApplicationRestart);api.event.subscribe("imageChange",handleImageChange);api.event.subscribe("imageChangeDefault",handleImageChangeDefault);api.event.subscribe("layerNewList",function(){setTimeout(handleLayerNewList,0)});api.event.subscribe("serverUpdate",handleServerUpdate);api.event.subscribe("layerActivate",handleLayerActivate);api.event.subscribe("layerDeactivate",handleLayerDeactivate);api.event.subscribe("zoomChange",handleZoomChange);api.event.subscribe("viewAfterChange",handleViewAfterChange);api.event.subscribe("message",handleMessage);api.event.subscribe("longLeftClick",handleLongLeftClick);api.event.subscribe("shortLeftClick",handleShortLeft);api.event.subscribe("shortRightClick",handleShortRight);api.event.subscribe("imageChangeDefault",function(){Maps.Init.initDependend();Maps.Vars.isAppInitiating=false;Maps.Init.initDemo()});Maps.Init.initMaps();Maps.Gui.fillLinkbarFooter();if(Maps.Vars.hasSessionError===false){Maps.Vars.isAppInitiating=true;Maps.Gui.setViewportDimensions();Maps.Gui.fillLegend();initZoomSlider();initButtons();Maps.Gui.hideLayerButtons(["R","S","B","G","F","C"]);setToolTip();arrowLeft=new YAHOO.util.KeyListener(document,{keys:37},{fn:Maps.Tl.handleArrowLeft});arrowLeft.enable();arrowRight=new YAHOO.util.KeyListener(document,{keys:39},{fn:Maps.Tl.handleArrowRight});arrowRight.enable();Event.addListener("woklogo","click",Maps.Gui.openWOM);arivis.webview.wheelControl=new arivis.webview.WheelControl("distancemeter");if(YAHOO.env.ua.opera){Dom.addClass("distancemeter","opera")}Maps.initLoader=new arivis.webview.LoaderStatus(null,null,initLoadingEnd);Maps.Gui.moveOutNavigatorTimeout=window.setTimeout(Maps.Gui.moveOutNavigator,11000);api.event.subscribe("navigate",Maps.Gui.clearMoveOutNavigator);oButMapOverview.subscribe("click",Maps.Gui.clearMoveOutNavigator);api.initApplication()}else{Maps.Gui.hideInitLoader();handleMessage("session error first")}}function initLoadingEnd(){Maps.Gui.hideInitLoader();Maps.Gui.removeClassFromElements("inithidden");if(Maps.initLoader){window.setTimeout(function(){Maps.initLoader.stop();Maps.initLoader=null},500);Maps.Init.preloadImages()}}function handleImageChangeDefault(arg){var layerId,layerStatus,isEnabled;for(layerId in Maps.Vars.status.enabledLayers){layerStatus=api.getLayerStatus(layerId);isEnabled=layerStatus.alter?layerStatus.active:layerStatus.exists;if(isEnabled){api.activateLayer(layerId)}else{api.deactivateLayer(layerId)}Maps.Vars.status.enabledLayers[layerId]=isEnabled}Maps.Tl.init();if(Maps.Vars.appStart.loop==1&&api.isAnimation()==true){Maps.Gui.initAnimation(true);setStatus("wokbutanimation30","checked",true);if(Maps.Vars.appStart.live==1){Maps.Vars.status.mode="live-reload";setStatus("wokbutlive","checked",true)}}else{if(Maps.Vars.appStart.live==1){Maps.Vars.status.mode="live-reload"}}}function handleLayerActivate(id){setStatus("button_"+id,"checked",true)}function handleLayerDeactivate(id){setStatus("button_"+id,"checked",false)}function handleZoomChange(zoomValue){setSliderToZoomValue(zoomValue)}function handleImageChange(image){Maps.Vars.status.activeId=image.image.id}function handleLayerNewList(arg){var layerId,layerStatus,enabledLayers=Maps.Vars.status.enabledLayers,imageId;for(layerId in enabledLayers){if(enabledLayers[layerId]){api.activateLayer(layerId)}else{api.deactivateLayer(layerId)}}imageId=(Maps.Vars.status.activeId=="animation")?Maps.Vars.animation.frames[0]:undefined;for(layerId in enabledLayers){layerStatus=api.getLayerStatus(layerId,imageId);if(!layerStatus.alter){Maps.Gui.hideButtons("button_"+layerId);api.activateLayer(layerId);enabledLayers[layerId]=true}else{Maps.Gui.showButtons("button_"+layerId);activateButtonsLayers(layerStatus,layerId)}}}function activateButtonsLayers(layerStatus,layerId){if(layerStatus.exists){if(layerStatus.alter){setStatus("button_"+layerId,"disabled",false);setStatus("button_"+layerId,"checked",Maps.Vars.status.enabledLayers[layerId])}else{setStatus("button_"+layerId,"disabled",true);if(Maps.Vars.status.enabledLayers[layerId]){Dom.addClass("button_"+layerId,"activedisabled")}}}else{Dom.removeClass("button_"+layerId,"activedisabled");setStatus("button_"+layerId,"disabled",true)}}function handleMessage(message){switch(message){case"configuration failure":Maps.Vars.countConfigFailures++;break;case"session error first":Dom.setStyle("movebleMap","visibility","hidden");showSessionMessage();break;case"session invalid first":case"session expired first":case"session invalid":case"session expired":arivis.webview.serverPull.isStarted=false;Maps.Vars.hasSessionError=true;showSessionMessage();break;default:showInfoMessage(message);break}}function handleServerUpdate(){if(Maps.Vars.status.mode=="live"){Maps.Vars.status.mode="live-reload"}api.restartApplication()}function handleApplicationRestart(configXML){Maps.Tl.reloadAfterUpdate();if(api.isAnimation()==false){animationButtons.disableAll();if(Maps.Vars.status.activeId=="animation"){Maps.Gui.initAnimation(false)}}}function handleShortLeft(){if(Maps.Search.hasFocus()){Maps.Search.searchstringElement.blur()}var veto=false;if(Maps.History.getBeforeClickedElement().id=="searchstring"){veto=true}if(!veto&&aButtonCodeArray.wokbutprev.get("disabled")==false){Maps.Tl.setPrevTimeStamp();Maps.Util.countIvw()}}function handleLongLeftClick(){if(Maps.Search.hasFocus()){Maps.Search.searchstringElement.blur()}}function handleShortRight(){if(Maps.Search.hasFocus()){Maps.Search.searchstringElement.blur()}var veto=false;if(Maps.History.getBeforeClickedElement().id=="searchstring"){veto=true}if(!veto&&aButtonCodeArray.wokbutnext.get("disabled")==false){Maps.Tl.setNextTimeStamp();Maps.Util.countIvw()}}function handleViewAfterChange(){if(aButtonCodeArray.wokbutdistance.get("checked")){updateDistancemeter()}if(Maps.Position.isAdjustingMap==true&&Maps.Position.isCenteringMap==true){if(Maps.Vars.status.activeId=="animation"){Maps.Tl.stopAnimation();if(Maps.Vars.status.mode=="archiv"){api.getImageConf().id=Maps.Vars.animation.frames[Maps.Vars.animation.frames.length-1]}Maps.Gui.initAnimation(false);animationButtons.uncheckAll()}Maps.Position.isAdjustingMap=false;Maps.Position.isCenteringMap=false}}var Maps=window.Maps||{};Maps.Demo=function(){return{elements:{messagebox:null,boxtitle:null,closebox:null,button:null,wokfog:Dom.get("wokfog")},messageboxWidth:420,messageboxHeight:0,initDemoGUI:function(){this.insertDemolivebutton();Maps.Gui.fillLinkbarFooter({womInfo:{text:Maps.Texts[651],href:"javascript:Maps.Gui.openWOM('marketing')",style:"red"},womInscription:{text:Maps.Texts[652],href:"javascript:Maps.Gui.openSignUp()",style:"red"}});this.showDemomessagebox();Maps.Demomessage.initBoxStyle();if(Maps.Gui.moveOutLegendTimeout){clearTimeout(Maps.Gui.moveOutLegendTimeout)}if(Maps.Gui.moveOutNavigatorTimeout){clearTimeout(Maps.Gui.moveOutNavigatorTimeout)}api.event.subscribe("message",function(m){if(m=="application locked"){this.handleLockMessage(m)}},Maps.Demo,true);Maps.Util.ivwDefaultChannel="mapsintern"},showDemomessagebox:function(){var element=document.createElement("div");element.setAttribute("id","demomessagebox");element.setAttribute("style","display: none");Dom.insertBefore(element,"wokmessagebox");this.elements.messagebox=element;var messageHTML='<p class="justify">Testen Sie mit unserer Demoversion nahezu <a href="javascript: Maps.Gui.showHelp()">alle Funktionen</a> \nvon WetterMaps für einen festen, bereits vergangenen Zeitraum.</p>\n<a class="continue" onclick="Maps.Demo.minimizeMessagebox(); return false;" href="http://womdemo.wetteronline.de">\n<img  alt="Weiter zur Demoversion der WetterOnline Mitgliedschaft" src="/img/button/login_small.gif"></a>';var message={element:"demomessagebox",boxTitle:"Demoversion",className:"messageboxblank",login:"top",messageTitle:'<a href="javascript: Maps.Demo.minimizeMessagebox()">WetterOnline Mitgliedschaft - Jetzt WetterMaps testen</a>',closebox:"demomessageclosebox",closeboxAction:this.minimizeMessagebox,messageHTML:messageHTML,width:this.messageboxWidth,postAction:function(){Maps.Demo.messageboxHeight=Maps.Demo.elements.messagebox.clientHeight}};Maps.Messagebox.show(message);this.elements.boxtitle=Dom.getFirstChild(this.elements.messagebox);this.elements.closebox=Dom.get("demomessageclosebox");this.elements.button=Dom.get("demomessagebutton")},minimizeMessagebox:function(){Maps.Messagebox.displayNoneWokfog();var fadeAttributes={left:{to:90},top:{to:51},height:{to:28},width:{to:145}},fadeOut=new YAHOO.util.Anim(Maps.Demo.elements.messagebox,fadeAttributes,0.4,YAHOO.util.Easing.easeBoth);fadeOut.onComplete.subscribe(function(){Event.purgeElement(Maps.Demo.elements.closebox);Event.addListener(Maps.Demo.elements.closebox,"click",Maps.Demo.expandMessagebox);Event.addListener(Maps.Demo.elements.messagebox,"click",Maps.Demo.expandMessagebox);Dom.addClass(Maps.Demo.elements.messagebox,"messageboxmin");if(YAHOO.env.ua.ie==6){Maps.Demo.setIE666OpenboxStyle()}Dom.removeClass(Maps.Demo.elements.closebox,"closebox");Dom.addClass(Maps.Demo.elements.closebox,"openbox")});fadeOut.animate()},expandMessagebox:function(){var position=Maps.Messagebox.calculateBoxLeftTop(Maps.Demo.messageboxWidth,Maps.Demo.messageboxHeight);var fadeAttributes={left:{to:position.left},top:{to:position.top},height:{to:Maps.Demo.messageboxHeight},width:{to:Maps.Demo.messageboxWidth}},fadeIn=new YAHOO.util.Anim(Maps.Demo.elements.messagebox,fadeAttributes,0.8,YAHOO.util.Easing.easeBoth);fadeIn.onStart.subscribe(function(){Event.removeListener(Maps.Demo.elements.messagebox,"click",Maps.Demo.expandMessagebox);Dom.removeClass(Maps.Demo.elements.messagebox,"messageboxmin");Event.purgeElement(Maps.Demo.elements.closebox);Event.addListener(Maps.Demo.elements.closebox,"click",Maps.Demo.minimizeMessagebox);if(YAHOO.env.ua.ie==6){Maps.Demo.setIE666CloseboxStyle()}Dom.removeClass(Maps.Demo.elements.closebox,"openbox");Dom.addClass(Maps.Demo.elements.closebox,"closebox")});fadeIn.animate();Maps.Messagebox.displayBlockWokfog()},setIE666OpenboxStyle:function(){Dom.setStyle(Maps.Demo.elements.closebox,"background-image","url(../images/messagebox_open.gif)");Event.addListener(Maps.Demo.elements.closebox,"mouseover",function(){Dom.setStyle(Maps.Demo.elements.closebox,"background-image","url(../images/messagebox_open_hover.gif)")});Event.addListener(Maps.Demo.elements.closebox,"mouseout",function(){Dom.setStyle(Maps.Demo.elements.closebox,"background-image","url(../images/messagebox_open.gif)")})},setIE666CloseboxStyle:function(){Dom.setStyle(Maps.Demo.elements.closebox,"background-image","url(../images/messagebox_close.gif)");Event.addListener(Maps.Demo.elements.closebox,"mouseover",function(){Dom.setStyle(Maps.Demo.elements.closebox,"background-image","url(../images/messagebox_close_hover.gif)")});Event.addListener(Maps.Demo.elements.closebox,"mouseout",function(){Dom.setStyle(Maps.Demo.elements.closebox,"background-image","url(../images/messagebox_close.gif)")})},insertDemolivebutton:function(){var wokbutlive=Dom.get("wokbutlive");Dom.setStyle(wokbutlive,"display","none");oButLive.unsubscribe("checkedChange",Maps.Actions.clickHandler);var demobutlive=document.createElement("div");demobutlive.setAttribute("id","demobutlive");Dom.insertBefore(demobutlive,wokbutlive);oDemoButLive=new YAHOO.widget.Button("demobutlive");aButtonCodeArray.demobutlive=oDemoButLive;oDemoButLive.image="button_live";var tooltipLive='<p class="bold">Automatische Aktualisierung</p><br />\n                                            <p>Im Live-Modus werden alle f&uuml;nf Minuten stets <br />\n                                               die aktuellsten Daten automatisch geladen.</p>\n                                            <br />\n                                            <p>Der Live-Modus ist in der Demoversion nicht<br />\n                                               verf&uuml;gbar. Hier werden Beispieldaten gezeigt,<br />\n                                               die nicht aktualisiert werden.</p>';oDemoButLive.toolunselected=tooltipLive;oDemoButLive.toolselected=tooltipLive;oDemoButLive.tooldisabled=tooltipLive;setToolTipEvents("demobutlive");setStatus("demobutlive","disabled",true)},handleLockMessage:function(m){this.showLockMessage(m)},showLockMessage:function(eventMessage){var message={boxTitle:Maps.Texts[8],messageTitle:"WetterMaps Demoversion vor&uuml;bergehend nicht verf&uuml;gbar",closebox:true,closeboxAction:Maps.Gui.redirect,messageHTML:" <p>Leider muss der Zugang zur Demoversion aus technischen Gr&uuml;nden\nvor&uuml;bergehend eingeschr&auml;nkt werden. <br />\nWir bitten Sie um Verst&auml;ndnis und um etwas Geduld.<br />\n                        <br />\n                        Bitte versuchen Sie es sp&auml;ter wieder!<br /></p>",button:true,buttonAction:Maps.Gui.redirect};Maps.Messagebox.show(message)}}};
                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                            
Maps.Demomessage = {
    initBoxStyle: function () {
        var min={
            left: 90,
            top: 51,
            height: 28,
            width: 145
        }
        
        Maps.Messagebox.displayNoneWokfog();
            
        if (YAHOO.env.ua.ie > 0)
        {
            // IE likes styling the ugly way
            Dom.setStyle(Maps.Demo.elements.messagebox,'width',min.width)
            Dom.setStyle(Maps.Demo.elements.messagebox,'height',min.height)
            Dom.setStyle(Maps.Demo.elements.messagebox,'top',min.top)
            Dom.setStyle(Maps.Demo.elements.messagebox,'left',min.left)        
        }
        else 
        {
            // good browsers do it this way
            Maps.Demo.elements.messagebox.setAttribute('style','width:'+min.width+'px; height:'+min.height+'px; top:'+min.top+'px; left:'+min.left+'px;');
        }
        // and an 'openbox' style is needed instead of the closebox style         
        Dom.removeClass(Maps.Demo.elements.closebox,'closebox');
        Dom.addClass(Maps.Demo.elements.closebox,'openbox');
        Event.purgeElement(Maps.Demo.elements.closebox);
        Event.addListener(Maps.Demo.elements.closebox, 'click', Maps.Demo.expandMessagebox);
        Event.addListener(Maps.Demo.elements.messagebox, 'click', Maps.Demo.expandMessagebox);
            
    }
}
