/**
 * @author Peter Hoffmann
 */
var zwMAP;
var gz=new Array();
var lm=new Array();
var zb=new Array();
var wait;
var pcount;
var count;
var searchstr;
var searchForm=
		"<h2>Suche nach:</h2>"+
		"<div id=\"searchinput\">"+
			"<input id=\"city\" name=\"city\" type=\"text\" style=\"width:180px;margin-bottom:10px;\" value=\"PLZ und/oder Ort\" onFocus=\"activate(this.name);\" onKeyPress=\"return enter(event,searchZB);\" />"+
		"</div>"+
		"<div id=\"searchinputext\">"+
			"<input id=\"name\" name=\"name\" type=\"text\" style=\"width:180px;margin-bottom:10px;\" value=\"Betriebsname\" onFocus=\"activate(this.name);\" onKeyPress=\"return enter(event,searchZB);\"/>"+
			"<select id=\"qsymb\" name=\"qsymb\" style=\"width:184px;margin-bottom:10px;\" onFocus=\"activate(this.name);\">"+
        		"<option value=\"-1\" selected disabled>Qualit&auml;tssiegel ausw&auml;hlen</option>"+
				"<option value=\"0\">kein Qualit&auml;tssiegel</option>"+
			"</select>"+
			"<select id=\"acc\" name=\"acc\" style=\"width:184px;margin-bottom:10px;\" onFocus=\"activate(this.name);\">"+
        		"<option value=\"-1\" selected disabled>Leistung ausw&auml;hlen</option>"+
				"<option value=\"0\">keine Leistung</option>"+
			"</select>"+
		"</div>"+
		"<div style=\"float:left;width:127px;height:24px;margin:5px 0px 10px 0px;\" id=\"extsearch\" onClick=\"extsearch();\" class=\"button\">"+
			"<img src=\"html/img/font/suche_ext.gif\" border=\"0\"/>"+
		"</div>"+
		"<div style=\"float:left;width:127px;height:24px;margin:5px 0px 10px 5px\" id=\"search\" onClick=\"searchZB();\" class=\"noprint button\">"+
			"<img src=\"html/img/font/suche_start.gif\" border=\"0\"/>"+
		"</div>";

function initMap(){
	if(document.getElementById("map")){
		GUnload();
		if (GBrowserIsCompatible()) {
			zwMAP = new GMap2(document.getElementById("map"));
			document.getElementById("map").style.backgroundColor="transparent";
			zwMAP.disableDoubleClickZoom();
			/*zwMAP.enableDoubleClickZoom();*/
			//changes Jan Renz 2.4.2009
			zwMAP.disableScrollWheelZoom();
			zwMAP.enableContinuousZoom();
			GEvent.addListener(zwMAP, "click", function() {lowLight();zwMAP.closeInfoWindow();});
			GEvent.addListener(zwMAP, "dragstart", function() {lowLight();zwMAP.closeInfoWindow();});
			/*GEvent.addListener(zwMAP, "dragend", function() { getDistComp();});*/
			/*GEvent.addListener(zwMAP, "dblclick", function(overlay,latlng) { checkMap(latlng);});*/
			/*GEvent.addListener(zwMAP, "dragend", function() {var ltlng=zwMAP.getCenter();zwMAP.setCenter(ltlng);});*/
			GEvent.addListener(zwMAP, "dblclick", function(overlay,latlng) { checkMap(latlng,"l");});
			/*GEvent.addListener(zwMAP, "singlerightclick", function(point, src, overlay) { if (!overlay)checkMap(point,"r");});*/
		}
	setMapCenter(new GLatLng(51.000000, 10.500000), 6);
	}
};

function getMap(){
	return zwMAP;
};

/*
function loadMap(){
	if(document.getElementById("map")){
		GUnload();
		if (GBrowserIsCompatible()) {
			zwMAP = new GMap2(document.getElementById("map"));
			document.getElementById("map").style.backgroundColor="transparent";

			zwMAP.enableDoubleClickZoom();
			
			GEvent.addListener(zwMAP, "click", function() {lowLight();zwMAP.closeInfoWindow();});
			GEvent.addListener(zwMAP, "dragstart", function() {lowLight();zwMAP.closeInfoWindow();});
			
			GEvent.addListener(zwMAP, "dblclick", function(overlay,latlng) { checkMap(latlng,"l");});
			GEvent.addListener(zwMAP, "singlerightclick", function(point, src, overlay) { checkMap(point,"r");});

		}
	}
};*/

function checkMap(latlng,mouse){

	if(document.getElementById('mapdiv').style.width<"570"){
		maxMap('mapdiv','570','440');
				
		var map=getMap();
		map.checkResize();
		
		loadGTools();
		form=document.getElementById('search').value;
		getSearchZB("1",form,"oview");
		
		if(mouse=="l"){
			
			getDistComp(latlng);
		}
	}else{

		getDistComp(latlng);
	}
}


function initSearchZB(view,type){
	/*results=new Array();*/
	/*var zwMAP=getMap();*/
	minMap('mapdiv','280','290');
	initMap();
	getSearchZB("0",view,type);
};

