function DragZoomControl(a,b,c){this.globals={draggingOn:false,cornerTopDiv:null,cornerRightDiv:null,cornerBottomDiv:null,cornerLeftDiv:null,mapPosition:null,outlineDiv:null,mapWidth:0,mapHeight:0,mapRatio:0,startX:0,startY:0,borderCorrection:0};this.globals.style={opacity:.2,fillColor:"#000",border:"2px solid blue"};var d=this.globals.style;for(var s in a){d[s]=a[s]}var e=d.border.split(' ');d.outlineWidth=parseInt(e[0].replace(/\D/g,''));d.outlineColor=e[2];d.alphaIE='alpha(opacity='+(d.opacity*100)+')';this.globals.backStack=[];this.globals.options={buttonHTML:'zoom ...',buttonStartingStyle:{width:'52px',border:'1px solid black',padding:'2px'},buttonStyle:{background:'#FFF'},backButtonHTML:'zoom back',backButtonStyle:{background:'#FFF',display:'none'},buttonZoomingHTML:'Drag a region on the map',buttonZoomingStyle:{background:'#FF0'},overlayRemoveTime:6000,backButtonEnabled:false,stickyZoomEnabled:false};for(var s in b){this.globals.options[s]=b[s]}if(c==null){c={}}this.globals.callbacks=c}
DragZoomControl.prototype=new GControl();DragZoomControl.prototype.saveMapContext=function(a){if(this.globals.options.backButtonEnabled){this.saveBackContext_(a,true);this.globals.backButtonDiv.style.display='block'}};DragZoomControl.prototype.initiateZoom=function(){this.buttonclick_()};DragZoomControl.prototype.initiateZoomBack=function(){if(this.globals.options.backButtonEnabled)this.backbuttonclick_()};DragZoomControl.prototype.initButton_=function(a){var G=this.globals;var b=document.createElement('div');b.innerHTML=G.options.buttonHTML;b.id='gzoom-control';DragZoomUtil.style([b],{cursor:'pointer',zIndex:200});DragZoomUtil.style([b],G.options.buttonStartingStyle);DragZoomUtil.style([b],G.options.buttonStyle);a.appendChild(b);return b};DragZoomControl.prototype.initBackButton_=function(a){var G=this.globals;var b=document.createElement('div');b.innerHTML=G.options.backButtonHTML;b.id='gzoom-back';DragZoomUtil.style([b],{cursor:'pointer',zIndex:200});DragZoomUtil.style([b],G.options.buttonStartingStyle);DragZoomUtil.style([b],G.options.backButtonStyle);a.appendChild(b);return b};DragZoomControl.prototype.setButtonMode_=function(a){var G=this.globals;if(a=='zooming'){G.buttonDiv.innerHTML=G.options.buttonZoomingHTML;DragZoomUtil.style([G.buttonDiv],G.options.buttonStartingStyle);DragZoomUtil.style([G.buttonDiv],G.options.buttonZoomingStyle)}else{G.buttonDiv.innerHTML=G.options.buttonHTML;DragZoomUtil.style([G.buttonDiv],G.options.buttonStartingStyle);DragZoomUtil.style([G.buttonDiv],G.options.buttonStyle)}};DragZoomControl.prototype.initialize=function(a){var G=this.globals;var b=this;var c=a.getContainer();var d=document.createElement("div");DragZoomUtil.style([d],{cursor:'pointer',zIndex:150});var f=this.initButton_(d);var g=this.initBackButton_(d);c.appendChild(d);var h=document.createElement("div");h.id='gzoom-map-cover';h.innerHTML='<div id="gzoom-outline" style="position:absolute;display:none;"></div><div id="gzoom-cornerTopDiv" style="position:absolute;display:none;"></div><div id="gzoom-cornerLeftDiv" style="position:absolute;display:none;"></div><div id="gzoom-cornerRightDiv" style="position:absolute;display:none;"></div><div id="gzoom-cornerBottomDiv" style="position:absolute;display:none;"></div>';DragZoomUtil.style([h],{position:'absolute',display:'none',overflow:'hidden',cursor:'crosshair',zIndex:101});c.appendChild(h);GEvent.addDomListener(f,'click',function(e){b.buttonclick_(e)});GEvent.addDomListener(g,'click',function(e){b.backbuttonclick_(e)});GEvent.addDomListener(h,'mousedown',function(e){b.coverMousedown_(e)});GEvent.addDomListener(document,'mousemove',function(e){b.drag_(e)});GEvent.addDomListener(document,'mouseup',function(e){b.mouseup_(e)});G.mapPosition=DragZoomUtil.getElementPosition(c);G.outlineDiv=DragZoomUtil.gE("gzoom-outline");G.buttonDiv=DragZoomUtil.gE("gzoom-control");G.backButtonDiv=DragZoomUtil.gE("gzoom-back");G.mapCover=DragZoomUtil.gE("gzoom-map-cover");G.cornerTopDiv=DragZoomUtil.gE("gzoom-cornerTopDiv");G.cornerRightDiv=DragZoomUtil.gE("gzoom-cornerRightDiv");G.cornerBottomDiv=DragZoomUtil.gE("gzoom-cornerBottomDiv");G.cornerLeftDiv=DragZoomUtil.gE("gzoom-cornerLeftDiv");G.map=a;G.borderCorrection=G.style.outlineWidth*2;this.setDimensions_();this.initStyles_();G.mapCover.onselectstart=function(){return false};return d};DragZoomControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(3,120))};DragZoomControl.prototype.coverMousedown_=function(e){var G=this.globals;var a=this.getRelPos_(e);G.startX=a.left;G.startY=a.top;DragZoomUtil.style([G.mapCover],{background:'transparent',opacity:1,filter:'alpha(opacity=100)'});DragZoomUtil.style([G.outlineDiv],{left:G.startX+'px',top:G.startY+'px',display:'block',width:'1px',height:'1px'});G.draggingOn=true;G.cornerTopDiv.style.top=(G.startY-G.mapHeight)+'px';G.cornerTopDiv.style.display='block';G.cornerLeftDiv.style.left=(G.startX-G.mapWidth)+'px';G.cornerLeftDiv.style.top=G.startY+'px';G.cornerLeftDiv.style.display='block';G.cornerRightDiv.style.left=G.startX+'px';G.cornerRightDiv.style.top=G.startY+'px';G.cornerRightDiv.style.display='block';G.cornerBottomDiv.style.left=G.startX+'px';G.cornerBottomDiv.style.top=G.startY+'px';G.cornerBottomDiv.style.width='0px';G.cornerBottomDiv.style.display='block';if(G.callbacks.dragstart!=null){G.callbacks.dragstart(G.startX,G.startY)}return false};DragZoomControl.prototype.drag_=function(e){var G=this.globals;if(G.draggingOn){var a=this.getRelPos_(e);rect=this.getRectangle_(G.startX,G.startY,a,G.mapRatio);if(rect.left){addX=-rect.width}else{addX=0}if(rect.top){addY=-rect.height}else{addY=0}DragZoomUtil.style([G.outlineDiv],{left:G.startX+addX+'px',top:G.startY+addY+'px',display:'block',width:'1px',height:'1px'});G.outlineDiv.style.width=rect.width+"px";G.outlineDiv.style.height=rect.height+"px";G.cornerTopDiv.style.height=((G.startY+addY)-(G.startY-G.mapHeight))+'px';G.cornerLeftDiv.style.top=(G.startY+addY)+'px';G.cornerLeftDiv.style.width=((G.startX+addX)-(G.startX-G.mapWidth))+'px';G.cornerRightDiv.style.top=G.cornerLeftDiv.style.top;G.cornerRightDiv.style.left=(G.startX+addX+rect.width+G.borderCorrection)+'px';G.cornerBottomDiv.style.top=(G.startY+addY+rect.height+G.borderCorrection)+'px';G.cornerBottomDiv.style.left=(G.startX-G.mapWidth+((G.startX+addX)-(G.startX-G.mapWidth)))+'px';G.cornerBottomDiv.style.width=(rect.width+G.borderCorrection)+'px';if(G.callbacks.dragging!=null){G.callbacks.dragging(G.startX,G.startY,rect.endX,rect.endY)}return false}};DragZoomControl.prototype.mouseup_=function(e){var G=this.globals;if(G.draggingOn){var a=this.getRelPos_(e);G.draggingOn=false;var b=this.getRectangle_(G.startX,G.startY,a,G.mapRatio);if(b.left)b.endX=b.startX-b.width;if(b.top)b.endY=b.startY-b.height;this.resetDragZoom_();var c=new GPoint(b.startX,b.startY);var d=new GPoint(b.endX,b.startY);var f=new GPoint(b.endX,b.endY);var g=new GPoint(b.startX,b.endY);var h=G.map.fromContainerPixelToLatLng(c);var i=G.map.fromContainerPixelToLatLng(d);var j=G.map.fromContainerPixelToLatLng(f);var k=G.map.fromContainerPixelToLatLng(g);var l=new GPolyline([h,i,j,k,h],G.style.outlineColor,G.style.outlineWidth+1,.4);try{G.map.addOverlay(l);setTimeout(function(){G.map.removeOverlay(l)},G.options.overlayRemoveTime)}catch(e){}polyBounds=l.getBounds();var i=polyBounds.getNorthEast();var k=polyBounds.getSouthWest();var j=new GLatLng(k.lat(),i.lng());var h=new GLatLng(i.lat(),k.lng());zoomLevel=G.map.getBoundsZoomLevel(polyBounds);center=polyBounds.getCenter();G.map.setCenter(center,zoomLevel);if(G.callbacks.dragend!=null){G.callbacks.dragend(h,i,j,k,c,d,f,g)}if(G.options.stickyZoomEnabled){this.initCover_();if(G.options.backButtonEnabled)this.saveBackContext_(G.options.backButtonHTML,false);G.backButtonDiv.style.display='none'}}};DragZoomControl.prototype.setDimensions_=function(){var G=this.globals;var a=G.map.getSize();G.mapWidth=a.width;G.mapHeight=a.height;G.mapRatio=G.mapHeight/G.mapWidth;DragZoomUtil.style([G.mapCover,G.cornerTopDiv,G.cornerRightDiv,G.cornerBottomDiv,G.cornerLeftDiv],{left:'0px',width:G.mapWidth+'px',height:G.mapHeight+'px'})};DragZoomControl.prototype.initStyles_=function(){var G=this.globals;DragZoomUtil.style([G.mapCover,G.cornerTopDiv,G.cornerRightDiv,G.cornerBottomDiv,G.cornerLeftDiv],{filter:G.style.alphaIE,opacity:G.style.opacity,background:G.style.fillColor});G.outlineDiv.style.border=G.style.border};DragZoomControl.prototype.buttonclick_=function(){var G=this.globals;G.backButtonDiv.style.display='none';if(G.mapCover.style.display=='block'){this.resetDragZoom_();if(G.options.backButtonEnabled){this.restoreBackContext_();if(G.backStack.length==0)G.backButtonDiv.style.display='none'}}else{this.initCover_();if(G.options.backButtonEnabled)this.saveBackContext_(G.options.backButtonHTML,false)}};DragZoomControl.prototype.backbuttonclick_=function(){var G=this.globals;if(G.options.backButtonEnabled&&G.backStack.length>0){this.restoreBackContext_();if(G.callbacks['backbuttonclick']!=null){G.callbacks.backbuttonclick(G.methodCall)}}};DragZoomControl.prototype.saveBackContext_=function(a,b){var G=this.globals;var c={};c["center"]=G.map.getCenter();c["zoom"]=G.map.getZoom();c["maptype"]=G.map.getCurrentMapType();c["text"]=G.backButtonDiv.innerHTML;c["methodCall"]=b;G.backStack.push(c);G.backButtonDiv.innerHTML=a};DragZoomControl.prototype.restoreBackContext_=function(){var G=this.globals;var a=G.backStack.pop();G.map.setCenter(a["center"],a["zoom"],a["maptype"]);G.backButtonDiv.innerHTML=a["text"];G.methodCall=a["methodCall"];if(G.backStack.length==0)G.backButtonDiv.style.display='none'};DragZoomControl.prototype.initCover_=function(){var G=this.globals;G.mapPosition=DragZoomUtil.getElementPosition(G.map.getContainer());this.setDimensions_();this.setButtonMode_('zooming');DragZoomUtil.style([G.mapCover],{display:'block',background:G.style.fillColor});DragZoomUtil.style([G.outlineDiv],{width:'0px',height:'0px'});if(G.callbacks['buttonclick']!=null){G.callbacks.buttonclick()}};DragZoomControl.prototype.getRelPos_=function(e){var a=DragZoomUtil.getMousePosition(e);var G=this.globals;return{top:(a.top-G.mapPosition.top),left:(a.left-G.mapPosition.left)}};DragZoomControl.prototype.getRectangle_=function(a,b,c,d){var e=false;var f=false;var g=c.left-a;var h=c.top-b;if(g<0){g=g*-1;e=true}if(h<0){h=h*-1;f=true}delta=g>h?g:h;return{startX:a,startY:b,endX:a+delta,endY:b+parseInt(delta*d),width:delta,height:parseInt(delta*d),left:e,top:f}};DragZoomControl.prototype.resetDragZoom_=function(){var G=this.globals;DragZoomUtil.style([G.mapCover,G.cornerTopDiv,G.cornerRightDiv,G.cornerBottomDiv,G.cornerLeftDiv],{display:'none',opacity:G.style.opacity,filter:G.style.alphaIE});G.outlineDiv.style.display='none';this.setButtonMode_('normal');if(G.options.backButtonEnabled&&(G.backStack.length>0))G.backButtonDiv.style.display='block'};var DragZoomUtil={};DragZoomUtil.gE=function(a){return document.getElementById(a)}
DragZoomUtil.getMousePosition=function(e){var a=0;var b=0;if(!e)var e=window.event;if(e.pageX||e.pageY){a=e.pageX;b=e.pageY}else if(e.clientX||e.clientY){a=e.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);b=e.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)}return{left:a,top:b}};DragZoomUtil.getElementPosition=function(a){var b=a.offsetLeft;var c=a.offsetTop;var d=a.offsetParent;while(d!=null){b+=d.offsetLeft;c+=d.offsetTop;d=d.offsetParent}return{left:b,top:c}};DragZoomUtil.style=function(a,b){if(typeof(a)=='string'){a=DragZoomUtil.getManyElements(a)}for(var i=0;i<a.length;i++){for(var s in b){a[i].style[s]=b[s]}}};DragZoomUtil.getManyElements=function(a){var b=a.split(',');var c=[];for(var i=0;i<b.length;i++){c[c.length]=DragZoomUtil.gE(b[i])};return c};function TLabel(){}
TLabel.prototype.initialize=function(a){this.parentMap=a;var b=document.createElement('span');b.setAttribute('id',this.id);b.innerHTML=this.content;document.body.appendChild(b);b.style.position='absolute';b.style.zIndex=1;if(this.percentOpacity){this.setOpacity(this.percentOpacity);}
this.w=document.getElementById(this.id).offsetWidth;this.h=document.getElementById(this.id).offsetHeight;this.mapTray=a.getPane(G_MAP_MARKER_PANE);this.mapTray.appendChild(b);if(!this.markerOffset){this.markerOffset=new GSize(0,0);}
this.setPosition();GEvent.bind(a,"zoomend",this,function(){this.setPosition()});GEvent.bind(a,"moveend",this,function(){this.setPosition()});}
TLabel.prototype.setPosition=function(a){if(a){this.anchorLatLng=a;}
var b=this.parentMap.fromLatLngToDivPixel(this.anchorLatLng);var x=parseInt(b.x);var y=parseInt(b.y);with(Math){switch(this.anchorPoint){case'topLeft':break;case'topCenter':x-=floor(this.w/2);break;case'topRight':x-=this.w;break;case'midRight':x-=this.w;y-=floor(this.h/2);break;case'bottomRight':x-=this.w;y-=this.h;break;case'bottomCenter':x-=floor(this.w/2);y-=this.h;break;case'bottomLeft':y-=this.h;break;case'midLeft':y-=floor(this.h/2);break;case'center':x-=floor(this.w/2);y-=floor(this.h/2);break;default:break;}}
var d=document.getElementById(this.id);d.style.left=x-this.markerOffset.width+'px';d.style.top=y-this.markerOffset.height+'px';}
TLabel.prototype.setOpacity=function(b){if(b<0){b=0;}if(b>100){b=100;}
var c=b/100;var d=document.getElementById(this.id);if(typeof(d.style.filter)=='string'){d.style.filter='alpha(opacity:'+b+')';}
if(typeof(d.style.KHTMLOpacity)=='string'){d.style.KHTMLOpacity=c;}
if(typeof(d.style.MozOpacity)=='string'){d.style.MozOpacity=c;}
if(typeof(d.style.opacity)=='string'){d.style.opacity=c;}}
GMap2.prototype.addTLabel=function(a){a.initialize(this);}
GMap2.prototype.removeTLabel=function(a){var b=document.getElementById(a.id);this.getPane(G_MAP_MAP_PANE).removeChild(b);delete(b);}
var gmarkers=new Array();var gbound=new Array();var glines=new Array();var gcolors=new Array();var gsearches=new Array();var overlayimeis=new Array();var searches=false;var IMEI=null;var request=GXmlHttp.create();var icons=new Array();var trigger=true;var firstload=true;var secondload=true;var contentId=0;var updater=null;var Bound=null;var map=null;var minimap=null;var TypeControl=null;var ZoomControl=null;var mini=null;var visibles=new Array(2);visibles[0]=new Array();visibles[1]=new Array();function floats2WGS(x,y){var tmp=x>0?x+"&#176;N ":(x*-1)+"&#176;S ";tmp+=y>0?y+"&#176;E ":(y*-1)+"&#176;W ";tmp+="- WGS84";return tmp;}
function showTimezone(utc){if(utc==0){utc="+/- 0";}else if(utc>0){utc="+"+utc;}
return LANG_UTC_FORMAT+utc;}
function GPSplayer(){if(!GBrowserIsCompatible()){alert('Ihr Browser wird nicht unterstuetzt');}
map=new GMap2(document.getElementById("map"));map.addMapType(G_PHYSICAL_MAP);if(allowOSM){map.addMapType(mapMapnik);map.addMapType(mapOsmarender);}
minimap=new GOverviewMapControl(new GSize(170,130));TypeControl=new GHierarchicalMapTypeControl();ZoomControl=new DragZoomControl({},{buttonStartingStyle:{display:'none',color:'black',background:'white',width:'7em',textAlign:'center',fontFamily:'Verdana',fontSize:'12px',fontWeight:'bold',border:'1px solid gray',paddingBottom:'1px',cursor:'pointer'},buttonHTML:'',buttonZoomingHTML:LANG_ZOOM_ZOOMING,buttonZoomingStyle:{background:'yellow'},backButtonHTML:LANG_ZOOM_BACK,backButtonStyle:{display:'none',marginTop:'3px',background:'#FFFFC8'},backButtonEnabled:true},{}),new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(7,39));map.setCenter(new GLatLng(user.lat,user.lng),2);map.addControl(ZoomControl);map.addControl(new GScaleControl(200));map.enableContinuousZoom();map.enableDoubleClickZoom();map.addControl(minimap);mini=minimap.getOverviewMap();GMap2.prototype.centerAndZoomOnBounds=function(bounds){var bound=new GLatLngBounds();bound.extend(new GLatLng(bounds.left,bounds.bottom));bound.extend(new GLatLng(bounds.right,bounds.top));var zoomlevel=map.getBoundsZoomLevel(bound);zoomlevel=zoomlevel>user['zoomlevel']?user['zoomlevel']:zoomlevel;map.setCenter(new GLatLng(bounds.centerx,bounds.centery),zoomlevel);}
GEvent.addListener(map,"maptypechanged",function(){switch(map.getCurrentMapType().getName()){case'Satellit':user_map=G_SATELLITE_MAP;form_maptype('G_SATELLITE_MAP');break;case'Karte':user_map=G_NORMAL_MAP;form_maptype('G_NORMAL_MAP');break;case'Hybrid':user_map=G_HYBRID_MAP;form_maptype('G_HYBRID_MAP');break;}});GEvent.addListener(map,"mouseover",function(){map.addControl(TypeControl);});GEvent.addListener(map,"mouseout",function(){map.removeControl(TypeControl);});GEvent.addListener(map,"mousemove",function(point){document.getElementById('position').innerHTML=floats2WGS(point.y.toFixed(4),point.x.toFixed(4));});GEvent.addListener(map,"dragend",function(){});GEvent.addListener(map,"zoomend",function(){if(!firstload){}
if(firstload)trigger=true;});updater=window.setTimeout("startUpdater()",10);}
function refresh(){secondload=true;trigger=true;}
function startUpdater(){if(!form_login(0,0,0))
return;document.getElementById('status').style.color='#ffffff';if(trigger){trigger=false;ajax();map.setMapType(user_map);if(mini!=null)mini.setMapType(user_minimap);document.getElementById('status').innerHTML=new Date().toLocaleString()+"<!--<br />"+"<a href=\"json.php?login="+login+"&user_id="+user['id']+"&limit="+limit+"&user_pw="+user['pw']+"&size="+map.getSize()+"&bounds="+map.getBounds()+"&firstload="+firstload+"&modus="+(travellermodus)+"&utc="+utctime+"\">size="+map.getSize()+"&bounds="+map.getBounds()+"</a>//-->";document.getElementById('status').style.color='#ff0000';if(contentId==5)
content(5,0);}
updater=window.setTimeout("startUpdater()",1300);}
function stopPlayer(){window.clearTimeout(updater);stop();}
function cleanmarkers(){for(var i in gmarkers){for(var j in gmarkers[i])
for(var k in gmarkers[i][j])
map.removeOverlay(gmarkers[i][j][k]);}
gmarkers=new Array();}
function cleanlines(){for(var i in glines){for(var j in glines[i])
map.removeOverlay(glines[i][j]);}
glines=new Array();}
function showHide(group,sub,html){if(visibles[0][group][sub]){for(var j in gmarkers[group][sub])
map.removeOverlay(gmarkers[group][sub][j]);if(glines[group]!=null&&glines[group][sub]!=null)
map.removeOverlay(glines[group][sub]);html.innerHTML='O';visibles[1][group][sub]=false;document.getElementById('sidebar-'+group+'-'+sub).style.display='none';}else{if(html==null)
html=document.getElementById('c-'+group+'-'+sub);for(var j in gmarkers[group][sub])
map.addOverlay(gmarkers[group][sub][j]);html.innerHTML='X';if(glines[group]!=null&&glines[group][sub]!=null){try{map.addOverlay(glines[group][sub]);}catch(e){window.defaultStatus='Fehler gefangen';}}}
visibles[0][group][sub]=!visibles[0][group][sub];}
function expand(group,sub){visibles[1][group][sub]=!visibles[1][group][sub];var style=document.getElementById('sidebar-'+group+'-'+sub).style;style.display=visibles[1][group][sub]?'block':'none';}
function setMinimapType(type){user_minimap=type;minimap.setMapType(user_minimap);}
function setMapType(type){map.setMapType(type);}
function createIcon(iconColor,size){if(!icons[size+iconColor]){icons[size+iconColor]=new GIcon();if(size==20){icons[size+iconColor].iconSize=new GSize(12,20);icons[size+iconColor].iconAnchor=new GPoint(6,20);}else{icons[size+iconColor].iconSize=new GSize(10,10);icons[size+iconColor].iconAnchor=new GPoint(5,5);}
icons[size+iconColor].infoWindowAnchor=new GPoint(5,1);icons[size+iconColor].image="iconsets/mm_"+size+"_"+iconColor+".png";}
return icons[size+iconColor];}
function z(){map.zoomIn();map.zoomIn();}
function createMarker(point,label,tab,icon,group,sub,size,labeled){var position=floats2WGS(point.y,point.x);tab[0].text='<b>'+group+'</b>: '+label+' '+showTimezone(utctime)+'<br /><font color="#595959">Position: '+position+'</font>'+'<br /><font color="#afafaf">'+LANG_HEIGHT+': '+tab[0].text+' '+LANG_HEIGHT_METRIC+'</font>';if(icon!='yellow'){tab[0].text+="<br/>"+LANG_STATUS+": "+LANG_STATUS_MAP[icon];}
tab[0].text+='<br /><a href="#" onclick="z()"><img src="iconsets/zoom.gif" align="left" /> '+LANG_ZOOM_HERE+'</a>';for(var i=0;i<tab.length;i++){tab[i]=new GInfoWindowTab(tab[i].title,tab[i].text);}
var baseIcon=new Array("http://www.easy-coding.de/wcf/icon/g-map/marker0000.png",50,-16,-9);var opts={"icon":icon,"clickable":true,"labelOffset":new GSize(baseIcon[2],baseIcon[3])};opts.labelText="label";var marker=new GMarker(point,createIcon(icon,size));marker.tabs=tab;if(group==uncategorized&&sub==serps){searches=true;gsearches[label]=marker;var ob=gsearches[label];}else{gmarkers[group][sub][label]=marker;gmarkers[group][sub][label].color=icon;var ob=gmarkers[group][sub][label];}
GEvent.addListener(ob,"click",function(){marker.openInfoWindowTabsHtml(ob.tabs);});if(visibles[0][group][sub]==true)
map.addOverlay(ob);}
function show(i,group,sub){if(!visibles[0][group][sub]){showHide(group,sub,null);}
GEvent.trigger(gmarkers[group][sub][i],"click");}
function searchAddress(){var query=document.getElementById("search_street").value+" "+document.getElementById("search_city").value+" "+document.getElementById("search_country").value;var geo=new GClientGeocoder();geo.getLocations(query,function(result){var geostatus=[];geostatus[G_GEO_SUCCESS]=LANG_MY_SUCCESS;geostatus[G_GEO_MISSING_ADDRESS]=LANG_MY_MISSING_ADDRESS;geostatus[G_GEO_UNKNOWN_ADDRESS]=LANG_MY_UNKNOWN_ADDRESS;geostatus[G_GEO_UNAVAILABLE_ADDRESS]=LANG_MY_UNAVAILABLE_ADDRESS;geostatus[G_GEO_BAD_KEY]=LANG_MY_BAD_KEY;geostatus[G_GEO_TOO_MANY_QUERIES]=LANG_MY_TOO_MANY_QUERIES;geostatus[G_GEO_SERVER_ERROR]=LANG_SERVER_ERROR;if(result.Status.code!=G_GEO_SUCCESS){alert(geostatus[result.Status.code]);return;}
if(visibles[0][uncategorized]==null)visibles[0][uncategorized]=new Array();if(visibles[0][uncategorized][serps]==null)visibles[0][uncategorized][serps]=new Array();if(visibles[1][uncategorized]==null)visibles[1][uncategorized]=new Array();if(visibles[1][uncategorized][serps]==null)visibles[1][uncategorized][serps]=new Array();var point=new GLatLng(result.Placemark[0].Point.coordinates[1],result.Placemark[0].Point.coordinates[0]);var zoomlevel=4*(result.Placemark[0].address.split(",").length);var tab=new Array(2);tab[0]=new Object();tab[0].title='Info';tab[0].text='';tab[1]=new Object();tab[1].title='Ergebnis';tab[1].text=result.Placemark[0].address;map.setZoom(zoomlevel);map.panTo(point);createMarker(point,query,tab,'yellow',uncategorized,serps,20,false);visibles[0][uncategorized][serps][query]=true;visibles[1][uncategorized][serps][query]=true;GEvent.trigger(gsearches[query],"click");});}
function ajax(){try{request.open("POST","json.php");request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');request.onreadystatechange=processJSON;request.send("login="+login+"&limit="+limit+"&user_id="+user['id']+"&user_pw="+user['pw']+"&size="+map.getSize()+"&bounds="+map.getBounds()+"&firstload="+firstload+"&modus="+(travellermodus)+"&utc="+utctime);}catch(e){trigger=true;}}
function smallmarker(pos){var icon=new GIcon();icon.image="iconsets/station.png";icon.iconSize=new GSize(14,14);icon.iconAnchor=new GPoint(7,7);icon.infoWindowAnchor=new GPoint(7,4);return new GMarker(pos,{icon:icon,clickable:"true",labelOffset:new GSize(0,0)});}
function processJSON(){if(request.readyState==4){if(request.status!=200&&request.status!=304){alert("JSON Object not available");return;}
var JSON=eval("("+request.responseText+")");var gcolors=JSON.color;utctime=JSON.utc;IMEI=JSON.I;Bound=JSON.bounds['9*7*5*3*1'];document.getElementById('timezone').innerHTML=showTimezone(utctime);if(firstload){map.centerAndZoomOnBounds(Bound);firstload=false;return;}
if(!secondload)
return;cleanlines();cleanmarkers();visibles=new Array(2);visibles[0]=new Array();visibles[1]=new Array();map.clearOverlays();if(overlayimeis.length==0||true){for(var imei in JSON['overlay']){if(overlayimeis.length==0)overlayimeis.push(new Array(JSON['overlay'][imei]['imei'],JSON['overlay'][imei]['name']));myline=new GPolyline.fromEncoded({color:"#"+JSON['overlay'][imei]['color'],weight:JSON['overlay'][imei]['strength'],opacity:0.9,points:JSON['overlay'][imei]['points'],levels:JSON['overlay'][imei]['levels'],zoomFactor:2,numLevels:18});map.addOverlay(myline);}
for(var imei in JSON['labels']){for(var x in JSON['labels'][imei]){var label924=new TLabel();label924.id='label'+x;label924.anchorLatLng=new GLatLng(JSON['labels'][imei][x].lat,JSON['labels'][imei][x].lng);map.addOverlay(smallmarker(label924.anchorLatLng));label924.anchorPoint='bottomLeft';label924.content="<div style='background-color:#ffffff'>"+JSON['labels'][imei][x].txt+"</div>";map.addTLabel(label924);}}}
var xxx=0;for(var G in JSON['P']){if(gbound[G]==null)gbound[G]=JSON.bounds[G];if(gmarkers[G]==null)gmarkers[G]=new Array();if(glines[G]==null)glines[G]=new Array();if(visibles[0][G]==null)visibles[0][G]=new Array();if(visibles[1][G]==null)visibles[1][G]=new Array();for(var D in JSON['P'][G]){var X=D.replace(/\./g,"");if(visibles[0][G][D]==null){visibles[0][G][D]=secondload||travellermodus!='default'?true:false;}
if(gmarkers[G][D]==null)gmarkers[G][D]=new Array();for(var m in JSON['P'][G][D]['labels']){var P=JSON['P'][G][D]['labels'][m];var point=new GLatLng(P.lat,P.lng);if(!gmarkers[G][D][P.label])createMarker(point,P.label,P.tab,P.icon,G,D,P.size,true);}
if(JSON['P'][G][D]['points']!=''){glines[G][D]=new GPolyline.fromEncoded({color:"#"+JSON['P'][G][D]['color'],weight:'4',opacity:0.9,points:JSON['P'][G][D]['points'],levels:JSON['P'][G][D]['levels'],zoomFactor:2,numLevels:18});if(visibles[0][G][D]==true){map.addOverlay(glines[G][D]);}}
secondload=false;}}
if(contentId==0)content(0,0);}}
function alternativesidebar(){var sidebar="",count2,tmp,tmp2="",color="";var firstMarker=new Array(0,0,0);if(searches==true){gmarkers[uncategorized]=new Array();gmarkers[uncategorized][serps]=gsearches;}
for(var group in gmarkers){count2=0;tmp2="";for(var sub in gmarkers[group]){tmp="";count3=0;for(var pos in gmarkers[group][sub]){if(count2==0&&count3++==0){color=gmarkers[group][sub][pos].color;firstMarker=new Array(pos,group,sub);}
tmp+=(count2>0?'<br />':'')+'<a href="#" onclick="show(\''+pos+'\', \''+group+'\', \''+sub+'\')">'+pos+'</a>';++count2;}
tmp2+=tmp;}
tmp2='<div id="s'+group+'" class="sideblock" style="'+(count2>9?'height:100px':'')+'">'+tmp2+'</div>';sidebar+='<b><a href="#" style="color:'+color+'" onclick="map.centerAndZoomOnBounds(gbound[\''+group+'\']);show(\''+firstMarker[0]+'\', \''+firstMarker[1]+'\', \''+firstMarker[2]+'\')">'+group+'</a></b> (<i>'+count2+'</i>)<br />'+tmp2+'<br />';}
return sidebar;}
function sidebar(){if(travellermodus!='default')
return alternativesidebar();var sidebar="",count,count2,tmp,tmp2="",color="";var firstMarker=new Array(0,0,0);if(searches==true){gmarkers[uncategorized]=new Array();gmarkers[uncategorized][serps]=gsearches;}
for(var group in gmarkers){count2=0;tmp2="";for(var sub in gmarkers[group]){count=0;tmp="";for(var pos in gmarkers[group][sub]){if(count==0&&count2==0){color=gmarkers[group][sub][pos].color;firstMarker=new Array(pos,group,sub);}
tmp+=(count>0?'<br />':'')+'<a href="#" onclick="show(\''+pos+'\', \''+group+'\', \''+sub+'\')">'+pos+'</a>';++count;++count2;}
tmp2+='&raquo; <a href="#" onclick="expand(\''+group+'\', \''+sub+'\')">'+sub+'</a> ('+count+') '+'<a href="#" id="c-'+group+'-'+sub+'" onclick="showHide(\''+group+'\', \''+sub+'\', this)">'+(visibles[0][group][sub]?'X':'O')+'</a><br />'+'<div id="sidebar-'+group+'-'+sub+'" class="sideblock" '+'style="display:'+(visibles[1][group][sub]?'block':'none')+(count>9?';height:100px':'')+'">'+tmp+'</div>';}
sidebar+='<b><a href="#" style="color:'+color+'" onclick="map.centerAndZoomOnBounds(gbound[\''+group+'\']);show(\''+firstMarker[0]+'\', \''+firstMarker[1]+'\', \''+firstMarker[2]+'\')">'+group+'</a></b> (<i>'+count2+'</i>)<br />'+tmp2+'<br />';}
return sidebar;}
var ccolors=new Array('660000','aa6600','0066aa','006600','aa0066','a0a0a0','006600');function applyTimezone(utc){utctime=utc;document.getElementById('timezone').innerHTML=showTimezone(utc);refresh();}
function startZero(val){return(val<10?'0':'')+val;}
function form_timezone(conf){if(!login)
return true;try{var rrequest=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
rrequest.onreadystatechange=function(){if(rrequest.readyState==4&&rrequest.status==200){}}
rrequest.open('POST','json_timezone.php?lang='+lang);rrequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');rrequest.send('timezone='+conf+'&user='+user.id+'&pw='+user.pw);}
function form_maptype(conf){if(!login)
return true;try{var rrequest=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
rrequest.onreadystatechange=function(){if(rrequest.readyState==4&&rrequest.status==200){}}
rrequest.open('POST','json_maptype.php?lang='+lang);rrequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');rrequest.send('conf='+conf+'&user='+user.id+'&pw='+user.pw);}
function form_key(data,start,end,viewstyle,modus,utc){if(!login)
return true;var dat="";for(var i=0;i<data.length;i++)
dat+=data[i].selected?data[i].value+',':'';var obj=document.getElementById('right');obj.innerHTML='<span class="loading" style="line-height:390px;color:#6c6c6c;">'+LANG_LOADING+'</span>';try{var rrequest=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
form_key=form_key==0?false:form_key;rrequest.onreadystatechange=function(){if(rrequest.readyState==4&&rrequest.status==200){if(rrequest.responseText.substr(0,1)=='0')
obj.innerHTML=LANG_WRONG_INPUT;else{var key=rrequest.responseText.substr(1);obj.innerHTML=LANG_KEY_SUCCESS+':<br /><b>'+key+'</b><br /><br />'+'<a href="/maps/?key='+key+(modus=='default'?'':'&modus='+modus)+'">'+LANG_WEBSITE_URL+'/?key='+key+(modus=='default'?'':'&modus='+modus)+'</a>';}}}
rrequest.open('POST','json_key.php?lang='+lang);rrequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');rrequest.send('data='+dat+'&start='+start+'&end='+end+'&user='+user.id+'&pw='+user.pw+'&style='+viewstyle+'&utc='+utc);return false;}
function form_login(form_key,form_name,form_pw,form_modi){if(login)
return true;try{var rrequest=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
form_key=form_key==0?false:form_key;rrequest.onreadystatechange=function(){if(rrequest.readyState==4&&rrequest.status==200){var obj=document.getElementById('right');if(rrequest.responseText.substr(0,1)!='1'){obj.innerHTML=rrequest.responseText;}else{obj.innerHTML='<span class="loading" style="line-height:390px;color:#6c6c6c;">'+LANG_LOADING+'</span>';var split=rrequest.responseText.split('|');firstload=true;login=split[1]=='false'?true:split[1];user.id=split[2];user.pw=split[3];user_map=eval(split[4]);travellermodus=form_modi;updater=window.setTimeout("startUpdater()",10);}}}
rrequest.open('POST','json_login.php?lang='+lang);rrequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');rrequest.send('submit_login='+(!form_key&&form_name==0&&form_pw==0?0:1)+'&key='+form_key+'&user='+form_name+'&pw='+form_pw+'&modus='+form_modi);return false;}
function form_license(){try{var rrequest=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
rrequest.onreadystatechange=function(){if(rrequest.readyState==4&&rrequest.status==200){var obj=document.getElementById('license');obj.innerHTML=rrequest.responseText;}}
rrequest.open('POST','../license.php?lang='+lang);rrequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');rrequest.send('id='+user.id+'&password='+user.pw);return false;}
function content(id,cid){contentId=id;if(id!=6)
if(!form_login(0,0,0))return;var obj=document.getElementById('right');obj.style.backgroundColor='#'+ccolors[id];var cards=document.getElementById('indexcards').getElementsByTagName('td');for(var i=0;i<cards.length;i++){cards[i].blur();if(login.length&&i>0)cards[i].style.display='none';cards[i].style.backgroundColor=i==id?'#'+ccolors[i]:'';cards[i].style.borderLeft=i==id?'1px solid #ffffff':'';cards[i].style.borderRight=i==id?'1px solid #ffffff':'';cards[i].style.borderColor=i!=id?'#000000':'#ffffff';cards[i].style.borderBottomColor=i!=id?'#ffffff':'#'+ccolors[i];cards[i].style.color=i==id?'#ffffff':'';}
if(id==3&&cid.length>5){obj.innerHTML='<h3>'+LANG_TAB_ADDRESS+'</h3>'+'&Auml;ndere: '+cid+'<br />'+'<span class="loading">noLoading details</span>';return;}
switch(id+cid){case 0:var h=document.getElementById('map').offsetHeight-10;obj.innerHTML='<div id="infobar" style="height:'+h+'px">'+sidebar()+'</div>';break;case 1:obj.innerHTML='<h3>'+LANG_SEARCH_FOR+'</h3>'+'<form onsubmit="searchAddress(); return false"><table>'+'<tr><td>'+LANG_STREET+':</td><td><input id="search_street" type="text" /></td></tr>'+'<tr><td>'+LANG_CITY+':</td><td><input id="search_city" type="text" /></td></tr>'+'<tr><td>'+LANG_COUNTRY+':</td><td><select id="search_country" style="width:100%">'+'<option value="'+LANG_WEBSITE_COUNTRY+'">'+LANG_WEBSITE_COUNTRY+'</option>'+'</select></td></tr>'+'<tr><td colspan="2" align="center"><input type="submit" value="'+LANG_SEARCH+'" /></td></tr>'+'</table></form>';break;case 2:obj.innerHTML='<h3>'+LANG_EXPORT+'</h3>'+'<form onsubmit="mach()">'+'<input type="radio" name="choice" value="mail">'+LANG_SEND_AS_MAIL+'<br />'+'<input type="radio" name="choice" value="download" checked>'+LANG_DOWNLOAD+'<br />'+'</form><br />'+'* <a href="#" onclick="content(2,20)">'+LANG_RUNTIME_KEY+'</a><br />'+'* <a href="#" onclick="content(2,10)">'+LANG_PDF+'</a><br />'+'* '+LANG_PICTURE+'<br />'+'* '+LANG_KML+'';break;case-3:obj.innerHTML='<h3>'+LANG_TAB_ADDRESS+'</h3>'+'<span class="loading">Feature n/a</span>';break;case 3:obj.innerHTML='<h3>'+LANG_CONFIGURATION+'</h3>'+'<ul><li><a href="#" onclick="content(3,30)">'+LANG_UTC_CHANGE+'</a></li>'+'<li><a href="#" onclick="content(3,40)">'+LANG_LICENSEDURATION+'</a></li></ul>'+'<span class="clickable"><b>'+LANG_MAP_MAIN+':</b><br />'+'<img src="iconsets/normal.gif" onclick="setMapType(G_NORMAL_MAP)"/>&nbsp;'+'<img src="iconsets/hybrid.gif" onclick="setMapType(G_HYBRID_MAP)"/>&nbsp;'+'<img src="iconsets/physical.gif" onclick="setMapType(G_PHYSICAL_MAP)"/>&nbsp;'+'<img src="iconsets/mapnik.gif" onclick="setMapType(mapMapnik)"/>&nbsp;'+'<img src="iconsets/osmarend.gif" onclick="setMapType(mapOsmarender)"/>&nbsp;'+'<br /><br /><b>'+LANG_MAP_SMALL+':</b><br />'+'<img src="iconsets/mini-normal.gif" onclick="setMinimapType(G_NORMAL_MAP)"/>&nbsp;'+'<img src="iconsets/mini-hybrid.gif" onclick="setMinimapType(G_HYBRID_MAP)"/>&nbsp;'+'<img src="iconsets/mini-physical.gif" onclick="setMinimapType(G_PHYSICAL_MAP)"/>&nbsp;'+'<img src="iconsets/mini-mapnik.gif" onclick="setMinimapType(mapMapnik)"/>&nbsp;'+'<img src="iconsets/mini-osmarend.gif" onclick="setMinimapType(mapOsmarender)"/>&nbsp;'+'<br /></span><br /><br />'+'<b>'+LANG_MODUS_CHOOSE+':</b><ul>'+'<li><a href="#" onclick="visibles=new Array(new Array(),new Array());travellermodus=\'default\';refresh()">'+LANG_MODUS_NORMAL+'</a></li>'+'<li><a href="#" onclick="visibles=new Array(new Array(),new Array());travellermodus=\'traveller\';refresh()">'+LANG_MODUS_WORLDTOUR+'</a></li>'+'<li><a href="#" onclick="visibles=new Array(new Array(),new Array());travellermodus=\'live\';refresh()">'+LANG_MODUS_LIVE+'</a></li>'+'</ul>';break;case 33:obj.innerHTML='<h3>'+LANG_CONFIGURATION+'</h3>'+'<span class="clickable"><b>'+LANG_MAP_TIMEZONE+':</b><br />'+'<select name="first_utc" id="first_utc">'+LANG_FIRST_UTC_OPTION+'</select>'+'<button onclick="applyTimezone(document.getElementById(\'first_utc\').value)"/> '+LANG_APPLY_MAP_TIMEZONE+'<br /><br />';break;case 43:obj.innerHTML='<h3>'+LANG_LICENSEDURATION+'</h3>'+'<span id="license"></span>';form_license();break;case 5:if(obj.innerHTML.substring(0,19)!='<b>Calculation:</b>')
obj.innerHTML='<span class="loading">Loading Debugger</span>';debugging();break;case 6:obj.innerHTML=LANG_IMPRESS_FULL+'<b>'+LANG_REALISATION+'</b><br />Torben Brodt<br />'+'<a href="mailto:webmaster@easy-coding.de">webmaster@easy-coding.de</a>';break;case 12:obj.innerHTML='<h3>'+LANG_PDF+'</h3>';break;case 22:var tmp="",i=0;var T=new Date();var M=Date.parse(T.toGMTString())+86400000;var T2=new Date(M);for(var group in gmarkers){tmp+='<option value="'+IMEI[group]+'" '+(i==0?'selected="selected"':'')+'>'+group+'</option>';i++;}
for(var x in overlayimeis){tmp+='<option value="'+overlayimeis[x][0]+'" '+(i==0?'selected="selected"':'')+'>'+overlayimeis[x][1]+'</option>';i++;}
tmp='<select name="data" size="'+(i<7?i:7)+'" multiple="multiple" style="width:100%">'+tmp+'</select>';obj.innerHTML='<h3>'+LANG_GENERATE_KEY+'</h3>'+'<form onsubmit="form_key(this.data,this.s1.value+\' \'+this.s2.value,this.e1.value+\' \'+this.e2.value, this.viewstyle.value, this.modus.value, this.first_utc.value);return false">'+'<b>'+LANG_DEVICES+':</b><br />'+'<div>'+tmp+'</div>'+'<br /><b>'+LANG_AVAILABILITY+'</b><br />'+'<table style="width:100%">'+'<tr><td>'+LANG_BEGIN+':</td><td>'+'<input name="s1" type="text" value="'+startZero(T.getDate())+'.'+startZero(T.getMonth()+1)+'.'+T.getFullYear()+'" size="8" /> '+'<input name="s2" type="text" value="'+startZero(T.getHours())+':'+startZero(T.getMinutes())+'" size="3" /> Uhr</td></tr>'+'<tr><td>'+LANG_END+':</td><td>'+'<input name="e1" type="text" value="'+startZero(T2.getDate())+'.'+startZero(T2.getMonth()+1)+'.'+T2.getFullYear()+'" size="8" /> '+'<input name="e2" type="text" value="'+startZero(T.getHours())+':'+startZero(T.getMinutes())+'" size="3" /> Uhr</td></tr>'+'<tr><td>'+LANG_VIEW+':</td><td><select name="viewstyle" id="viewstyle" style="width:100%">'+'<option value="G_SATELLITE_MAP">'+LANG_SATELLITE_MAP+'</option>'+'<option value="G_NORMAL_MAP">'+LANG_NORMAL_MAP+'</option>'+'<option value="G_HYBRID_MAP" selected="selected">'+LANG_HYBRID_MAP+'</option>'+'<option value="mapMapnik" selected="selected">Mapnik</option>'+'<option value="mapOsmarender" selected="selected">Osmarend</option>'+'</select></td></tr>'+'<tr><td>'+LANG_MODUS_CHOOSE+'</td><td><select name="modus">'+'<option value="default">'+LANG_MODUS_NORMAL+'</option>'+'<option value="w">'+LANG_MODUS_WORLDTOUR+'</option>'+'<option value="l">'+LANG_MODUS_LIVE+'</option>'+'</select></td></tr></table><br/>'+'<span class="clickable"><b>'+LANG_MAP_TIMEZONE+':</b><br />'+'<select name="first_utc" id="first_utc">'+LANG_FIRST_UTC_OPTION+'</select>'+'<div align="center">&nbsp;<br/><input type="submit" value="'+LANG_GENERATE_KEY+'" /></div>'+'</form>';break;}}
function debugging(){try{var rrequest=GXmlHttp.create();rrequest.open("POST","debug.php",true);rrequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');rrequest.onreadystatechange=function(){if((rrequest.readyState==4)&&(rrequest.status==200)){document.getElementById('right').innerHTML=rrequest.responseText;}}
rrequest.send("user_id="+user['id']+"&user_pw="+user['pw']+"&size="+map.getSize()+"&bounds="+map.getBounds());}catch(e){}}
