regionPoints={myConn:false,body:false,target:false,loader:false,result:new Array(2),debug:false,items:new Array(),hideInfoWindow:null,_maxTitle:null,_minContentHtml:null,_maxContentHtml:null,_originalType:null,text_res:null,init:function(a){if(!document.getElementById||!document.getElementsByTagName||!document.getElementById(a)){return}regionPoints.myConn=new XHConn();if(!regionPoints.myConn){return}regionPoints.body=document.getElementsByTagName("body")[0];regionPoints.target=document.getElementById(a)},getPoints:function(h,k,g,j){app.setZoomEnabled(false);regionPoints.buildLoader();window.setTimeout("regionPoints.checkError()",60000);var f=function(m){if(regionPoints.target.hasChildNodes()){regionPoints.target.removeChild(regionPoints.target.firstChild)}var r=m.responseXML;if(r){regionPoints.hideInfoWindow=true;regionPoints.parsenResponse(r);if(r.getElementsByTagName("points").length==0){alert("Fehler: Web-Service nicht erreichtbar.")}var s=regionPoints.getInfoTableHTML();regionPoints.target.innerHTML=s;var l=new Array();var q=new Array();var v=new Array();for(var p=0;p<regionPoints.items.length;p++){var t=getArrayIndex(app.markersId,regionPoints.items[p].service_id);if((t!=null)&&(!app.markersNewLoad)){l.push(app.markers[t]);q.push(app.markersId[t]);v.push(app.markersType[t])}else{l.push(app.showMarker(regionPoints.items[p].service_id,regionPoints.items[p].lat,regionPoints.items[p].lng,regionPoints.items[p].service_type,regionPoints.items[p].maxTitle,regionPoints.items[p].minContentHtml,regionPoints.items[p].maxContentHtml));q.push(regionPoints.items[p].service_id);v.push(regionPoints.items[p].service_type)}}for(var p=0;p<app.markersId.length;p++){var t=getArrayIndex(q,app.markersId[p]);if((t==null)||(app.markersNewLoad)){app.removeMarker(p)}}app.markersNewLoad=false;app.markers=new Array();app.markersId=new Array();app.markersType=new Array();app.markers=l;app.markersId=q;app.markersType=v;if(regionPoints.hideInfoWindow==true){if(app.extInfoWindowEnable){app.map.closeExtInfoWindow()}else{app.map.closeInfoWindow()}if(app.detailsInfoEnable==true){document.getElementById(app.detailsInfoDivName).innerHTML=""}}if(app.showDetails==true){var n=app.getMarkerNumber(app.showDetailsMarkerId);app.infoWindowOptions.maxTitle=regionPoints._maxTitle;app.infoWindowOptions.maxContent=regionPoints._maxContentHtml;app.infoWindowOptions.minContent=regionPoints._minContentHtml;app.infoWindowOptions.type=regionPoints._originalType;if(n!=null){if(!app.extInfoWindowEnable){if(app.bigInfoWindowEnable==true){app.markers[n].openInfoWindowHtml(regionPoints._minContentHtml,{maxWidth:400,maxTitle:regionPoints._maxTitle,maxContent:regionPoints._maxContentHtml})}else{app.markers[n].openInfoWindowHtml(regionPoints._minContentHtml,{})}}else{var u='<img src="/assets/images_system/print_cover.gif" class="gm2_iw_print_cover" /><div class="gm2_iw_wrapper"><div class="extIWContent">'+regionPoints._minContentHtml+'<div id="routesearchbox">'+app.getRouteSearchFormHtml_iw(app.showDetailsMarkerId,0,regionPoints._maxTitle+"@"+app.markers[n].getLatLng().lat()+","+app.markers[n].getLatLng().lng())+"</div></div></div>";app.markers[n].openExtInfoWindow(app.map,app.extInfoWindowId+regionPoints._originalType,u,{beakOffset:3,paddingX:50,paddingY:50})}}app.showDetails=false;app.showDetailsMarkerId=null;if(app.detailsInfoEnable==true){document.getElementById(app.detailsInfoDivName).innerHTML='<div id="datailsContent"><b>Details info</b>'+regionPoints._maxContentHtml+"</div>"}}if(regionPoints.debug==true){var o=document.createTextNode(regionPoints.text_res);regionPoints.target.appendChild(o)}}regionPoints.killLoader();window.setTimeout("app.setZoomEnabled(true);",100)};var a=app.webServiceURL;var b="POST";var d="ne_lat="+h+"&ne_lng="+k+"&sw_lat="+g+"&sw_lng="+j;var e="&types=";for(var c=0;c<app.enabledSourceOfSupply.length;c++){e+=app.enabledSourceOfSupply[c]+","}d+=e;regionPoints.myConn.connect(a,b,d,f)},buildLoader:function(b){if(d_obj("loading")==null){regionPoints.loader=document.createElement("div");regionPoints.loader.setAttribute("id","loading");regionPoints.loader.style.width=d_obj(app.gm2MapDivId).offsetWidth+"px";regionPoints.loader.style.height=d_obj(app.gm2MapDivId).offsetHeight+"px";regionPoints.loader.style.position="absolute";var a=(regionPoints.loader.style.height).substr(0,regionPoints.loader.style.height.indexOf("px"))/2;a=Math.round(a)+"px";regionPoints.loader.innerHTML='<div style="width:100%; margin-top:'+a+'"><img src="/assets/images_system/lightbox-ico-loading.gif" border=0 /></div>';d_obj(app.gm2MapDivId).appendChild(regionPoints.loader)}},killLoader:function(){d_obj(app.gm2MapDivId).removeChild(regionPoints.loader)},getNodeValue:function(a,b){if(a.getElementsByTagName(b).length!=0){return a.getElementsByTagName(b)[0].firstChild.nodeValue}else{return null}},parsenResponse:function(a){var c=a.getElementsByTagName("point");regionPoints.items=null;regionPoints.items=new Array();for(var b=0;b<c.length;b++){var d={lat:null,lng:null,service_id:null,service_name:null,service_address:null,service_type:null,maxTitle:null,minContentHtml:null,maxContentHtml:null};d.lat=regionPoints.getNodeValue(c[b],"lat");d.lng=regionPoints.getNodeValue(c[b],"lng");d.service_id=regionPoints.getNodeValue(c[b],"service_id");d.service_name=regionPoints.getNodeValue(c[b],"service_name");d.service_address=regionPoints.getNodeValue(c[b],"service_address");d.service_type=regionPoints.getNodeValue(c[b],"service_type");var e=d.service_address.replace(/,/g,"<br />");d.maxTitle=d.service_name?d.service_name:"&nbsp;";d.minContentHtml='<div id="markt_logo"><img src="/assets/images_system/logo_markt_'+d.service_type+'.gif" border="0" /></div><b>'+d.maxTitle+"</b><br>"+e;d.maxContentHtml="<br><br>ID: "+d.service_id+"<br>Lat: "+d.lat+"<br>Lng: "+d.lng;regionPoints.items[regionPoints.items.length]=d}},getInfoTableHTML:function(){var a="";regionPoints.text_res=(regionPoints.debug==true)?"Results\r\n":null;if((regionPoints.items!=null)&&(regionPoints.items.length>0)){a='<table border="0"><tr><th width="200">Markt</th><th>Adresse</th><tr/>'}var b=(regionPoints.items.length>app.infoTablePageLength)?app.infoTablePageLength:regionPoints.items.length;for(var c=0;c<regionPoints.items.length;c++){var d=regionPoints.items[c];if(c<b){a+='<tr><td><a href="javascript:void(0)" onclick="app.goToMarkerById(\''+d.service_id+"')\">"+d.service_name+"</a></td><td>"+d.service_address.replace(/,/g,", ")+"</td></tr>"}if((d.lat==app.markerWithInfoWindowLat)&&(d.lng==app.markerWithInfoWindowLng)){regionPoints.hideInfoWindow=false}if((app.markerWithInfoWindowLat==null)&&(app.markerWithInfoWindowLng==null)){regionPoints.hideInfoWindow=false}if((app.showDetails==true)&&(app.showDetailsMarkerId==d.service_id)){regionPoints._maxTitle=d.maxTitle;regionPoints._minContentHtml=d.minContentHtml;regionPoints._maxContentHtml=d.maxContentHtml;regionPoints._originalType=d.service_type}if(regionPoints.debug==true){regionPoints.text_res+=(c+1)+". Point: "+d.lat+":"+d.lng+"\r\n"}}a+="</table>";a+=regionPoints.getInfoTableNaviHTML(1,app.infoTablePageLength);return a},checkError:function(){if(d_obj(regionPoints.loader)!=null){regionPoints.killLoader();alert("Fehler: Web-Service nicht erreichtbar.")}},getInfoTableNaviHTML:function(f,e){var b="";if(regionPoints.items.length!=0){b='<div id="rp_infoTableNavi">';var c=Math.round(regionPoints.items.length/e);if((c*e)<regionPoints.items.length){c++}var j=f*e-e+1;var g=((f*e)>regionPoints.items.length)?regionPoints.items.length:f*e;var a=((f+1)<=c)?(f+1):c;var h=((f-1)>=1)?(f-1):1;b+="Seite "+f+" von "+c+": ";b+='<a href="javascript:void(0);" onclick="regionPoints.getInfoTablePage(1)"> &lt;&lt; </a>';b+='<a href="javascript:void(0);" onclick="regionPoints.getInfoTablePage('+h+')"> &lt; </a>';for(var d=1;d<=c;d++){if(f!=d){b+='<a href="javascript:void(0);" onclick="regionPoints.getInfoTablePage('+d+')">'+d+"</a> "}else{b+="<b>"+d+"</b> "}}b+='<a href="javascript:void(0);" onclick="regionPoints.getInfoTablePage('+a+')"> &gt; </a>';b+='<a href="javascript:void(0);" onclick="regionPoints.getInfoTablePage('+c+')"> &gt;&gt; </a>';b+=" Bezugsquellen "+j+" - "+g+" von "+regionPoints.items.length;b+="</div>"}return b},getInfoTablePageHTML:function(b,a){var d="";if(regionPoints.items.length!=0){d='<table border="0"><tr><th width="200">Markt</th><th>Adresse</th><tr/>';var c=b*a-a+1;var f=((b*a)>regionPoints.items.length)?regionPoints.items.length:(b*a);for(var e=c;e<=f;e++){d+='<tr><td><a href="javascript:void(0)" onclick="app.goToMarkerById(\''+regionPoints.items[e-1].service_id+"')\">"+regionPoints.items[e-1].service_name+"</a></td><td>"+regionPoints.items[e-1].service_address.replace(/,/g,", ")+"</td></tr>"}d+="</table>"}return d},getInfoTablePage:function(a){regionPoints.target.innerHTML=regionPoints.getInfoTablePageHTML(a,app.infoTablePageLength)+regionPoints.getInfoTableNaviHTML(a,app.infoTablePageLength)},getPointById:function(e){var b=function(l){var g=l.responseXML;if(g){var j=g.getElementsByTagName("point");var k=null;var f=null;for(var h=0;h<j.length;h++){var k=regionPoints.getNodeValue(j[h],"lat");var f=regionPoints.getNodeValue(j[h],"lng")}if((k!=null)&&(f!=null)){k=(k*1)+0.0015;app.map.setCenter(new GLatLng(k,f),16);window.setTimeout("app.goToMarkerById("+e+");",1000)}}};var d=app.webServiceURL;var c="POST";var a="id="+e;regionPoints.myConn.connect(d,c,a,b)}};function getArrayIndex(c,b){for(var a=0;a<c.length;a++){if(c[a]==b){return a}}return null};