function getSearchZB(val,form,type){
	var result=document.getElementById('resultlist');
	var infoDOM=document.getElementById('infos');
	var pager=document.getElementById('pager');
	var resh=document.getElementById('reshead');
	var prnt=document.getElementById('print');
	var side=document.getElementById('sideindex');
	var srchfrm=document.getElementById('searchform');	
	if(val=="0"){
		side.innerHTML="<img style=\"margin-left:20px;\" src=\"html/img/sidebox.gif\"  border=\"0\">";
		srchfrm.innerHTML = searchForm;
		result.style.display="none";
		infoDOM.style.display="none";
		pager.style.display="none";
		resh.style.display="none";
		prnt.style.display="none";
		drawSelection('acc',lm);
		drawSelection('qsymb',gz);
	}
	else{
		var c=document.getElementById('city').value;
		var n=document.getElementById('name').value;
		var q=document.getElementById('qsymb').value;
		var a=document.getElementById('acc').value;
		searchstr=new String();
		if(c!='undefined'&&c!=''&&c!='PLZ und/oder Ort'){searchstr+="&ccity="+c;}
		if(n!='undefined'&&n!=''&&n!='Betriebsname'){searchstr+="&cname="+n;}
		if(q>0){searchstr+="&cgz="+q;}
		if(a>0){searchstr+="&clm="+a;}
		if(searchstr!='')searchstr+="&type=oview&func=getComp";
		searchstr=searchstr.replace(/^&/,"");
		side.innerHTML = searchForm;
		srchfrm.innerHTML=" ";
		var cdom=document.getElementById('city');
		var ndom=document.getElementById('name');
		var qdom=document.getElementById('qsymb');
		var adom=document.getElementById('acc');	
		result.style.display="block";
		infoDOM.style.display="block";
		pager.style.display="block";
		prnt.style.display="block";
		resh.style.display="block";
		drawSelection('acc',lm);
		drawSelection('qsymb',gz);
		if(c!='PLZ und/oder Ort'&&c!=''){
			cdom.value=c;
			activate('city');
		}
		else{
			cdom.style.color='Gray';
			cdom.value='PLZ und/oder Ort';
		}
		if(n!='Betriebsname'&&n!=''){
			ndom.value=n;
			activate('name');
		}
		else{
			ndom.style.color='Gray';
			ndom.value='Betriebsname';
			cname='';
		}
		if(q){
			for(var i=0;i<qdom.options.length;i++){
				if(qdom.options[i].value==q){
					qdom.options[i].selected=true;
					if(q>0)activate('qsymb');
					else{
						qsymbol='';
						qdom.options[0].selected=true;
					}
				}
			}
		}
		if(a){
			for(var i=0;i<adom.options.length;i++){
				if(adom.options[i].value==a){
					adom.options[i].selected=true;
					if(a>0)activate('acc');
					else{
						accomp='';
						adom.options[0].selected=true;
					}
				}
			}
		}
	}
	var srch=document.getElementById('search');
	var srchext=document.getElementById('searchinputext');
	if(form!="ext"){
		srch.value="simple";
		srchext.style.display="none";
	}
	else{
		srch.value="ext";
		srchext.style.display="block";
		var srchbttn=document.getElementById('extsearch');
		srchbttn.innerHTML="<img src=\"html/img/font/suche_einf.gif\" border=\"0\">";
	}	
};

function extsearch(){
	var srch=document.getElementById('search');
	if(srch.value!="ext"){
		if(gz.length==0){
			getAjaxCall("type=select&func=getGZ")
		}else{
			drawSelection('qsymb',gz);
		}
		if(lm.length==0){
			getAjaxCall("type=select&func=getLM")
		}else{
			drawSelection('acc',lm);
		}
		srch.value="ext";
		var ext=document.getElementById('searchinputext');
		ext.style.display="block";
		var srchbttn=document.getElementById('extsearch');
		srchbttn.innerHTML="<img src=\"html/img/font/suche_einf.gif\" border=\"0\">";
	}
	else{		
		document.getElementById('name').value='Betriebsname';
		document.getElementById('name').style.color='Gray';
		document.getElementById('qsymb').options[0].selected='true';
		document.getElementById('qsymb').style.color='Gray';
		document.getElementById('acc').options[0].selected='true';
		document.getElementById('acc').style.color='Gray';	
		srch.value="simple";
		var ext=document.getElementById('searchinputext');
		ext.style.display="none";
		var srchbttn=document.getElementById('extsearch');
		srchbttn.innerHTML="<img src=\"html/img/font/suche_ext.gif\" border=\"0\">";
	}
	if(document.getElementById('city').value==''||document.getElementById('city').value=='PLZ und/oder Ort'){
		document.getElementById('city').value='PLZ und/oder Ort';
		document.getElementById('city').style.color='Gray';
	}else activate('city');	
	if(results){
		if(results.length!=0){
			var offDOM=document.getElementById('pgact');
			var off;
			if(offDOM)off=parseInt(offDOM.innerHTML-1);
			else off=0;
			var resultlist=document.getElementById('resultlist');
			resultlist.innerHTML="";
			showZBSearchResult(results,off);
		}
	}
};

