/*
* Copyright (c) 2010 Sascha Hendel - http://www.archinform.net
*/
var storePoi=new Array();var mMapFrm;var mMapFrmLoaded=false;var mMapLoadFlag=false;var oMapFrm;var oMapFrmLoaded=false;var oMapLoadFlag=false;var osm=false;var gMap;var pano;var spPoly;var spDisp=false;var gOvlLst=new Array();$('mapBox').onmouseover=function(){this.addClassName('mapBoxAct');$$('.mapcon').invoke('removeClassName','mapcon').invoke('addClassName','mapact')};$('mapBox').onmouseout=function(){this.removeClassName('mapBoxAct');$$('.mapact').invoke('removeClassName','mapact').invoke('addClassName','mapcon')};var tabMapSelected;var tabMapG;var tabMapM;var tabMapO;var evOrg='';var mapslide;var mapslideValPreset=0.7;var mapslideVal=1;var viewFlg;var BuffPosX;var BuffPosY;var BuffPosZoom;var BuffPosLock=false;var spFlg=true;var dombuffer;var icoMapSizeToggle;var elemdummy=new Element('div');var elembuffer;var mapheight=350;var status;var tyStr=new Array;tyStr[1]='arch';tyStr[10]='projekte';var newMrk=false;var mrkLst=new Array;var init_x=7;var init_y=53;var init_z=10;var wx_min;var wy_min;var wx_max;var wy_max;var ctrx=0;var ctry=0;var zlvl=0;var gl_all=0;var gl_max=30;var gl_plt=false;var gl_req;var gl_pro=new Array();var gl_i;var mloc="";var opt_keyw="";var opt_lvls="";var dPoi;var zService;var dDisplay;var dService;function bearing(from,to){var toRad=Math.PI/180;var toDeg=180/Math.PI;var lat1=from.lat()*toRad;var lon1=from.lng()*toRad;var lat2=to.lat()*toRad;var lon2=to.lng()*toRad;var angle=-Math.atan2(Math.sin(lon1-lon2)*Math.cos(lat2),Math.cos(lat1)*Math.sin(lat2)-Math.sin(lat1)*Math.cos(lat2)*Math.cos(lon1-lon2));if(angle<0){angle+=Math.PI*2}angle=angle*toDeg;return angle}function handleErr(errCode){switch(errCode){case "603":alert("Error: Flash doesn't appear to be supported by your browser");break;case "600":alert("Error: Es wurden keine Panoramadaten gefunden.");break;default:alert("Error: "+errCode)}}function xmlExc(req,exc){doLog("The request had a fatal exception thrown: "+exc);unlockGui();closeStatus()}function xmlErr(req,err){doLog("The request had a error thrown: "+err);unlockGui();closeStatus()}function xmlCompl(res){var xmlDoc=res.responseXML;if(mloc==""){if(xmlDoc.childNodes[0].getElementsByTagName("size")){gl_max=parseInt(xmlDoc.childNodes[0].getElementsByTagName("size")[0].getAttribute("max"));gl_all=parseInt(xmlDoc.childNodes[0].getElementsByTagName("size")[0].getAttribute("all"));if(xmlDoc.childNodes[0].getElementsByTagName("ownpos")[0]){myPos[0]=parseFloat(xmlDoc.childNodes[0].getElementsByTagName("ownpos")[0].getAttribute("status"));if(myPos[0]==1){myPos[1]=parseFloat(xmlDoc.childNodes[0].getElementsByTagName("ownpos")[0].getAttribute("lat"));myPos[2]=parseFloat(xmlDoc.childNodes[0].getElementsByTagName("ownpos")[0].getAttribute("lng"));myPos[3]=parseInt(xmlDoc.childNodes[0].getElementsByTagName("ownpos")[0].getAttribute("acc"))}}if(xmlDoc.childNodes[0].getElementsByTagName("zlvl")[0]){var tzlvl=parseInt(xmlDoc.childNodes[0].getElementsByTagName("zlvl")[0].getAttribute("ver"));var tctrx=parseFloat(xmlDoc.childNodes[0].getElementsByTagName("cntr")[0].getAttribute("lng"));var tctry=parseFloat(xmlDoc.childNodes[0].getElementsByTagName("cntr")[0].getAttribute("lat"));if((tctrx!==undefined)&&(tctry!==undefined)&&(tzlvl!==undefined)){ctrx=tctrx;ctry=tctry;gMap.setCenter(new google.maps.LatLng(ctry,ctrx));if(tzlvl==0){if(xmlDoc.childNodes[0].getElementsByTagName("bound")[0]){var minX=parseFloat(xmlDoc.childNodes[0].getElementsByTagName("bound")[0].getAttribute("minX"));var minY=parseFloat(xmlDoc.childNodes[0].getElementsByTagName("bound")[0].getAttribute("minY"));var maxX=parseFloat(xmlDoc.childNodes[0].getElementsByTagName("bound")[0].getAttribute("maxX"));var maxY=parseFloat(xmlDoc.childNodes[0].getElementsByTagName("bound")[0].getAttribute("maxY"));if((minX==maxX)&&(minY==maxY)){zlvl=16;gMap.setZoom(zlvl);zService.getMaxZoomAtLatLng(new google.maps.LatLng(ctry,ctrx),function(res){if(res.status==google.maps.MaxZoomStatus.OK){if(res.zoom!=zlvl){if(res.zoom>17){zlvl=17}else{zlvl=res.zoom}setBuffPos(ctrx,ctry,zlvl);gMap.setZoom(zlvl)}}})}else{var bbox=new google.maps.LatLngBounds();bbox.extend(new google.maps.LatLng(minY,minX));bbox.extend(new google.maps.LatLng(maxY,maxX));gMap.fitBounds(bbox);var c=gMap.getCenter();ctrx=c.lng();ctry=c.lat();zlvl=gMap.getZoom()}setBuffPos(ctrx,ctry,zlvl);zService.getMaxZoomAtLatLng(new google.maps.LatLng(ctry,ctrx),function(res){if(res.status==google.maps.MaxZoomStatus.OK){if(res.zoom<zlvl){zlvl=res.zoom;setBuffPos(ctrx,ctry,zlvl);gMap.setZoom(zlvl)}}})}else{zlvl=tzlvl;gMap.setZoom(zlvl);zService.getMaxZoomAtLatLng(new google.maps.LatLng(ctry,ctrx),function(res){if(res.status==google.maps.MaxZoomStatus.OK){if(res.zoom<zlvl){zlvl=res.zoom;setBuffPos(ctrx,ctry,zlvl);gMap.setZoom(zlvl)}}})}}else{zlvl=tzlvl;ctrx=tctrx;ctry=tctry;gMap.setCenter(new google.maps.LatLng(ctry,ctrx));gMap.setZoom(zlvl)}setBuffPos(ctrx,ctry,zlvl);if(status==1){if(!(newMrk)){initMapFinish();}init_x=ctrx;init_y=ctry;init_z=zlvl;status=0}}}gl_pro=xmlDoc.childNodes[0].getElementsByTagName("loc");if(newMrk){if(oMapFrmLoaded){window.setTimeout("oMapFrm.contentWindow.oFrmShowMarkers(true)",1)}else{oMapLoadFlag=true}if(mMapFrmLoaded){window.setTimeout("mMapFrm.contentWindow.mFrmShowMarkers(true)",1)}else{mMapLoadFlag=true}window.setTimeout("showMarkers(true)",1)}}}else{if(xmlDoc.documentElement.getElementsByTagName("data")){mloc="";var data=xmlDoc.documentElement.getElementsByTagName("data");var num=data[0].getAttribute("num");if(num==0){showInfo("Either no records are listed in this location or the location was not understood.");window.setTimeout("closeStatus()",4000)}else{var lat_ctr=data[0].getAttribute("lat");var lon_ctr=data[0].getAttribute("lon");gMap.setCenter(new google.maps.LatLng(lat_ctr,lon_ctr));gMap.setZoom(6);setBuffPos(lon_ctr,lat_ctr,6);if(!(newMrk)){initMapFinish()}getXML()}}}}function lockGui(){tabMapM.addClassName('lckMenu');tabMapG.addClassName('lckMenu');tabMapO.addClassName('lckMenu');gl_plt=true;gMap.setOptions({draggable:false});tglCrit("off")}function unlockGui(){tabMapM.removeClassName('lckMenu');tabMapG.removeClassName('lckMenu');tabMapO.removeClassName('lckMenu');gMap.setOptions({draggable:true});gl_plt=false;tglCrit("on")}function xmlLoad(res){lockGui();showLoadStatus()}function getXML(){var url="";var pars="";if(status==1){url="http://deu.archinform.net/service/mappro.php";pars="status="+status+"&lvl="+opt_lvls+vID3}if(url!=""){var ajx=new Ajax.Request(url,{method:"get",parameters:pars,onCreate:xmlLoad,onException:xmlExc,onFailure:xmlErr,onSuccess:xmlCompl})}}function toggleMarkers(){if(ctShowMrk.checked){if(oMapFrmLoaded){oMapFrm.contentWindow.oFrmToggleMarkers(false)}if(mMapFrmLoaded){mMapFrm.contentWindow.mFrmToggleMarkers(false)}gOvlLst.each(function(el){el.setMap(null)})}else{if(oMapFrmLoaded){oMapFrm.contentWindow.oFrmToggleMarkers(true)}if(mMapFrmLoaded){mMapFrm.contentWindow.mFrmToggleMarkers(true)}gOvlLst.each(function(el){el.setMap(gMap)})}}function updateMarkers(){if(tabMapSelected!=1){var t=getBuffPos();gMap.setCenter(new google.maps.LatLng(t[1],t[0]));gMap.setZoom(t[2])}var bounds=gMap.getBounds();var SW=bounds.getSouthWest();var NE=bounds.getNorthEast();url="http://deu.archinform.net/service/mappro.php";pars="status="+status+"&maxX="+NE.lng()+"&minX="+SW.lng()+"&maxY="+NE.lat()+"&minY="+SW.lat()+"&lvl="+opt_lvls+vID3;if(osm){pars=pars+"&osm"}var ajx=new Ajax.Request(url,{method:"get",parameters:pars,onCreate:xmlLoad,onException:xmlExc,onFailure:xmlErr,onSuccess:xmlCompl})}function showLoadStatus(ix,ttl){if(ttl>0){ctMsgBox.innerHTML=v032+" "+ix+" "+v033+" "+ttl+"…"}else{showLoad(v034+"…")}}function showLoad(str){resetStatus();ctMsgBox.addClassName("Msg");ctMsgBox.addClassName("AIloadmsg");ctMsgBox.innerHTML=str;ctMsg.show()}function showAdvice(str){resetStatus();ctMsgBox.addClassName("Msg");ctMsgBox.addClassName("AIadvmsg");ctMsgBox.innerHTML=str;ctMsg.show()}function showError(str){resetStatus();ctMsgBox.addClassName("Msg");ctMsgBox.addClassName("AIerrmsg");ctMsgBox.innerHTML=str;ctMsg.show()}function showInfo(str){resetStatus();ctMsgBox.addClassName("Msg");ctMsgBox.addClassName("AIinfmsg");ctMsgBox.innerHTML=str;ctMsg.show()}function resetStatus(){ctMsgBox.removeClassName("Msg");ctMsgBox.removeClassName("AIloadmsg");ctMsgBox.removeClassName("AIadvmsg");ctMsgBox.removeClassName("AIerrmsg");ctMsgBox.removeClassName("AIinfmsg");ctMsgBox.innerHTML=""}function closeStatus(){ctMsg.hide();resetStatus()}function closeMenue(){ctTBox.hide()}function ent(key,val){ this.key=key; this.val=val}function cmpkey(in1,in2){ return in1.key-in2.key}function drawCrc(lat,lon,rad,nod,liCol,liW,liOp,fillCol,fillOp){var marker=new google.maps.Circle({center:new google.maps.LatLng(lat,lon),radius:rad,clickable:false,strokeColor:liCol,strokeOpacity:liOp,strokeWeight:liW,fillColor:fillCol,fillOpacity:fillOp,map:ctShowMrk.checked?null:gMap});return marker}function spotMyLoc(p){switch(p[0]){case 0:posRequest();break;case 1:if((p[3]>0)&&(p[3]<3000)){var title=v066+" ("+v067+": "+p[3]+"m)";var marker=newMarker(p[1],p[2],0,title,0);gOvlLst.push(marker);marker=drawCrc(p[1],p[2],p[3],40,"#f33f00",2,1,"#ff0000",0.1);gOvlLst.push(marker)}break;case 2:T3infoBox('POBX','<div class="AIadvmsg Msg">'+v061+'</div>');break}}function markerClick(marker){if(marker.rlna&&marker.rlty){if(document.URL.search(new RegExp(tyStr[marker.rlty]+'/'+marker.rlna))==-1){var conStr='<div class="IBcon">';var ic='';if(marker.cico>-1){var bs;bs='http://media.archinform.net/xs/';ic+=marker.cico;while(ic.length<8){ic='0'+ic}conStr+='<img style="float:left;margin:0 4px 4px 0" src="'+bs+ic+'.jpg" />'}conStr+='<a href="http://deu.archinform.net/'+tyStr[marker.rlty]+'/'+marker.rlna+'.htm'+vID+'">';conStr+=marker.title;conStr+='</a>';conStr+='</div>';var iwin=new google.maps.InfoWindow({content:conStr});iwin.open(gMap,marker);}else{gMap.setCenter(marker.getPosition());gMap.setZoom(gMap.getZoom()+1)}}}var menueTO;function markerRightClick(marker,e){ctTBox.innerHTML='';ctTBox.show();menueUse(marker);var tmpo;if(myPos[0]==1){dPoi=marker.getPosition();if(!(dPoi.equals(new google.maps.LatLng(myPos[1],myPos[2])))){tmpo=new Element('input',{'type':"button",'class':"button",'value':v080});tmpo.setStyle({"float":"left",margin:"5px"});tmpo.observe('click',getDirection);ctTBox.appendChild(tmpo);tmpo=new Element('select',{"id":"dirtrav","name":"dirtrav","size":"1"});tmpo.setStyle({"float":"left",margin:"5px"});var tmpp=new Element('option',{"value":"0"});tmpp.update(v082);tmpo.appendChild(tmpp);tmpp=new Element('option',{"value":"1"});tmpp.update(v083);tmpo.appendChild(tmpp);tmpp=new Element('option',{"value":"2"});tmpp.update(v084);tmpo.appendChild(tmpp);ctTBox.appendChild(tmpo)}}ovpoi=marker;tmpo=new Element('input',{'type':"button",'class':"button",'value':v045});tmpo.setStyle({margin:"5px"});tmpo.observe('click',garminload);ctTBox.appendChild(tmpo);ctTBox.observe('mouseout',function(){menueTO=window.setTimeout("closeMenue()",10000)});ctTBox.observe('mouseover',function(){window.clearTimeout(menueTO)})}function spot(d){var acc;var lvltxt;switch(d[3]){case 9: acc=1;lvltxt=v035;break;case 1: acc=2;lvltxt=v036;break;case 2: acc=3;lvltxt=v037;break;case 3:case 4:case 5: acc=4;lvltxt=v038;break;default: acc=0;lvltxt=v039}var gTitle=d[5];if((d[10]!=null)&&(d[10]!="")){gTitle+=" ("+d[10]+")"}gTitle+=", "+lvltxt;var marker=newMarker(d[1],d[0],d[6],gTitle,d[2]);marker.acc=acc;if(d[5]){marker.name=d[5]}if(d[11]){marker.loc=d[11]}if(d[7]){marker.rlty=d[7];marker.rlna=d[8]}marker.cico=d[9];if(!(isNaN(d[4]))){marker.ai_ord=d[4]}google.maps.event.addListener(marker,"click",function(){markerClick(marker)});google.maps.event.addListener(marker,"rightclick",function(e){markerRightClick(marker,e)});google.maps.event.addListener(marker,"mouseover",function(){if(marker.loc){if($('locE'+marker.loc)){$('locE'+marker.loc).setStyle({backgroundColor:'#ccc'})}}});google.maps.event.addListener(marker,"mouseout",function(){if(marker.loc){if($('locE'+marker.loc)){$('locE'+marker.loc).setStyle({backgroundColor:'#fff'})}}});gOvlLst.push(marker);}function spotPolygon(pco,d){if(d.length>0){var gOvl=new google.maps.Polygon({path:pco,strokeColor:"#99CC00",strokeOpacity:0.8,strokeWeight:2,fillColor:"#97989C",fillOpacity:0.4,clickable:true,map:ctShowMrk.checked?null:gMap});spotPolySub(gOvl,d)}}function spotPolyline(pco,d){if(d.length>0){var gOvl=new google.maps.Polyline({path:pco,strokeColor:"#99CC00",strokeOpacity:0.8,strokeWeight:2,clickable:true,map:ctShowMrk.checked?null:gMap});spotPolySub(gOvl,d)}}function spotPolySub(gOvl,d){if(d[5]){gOvl.name=d[5];gOvl.title=d[5]}if(d[11]){gOvl.loc=d[11]}if(d[7]){gOvl.rlty=d[7];gOvl.rlna=d[8]}gOvl.cico=d[9];gOvl.position=new google.maps.LatLng(d[1],d[0]);google.maps.event.addListener(gOvl,"click",function(){markerClick(gOvl)});google.maps.event.addListener(gOvl,"rightclick",function(e){markerRightClick(gOvl,e)});google.maps.event.addListener(gOvl,"mouseover",function(){if(gOvl.loc){if($('locE'+gOvl.loc)){$('locE'+gOvl.loc).setStyle({backgroundColor:'#ccc'})}}this.setOptions({strokeWeight:4,fillColor:"#CCCCCC",fillOpacity:0.4})});google.maps.event.addListener(gOvl,"mouseout",function(){if(gOvl.loc){if($('locE'+gOvl.loc)){$('locE'+gOvl.loc).setStyle({backgroundColor:'#fff'})}}this.setOptions({strokeWeight:2,fillColor:"#97989C",fillOpacity:0.4})});gOvlLst.push(gOvl)}function getDirection(){if(myPos[0]!==1){showError("no or unexact home location");window.setTimeout("closeStatus()",4000)}else{var myLoc=new google.maps.LatLng(myPos[1],myPos[2]);if(dPoi.equals(myLoc)){showError("Start = End");window.setTimeout("closeStatus()",4000)}else{var optTravelMode=google.maps.DirectionsTravelMode.DRIVING;var optAvoidHighways=false;if($('dirtrav')!=undefined){var optDirtrav=$('dirtrav').options[$('dirtrav').selectedIndex].value;switch(optDirtrav){case "1":optAvoidHighways=true;break;case "2":optTravelMode=google.maps.DirectionsTravelMode.WALKING}}var req={origin:myLoc,destination:dPoi,unitSystem:google.maps.DirectionsUnitSystem.METRIC,provideRouteAlternatives:false,travelMode:optTravelMode,avoidHighways:optAvoidHighways,avoidTolls:true};showLoad(v079);dService.route(req,function(res,st){switch(st){case google.maps.DirectionsStatus.OK:window.setTimeout("closeStatus()",300);if($("navdirs")==undefined){T3infoBox('NAVD','<div id="navdirs" />')}dDisplay.setPanel($('navdirs'));dDisplay.setDirections(res);break;case google.maps.DirectionsStatus.ZERO_RESULTS:showError(v089);break;case google.maps.DirectionsStatus.NOT_FOUND:case google.maps.DirectionsStatus.MAX_WAYPOINTS_EXCEEDED:case google.maps.DirectionsStatus.INVALID_REQUEST:case google.maps.DirectionsStatus.OVER_QUERY_LIMIT:case google.maps.DirectionsStatus.REQUEST_DENIED:case google.maps.DirectionsStatus.UNKNOWN_ERROR:showError(v090)}window.setTimeout("closeStatus()",4000)})}}closeMenue()}function showMarkers(st){if(st){gl_i=0}if(gl_i==0){var tMrk;while(gOvlLst.length>0){tMrk=gOvlLst.shift();tMrk.setMap(null);tMrk=null}}if(gl_i<gl_max){if(gl_i<gl_pro.length){var ml;if(gl_pro.length>gl_max){ml=gl_max}else{ml=gl_pro.length}if(tabMapSelected==1){showLoadStatus(gl_i,ml)}var tCtr=gMap.getCenter();var max=Math.min(gl_i+10,gl_pro.length);var page=Math.floor(tCtr.x/360)*360;while(gl_i<max){var j=0;var listing=0;var type=parseInt(gl_pro[gl_i].getElementsByTagName("type")[0].getAttribute("ver"));type=1;var name="";if(gl_pro[gl_i].getElementsByTagName("name")[0].firstChild){name=gl_pro[gl_i].getElementsByTagName("name")[0].firstChild.data}if(gl_pro[gl_i].getElementsByTagName("rel")[0]){var loc=parseInt(gl_pro[gl_i].getElementsByTagName("rel")[0].getAttribute("loc"));var rlna=parseInt(gl_pro[gl_i].getElementsByTagName("rel")[0].getAttribute("name"));var rlty=parseInt(gl_pro[gl_i].getElementsByTagName("rel")[0].getAttribute("type"))}else{var proid=false}var imgid=-1;if(gl_pro[gl_i].getElementsByTagName("img")[0]){imgid=parseInt(gl_pro[gl_i].getElementsByTagName("img")[0].getAttribute("imgid"))}var gl_coord=gl_pro[gl_i].getElementsByTagName("coord");if(gl_coord.length>0){var points=new Array();var pointsinfo=new Array();var dat;for(var j=0;j<gl_coord.length;j++){dat=new Array();dat[0]=parseFloat(gl_coord[j].getAttribute("lng"));dat[1]=parseFloat(gl_coord[j].getAttribute("lat"));if(Math.abs(tCtr.x)>90){while(dat[0]<page){dat[0]+=360}while(dat[0]>page+360){dat[0]-=360}}dat[2]=gl_coord[j].getAttribute("id");dat[3]=parseInt(gl_coord[j].getAttribute("lvl"));dat[4]=parseInt(gl_coord[j].getAttribute("ord"));dat[5]=name;dat[6]=type;dat[7]=rlty;dat[8]=rlna;dat[9]=imgid;dat[10]=gl_coord[j].getAttribute("title");dat[11]=loc;dat[12]=new google.maps.LatLng(dat[1],dat[0]);if(dat[4]<0){spot(dat)}else{points.push(new ent(dat[4],dat))}if((pointsinfo.length==0)||(dat[4]<0)){pointsinfo=dat}}if(points.length>0){points.sort(cmpkey);var plne=false;if(points[0].key>0){plne=true}var pco=new Array();while(points.length>0){var tpo=points.shift().val;if((gl_coord.length==points.length)&&((tpo[4]==0)||((plne)&&(tpo[4]==1)))){spot(tpo)}else{spotUse(tpo)}pco.push(tpo[12])}if(!(pointsinfo[15])){pointsinfo[15]=pco[0]}if(plne){spotPolyline(pco,pointsinfo)}else{pco.push(pco[0]);spotPolygon(pco,pointsinfo)}}}gl_i++}}else{gl_i=gl_max}window.setTimeout("showMarkers(false)",400)}else{spotMyLoc(myPos);if(tabMapSelected==1){closeStatus()}unlockGui();if(gl_all>gl_max){if(tabMapSelected==1){showAdvice(v022+" "+gl_max+" "+v023+" ("+gl_all+") "+v024)}}else if(gl_pro.length==0){if(tabMapSelected==1){window.setTimeout("showInfo(v065)",1);window.setTimeout("closeStatus()",4000)}}}}function closeMap(){}function toggleMapSize(){if($("MenueMAPI").hasClassName('bigMap')){mapSetHeight(mapheight);icoMapSizeToggle.writeAttribute({'src':"http://icon.archinform.net/ml.gif"});$("MenueMAPI").removeClassName('bigMap');$$(".xclMap").invoke('removeClassName','xclMap');$("row3").setStyle({display:'block'});umbruch()}else{show=false;$("row3").setStyle({display:'none'});$$(".mwin, .nwin, .twin, #imgbox, #imgbar, #MenueMAPIStatusImg, #MenueMAPIHead, .logobox").invoke('addClassName','xclMap');$("MenueMAPI").removeClassName('xclMap');$("MenueMAPI").addClassName('bigMap');mapSetHeight(document.viewport.getHeight()-47);icoMapSizeToggle.writeAttribute({'src':"http://icon.archinform.net/ms.gif"})}mapResize()}function displayMap(){google.load("maps","3.x",{"locale":vLA2,"callback":displayMapLoaded,"other_params":"sensor=false"})}var ctMsg=$('loading');var ctDiv=$('panel');var ctTBox=$('message');var ctMsgBox=new Element('div');ctMsg.appendChild(ctMsgBox);var ctShowMrk;var ctShowMrkCon;var ctMapFC;var ctRfrMap;function displayMapLoaded(){$$('#MenueMAPIParent div').invoke('remove');closeMenue();var x;var y;ctShowMrkCon=new Element('div',{"class":"optionCon"});ctShowMrk=new Element('input',{"class":"checkbox","type":"checkbox","id":"showMrk","name":"showMrk"});ctShowMrk.observe('click',toggleMarkers);ctShowMrkCon.appendChild(ctShowMrk);var tmpEl=new Element('label',{"for":"showMrk"});tmpEl.innerHTML=v031;ctShowMrkCon.appendChild(tmpEl);ctDiv.appendChild(ctShowMrkCon);ctMapFC=new Element('form',{"action":"","method":"post","id":"mapFC","name":"mapFC"});ctDiv.appendChild(ctMapFC);x=new Element('select',{"id":"lvls","name":"lvls","size":"1"});x.setStyle({width:"100%"});x.observe('change',optFilter);y=new Element('option',{"value":"0"});y.update(v025);x.appendChild(y);y=new Element('option',{"value":"1"});y.update(v026);x.appendChild(y);ctMapFC.appendChild(x);ctRfrMap=new Element('input',{"class":"button","type":"button","id":"refrMap","name":"refrMap",value:v030});ctRfrMap.setStyle({width:"100%",visibility:"hidden"});ctRfrMap.observe('click',updateMarkers);ctDiv.appendChild(ctRfrMap);$('mapBox').setStyle({height:mapheight+'px'});mapslide=new Control.Slider('mapsliderhandler','mapslider',{sliderValue:1,onChange:function(v){mapslide.trackLength=mapslide.maximumOffset()-mapslide.minimumOffset();if((viewFlg)&&(v!=mapslideVal)){$('view').setStyle({width:(Math.round((1-v)*100))+'%'});$('map').setStyle({width:(Math.round(v*100))+'%'});mapResize(false)}mapslideVal=v},onSlide:function(v){if((viewFlg)&&(v!=mapslideVal)){$('view').setStyle({width:(Math.round((1-v)*100))+'%'});$('map').setStyle({width:(Math.round(v*100))+'%'});mapResize(false)}mapslideVal=v}});$('mapslider').hide();viewFlg=false;var tnd=$('MenueMAPIStatusImg');tabMapO=new Element('div',{'title':v046});tabMapO.addClassName('mpdsubmenu');tabMapO.innerHTML=v046;if(tnd.nextSibling==null){tnd.parentNode.appendChild(tabMapO)}else{tnd.parentNode.insertBefore(tabMapO,tnd.nextSibling)}tabMapO.onclick=function(){switchMapO()};tabMapM=new Element('div',{'title':v041});tabMapM.addClassName('mpdsubmenu');tabMapM.innerHTML=v041;if(tnd.nextSibling==null){tnd.parentNode.appendChild(tabMapM)}else{tnd.parentNode.insertBefore(tabMapM,tnd.nextSibling)}tabMapM.onclick=function(){switchMapM()};tabMapG=new Element('div',{'title':v042});tabMapG.addClassName('mpdsubmenu');tabMapG.addClassName('actMenu');tabMapG.innerHTML=v042;if(tnd.nextSibling==null){tnd.parentNode.appendChild(tabMapG)}else{tnd.parentNode.insertBefore(tabMapG,tnd.nextSibling)}tabMapG.onclick=function(){switchMapG()};tabMapSelected=1;mMapFrm=new Element('iframe',{id:'mMapFrm',width:'100%',height:'100%','src':'/system/mmap.htm','frameborder':'0','scrolling':'no'});$('mmap').appendChild(mMapFrm);Event.observe(mMapFrm,'load',function(){mMapFrmLoaded=true;});oMapFrm=new Element('iframe',{id:'oMapFrm',width:'100%',height:'100%','src':'/system/omap.htm','frameborder':'0','scrolling':'no'});$('omap').appendChild(oMapFrm);Event.observe(oMapFrm,'load',function(){oMapFrmLoaded=true;});$('mmap').hide();$('omap').hide();icoMapSizeToggle=new Element('img',{'src':"http://icon.archinform.net/ml.gif",'title':v040});icoMapSizeToggle.addClassName('icoMpdSpec');if(tnd.nextSibling==null){tnd.parentNode.appendChild(icoMapSizeToggle)}else{tnd.parentNode.insertBefore(icoMapSizeToggle,tnd.nextSibling)}icoMapSizeToggle.onclick=function(){toggleMapSize()};google.maps.Polyline.prototype.getPosition=function(){return this.position};google.maps.Polygon.prototype.getPosition=function(){return this.position};gMap=new google.maps.Map($('map'),{backgroundColor:'transparent',mapTypeControl:true,mapTypeControlOptions:{mapTypeIds:[google.maps.MapTypeId.HYBRID,google.maps.MapTypeId.ROADMAP,google.maps.MapTypeId.SATELLITE,google.maps.MapTypeId.TERRAIN],position:google.maps.ControlPosition.RIGHT_TOP,style:google.maps.MapTypeControlStyle.DROPDOWN_MENU},navigationControl:true,navigationControlOptions:{position:google.maps.ControlPosition.RIGHT_CENTER,style:google.maps.NavigationControlStyle.SMALL},scaleControl:true,scaleControlOptions:{position:google.maps.ControlPosition.LEFT_BOTTOM,style:google.maps.ScaleControlStyle.DEFAULT},draggable:true,mapTypeId:google.maps.MapTypeId.HYBRID,streetViewControl:true});pano=new google.maps.StreetViewPanorama($('view'),{enableCloseButton:true,pov:{heading:34,pitch:10,zoom:1}});gMap.setStreetView(pano);pano.setVisible(false);zService=new google.maps.MaxZoomService();dService=new google.maps.DirectionsService();dDisplay=new google.maps.DirectionsRenderer({map:gMap,preserveViewport:true});Event.observe(document.onresize?document:window,'resize',mapResize);ctDiv.show();getXML();}function mapSetHeight(nh){$('map').setStyle({height:nh+'px'});$('mmap').setStyle({height:nh+'px'});$('omap').setStyle({height:nh+'px'});$('view').setStyle({height:nh+'px'});$('mapBox').setStyle({height:nh+'px'})}function mapResize(sldFlg){if(sldFlg===undefined){var sldFlg=true}if($("MenueMAPI").hasClassName('bigMap')){mapSetHeight(document.viewport.getHeight()-47)}else{mapSetHeight(mapheight)}if(!Object.isUndefined(gMap)){google.maps.event.trigger(gMap,'resize')}if(!Object.isUndefined(pano)){google.maps.event.trigger(pano,'resize')}if(sldFlg){if(!Object.isUndefined(mapslide)){mapslide.setValue(mapslideVal);mapslide.setValue(mapslideVal)}}if(oMapFrmLoaded){oMapFrm.contentWindow.oFrmResize()}if(mMapFrmLoaded){var stmp=$('mapBox').getDimensions();mMapFrm.contentWindow.mFrmResize(stmp.width,stmp.height)}}function switchMapO(){if((!gl_plt)&&(tabMapSelected!=3)){$('mmap').hide();$('map').hide();$('view').hide();if(viewFlg){$('mapslider').hide()};$('omap').show();if(oMapFrmLoaded){oMapFrm.contentWindow.oFrmResize()}tabMapM.removeClassName('actMenu');tabMapG.removeClassName('actMenu');tabMapO.addClassName('actMenu');if(oMapFrmLoaded){var t=getBuffPos();oMapFrm.contentWindow.oFrmSetCtrAndZoom(t[1],t[0],t[2])}tabMapSelected=3}}function switchMapM(){if((!gl_plt)&&(tabMapSelected!=2)){$('omap').hide();$('map').hide();$('view').hide();if(viewFlg){$('mapslider').hide()};$('mmap').show();if(mMapFrmLoaded){var stmp=$('mapBox').getDimensions();mMapFrm.contentWindow.mFrmResize(stmp.width,stmp.height)}tabMapO.removeClassName('actMenu');tabMapG.removeClassName('actMenu');tabMapM.addClassName('actMenu');tabMapSelected=2}}function switchMapG(){if((!gl_plt)&&(tabMapSelected!=1)){$('omap').hide();$('mmap').hide();$('view').show();if(!Object.isUndefined(pano)){google.maps.event.trigger(pano,'resize')}$('map').show();if(!Object.isUndefined(gMap)){google.maps.event.trigger(gMap,'resize')}if(viewFlg){$('mapslider').show()}tabMapO.removeClassName('actMenu');tabMapM.removeClassName('actMenu');tabMapG.addClassName('actMenu');var t=getBuffPos();gMap.setCenter(new google.maps.LatLng(t[1],t[0]));gMap.setZoom(t[2]);tabMapSelected=1}}function syncRealtime(){if(mMapFrm.contentWindow['mFrmInit']===true){var t=getBuffPos();mMapFrm.contentWindow.mFrmSetCtrAndZoom(t[1],t[0],t[2])}}function setBuffPos(tx,ty,tzlvl){if(BuffPosLock){}else{BuffPosLock=true;BuffPosX=tx;BuffPosY=ty;BuffPosZoom=tzlvl;BuffPosLock=false}}function getBuffPos(){var t=new Array;t[0]=BuffPosX;t[1]=BuffPosY;t[2]=BuffPosZoom;return t}function birdviewIcon(flg){if(flg){tabMapM.innerHTML='<img src="http://icon.archinform.net/birdview.gif" alt="birdview" title="'+v043+'" />'+v041}else{tabMapM.innerHTML=v041}}function mInit(){if(mMapFrmLoaded){if(mMapFrm.contentWindow['mFrmInit']===false){mMapFrm.contentWindow.mFrmMapInit()}}else{setTimeout("mInit()",200)}}function oInit(){if(oMapFrmLoaded){if(oMapFrm.contentWindow['oFrmInit']===false){oMapFrm.contentWindow.oFrmMapInit()}}else{setTimeout("oInit()",200)}}var initfloat=true;function panofloat(){var pov=pano.getPov();pov.heading=pov.heading+1;pano.setPov(pov)}function initMapFinish(){newMrk=true;mInit();oInit();google.maps.event.addListener(pano,"visible_changed",function(){if(pano.getVisible()){viewFlg=true;mapResize();if(initfloat){initfloat=false;setTimeout("panofloat()",2000)}$('mapslider').show();if(mapslideVal==1){mapslide.setValue(mapslideValPreset);mapslide.setValue(mapslideValPreset)}}});google.maps.event.addListener(pano,"closeclick",function(){spPoly.setMap(null);spPoly=null;spDisp=false;mapslideValPreset=mapslideVal;mapslide.setValue(1);mapslide.setValue(1);viewFlg=false;$('mapslider').hide();pano.setVisible(false);mapResize()});google.maps.event.addListener(pano,"position_changed",function(){if(spFlg){;spFlg=false;var panPnt=pano.getPosition();if(spDisp){var path=spPoly.getPath();path.push(panPnt);spPoly.setPath(path)}else{spPoly=new google.maps.Polyline({path:[panPnt],strokeColor:"#FF0000",strokeOpacity:0.8,strokeWeight:3,map:gMap});var pov=pano.getPov();pov.heading=bearing(panPnt,new google.maps.LatLng(ctry,ctrx));pano.setPov(pov);spDisp=true}spFlg=true}});google.maps.event.addListener(pano,"pov_changed",function(yaw){});ctRfrMap.setStyle({visibility:"visible"});google.maps.event.addListener(gMap,'bounds_changed',function(){var c=gMap.getCenter();ctrx=c.lng();ctry=c.lat();zlvl=gMap.getZoom();if(tabMapSelected==1){setBuffPos(ctrx,ctry,zlvl);syncRealtime()}});google.maps.event.addListener(gMap,"dragstart",function(){closeMenue();closeStatus()});google.maps.event.addListener(gMap,"dragend",function(){var center=gMap.getCenter();var zoom=gMap.getZoom();if((zlvl!=zoom)||(ctrx!=center.lng())||(ctry!=center.lat())){ctrx=center.lng();ctry=center.lat();zlvl=zoom;if(gl_plt==false){setTimeout("getXML()",2000)}}});google.maps.event.addListener(gMap,"click",function(e){closeMenue();closeStatus()});tglCrit("off")}function resetMap(){opt_keyw="";opt_lvls="";mloc="";ctMapFC.lvls.selectedIndex=0;gMap.setCenter(new google.maps.LatLng(init_y,init_x));gMap.setZoom(init_z);}function resetCriteria(input){opt_keyw="";opt_lvls="";if(input!="lvls"){ctMapFC.lvls.selectedIndex=0}}function tglCrit(input,init){if(input=="off"){if(init==true){for(x=0;x<ctMapFC.elements.length;x++){if(ctMapFC.elements[x].name!="loca" && ctMapFC.elements[x].name!="search" && ctMapFC.elements[x].name!="reset" && ctMapFC.elements[x].name!="spot"){ctMapFC.elements[x].disabled=true;}}}else{for(x=0;x<ctMapFC.elements.length;x++){if(ctMapFC.elements[x].name!="loca" && ctMapFC.elements[x].name!="search" && ctMapFC.elements[x].name!="reset" && ctMapFC.elements[x].name!="spot"){ctMapFC.elements[x].disabled=true;}}}}else{for(x=0;x<ctMapFC.elements.length;x++){if(ctMapFC.elements[x].name!="loca" && ctMapFC.elements[x].name!="search"){ctMapFC.elements[x].disabled=false;}}}}function getosm(){osm=true;updateMarkers()}function optFilter(){optLvls();updateMarkers()}function optLvls(){var obj=$("lvls");opt_lvls=obj.options[obj.selectedIndex].value;if(opt_lvls==0){opt_lvls=""}}function optSpot(){var obj=ctMapFC.spot;var arr=obj.options[obj.selectedIndex].value.split(",");gMap.setCenter(new google.maps.LatLng(arr[1],arr[0]));gMap.setZoom(6);resetCriteria("spot");setTimeout("getXML()",1)}function optLoca(){ctMapFC.spot.selectedIndex=0;mloc=ctMapFC.loca.value;if(mloc==""){return} else{resetCriteria("loca")} getXML()}function tomtomload(){}var garminLoaded=false;var ovpoi=new Object;function garminload(){gMap.setOptions({draggable:false});tglCrit("off");closeMenue();if(!garminLoaded){showLoad(v044);if(PluginDetect.detectGarminCommunicatorPlugin()){var con=new Element('div');$$("body")[0].appendChild(con);var obj;if(window.ActiveXObject){obj=new Element('object');con.appendChild(obj);obj.writeAttribute({'id':"GarminActiveXControl",'classid':"CLSID:099B5A62-DE20-48C6-BF9E-290A9D1D8CB5",'height':"0",'width':"0"})}else{obj=new Element('object',{'id':"GarminNetscapePlugin",'type':"application/vnd-garmin.mygarmin",'height':"0",'width':"0"}).update('&#160');con.appendChild(obj)}}$$('head')[0].appendChild(new Element('script',({'type':'text/javascript','src':'/inc/garmin.js'})));garminLoaded=true;return}closeStatus();ctMsg.show();ctMsgBox.id="garminBox";var display=new Garmin.DeviceDisplay('garminBox',{pathKeyPairsArray: ["http://"+vLA3+".archinform.net",vCOg],unlockOnPageLoad: false,hideIfBrowserNotSupported: true,showStatusElement: true,showFindDevicesElement: true,autoFindDevices: true,showCancelFindDevicesButton: true,autoSelectFirstDevice: true,autoReadData: false,autoWriteData: true,showReadDataElement: false,findDevicesButtonText: v050,cancelFindDevicesButtonText: v051,noDeviceDetectedStatusText: v052,pluginNotUnlocked: v053,writingToDevice: v054,writtenToDevice: v055,lookingForDevices: v056,foundDevice: v057,findCancelled: v058,getWriteData: function(){var title="P "+ovpoi.rlna+"-"+ovpoi.acc;var waypoint=new Garmin.WayPoint(ovpoi.getPosition().lat(),ovpoi.getPosition().lng(),null,title,null,ovpoi.name,"building");var factory=new Garmin.GpsDataFactory();var gpx=factory.produceGpxString(null,[waypoint]);return gpx},afterFinishWriteToDevice: function(){closeStatus();tglCrit("on");gMap.setOptions({draggable:true})}})}
