YAHOO.namespace("ostluft");YAHOO.ostluft.KarteManager=function(b){this.serverURL=b;this.bodyTag=null;this.title="Daten werden geladen...";this.subTitle="Datum wird berechnet...";this.triggerTime=15;this.visibilityRegion="MESSSTATION_BEREICH_KARTE";this.onKarteLoadedEvent=null;this.onSubKarteLoadedEvent=null;this.onMessgroessenLoadedEvent=null;this.onMessgroesseSelectedEvent=null;this.onMessstationenLoadedEvent=null;this.onUpdateTimerEvent=null;this.onKanaeleLoadedEvent=null;this.onMessdatenLoadedEvent=null;this.onElementeLoadedEvent=null;this.onMesswertDisplayedEvent=null;this.karteList=[];this.messgroesseList=[];this.messgroesseSelected=null;this.einheitSelected=null;this.messstationList=[];this.messstationContextMenu={element:null,messstation:null};this.messdatenList=[];this.messstationenLoaded=false;this.kanaeleLoaded=false;this.messdatenLoading=[];var a=YAHOO.ostluft.KarteManager.messstationContextMenuHandler;this.messstationConfiguration={messwert:true,symbolUIEvents:null,name:true,nameUIEvents:{mouseover:a},symbol:true,symbolRenderedEvent:null,symbolUIEvents:null};this.elementConfiguration={name:true,nameUIEvents:null,symbol:true,symbolRenderedEvent:null,symbolUIEvents:null};this.currentDate=null;this.currentUpdateDate=null;this.nextUpdateDate=null;this.updateTimer=null;this.init();YAHOO.ostluft.KarteManager._instance[YAHOO.ostluft.KarteManager._instance.length]=this};YAHOO.ostluft.KarteManager._instance=new Array();YAHOO.ostluft.KarteManager._updateTimerID=null;YAHOO.ostluft.KarteManager.resourcePath="typo3conf/ext/ostluft/pi1/resources/";YAHOO.ostluft.KarteManager.karteZoomImagePath=YAHOO.ostluft.KarteManager.resourcePath+"images/zoom_in.png";YAHOO.ostluft.KarteManager.karteCloseImagePath=YAHOO.ostluft.KarteManager.resourcePath+"images/close.png";YAHOO.ostluft.KarteManager.prototype.init=function(){this.bodyTag=document.getElementsByTagName("body")[0];if(!this.bodyTag){throw"Fehler: Das Kartenobjekt nach dem vollständen Laden der HTML-erzeugt werden! Hinweis an den Entwickler: Verwenden Sie den onload Event des Body-Tags"}this.onKarteLoadedEvent=new YAHOO.util.CustomEvent("onKarteLoaded",this);this.onKarteLoadedEvent.subscribe(this.onKarteLoaded);this.onSubKarteLoadedEvent=new YAHOO.util.CustomEvent("onSubKarteLoaded",this);this.onSubKarteLoadedEvent.subscribe(this.onSubKarteLoaded);this.onMessgroessenLoadedEvent=new YAHOO.util.CustomEvent("onMessgroessenLoaded",this);this.onMessgroessenLoadedEvent.subscribe(this.onMessgroessenLoaded);this.onMessgroesseSelectedEvent=new YAHOO.util.CustomEvent("onMessgroesseSelected",this);this.onMessstationenLoadedEvent=new YAHOO.util.CustomEvent("onMessstationenLoaded",this);this.onMessstationenLoadedEvent.subscribe(this.onMessstationenLoaded);this.onUpdateTimerEvent=new YAHOO.util.CustomEvent("onUpdateTimer",this);this.onUpdateTimerEvent.subscribe(this.onUpdateTimer);this.onKanaeleLoadedEvent=new YAHOO.util.CustomEvent("onKanaeleLoaded",this);this.onKanaeleLoadedEvent.subscribe(this.onKanaeleLoaded);this.onMessdatenLoadedEvent=new YAHOO.util.CustomEvent("onMessdatenLoaded",this);this.onMessdatenLoadedEvent.subscribe(this.onMessdatenLoaded);this.onElementeLoadedEvent=new YAHOO.util.CustomEvent("onElementeLoaded",this);this.onElementeLoadedEvent.subscribe(this.onElementeLoaded);this.onMesswertDisplayedEvent=new YAHOO.util.CustomEvent("onMesswertDisplayed",this);this.initTimer();this.initMessstationContextMenu()};YAHOO.ostluft.KarteManager.prototype.initTimer=function(d){this.currentDate=new Date();var b=this.currentDate.getMinutes();this.currentUpdateDate=new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),this.currentDate.getDate(),(b<parseInt(this.triggerTime))?this.currentDate.getHours()-1:this.currentDate.getHours(),0,0);this.nextUpdateDate=new Date(this.currentUpdateDate.getFullYear(),this.currentUpdateDate.getMonth(),this.currentUpdateDate.getDate(),this.currentUpdateDate.getHours()+1,parseInt(this.triggerTime),0);var e=this.currentDate.getHours()*3600;e+=this.currentDate.getMinutes()*60;e+=this.currentDate.getSeconds();var a=this.nextUpdateDate.getHours()*3600;a+=this.nextUpdateDate.getMinutes()*60;a+=this.nextUpdateDate.getSeconds();this.updateTimer=(a-e);if(!d&&!YAHOO.ostluft.KarteManager._updateTimerID){var c=new Date();YAHOO.ostluft.KarteManager._updateTimerID=window.setTimeout(YAHOO.ostluft.KarteManager._updateTimerCallback,c.getMilliseconds())}};YAHOO.ostluft.KarteManager._updateTimerCallback=function(){for(var b in YAHOO.ostluft.KarteManager._instance){var a=YAHOO.ostluft.KarteManager._instance[b];a.updateTimer-=1;a.currentDate=new Date();if(a.updateTimer<=1){a.onUpdateTimerEvent.fire()}}var c=new Date();YAHOO.ostluft.KarteManager._updateTimerID=window.setTimeout(YAHOO.ostluft.KarteManager._updateTimerCallback,c.getMilliseconds())};YAHOO.ostluft.KarteManager.prototype.initMessstationContextMenu=function(){var b=this.messstationContextMenu.element;b=this.bodyTag.appendChild(document.createElement("div"));YAHOO.util.Dom.addClass(b,"messstation-menu");b.id="messstation-menu";var a="<ul>";a+='<li><a href="#" id="messstation-menu-verlauf">Verlauf</a></li>';a+='<li><a href="#" id="messstation-menu-jahresentwicklung">Jahresentwicklung</a></li>';a+='<li><a href="#" id="messstation-menu-beschreibung">Standortbeschreibung</a></li>';a+="</ul>";b.innerHTML=a;YAHOO.util.Dom.setStyle(b,"display","none");YAHOO.util.Event.addListener(b,"mousemove",function(f){var c=YAHOO.util.Event.getTarget(f);if(YAHOO.util.Dom.getStyle(c,"display")=="block"){var g=YAHOO.util.Event.getXY(f);var d=YAHOO.util.Dom.getRegion(c);if((g[0]>d.left)&&(g[0]<d.right)){if((g[1]>d.top)&&(g[1]<d.bottom)){while(c.nodeName.toLowerCase()!="div"){c=c.parentNode}YAHOO.util.Dom.setStyle(c,"display","none")}}}},this,true)};YAHOO.ostluft.KarteManager.prototype.loadKarte=function(name,htmlContainer){var htmlContainerElement=YAHOO.util.Dom.get(htmlContainer);if(!htmlContainerElement){throw'Es wurde kein HTML-Element mit der ID "'+htmlContainer+'" gefunden!'}var requestURL=this.serverURL;requestURL+="&method=getKarte&karte_name=";requestURL+=name;YAHOO.util.Connect.asyncRequest("GET",requestURL,{success:function(o){var response=eval("("+o.responseText+")");if(response.status=="OK"){this.karteList[response.object.name]=response.object;this.onKarteLoadedEvent.fire(o.argument.htmlContainerElement,response.object)}},failure:function(o){alert("Fehler: "+o.status)},scope:this,argument:{htmlContainerElement:htmlContainerElement}})};YAHOO.ostluft.KarteManager.prototype.loadKanaele=function(messgroesse_id){if(this.kanaeleLoading){YAHOO.log("Die Kanäle werden bereits geladen. Die Anforderung wird abgebrochen","debug","YAHOO.ostluft.KarteManager.loadKanaele");return}if(this.messgroesseList[messgroesse_id].kanaele){this.onKanaeleLoadedEvent.fire(this.messgroesseList[messgroesse_id].kanaele,false);return}YAHOO.log("Die Kanäle für werden vom Server geladen","debug","YAHOO.ostluft.KarteManager.loadKanaele");var requestURL=this.serverURL;requestURL+="&method=listKanaele&messgroesse_id=";requestURL+=messgroesse_id;this.kanaeleLoading=true;YAHOO.util.Connect.asyncRequest("GET",requestURL,{success:function(o){var response=eval("("+o.responseText+")");if(response.status=="OK"){for(var i in response.items){if(!this.messgroesseList[o.argument.messgroesse_id].kanaele){this.messgroesseList[o.argument.messgroesse_id].kanaele=[]}this.messgroesseList[o.argument.messgroesse_id].kanaele[response.items[i].kanal_id]=response.items[i]}this.onKanaeleLoadedEvent.fire(this.messgroesseList[o.argument.messgroesse_id].kanaele,true);this.kanaeleLoading=false}else{alert("Bei der Abfrage der Kanäle ist der folgende Fehler aufgetreten:\n"+response.exception.msg)}},failure:function(o){alert("Fehler: "+o.status)},scope:this,argument:{messgroesse_id:messgroesse_id}})};YAHOO.ostluft.KarteManager.prototype.onKanaeleLoaded=function(type,args){YAHOO.log("Kanäle wurden geladen","debug","YAHOO.ostluft.KarteManager.onKanaeleLoaded");for(var i in args[0]){this.einheitSelected=args[0][i].einheit;break}this.updateKarteTitel();var serverList=[];var serverIDList=[];for(var i in args[0]){var kanal=args[0][i];var serverName="server-"+kanal.server_id;if(!serverList[serverName]){serverList[serverName]=[];serverIDList[serverName]=[]}serverList[serverName][serverList[serverName].length]=kanal;serverIDList[serverName][serverIDList[serverName].length]=kanal.kanal_id}var end_zeit=this.currentUpdateDate;this.messdatenList=[];this.requestCount=0;for(var i in serverList){this.requestCount++}for(var i in serverList){var start_zeit=YAHOO.ostluft.KarteManagerUtility.calculateStartZeit(end_zeit,serverList[i][0].zeitfenster);var requestURL=this.serverURL;requestURL+="&method=getMessdaten&kanal_id=";requestURL+=encodeURI(serverIDList[i].join(","));requestURL+="&start_zeit=";requestURL+=encodeURI(YAHOO.ostluft.KarteManagerUtility.createISODate(start_zeit));requestURL+="&end_zeit=";requestURL+=encodeURI(YAHOO.ostluft.KarteManagerUtility.createISODate(end_zeit));if(!this.messdatenLoading[i]){this.messdatenLoading[i]=true;YAHOO.util.Connect.asyncRequest("GET",requestURL,{success:function(o){YAHOO.log("Server ID: "+o.argument.serverId,"debug","KarteManager::onKanaeleLoaded()");this.messdatenLoading[o.argument.serverId]=false;var response=eval("("+o.responseText+")");if(response.status=="OK"){this.onMessdatenLoadedEvent.fire(response.items,o.argument.serverId)}else{alert("Bei der Abfrage der Messdaten ist der folgende Fehler aufgetreten:\n"+response.exception.faultstring)}},failure:function(o){YAHOO.log("HTTP Status "+o.status+": "+o.statusText,"error","KarteManager::onKanaeleLoaded()");this.messdatenLoading[o.argument.serverId]=false},scope:this,argument:{kanalList:serverList,serverId:i}})}else{YAHOO.log("Die Daten werden bereits geladen... Die aktuelle Anfrage "+i+" wurde verworfen","debug","YAHOO.ostluft.KarteManager.onKanaeleLoaded")}}};YAHOO.ostluft.KarteManager.prototype.onMessdatenLoaded=function(c,a){try{for(var b in a[0]){this.messdatenList[this.messdatenList.length]=a[0][b]}YAHOO.log(this.messdatenList.length+" Datensätze für Server "+a[1]+" in Request "+this.requestCount,"debug","YAHOO.ostluft.KarteManager.onMessdatenLoaded");if(--this.requestCount==0){hasMessstationen=function(){for(var e in this.messstationList){return true}}.call(this);if(hasMessstationen){this.displayMesswerte(this.messdatenList)}else{YAHOO.log("Die Messdaten werden noch dargestellt. Die Messstationen sind noch nicht geladen worden... ","debug","YAHOO.ostluft.KarteManager.onMessdatenLoaded")}}}catch(d){YAHOO.log(YAHOO.lang.dump(d),"error","YAHOO.ostluft.KarteManager.onMessdatenLoaded")}};YAHOO.ostluft.KarteManager.prototype.displayMesswerte=function(c){var h=this.messgroesseSelected.kanaele;var r=this.messgroesseSelected.airmoMessgroesse.ostluftMessgroesse.basisMessgroesse.farbe_text;var j=[];for(var m in c){var p=c[m];var b=h[p.kanal_id];var q=this.messstationList[b.messstation_id];if(q){var k=new Date(p.endzeit);if(YAHOO.ostluft.KarteManagerUtility.createISODate(this.currentUpdateDate)==YAHOO.ostluft.KarteManagerUtility.createISODate(k)){j[q.messstation_id]={datum:k,messwert:Math.round(parseFloat(p.messwert)),kbiSchadstoff:p.kbiSchadstoff,messstation:q,kanal:b,status:p.status}}}}for(var m in this.messstationList){var q=this.messstationList[m];var s=j[m];var e=YAHOO.util.Dom.get("messwert-"+q.messstation_id+"-box");var g=YAHOO.util.Dom.getElementsByClassName("messwert-"+q.messstation_id+"-box","div");if(g){for(var m in g){var e=g[m];var o=true;var a="Kein Messwert verfügbar!";if(!s){o=false;for(var n in this.messgroesseSelected.kanaele){var b=this.messgroesseSelected.kanaele[n];if(!YAHOO.lang.isFunction(b)){if(q.messstation_id==b.messstation_id){o=true;break}}}if(!o&&!YAHOO.util.Dom.hasClass(e,"messwert-versteckt")){var f=this.messgroesseSelected.airmoMessgroesse.ostluftMessgroesse.basisMessgroesse.name_lang;var d=this.messgroesseSelected.airmoMessgroesse.ostluftMessgroesse.basisMessgroesse.name_kurz;a="Die Messgrösse "+f+" ("+d+") wird an diesem Standort nicht gemessen!";YAHOO.util.Dom.setStyle(e,"opacity","0.3");YAHOO.util.Dom.addClass(e,"messwert-versteckt")}else{if(o&&YAHOO.util.Dom.hasClass(e,"messwert-versteckt")){YAHOO.util.Dom.setStyle(e,"opacity","1");YAHOO.util.Dom.removeClass(e,"messwert-versteckt")}}}else{if(YAHOO.util.Dom.hasClass(e,"messwert-versteckt")){YAHOO.util.Dom.setStyle(e,"opacity","1");YAHOO.util.Dom.removeClass(e,"messwert-versteckt")}}e.title=(s)?"Datum: "+s.datum.toLocaleString():a;if((s)&&((s.status&2)==2)){e.innerHTML="-"}else{var l=(o)?"-":"";e.innerHTML=(s)?Math.round(parseFloat(s.messwert)):l}YAHOO.util.Dom.setStyle(e,"color",r);this.onMesswertDisplayedEvent.fire(this,s,e)}}}};YAHOO.ostluft.KarteManager.prototype.onKarteLoaded=function(g,e){var a=e[0];var c=e[1];YAHOO.util.Dom.addClass(a,"karte");var i=a.appendChild(document.createElement("img"));YAHOO.util.Dom.addClass(i,"karte");i.src=c.image_file;YAHOO.util.Dom.setStyle(i,"width",c.image_info[0]+"px");YAHOO.util.Dom.setStyle(i,"height",c.image_info[1]+"px");var b=a.appendChild(document.createElement("div"));b.id=a.id+"_messstationen";b.className="messstation-container";var d=YAHOO.util.Dom.get(a.id+"_titel");if(!d){d=a.appendChild(document.createElement("div"));d.id=a.id+"_titel";d.className="titel";var j=YAHOO.util.Dom.getRegion(i);YAHOO.util.Dom.setXY(d,[j.left,j.bottom-1]);YAHOO.util.Dom.setStyle(d,"width",c.image_info[0]+"px")}var f=d.appendChild(document.createElement("h3"));f.id=d.id+"_h3";f.appendChild(document.createTextNode(this.title));var f=d.appendChild(document.createElement("h4"));f.id=d.id+"_h4";f.appendChild(document.createTextNode(this.subtitle));this.updateKarteTitel();if(YAHOO.util.Dom.hasClass(a,"closeable")){var h=a.appendChild(document.createElement("img"));h.id=a.id+"-detail-close";h.className="karte-detail-close";h.src=YAHOO.ostluft.KarteManager.karteCloseImagePath;h.alt="Schliessen";h.title="Klicken Sie hier um die Detailansicht zu schliessen";YAHOO.util.Dom.setXY(h,[j.right-32,j.top+6]);YAHOO.util.Event.addListener(h,"click",function(l){var k=YAHOO.util.Event.getTarget(l);k.parentNode.parentNode.removeChild(k.parentNode)})}this.loadSubKarten(c.name);this.loadElemente(c.name,a.id);this.loadMessstationen(c.name,a.id)};YAHOO.ostluft.KarteManager.prototype.loadSubKarten=function(name){var requestURL=this.serverURL;requestURL+="&method=listSubKarten&karte_name=";requestURL+=name;YAHOO.util.Connect.asyncRequest("GET",requestURL,{success:function(o){var response=eval("("+o.responseText+")");if(response.status=="OK"){if(!this.karteList[o.argument.parent_name].subkarten){this.karteList[o.argument.parent_name].subkarten=[]}for(var i in response.items){this.karteList[response.items[i].name]=response.items[i];this.karteList[o.argument.parent_name].subkarten[response.items[i].name]=response.items[i];this.onSubKarteLoadedEvent.fire(o.argument.parent_name,response.items[i])}}},failure:function(o){YAHOO.log("HTTP Status "+o.status+": "+o.statusText,"error","KarteManager::loasSubKarten()")},scope:this,argument:{parent_name:name}})};YAHOO.ostluft.KarteManager.prototype.onSubKarteLoaded=function(f,d){var e=YAHOO.util.Dom.get("karte_"+d[0]);var c=d[1];var b=e.appendChild(document.createElement("div"));b.id=e.id+"_"+c.name+"_subkarte";b.className="karte-sub";b.title="Klicken Sie für eine Detailansicht dieser Region...";var a=YAHOO.util.Dom.getRegion(e);YAHOO.util.Dom.setXY(b,[parseInt(a.left)+parseInt(c.parent_x),parseInt(a.top)+parseInt(c.parent_y)]);YAHOO.util.Dom.setStyle(b,"width",parseInt(c.parent_width)+"px");YAHOO.util.Dom.setStyle(b,"height",parseInt(c.parent_height)+"px");var h=b.appendChild(document.createElement("div"));h.className="karte-sub-background";YAHOO.util.Dom.setXY(h,[parseInt(a.left)+parseInt(c.parent_x),parseInt(a.top)+parseInt(c.parent_y)]);YAHOO.util.Dom.setStyle(h,"width",parseInt(c.parent_width)+"px");YAHOO.util.Dom.setStyle(h,"height",parseInt(c.parent_height)+"px");YAHOO.util.Dom.setStyle(h,"opacity",0.125);var g=b.appendChild(document.createElement("img"));g.src=YAHOO.ostluft.KarteManager.karteZoomImagePath;g.className="karte-sub-zoom";YAHOO.util.Dom.setXY(g,[parseInt(a.left)+parseInt(c.parent_x),parseInt(a.top)+parseInt(c.parent_y)]);YAHOO.util.Dom.setStyle(g,"width","16px");YAHOO.util.Dom.setStyle(g,"height","16px");YAHOO.util.Event.addListener(b,"click",this.onSubKarteClicked,{karteManager:this,karteSubElement:b,karte:c},true)};YAHOO.ostluft.KarteManager.prototype.onSubKarteClicked=function(f,c){var a=c.karteSubElement.parentNode.parentNode;var b="karte_"+c.karte.name;var d=YAHOO.util.Dom.get(b);if(d){d.parentNode.removeChild(d);c.karteSubElement.title="Klicken Sie hier um die Detailansicht zu schliessen."}else{d=a.appendChild(document.createElement("div"));d.id=b;d.className="karte-detail closeable";c.karteManager.loadKarte(c.karte.name,d.id);c.karteSubElement.title="Klicken Sie für eine Detailansicht dieser Region..."}};YAHOO.ostluft.KarteManager.prototype.loadMessgroessen=function(htmlContainer){var htmlContainerElement=YAHOO.util.Dom.get(htmlContainer);if(!htmlContainerElement){throw'Es wurde kein HTML-Element mit der ID "'+htmlContainer+'" gefunden!'}var requestURL=this.serverURL;requestURL+="&method=listMessgroessen&karte_name=";requestURL+=name;YAHOO.util.Connect.asyncRequest("GET",requestURL,{success:function(o){var response=eval("("+o.responseText+")");if(response.status=="OK"){this.onMessgroessenLoadedEvent.fire(o.argument.htmlContainerElement,response.items)}},failure:function(o){YAHOO.log("HTTP Status "+o.status+": "+o.statusText,"error","KarteManager::loadMessgroessen()")},scope:this,argument:{htmlContainerElement:htmlContainerElement}})};YAHOO.ostluft.KarteManager.prototype.onMessgroessenLoaded=function(j,h){var a=h[0];var c=h[1];a.className="karte messgroessen";var d=a.appendChild(document.createElement("ul"));for(var f in c){var g=c[f];this.messgroesseList[g.messgroesse_id]=g;var b=d.appendChild(document.createElement("li"));b.className="karte messgroesse";b.id=g.messgroesse_id+"-listitem";var e=b.appendChild(document.createElement("a"));e.className="karte messgroesse";e.href="javascript:;";e.id=g.messgroesse_id+"-link";e.appendChild(document.createTextNode(g.beschriftung));YAHOO.util.Dom.setStyle(e,"color",g.airmoMessgroesse.ostluftMessgroesse.basisMessgroesse.farbe_text);YAHOO.util.Event.addListener(e,"click",this.onMessgroesseLinkClicked,{karteManager:this,messgroesse:g},true)}};YAHOO.ostluft.KarteManager.prototype.selectMessgroesse=function(a){var b=this.messgroesseList[a];if(!b){throw"Für die GUID "+a+" ist keine Messgrösse vorhanden!"}if((this.messgroesseSelected)&&(this.messgroesseSelected.messgroesse_id==b)){return}if((this.messgroesseSelected)){var c=YAHOO.util.Dom.get(this.messgroesseSelected.messgroesse_id+"-listitem");if(YAHOO.util.Dom.hasClass(c,"selected")){YAHOO.util.Dom.removeClass(c,"selected")}}var c=YAHOO.util.Dom.get(b.messgroesse_id+"-listitem");if(!YAHOO.util.Dom.hasClass(c,"selected")){YAHOO.util.Dom.addClass(c,"selected")}this.messgroesseSelected=b;karteManager.loadKanaele(this.messgroesseSelected.messgroesse_id);this.onMessgroesseSelectedEvent.fire(b)};YAHOO.ostluft.KarteManager.prototype.getSelectMessgroesseID=function(){var b;for(var a in this.messgroesseList){var c=this.messgroesseList[a];if(c.selected=="1"){return a}else{if(!YAHOO.lang.isValue(b)){b=a}}}return b};YAHOO.ostluft.KarteManager.prototype.updateKarteTitel=function(){if(!this.messgroesseSelected){return}for(var f in this.karteList){if(this.messgroesseSelected){var g=YAHOO.util.Dom.get("karte_"+f+"_titel_h3");if(g){var e=this.messgroesseSelected.airmoMessgroesse.ostluftMessgroesse.basisMessgroesse;g.innerHTML=e.name_lang;g.innerHTML+=" ("+e.name_kurz+")"}}if(this.currentUpdateDate){var b=YAHOO.util.Dom.get("karte_"+f+"_titel_h4");if(b){b.innerHTML="";if(this.messgroesseSelected){b.innerHTML+=this.messgroesseSelected.titel}if(this.einheitSelected){if(this.messgroesseSelected){b.innerHTML+=" in "}b.innerHTML+=this.einheitSelected}if(this.einheitSelected||this.messgroesseSelected){b.innerHTML+=", "}var c=parseInt(this.currentUpdateDate.getDate());b.innerHTML+=(c<10)?"0"+String(c):String(c);b.innerHTML+=".";var h=parseInt(this.currentUpdateDate.getMonth())+1;b.innerHTML+=(h<10)?"0"+String(h):String(h);b.innerHTML+=".";b.innerHTML+=this.currentUpdateDate.getFullYear()+" ";var a=parseInt(this.currentUpdateDate.getHours());b.innerHTML+=(parseInt(a)<10)?"0"+String(a):String(a);b.innerHTML+=":";var d=parseInt(this.currentUpdateDate.getMinutes());b.innerHTML+=(d<10)?"0"+String(d):(d)}}}};YAHOO.ostluft.KarteManager.prototype.onMessgroesseLinkClicked=function(a){this.karteManager.selectMessgroesse(this.messgroesse.messgroesse_id)};YAHOO.ostluft.KarteManager.prototype.loadMessstationen=function(karte_name,htmlContainer){var htmlContainerElement=YAHOO.util.Dom.get(htmlContainer);if(!htmlContainerElement){throw'Es wurde kein HTML-Element mit der ID "'+htmlContainer+'" gefunden!'}var requestURL=this.serverURL;requestURL+="&method=listMessstationen&karte_name=";requestURL+=karte_name;requestURL+="&visibility_region=";requestURL+=this.visibilityRegion;YAHOO.util.Connect.asyncRequest("GET",requestURL,{success:function(o){var response=eval("("+o.responseText+")");if(response.status=="OK"){this.onMessstationenLoadedEvent.fire(o.argument.htmlContainerElement,response.items,o.argument.karte_name)}},failure:function(o){YAHOO.log("HTTP Status "+o.status+": "+o.statusText,"error","KarteManager::loadMessstationen()")},scope:this,argument:{htmlContainerElement:htmlContainerElement,karte_name:karte_name}})};YAHOO.ostluft.KarteManager.prototype.onMessstationenLoaded=function(l,k){var b=k[0];var j=k[1];var q=k[2];var n={parentElement:k[0],messstation:null,karte:this.karteList[k[2]]};for(var f in j){var m=j[f];this.messstationList[m.messstation_id]=m.messstation;n.messstation=m;var d=YAHOO.util.Dom.getXY(b);var o=b.appendChild(document.createElement("div"));o.className="messstation";YAHOO.util.Dom.setXY(o,[d[0],d[1]]);if(this.messstationConfiguration.name){var p=o.appendChild(document.createElement("div"));p.className="label";YAHOO.util.Dom.setXY(p,[d[0]+parseInt(m.x_label),d[1]+parseInt(m.y_label)]);var c=p.appendChild(document.createElement("span"));c.appendChild(document.createTextNode(m.messstation.name_kurz));if(this.messstationConfiguration.nameUIEvents){for(var a in this.messstationConfiguration.nameUIEvents){YAHOO.util.Event.addListener(c,a,this.messstationConfiguration.nameUIEvents[a],{messstation:m,karteManager:this},true)}}}if(this.messstationConfiguration.symbol){var g=o.appendChild(document.createElement("div"));g.className="symbol";g.id="messstation-symbol-"+m.messstation_id;YAHOO.util.Dom.setXY(g,[d[0]+parseInt(m.x_symbol),d[1]+parseInt(m.y_symbol)]);var h=g.appendChild(document.createElement("img"));h.src=m.symbol.image_file;if(this.messstationConfiguration.symbolUIEvents){for(var a in this.messstationConfiguration.symbolUIEvents){YAHOO.util.Event.addListener(g,a,this.messstationConfiguration.symbolUIEvents[a],{messstation:m,karteManager:this},true)}}if(YAHOO.lang.isFunction(this.messstationConfiguration.symbolRenderedEvent)){this.messstationConfiguration.symbolRenderedEvent.call(this,g,m)}}if(this.messstationConfiguration.messwert){var e=this._renderMesswertBox(n,d,"-");if(this.messstationConfiguration.messwertUIEvents){for(var a in this.messstationConfiguration.symbolUIEvents){YAHOO.util.Event.addListener(e,a,this.messstationConfiguration.messwertUIEvents[a],{messstation:m,karteManager:this},true)}}}}if(this.messdatenList.length>0){YAHOO.log("Die Messdaten wurden bereits geladen und werden nun dargestellt","debug","YAHOO.ostluft.KarteManager.onMessstationenLoaded");this.displayMesswerte(this.messdatenList)}};YAHOO.ostluft.KarteManager.prototype.loadElemente=function(karte_name,htmlContainer){var htmlContainerElement=YAHOO.util.Dom.get(htmlContainer);if(!htmlContainerElement){throw'Es wurde kein HTML-Element mit der ID "'+htmlContainer+'" gefunden!'}var requestURL=this.serverURL;requestURL+="&method=listElemente&karte_name=";requestURL+=karte_name;YAHOO.util.Connect.asyncRequest("GET",requestURL,{success:function(o){var response=eval("("+o.responseText+")");if(response.status=="OK"){this.onElementeLoadedEvent.fire(o.argument.htmlContainerElement,response.items,o.argument.karte_name)}},failure:function(o){YAHOO.log("HTTP Status "+o.status+": "+o.statusText,"error","KarteManager::loadElemente()")},scope:this,argument:{htmlContainerElement:htmlContainerElement,karte_name:karte_name}})};YAHOO.ostluft.KarteManager.prototype.onElementeLoaded=function(m,l){var d=l[0];var b=l[1];var r=l[2];var o={parentElement:l[0],karteElement:null,karte:this.karteList[l[2]]};for(var h in b){var f=b[h];if(YAHOO.lang.isFunction(f)){continue}o.karteElement=f;var e=YAHOO.util.Dom.getXY(d);var n=d.appendChild(document.createElement("div"));n.className="karte-element";YAHOO.util.Dom.setXY(n,[e[0],e[1]]);if(this.elementConfiguration.name&&(f.label!=null)){var q=n.appendChild(document.createElement("div"));q.className="karte-element-label";YAHOO.util.Dom.setXY(q,[e[0]+parseInt(f.x_label),e[1]+parseInt(f.y_label)]);var k=(f.url!="")?"a":"span";var p=q.appendChild(document.createElement(k));if(f.url!=""){p.href=f.url}p.title=f.tooltip;p.target="_blank";p.appendChild(document.createTextNode(f.label));if(this.elementConfiguration.nameUIEvents){for(var c in this.elementConfiguration.nameUIEvents){YAHOO.util.Event.addListener(p,c,this.messstationConfiguration.nameUIEvents[c],{karteElement:f,karteManager:this},true)}}}if(this.elementConfiguration.symbol){var a=n.appendChild(document.createElement("div"));a.className="karte-element-symbol";a.id="karte-element-symbol-"+f.karte_element_id;YAHOO.util.Dom.setXY(a,[e[0]+parseInt(f.x_symbol),e[1]+parseInt(f.y_symbol)]);var k=(f.url!="")?"a":"span";var g=a.appendChild(document.createElement(k));if(f.url!=""){g.href=f.url}g.title=f.tooltip;g.target="_blank";var j=g.appendChild(document.createElement("img"));j.src=f.symbol.image_file;j.title=f.tooltip;if(this.elementConfiguration.symbolUIEvents){for(var c in this.elementConfiguration.symbolUIEvents){YAHOO.util.Event.addListener(a,c,this.elementConfiguration.symbolUIEvents[c],{karteElement:f,karteManager:this},true)}}if(YAHOO.lang.isFunction(this.elementConfiguration.symbolRenderedEvent)){this.elementConfiguration.symbolRenderedEvent.call(this,a,f)}}}};YAHOO.ostluft.KarteManager.prototype._renderMesswertBox=function(f,c,b){var d="karte-"+f.karte.karte_ame+"-messwert-"+f.messstation.messstation_id+"-box";var e="messwert-"+f.messstation.messstation_id+"-box";var a=f.parentElement.appendChild(document.createElement("div"));YAHOO.util.Dom.addClass(a,"messstation-box");YAHOO.util.Dom.addClass(a,e);a.id=d;YAHOO.util.Dom.setXY(a,[c[0]+parseInt(f.messstation.x_box),c[1]+parseInt(f.messstation.y_box)]);a.appendChild(document.createTextNode(b));return a};YAHOO.ostluft.KarteManager.prototype.onUpdateTimer=function(b,a){this.initTimer(true)};YAHOO.ostluft.KarteManager.messstationContextMenuHandler=function(h){var j=YAHOO.util.Event.getTarget(h);var b=YAHOO.util.Dom.get("messstation-menu");var f=YAHOO.util.Dom.getXY(j);var d=this.messstation.messstation.typ;var i=this.messstation.messstation.URL;f[0]-=2;f[1]-=2;YAHOO.util.Dom.setStyle(b,"display","block");YAHOO.util.Dom.setXY(b,f);var c=YAHOO.util.Dom.get("messstation-menu-verlauf");c.href="./index.php?id=8&messstation_id="+this.messstation.messstation_id;if(this.karteManager.messgroesseSelected){c.href+="&messgroesse_id="+this.karteManager.messgroesseSelected.messgroesse_id}if(d=="standort_idbluft"){var a=YAHOO.util.Dom.get("messstation-menu-jahresentwicklung");var g=YAHOO.util.Dom.get("messstation-menu-beschreibung");YAHOO.util.Dom.setStyle(a,"display","none");if(i==null||i==""||i=="undefined"){YAHOO.util.Dom.setStyle(g,"display","none")}else{YAHOO.util.Dom.setStyle(g,"display","inline");g.href=i;g.target="_blank"}}else{var k=YAHOO.util.Dom.get("messstation-menu-jahresentwicklung");YAHOO.util.Dom.setStyle(k,"display","inline");k.href="./index.php?id=60&tx_ostluft_pi3_view=detail&tx_ostluft_pi3_messstation="+this.messstation.messstation_id;var k=YAHOO.util.Dom.get("messstation-menu-beschreibung");YAHOO.util.Dom.setStyle(k,"display","inline");k.href="./index.php?id=131&view=detail&messstation_id="+this.messstation.messstation_id}};YAHOO.ostluft.KarteManagerUtility=function(){};YAHOO.ostluft.KarteManagerUtility.createISODate=function(e){var b=parseInt(e.getDate());b=(parseInt(b)<10)?"0"+String(b):String(b);var f=parseInt(e.getMonth())+1;f=f<10?"0"+f:f;var d=parseInt(e.getFullYear());var a=parseInt(e.getHours());a=(parseInt(a)<10)?"0"+String(a):String(a);var c=parseInt(e.getMinutes());c=c<10?"0"+c:c;var h=parseInt(e.getSeconds());h=h<10?"0"+h:h;var g=parseInt(Math.abs(e.getTimezoneOffset())/60);g=(g<10)?"0"+g:g;g=(e.getTimezoneOffset()<0)?"+"+String(g)+":00":"-"+String(g)+":00";return d+"-"+f+"-"+b+"T"+a+":"+c+":"+h+g};YAHOO.ostluft.KarteManagerUtility.calculateStartZeit=function(c,b){var a=c;switch(b.dauereinheit){case"Minute":a=new Date(c.getFullYear(),c.getMonth(),c.getDate(),c.getHours(),c.getMinutes()-b.dauerzeit,c.getSeconds());break;case"Hour":a=new Date(c.getFullYear(),c.getMonth(),c.getDate(),c.getHours()-b.dauerzeit,c.getMinutes(),c.getSeconds());break;case"Day":a=new Date(c.getFullYear(),c.getMonth(),c.getDate()-b.dauerzeit,c.getHours(),c.getMinutes(),c.getSeconds());break;case"Month":a=new Date(c.getFullYear(),c.getMonth()-b.dauerzeit,c.getDate()-b.dauerzeit,c.getHours(),c.getMinutes(),c.getSeconds());break;case"Year":a=new Date(c.getFullYear()-b.dauerzeit,c.getMonth(),c.getDate()-b.dauerzeit,c.getHours(),c.getMinutes(),c.getSeconds());break}return a};