function activate(name){
	var dom=document.getElementsByName(name);
	dom[0].style.color='Black';
	if(name=='city'){
		if(dom[0].value=='PLZ und/oder Ort')dom[0].value='';
		if(document.getElementById('name').value==''){
			document.getElementById('name').value='Betriebsname';
			document.getElementById('name').style.color='Gray';
		}
	}
	if(name=='name'){
		if(dom[0].value=='Betriebsname')dom[0].value='';
		if(document.getElementById('city').value==''){
			document.getElementById('city').value='PLZ und/oder Ort';
			document.getElementById('city').style.color='Gray';
		}
	}
	if(name=='lvort'&&dom[0].value=='PLZ oder Bundesland eingeben')dom[0].value='';
};

function drawSelection(domID,result){
	var dom=document.getElementById(domID);
	dom.options.length=result.length+2;
	var optionCount=dom.options.length;
	for(var index=2;index<optionCount;index++){
		dom.options[index].innerHTML=result[index-2]["text"];
		dom.options[index].value=result[index-2]["val"];
	}
};

function enter(e,func){
    var key;
    if(window.event)key = window.event.keyCode;     //IE
    else key = e.which;     //firefox
	if(key == 13)return func();	 
};

function initPager(result,offset){
	var pager=document.getElementById('pager');
	pager.style.display="block";
	pager.style.backgroundColor="#E9E4D4";
	pager.innerHTML="<div id=\"dotted\" style=\"width:240px;margin-bottom:5px;\"> </div>"+
					"<div id=\"pagerbnav\"></div>"+
					"<div id=\"pagerbt\"></div>"+	
					"<div id=\"pagerfnav\"></div>";
	setPagerBtn(offset);
};

function setPagerBtn(offset){
	var pagerbt=document.getElementById('pagerbt');
	var pagerbnav=document.getElementById('pagerbnav');
	var pagerfnav=document.getElementById('pagerfnav');
	pagerbt.innerHTML='';
	var act=parseInt(offset+1);
	var startct=parseInt(act-2);
	var endct=parseInt(act+2);
	if(startct<=0)start=1;
	else start=startct;
	if(endct<=5)endct=5;
	for(var i=start;i<=endct;i++){
		if(act==1){
			pagerbnav.style.cursor="default";
			pagerbnav.innerHTML="<div><img border=\"0\" src=\"html/img/backw.gif\"/></div>";	
		}
		else{
			pagerbnav.style.cursor="pointer";
			pagerbnav.innerHTML="<div onClick=\"switchPg(parseInt(document.getElementById('pgact').innerHTML)-1);\"><img border=\"0\" src=\"html/img/backw.gif\"/></div>";	
		}
		
		if(act==pcount){
			pagerfnav.style.cursor="default";
			pagerfnav.innerHTML="<div><img border=\"0\" src=\"html/img/forw.gif\"/></div>";
		}
		else{
			pagerfnav.innerHTML="<div onClick=\"switchPg(parseInt(document.getElementById('pgact').innerHTML)+1);\"><img border=\"0\" src=\"html/img/forw.gif\"/></div>";
			pagerfnav.style.cursor="pointer";
		}
		if(i==act){pagerbt.innerHTML+="<div id=\"pgact\" class=\"pagerbuttonact\">"+i+"</div>";}
		else{if(i<=pcount)pagerbt.innerHTML+="<div class=\"pagerbutton\" onClick=\"switchPg(parseInt(this.innerHTML));\">"+i+"</div>";}
	}
};

function switchPg(pg){
	var off=parseInt(pg-1);
	if(document.getElementById('detail')!='')closeDBox(off);
	if(off>=0 && off<pcount){
		var resultlist=document.getElementById('resultlist');
		resultlist.innerHTML="";
		/*loadMap();*/
		/*var map=getMap();
		var center=zwMAP.getCenter();
		var zoom=zwMAP.getZoom();
		alert(center.toString());*/
		
		/*var ltlg = zwMAP.getCenter();
		setMapCenter(ltlg);*/
		/*alert(centerMap);*/
		showZBSearchResult(results,off);/*,center,zoom*/
	}
};

function searchZB(){
	results=new Array();
	
	/*var zwMAP=getMap();*/
	if(document.getElementById('mapdiv').style.width!="570"){
		maxMap('mapdiv','570','440');
		var map=getMap();
		map.checkResize();
		loadGTools();
	}
	
	var form=document.getElementById('search').value;	
	getSearchZB("1",form,'oview');
	
	var pager=document.getElementById('pager');
	var resultlist=document.getElementById('resultlist');
	var infos=document.getElementById('infos');
	resultlist.innerHTML="";
	resultlist.style.display="none";
	infos.innerHTML="";
	infos.style.display="none";
	pager.innerHTML="";
	pager.style.display="none";
	if(document.getElementById('detailBox')){
		if(document.getElementById('detailBox').style.display=='block')closeDBox(0);
	}
	if(searchstr!=""){
		wait="1";
		setInfoNotification({"message":"Einen Moment bitte..."});		
		setTimeout ("getAjaxCall(searchstr)", 1500);
	}
	else{
		setErrNotification({"message":"Sie m&uuml;ssen mindestens ein Suchkriterium angeben."});
		setMapCenter(new GLatLng(51.000000, 10.500000), 6);
	}
};

function showZBSearchResult(result,offset,center,zoom){
	var info=document.getElementById('infos');
	if(info.innerHTML=="")info.style.display="none";
	var res=document.getElementById('resultlist');
	res.style.display="block";
	if(!offset)offset=0;
	
	var map = getMap();
	map.checkResize();
	
	var srch=document.getElementById('search');
	var newcount;
	var fact;
	if(count)newcount=count;
	if(srch.value!="ext"&&info.innerHTML==""){
		count=7; 
		if(!newcount)newcount=count;
		fact=count/newcount;
	}
	else if(srch.value!="ext"||info.innerHTML==""){
		count=5;
		if(!newcount)newcount=count;
		if(newcount==7)fact=count/newcount;
		else fact=newcount/count;
	}
	else{
		count=3;
		if(!newcount)newcount=count;
		fact=newcount/count;
	}
	pcount=Math.ceil(result.length/count);
	if(fact!=1){
		offset=Math.round(offset*fact);
		if(offset==pcount)offset=parseInt(pcount-1);
	}
	var begin=offset*count;
	var end=parseInt(begin+count);
	var latlng=Array();
	var latlngAlph=Array();
	latlng[0] = new GLatLng(result[begin].Lat,result[begin].Lng);
	var nbound= new GLatLngBounds(latlng[begin],latlng[begin]);
	nbound.extend(latlng[0]);
	if(result.length>count){
		res.style.paddingBottom="0px";
		if(parseInt(begin+1) <= result.length){
			var j=1;
			for (var i=parseInt(begin+1) ;i<end; i++){
				if(result[i]){
					latlng[j] = new GLatLng(result[i].Lat,result[i].Lng);
					nbound.extend(latlng[j]);
					j++;
				}
			}
			j=0;
			for (var i = 0; i < result.length; i++){
				if(i<parseInt(begin)||i>=end){
					latlngAlph[j] = new GLatLng(result[i].Lat,result[i].Lng);
					nbound.extend(latlngAlph[j]);
					j++;
				}
			}
			if(document.getElementById('pager').innerHTML=="")initPager(result,offset);
			else setPagerBtn(offset);
		}		
	}
	else{
		res.style.paddingBottom="10px";
		for (var i = 0; i < result.length; i++){
			latlng[i] = new GLatLng(result[i].Lat,result[i].Lng);
			nbound.extend(latlng[i]);
		}
	}	
	if(target)nbound.extend(target);
	
	
	
	
	
	if(center){
		/*var ll=map.getCenter();	*/
		var ll=center;	
	}
	else{
		var ll=nbound.getCenter(); 
		/*if(!target&&result.length==1)var zoom = 11;*/
	}
	if(zoom){
		var zm=map.getZoom();
	}
	else{
		var min = nbound.getSouthWest();
		var max = nbound.getNorthEast();
		
		var extsw = new GLatLng(min.lat()-0.001,min.lng()-0.001);
	    nbound.extend(extsw);
		var extne = new GLatLng(max.lat()+0.001,max.lng()+0.001);
	    nbound.extend(extne);
		
		var zm=map.getBoundsZoomLevel(nbound);
	
	}
	/*max-zoom*/
	if(zm>=13)zm = 13;
	
	setMapCenter(ll, zm);
	
	map.clearOverlays();
	restring="";
	var j=0;
	for(var i=0;i<result.length;i++){
		if(i<begin || i>=parseInt(begin+latlng.length)){
			/*map.*/
			/*setAlphaMarker(latlngAlph[j],result[i]);*/
			setMarker(latlngAlph[j],result[i]);
			j++;
		}
	}
	var j=0;
	for (var i = begin ; i < parseInt(begin+latlng.length); i++) {
		setMarker(latlng[j],result[i]);
		setResult(result[i]);
		j++;
	}
	if(target){
		setStartPoint(target);
	}
};

function showZBSearchDetail(result){	
	var detailBDOM=document.getElementById('detailBox');
	detailBDOM.style.display="block";
	detailBDOM.style.width="220px";
	detailBDOM.style.height="410px";
	var detailDOM=document.getElementById('detail');
	detailDOM.name=result.ID;
	highLight(result.ID);
	detailDOM.innerHTML="";
	if(result.Logo!=''&&result.Logo!=0)detailDOM.innerHTML+="<div style=\"float:right;padding-right:10px;\"><img border=\"0\" src=\""+result.Logo[0].pfad+"\"></div>";
	detailDOM.innerHTML+="<b>"+ result.Name + "</b><br/>";
	if(result.Name2!='')detailDOM.innerHTML+= result.Name2 + "<br/>";
	detailDOM.innerHTML+="<br/>"+ result.Strasse+"<br/>"+ result.PLZ + " "+ result.Ort+"<br/>";
	if(result.VName!=''||result.NName!=''){
		detailDOM.innerHTML+="<br/>Ansprechperson:<br/>";
		if(result.Anrede!='') detailDOM.innerHTML+=result.Anrede+" ";
		if(result.VName!='')detailDOM.innerHTML+=result.VName+" ";
		if(result.NName!='')detailDOM.innerHTML+=result.NName+ "<br/>";					 
	}
	if(result.Tel!='')detailDOM.innerHTML+="<br/>Telefon: <b>"+ result.Tel+"</b>";
	if(result.MobTel!='')detailDOM.innerHTML+="<br/>Mobil: <b>"+ result.MobTel+"</b>";
	if(result.Fax!='')detailDOM.innerHTML+="<br/>Fax: <b>"+ result.Fax+"</b>";
	if(result.M2Check=="1")detailDOM.innerHTML+="<br/><br/>E-Mail: <b><a href=\"mailto:"+result.Mail2+"\">"+ result.Mail2+"</a></b>";		
	else {if(result.Mail!=0)detailDOM.innerHTML+="<br/><br/>E-Mail: <b><a href=\"mailto:"+result.Mail+"\">"+ result.Mail+"</a></b>";}
	if(result.Web!=0){
		var h="";
		var wb=result.Web;
		if(!wb.match(/http/))h="http://";
		detailDOM.innerHTML+="<br/>Web: <b><a href=\""+h+result.Web+"\" target=\"_BLANK\">"+ result.Web+"</b>";
	}
	if(result.GSiegel.length>=1){
		var gstr="<br/><br/><b>Qualit&auml;tssiegel: </b>";
		for(var i=0;i<result.GSiegel.length;i++){
			gstr+="<br/><div style=\"clear:both;float:left;margin-top:10px;\">"+ result.GSiegel[i].name+"</div><div style=\"float:right;margin:10px 0px 0px 10px;\"><img src=\"html/img/"+ result.GSiegel[i].logo+"\"/></div>";
		}
		detailDOM.innerHTML+=gstr;
	}
	if(result.LMerkmal.length>=1){
		var lstr="<br/><br/><div style=\"clear:both;\"><b>Leistungen: </b><ul>";
		for(var i=0;i<result.LMerkmal.length;i++)lstr+="<li>"+ result.LMerkmal[i].name;
		lstr+="</ul></div>";
		detailDOM.innerHTML+=lstr;
	}
	detailDOM.innerHTML+="<div style=\"float:right;padding-right:10px;\"><img src=\"html/img/font/btn_close.gif\" border=\"0\" onClick=\"closeDBox();\" class=\"button\" style=\"margin-top:20px;\"/></div>";
	
	maxMap('map','336','424');
	
	var map = getMap();
	map.checkResize();

	var ltlg = new GLatLng(result.Lat,result.Lng);
	setMapCenter(ltlg);

};

/*
 * function selectGZ
 * @param gID qualitysymbol-id
 * select quality-symbol in select-box
 */
function selectGZ(gID){
	var select=document.getElementById('qsymb');
	
	activate('qsymb');
	
	for(var i=0;i<select.options.length;i++){
		if(select.options[i].value==gID)select.options[i].selected=true;
	}
	
	searchZB();
}


function initGZ(){
	var parastring="func=getGZ&type=oview";
	getAjaxCall(parastring);
};

function showGZ(response){
	var gzresults=document.getElementById('gz');	
	var templString="<div id=\"gzresults\" style=\"width:570px;\">";
	var k=0;
	var grid=new Array();
	for(var i=0;i<response.length;i++){
		if (response[i]['gKat']==0){		
			grid[k]=response[i]['gID'];
			templString+="<div>";/*style=\"clear:both;float:left;margin-top:10px;\"*/
			templString+=" <div id=\"gzheader\" onClick=\"fold('"+response[i].gID+"','GZ');\" class=\"button\"><h2>"+response[i]['gName']+"</h2></div>";/*style=\"float:left;width:560px;\"*/
			templString+=" <div name=\"folder\" \" id=\"folder_"+response[i].gID+"\" class=\"button\" onClick=\"fold('"+response[i].gID+"','GZ');\" style=\"float:right;\"><img src=\"html/img/down.gif\" border=\"0\"/></div>";
			templString+=" <div id=\"line\"></div>";/* style=\"clear:both;float:left;width:570px;\"*/
			templString+="</div>";
			templString+="<div name=\"gzresultset\" id=\"gzresultset_"+response[i].gID+"\">";/*style=\"clear:both;float:left;display:none;\"*/
			if(response[i].gBeschreibung!='')templString+=	"<div id=\"gztopdesc\">"+response[i].gBeschreibung+"</div>";
			for(var j=0;j<response.length;j++){
				if(response[j]['gKat']==grid[k]){
					var logo=response[j].gLogo;
					var icon= "<div id=\"gzimg\"><img src=\"html/img/"+logo+"\"></div>";
					/*var desc= "<div id=\"gzdesc\">"+response[j].gBeschreibung+"<br /><a href=\"Index?cgz="+response[j]['gID']+"&type=oview&func=getComp\">Betriebe mit diesem Qualit&auml;tssiegel finden.</a></div>";*/	
					
					var link="";
					
					//if qualitysymbol is equal to RAL-Holzhausbau define alternate Links
					if(response[j]['gID']==19)link= "<a href=\"Index?cgz=35\">Betriebe mit diesem Qualit&auml;tssiegel f&uuml;r die Herstellung finden.</a><br /><a href=\"Index?cgz=36\">Betriebe mit diesem Qualit&auml;tssiegel f&uuml;r die Errichtung finden.</a><br /><a href=\"Index?cgz=34\">Betriebe mit dem kompletten Qualit&auml;tssiegel finden.</a></div>";	
					//if qualitysymbol is equal to RAL-Ingenieurholzbau define alternate Links
					else if(response[j]['gID']==21)link= "<a href=\"Index?cgz=37\">Betriebe mit diesem Qualit&auml;tssiegel f&uuml;r die Errichtung finden.</a><br /><a href=\"Index?cgz=38\">Betriebe mit diesem Qualit&auml;tssiegel f&uuml;r die Herstellung finden.</a></div>";	
					else link= "<a href=\"Index?cgz="+response[j]['gID']+"\">Betriebe mit diesem Qualit&auml;tssiegel finden.</a></div>";	
					
					var desc="<div id=\"gzdesc\">"+response[j].gBeschreibung+"<br />";
					templString+="<div id=\"gzresult\">"+icon+desc+link+"</div>";
				}
			}
			k++;		
			templString+="</div>";
		}
	}
	templString+="</div>";
	gzresults.innerHTML=templString;	
	if(grid.length<=1){
		for(var i=0;i<grid.length;i++)document.getElementById('gzresultset_'+grid[i]).style.display="block";
	}
	else{
		for(var i=0;i<grid.length;i++)document.getElementById('gzresultset_'+grid[i]).style.display="none";
	}
};

function searchLV(){
	var lvresult=document.getElementById('lv');
	lvresult.innerHTML="";
	var ortDOM=document.getElementById('lvort');
	var ort=ortDOM.value;
	var err=document.getElementById('errorbox');
	err.style.display="none";
	err.innerHTML="";
	var info=document.getElementById('infobox');
	info.style.display="block";
	info.innerHTML="Einen Moment bitte...";		
	if(ort==''||ort=='PLZ oder Bundesland eingeben'){	
		var parastring="func=getLV";
		getAjaxCall(parastring);
	}
	else if(!parseInt(ort)){
		var parastring="func=getLV&lvblname="+ort;
		getAjaxCall(parastring);
	}
	else{
		var parastring="func=getLV&lvplz="+ort;
		getAjaxCall(parastring);
	}
}

function showLVSearchResult(response){
	var lvresults=document.getElementById('lv');
	var templString="<div id=\"lvresults\" style=\"width:570px;\">";
	var k=0;
	var lid=new Array();
	for(var i=0;i<response.length;i++){
		if (lid.inArray(response[i].lvBLid)===false){		
			lid.push(response[i].lvBLid);		
			templString+="<div>"
			templString+="<div id=\"lvheader\" onClick=\"fold('"+response[i].lvBLid+"','LV');\" class=\"button\"><h2>"+response[i].lvBL+"</h2></div>";
			templString+="<div id=\"folder_"+response[i].lvBLid+"\" style=\"float:right;\" class=\"button\" onClick=\"fold('"+response[i].lvBLid+"','LV');\"><img src=\"html/img/down.gif\" border=\"0\"/></div>";
			templString+="<div id=\"line\"></div>";
			templString+="</div>";
			templString+="<div id=\"lvresultset_"+response[i].lvBLid+"\">";
			for(var j=0;j<response.length;j++){				
				if(response[j].lvBLid==lid[k]){
					templString+="<div id=\"lvresult\">";
					templString+="<b>"+response[j].lvName+"</b><br/>";
					if(response[j].lvNameExt!='')templString += response[j].lvNameExt+"<br/>";
					if(response[j].lvStrasse!='')templString += response[j].lvStrasse+"<br/>";
					if(response[j].lvOrt!='')templString += response[j].lvPLZ +" "+ response[j].lvOrt+"<br/>";
					if(response[j].lvPF!='')templString += "<br/>"+response[j].lvPF+"<br/>"+response[j].lvPFPLZ +" "+ response[j].lvPFOrt+"<br/>";
					if(response[j].lvTel!='')templString += "<br/>Telefon: <b>"+response[j].lvTel+"</b><br/>";
					if(response[j].lvFax!='')templString += "Fax: <b>"+ response[j].lvFax+"</b><br/>";
					if(response[j].lvEMail!='')templString += "<br/>E-Mail: <b><a href=\"mailto:"+response[j].lvEMail+"\">"+ response[j].lvEMail+"</a></b><br/>";
					if(response[j].lvWeb!='')templString += "Web: <b><a href=\""+response[j].lvWeb+"\" target=\"_blank\">"+ response[j].lvWeb+"</a></b><br/>";
					templString+="</div>";
					templString+="<div id=\"dotted\" style=\"width:560px;margin-bottom:5px;\"> </div>";	
				}
			}
			templString+="</div>";
			k++;
		}		
	}
	templString+="</div>";
	lvresults.innerHTML=templString;	
	if(lid.length<=1){
		for(var i=0;i<lid.length;i++)document.getElementById('lvresultset_'+lid[i]).style.display="block";
	}
	else{
		for(var i=0;i<lid.length;i++)document.getElementById('lvresultset_'+lid[i]).style.display="none";
	}
};

function fold(id,dom){	
	var LDom;
	if(dom=="LV"){LDom=document.getElementById('lvresultset_'+id);}
	if(dom=="GZ"){
		var aFolder=document.getElementsByName('folder');
		var ADoms=document.getElementsByName('gzresultset');
		
		for(var i = 0; i < aFolder.length; i++){
			if(aFolder[i].id!='folder_'+id){
				aFolder[i].innerHTML="<img src=\"html/img/down.gif\" border=\"0\"/>";
				aFolder[i].value = 0;
			}
		}
		for(var i = 0; i < ADoms.length; i++){
			ADoms[i].style.display="none";
		}
		
		LDom=document.getElementById('gzresultset_'+id);
	}
	
	var folder=document.getElementById('folder_'+id);
	if(folder.value!=1&&folder.value!=0)folder.value=0;
	if(folder.value==0){
		folder.innerHTML="<img src=\"html/img/up.gif\" border=\"0\"/>";
		folder.value=1;
		LDom.style.display="block";	
	}
	else{
		folder.innerHTML="<img src=\"html/img/down.gif\" border=\"0\"/>";
		folder.value=0;
		LDom.style.display="none";
	}
};

function closeDBox(off){
	
	maxMap('mapdiv','570','440');
	
	var detailBDOM=document.getElementById('detailBox');
	detailBDOM.style.display="none";
	detailBDOM.style.width="0px";
	detailBDOM.style.height="0px";
	var detailDOM=document.getElementById('detail');
	detailDOM.innerHTML="";

	var map = getMap();
	map.checkResize();

	lowLight();

	for(var i=0;i<results.length;i++){
		if(results[i].ID==detailDOM.name){
			var ltlg = new GLatLng(results[i].Lat,results[i].Lng);
			detailDOM.name="";
		}
	}
	setMapCenter(ltlg);
};

function getDetail(id){getAjaxCall("type=detail&func=getComp&cid="+id);};

function initZBData(){
	var parastring="func=getComp&type=self";
	getAjaxCall(parastring);
};

function showZBData(response){
	var key=document.getElementById('zbkey');
	var name=document.getElementById('zbname');
	var sidename=document.getElementById('zbsidename');
	var nameext=document.getElementById('zbnameext');
	var persontitle=document.getElementById('zbtitle');
	var person=document.getElementById('zbperson');
	var street=document.getElementById('zbstreet');
	var city=document.getElementById('zbcity');
	var phone=document.getElementById('zbphone');
	var fax=document.getElementById('zbfax');
	var mobile=document.getElementById('zbmobphone');
	var email=document.getElementById('zbemail');
	var guild=document.getElementById('zbguild');
	var noentry="<span class=\"zbnoentry\">Keine Angaben</span>";
	key.innerHTML=response.LVKey;
	name.innerHTML=response.Name;
	sidename.innerHTML="<b>"+response.Name+"</b>";
	if(response.Name2)sidename.innerHTML+="<br/>"+response.Name2;
	if(response.Name2!="")nameext.innerHTML=response.Name2;
	else nameext.innerHTML=noentry;
	if(response.Anrede!="")persontitle.innerHTML=response.Anrede+ " ";
	if(response.Titel!="")persontitle.innerHTML+=response.Titel;
	if(persontitle.innerHTML=="")persontitle.innerHTML=noentry;
	if(response.VName!="")person.innerHTML=response.VName+" ";
	if(response.NName!="")person.innerHTML+=response.NName;
	if(person.innerHTML=="")person.innerHTML=noentry;
	if(response.Strasse!="")street.innerHTML=response.Strasse;
	else street.innerHTML=noentry;
	if(response.PLZ!="")city.innerHTML=response.PLZ+" ";
	if(response.Ort!="")city.innerHTML+=response.Ort;
	if(city.innerHTML=="")city.innerHTML=noentry;
	if(response.Tel!="")phone.innerHTML=response.Tel;
	else phone.innerHTML=noentry;
	if(response.Fax!="")fax.innerHTML=response.Fax;
	else fax.innerHTML=noentry;
	if(response.MobTel!="")mobile.innerHTML=response.MobTel;
	else mobile.innerHTML=noentry;
	if(response.Mail!="")email.innerHTML="<a href=\"mailto:"+response.Mail+"\">"+response.Mail+"</a>";
	else email.innerHTML=noentry;
	if(response.IN!="")guild.innerHTML=response.IN;
	else guild.innerHTML=noentry;
	var zblvname=document.getElementById('zblvname');
	var zblvadress=document.getElementById('zblvadress');
	zblvname.innerHTML= response.LV[0].lvName;
	zblvadress.innerHTML= response.LV[0].lvStrasse+"<br/>"+response.LV[0].lvPLZ+" "+response.LV[0].lvOrt+"<br/><br/>";
	zblvadress.innerHTML+= response.LV[0].lvTel+"<br/>"+response.LV[0].lvFax+"<br/><br/><a href=\"mailto:"+response.LV[0].lvEMail+"\">"+response.LV[0].lvEMail+"</a><br/><a href=\""+response.LV[0].lvWeb+"\" target=\"_blank\">"+response.LV[0].lvWeb+"</a>";
}

function login(){
	var uname=document.getElementById('uname');
	var upw=document.getElementById('upw');
	var errbox=document.getElementById('errorbox');
	errbox.innerHTML="";
	errbox.style.display="none";
	var err=new Array();
	if(uname.value=='')err.push("einen Benutzernamen");"Sie m&uuml;ssen eingeben.";
	if(upw.value=='')err.push("ein Passwort");"Sie m&uuml;ssen eingeben.";
	if(err.length>0){
		errbox.style.display="block";	
		errbox.innerHTML+="Sie m&uuml;ssen ";
		for(var i=0;i<err.length;i++){
			if (i>0)errbox.innerHTML+=" und ";
			errbox.innerHTML+=err[i];
		}
		errbox.innerHTML+=" eingeben.";
	}
	else{
		var pwval=upw.value;
		var reg=/BWV_/gi;
		
		if(pwval.match(reg)){
			var pre=pwval.substr(0,4);
			var no=parseInt(pwval.substr(4),10);
			pwval=pre+no;
		}
		
		pwval=MD5(pwval);
		
		getAjaxCall("func=getUser&type=login&upw="+pwval+"&uname="+uname.value);
	}
}


function isMailAdressValid(mailAdress) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(mailAdress) == false) {
      return false;
   }
   return true;
}

function onForgotPasswordClicked() 
{
	var adrA=document.getElementById('mailadressA').value;
	var adrB=document.getElementById('mailadressB').value;
	var captchaInput = document.getElementById('captchaInput').value;
	var errbox=document.getElementById('errorbox');
	errbox.innerHTML="";
	errbox.style.display="none";
	if ( adrA == "" || adrB == "" ) {
		errbox.style.display="block";
		errbox.innerHTML+="Bitte wiederholen Sie die Eingabe Ihrer E-Mail-Adresse";
	} else if(adrA != adrB){
		errbox.style.display="block";
		errbox.innerHTML+="Die eingegebenen Email-Adressen sind unterschiedlich";
	} else if ( isMailAdressValid(adrA) != true ) {
		errbox.style.display="block";
		errbox.innerHTML+="Sie haben keine gültige E-Mail-Adresse eingegeben";
	} else if ( captchaInput == ""  ) {
		errbox.style.display="block";
		errbox.innerHTML+="Bitte geben Sie die im Bild angezeigten Zeichen ein";
	} else {
		getAjaxCall("func=newUserPasswordForgotMail&mail=" + adrA + "&captcha=" + captchaInput);
	}
}


function getUserNameByPasswordResetRequestId( resetRequestId ) {
	getAjaxCall("func=getUserByEncryptedMail&encmail=" + resetRequestId);
}

function onResetPasswordClicked( encId, old_username ) {
	var new_username_a=document.getElementById('new_username_a').value;
	var new_username_b=document.getElementById('new_username_b').value;
	var new_password_a=document.getElementById('new_password_a').value;
	var new_password_b=document.getElementById('new_password_b').value;
	
	if ( new_username_a == "" && new_username_b == "" ) {
		new_password_a = old_username;
		new_password_b = old_username;
	}
	
	var errbox=document.getElementById('errorbox');
	errbox.innerHTML="";
	errbox.style.display="none";
	
	if ( new_username_a == "" || new_username_b == "" || new_password_a == "" || new_password_b == "" ) {
		errbox.style.display="block";	
		errbox.innerHTML+="Bitte füllen Sie alle Felder aus";
	} else if ( new_username_a != new_username_b ) {
		errbox.style.display="block";	
		errbox.innerHTML+="Die eingegebenen Nutzernamen sind nicht identisch";
	} else if ( new_password_a != new_password_b ) {
		errbox.style.display="block";	
		errbox.innerHTML+="Die eingegebenen Passwörter sind nicht identisch";
	} else {
		getAjaxCall("func=updateUserPasswordAndName&password=" + new_password_a + "&new_name=" + new_username_a + "&old_name=" + old_username + "&prid=" + encId);
	}
}

function logout(){getAjaxCall("func=getUser&type=logout");}
function replaceHTMLEntities(text){

	text = text.replace('&oouml;', 'ö');
	text = text.replace('&Oouml;', 'Ö');
	text = text.replace('&Uouml;', 'Ü');
	text = text.replace('&uouml;', 'ü');
	text = text.replace('&Aouml;', 'Ä');
	text = text.replace('&aouml;', 'ä');
	text = text.replace('&szlig;', 'ß');

	
	return text;
}
Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++){
		if (this[i] === value){return true;}
	}
	return false;
};

function reloadCaptcha(){
	var cap = document.getElementById('captcha');
	cap.src = "captcha.php?id=" + Math.random();
	
}
