// Änderungen
// 11.01.10 sendIdRequest
//			Infofenster bleibt "manchmal" leer oder enthält nicht die Infos aller Layer
// 			sync: true,
var arrIdReqLayerID=new Array();
var arrIdReqReponse=new Array();

var sendidok=true;
var pixelTolerance= 4;
var idMinX, idMinY, idMaxX, idMaxY;
var idCount = 0;
var idmerker="";
var selectedId = 1;
var searchinlayerindex=-1;
var lactivelayerindex=-1;
var win1="";
var result = new Array();
var win1;
var showinfo=false;
var setmarker=false;
var zoomtoscale=0;
var activehttp=0;
var selenvminx=0;
var selenvminy=0;
var	selenvmaxx=0;
var selenvmaxy=0;
var selfs="";
var maptipstr="";
var maptipstrkz="";
var xidtab=new Array();
var content="";
var sendxml=0;
var getxml=0;
var c="";
var txtQuery="";
var intGkLoeschen=0;
var ha="";
var intMaxFeaturInfo=50;
var wininfo;
var intCntSelFeature=0;
var idC="";
					
				
function openFsNachweis(x1, y1){
    showLayer('loading');
	selectedId = 1;
	if (ActiveLayerIndex != rgs_layerid_f001_f){
		setActiveLayer(rgs_layerid_f001_f);
	}
	sendFSRequest(false,1,rgs_layerid_f001_f,x1,y1,x1,y1); 
	hideLayer('loading');
}

function setLayerinfoXY(layerindex,x1,y1,x2,y2){
	
	idMinX = Number(x1);
	idMinY = Number(y1);
	idMaxX = Number(x2)+0.01;
	idMaxY = Number(y2)+0.01;
	if (LayerType[layerindex]!="polygon"){
		if (LayerPixelTolerance[layerindex]){
			pixelTolerance=LayerPixelTolerance[layerindex];
		}else{
			pixelTolerance=18;
			if (lngMapMassstab < 50000){
				pixelTolerance=8;
			}
			if (lngMapMassstab < 25000){
				pixelTolerance=6;
			}
			if (lngMapMassstab < 10000){
				pixelTolerance=4;
			}
		}
		pixelTolerance=pixelTolerance/2;
		idMinX = Number(x1)-(pixelTolerance*meterpropixelX);
		idMinY = Number(y1)-(pixelTolerance*meterpropixelY);
		idMaxX = Number(x2)+(pixelTolerance*meterpropixelX);
		idMaxY = Number(y2)+(pixelTolerance*meterpropixelY);
	}
//	writeProtokoll("setidkoord tolerance="+(pixelTolerance*meterpropixelX));
}
function openInfoWindow(){
//	if (wininfo && !wininfo.closed){
//	}else{
		writeProtokoll("openInfoWindow");
				
		intCntSelFeature=0;
		wininfo=window.open("infofc.htm","INFO","toolbar=no,location=no,status=no,scrollbars,resizable,menubar=no,width=600,height=350");
		var date = new Date();
		var curDate = null;
		do {curDate = new Date();} while(wininfo.document.getElementById("divinfo")==null && curDate-date < 2000);
		//	}
}

function getInfoFromXy(x,y){
	showLayer('loading');
	if (wininfo && !wininfo.closed){
		wininfo.document.formflurstliste.frmfsliste.value="";
		wininfo.document.getElementById("divifr").innerHTML="";
		wininfo.document.getElementById("divinfo").innerHTML="";
	}else{
		openInfoWindow();
	}
	hideLayer('loading');
	getLayerXYInfo(x,y);
	var screenpoint = new Array();
	screenpoint=convertMapToPixel(x, y)
	setIdDiv(screenpoint[0],screenpoint[1]);
}

function getLayerXYInfo(x1,y1){
	sendxml=0;
	getxml=0;
	for (var i=0;i<LayerID.length;i++) {
		if (getLayerVisibility(i)||(LayerInfoInvisibleLayer[i]!=null &&LayerInfoInvisibleLayer[i]==true)){
			if (LayerSelFieldList[i]!=""){
				selectedId = 1;
				if (LayerWmsMap[i]==""){
					var ext=String(x1)+":"+String(y1)+":"+String(x1)+":"+String(y1);
					sendIdRequest(false,1,i,ext); 
				}else{
					idC += "<table border='0' cellpadding='0' cellspacing='1' width='100%'>";
					idC += "<tr class='headerRow'>";
					idC += "<td  class='headerRow'>" + LayerAliasname[i] + "</td>";
					idC += "</tr>";
					if (LayerHyperlinkList[i]!=""){
						var l=LayerHyperlinkList[i].split("^");
						if (l.length==1){
							l[0]="weitere Informationen zum Thema";
							l[1]=LayerHyperlinkList[i];
						}
						idC += "<tr class='headerRow'>";
						idC += "<td><a href=\"javascript:opener.openNewWindow('" + l[1] + "')\">" + l[0] + "</a></td>";
						idC += "</tr>";
					}
					idC += "</table>";
					idC += "<iframe width=\"100%\" height=\"100px\"src=\""+getWMSInfoUrl(i)+"\">IFRAME</iframe><br>"
					wininfo.document.getElementById("divifr").innerHTML+=idC;
					idC="";
				}
			}
		}
	}
	if (wininfo && !wininfo.closed){
		wininfo.document.getElementById("divinfo").innerHTML="";
		var date = new Date();
		var curDate = null;
		wininfo.focus();
		do {curDate = new Date();} while(sendxml!=getxml && curDate-date < (sendxml * 1000));		
		for (var i=0;i<arrIdReqReponse.length;i++) {
			setInfoTable(arrIdReqLayerID[i],arrIdReqReponse[i]);
		}
		arrIdReqLayerID.length=0;
		arrIdReqReponse.length=0;
		window.setTimeout("wininfo.focus()", 50);
			
	
	}
}

function sendMaptipRequest(layerindex){
	sendidfsmmX=mouseX;
	sendidfsmmY=mouseY;
	var extent=String(mapX)+":"+String(mapY)+":"+String(mapX)+":"+String(mapY);
	var axl = getIdRequest(false, 1, layerindex,extent);
	var intMapserviceIndex=LayerMS[layerindex];
	var txtQueryUrl = 	MsListUrl[intMapserviceIndex] + "&CustomService=Query";
	var deferred = dojo.rawXhrPost({
		url:    txtQueryUrl,
		handleAs: "text",
		timeout: 750, //Time in milliseconds
		postData:axl,
		handle: function(response, ioArgs){
			if(response instanceof Error){
				intPrintImageRequestCnt++;
				if(response.dojoType == "cancel"){
					writeProtokoll("sendMapTipRequest.Canceled "+this.url)
				}else if(response.dojoType == "timeout"){
					writeProtokoll("sendMapTipRequest.TimeOut "+this.url)
				}else{
					writeProtokoll("sendMapTipRequest.Error "+this.url+"\n"+response);
				}
			}else{
				setMaptip(response);
				writeProtokoll("sendMapTipRequest.Response:\n"+response);
			}
		}
	});
}
function setMaptip(result){
	var text="";
	var startpos=-1;
	var endpos=-1;
	switch (Number(maptip_layerid)){
		case rgs_layerid_f001_f:
			startpos = result.indexOf(rgs_f001_f_field);
			if (startpos>-1) {
				startpos = startpos + rgs_f001_f_field.length+2;
				endpos = startpos+21;
				text=getFsText(result.substring(startpos,endpos));
				document.zwischenspeicher.zp.innerText = result.substring(startpos,endpos);
			}
			break;
		case rgs_layerid_f011_f:
			startpos = result.indexOf(rgs_f011_f_field);
			if (startpos>-1) {
				startpos = startpos + rgs_f011_f_field.length+2;
				endpos = result.indexOf('\" ',startpos);
				text=getHaText(result.substring(startpos,endpos))
				document.zwischenspeicher.zp.innerText = text;
			}
			break;
		case rgs_layerid_f021_f:
			startpos = result.indexOf(rgs_f021_f_field);
		 	if (startpos>-1) {
				startpos = startpos + rgs_f021_f_field.length+2;
				endpos = result.indexOf('\" ',startpos);
				if (endpos==-1){
					endpos=result.length;
				}
		 		text=result.substring(startpos,endpos);
				document.zwischenspeicher.zp.innerText = text;
	  		}
	 		break;
		default:
			text="NIX";
			break;
	}
	if (text!=""){
		var objDiv=document.getElementById("tip");
		objDiv.style.top=mouseY-20;
		objDiv.style.left=mouseX+5;
		//document.getElementById("tip").style.width=(text.length*4)+10;
		// FF kennt innerText nicht l.innerText=text;
		objDiv.innerHTML=text;
		objDiv.style.visibility="visible";
		//debugger
	}
}
function getStrassenname(kreis,gemeinde,strasse){
	maptipstr="";
	maptipstrkz=strasse;
	var stkzname=new Array(2);
	var i=-1;
	var strName="unbekannt";
	while (i < st.length){
		i++;
		stkzname=st[i].split(":");
		if (stkzname[0].substring(0,2)==kreis && stkzname[0].substring(2,5)==gemeinde && stkzname[0].substring(5,10)==strasse){
			strName=stkzname[1];
			i=st.length;
		}
	}
	return strName;
}
function getGemarkungsname(gemarkung){
	var gmkkzname=new Array(2);
	var i=0;
	var strName="unbekannt";
	while (i < gmk.length){
		gmkkzname=gmk[i].split(":");
		if (gmkkzname[0]==gemarkung){
			strName=gmkkzname[1];
			i=gmk.length;
		}
		i++;
	}
	return strName;
}
function getGemeindename(kreis, gemeinde){
	var gmkzname=new Array(2);
	var i=-1;
	var strName="unbekannt";
	while (i < gm.length){
		i++;
		gmkzname=gm[i].split(":");
		if (gmkzname[0].substring(0,2)==kreis && gmkzname[0].substring(2,5)==gemeinde){
			strName=gmkzname[1];
			i=gm.length;
		}
	}
	return strName;
}

function sendFSRequest(countOnly, beginRecord,idx,x1,y1){
	sendxml++;
	var queryurl = 	MsListUrl[LayerMS[idx]] + "&CustomService=Query";
	var extent=String(x1)+":"+String(y1)+":"+String(x1)+":"+String(y1);
	var axl = getIdRequest(countOnly, beginRecord,idx,extent);
	writeProtokoll("sendFSRequest\n"+queryurl+"\n"+axl);
	var deferred = dojo.rawXhrPost({
		url:    queryurl,
		handleAs: "text",
		timeout: 5000, //Time in milliseconds
		postData:axl,
		handle: function(response, ioArgs){
			writeProtokoll("sendFSRequest\n"+response);
			if(response instanceof Error){
				intPrintImageRequestCnt++;
				if(response.dojoType == "cancel"){
					writeProtokoll("sendGetFeatureRequest.Canceled "+this.url)
				}else if(response.dojoType == "timeout"){
					writeProtokoll("sendGetFeatureRequest.TimeOut "+this.url)
				}else{
					writeProtokoll("sendGetFeatureRequest.Error "+this.url+"\n"+response);
				}
			}else{
				var p3=response.search(/fields/i);
				if (p3>-1){
					var p4=response.indexOf("/>",p3)-1;
					var fieldlist = response.substring(p3+7,p4).split("\" ");
					for (var h=0;h<fieldlist.length;h++) {
						var f2=fieldlist[h].split("=\"");
						if (f2[0]==rgs_f001_f_field){
							if (activeTool == "fsnachweis"){
								var fsurl=urlflurstuecksnachweis+f2[1]+"&USERNAME="+strLoginName+"&PWD="+pwd;
								if (opener){
									var win=opener;
									if (win.closed){
										win=window.open("","ALB",windowalbprop);
									}
								}else{
									var win=window.open("","ALB",windowalbprop);
								}
								Pause(200);
									
								if (win){
									win.location.href=fsurl;
									writeProtokoll("aufruf fs-nachweis "+fsurl);
									win.focus();
									if (f2[1]!=""){    
										where=rgs_f001_f_field+"='"+f2[1]+"'";
										txtQuery="HIGHLIGHT=TRUE&QUERY=FS='"+f2[1]+"'";
										var txtAxl=getFeatureRequest(txtQuery, false, 1);
										LayerSelAttr[rgs_layerid_f001_f]=rgs_f001_f_field+"='"+f2[1]+"'|";
										LayerSelEnv[rgs_layerid_f001_f]="";
										//alert(LayerSelAttr[rgs_layerid_f001_f]);
										bufferinm=0;
										//evaluateCommand(txtQuery);
										getAllMaps(false,intActiveMapservice);
										strPrtUserText=getFsText(f2[1]);
									}
								}else{
									alert("Fehler:\nFlurstücksnachweis konnte nicht geöffnet werden.\nDeaktivieren Sie den Popup-Blocker Ihres Browsers.")
								}
							}else {
								strPrtUserText=getFsText(f2[1]);
								
							}
						}
					}		
				}
			}
		}
	});
}
function sendIdRequest(countOnly,beginRecord,idx,ext){
	writeProtokoll("sendIdRequest\n"+ext);
	sendxml++;
	var queryUrl = 	MsListUrl[LayerMS[idx]] + "&CustomService=Query";
	if (LayerType[idx]=="grid"){
		queryUrl = 	MsListUrl[LayerMS[idx]];
	}
	var axl = getIdRequest(countOnly, beginRecord,idx,ext);
	var deferred = dojo.rawXhrPost({
		url:    queryUrl,
		handleAs: "text",
		sync: true,
		timeout: 5000,
		postData:axl,
		handle: function(response, ioArgs){
			var xx="";
			var cx="";
			var z1=true;
			var p1=this.postData.toUpperCase().indexOf("LAYERID=");
			if (p1<0){
				p1=this.postData.toUpperCase().indexOf("LAYER ID=");
				p1+=10;
			}else{
				p1+=9;
			}
			var p2=this.postData.indexOf(">",p1);
			var l=this.postData.substring(p1,p2-2);
			p1=this.url.search(/servicename=/i);
			p2=this.url.indexOf("&",p1);
			var sname=this.url.substring(p1+12,p2);
			var sid=getServiceIdByName(sname);
			var layeridx=getLayerIndexByServiceID(sid,l);
			arrIdReqLayerID[arrIdReqLayerID.length]=layeridx;
			arrIdReqReponse[arrIdReqReponse.length]=response;
			getxml++;
		}
	});
}
function setInfoTable(layeridx,response){
	var arrTmp=new Array();
	writeProtokoll("setInfoTable\n"+response);
	if (!wininfo || wininfo.closed){
		writeProtokoll("setInfoTable\nopenInfoWindow");
		openInfoWindow()
	}
	var lr=response.replace(/Ã¤/g,'ä');
	lr=lr.replace(/Ã¶/g,'ö');
	lr=lr.replace(/Ã¼/g,'ü');
	lr=lr.replace(/Ã„/g,'Ä');
	lr=lr.replace(/Ã–/g,'Ö');
	lr=lr.replace(/Ãœ/g,'Ü');
    lr=lr.replace(/ÃŸ/g,'ß');
	response=lr;
	var strInfoWinFS="";
	var strInfoWinTable="";
	var z1=true;
	var intFeaturecnt=getFeatureCount(response);
	if ((response.indexOf("ENVELOPE")>-1||LayerType[layeridx].toUpperCase() == "GRID") && layeridx > -1){
		if (LayerType[layeridx].toUpperCase() == "GRID"){
			var strInfoWinTable="";
			strInfoWinTable += "<table width='100%' cellpadding='1' cellspacing='1'>";
			strInfoWinTable += "<colgroup><col width='2%'><col width='40%'><col width='*'></colgroup>";
			strInfoWinTable += "<tr class='headerRow'>";
			strInfoWinTable += "<td colspan=3 class='headerRow'>" + LayerAliasname[layeridx] + "</td>";
			strInfoWinTable += "</tr>";
			var p3=response.search(/value/i);
			var p4=response.indexOf("/>",p3)-2;
			strInfoWinTable += "<tr><td class='" + evenOdd + "'>&nbsp;<td class='" + evenOdd + "'>Geländehöhe über NN (+/-0.5 m)</td><td class='" + evenOdd + "'>" + String(Math.round(replaceCommaByPoint(response.substring(p3+7,p4))*10)/10) + " m</td>";
			strInfoWinTable += "</tr></table>";		
			//if (wininfo &&  !wininfo.closed && wininfo.document.getElementById("divinfo")){
				wininfo.document.getElementById("divinfo").innerHTML+=strInfoWinTable;
			//}
		}else{
			//var p3=response.search(/envelope/i);
			var	p3=response.indexOf("ENVELOPE",1);
			var evenOdd="oddRow";
			while (p3>-1){
				intCntSelFeature++;
				p4=response.indexOf("/>",p3);
				var arrEnv=new Array();
				arrEnv[intCntSelFeature]=new Array(getEnvelopeXYs(replacePointByComma(response.substr(p3,p4))));
				p3=response.indexOf("FIELDS",p3);
				var strInfoWinTable="";
				var p4=response.indexOf("/>",p3)-2;
				if (z1){
					intCntSelFeature=1;
					strInfoWinTable += "<br><table border='0' cellpadding='0' cellspacing='1' width='100%'>";
					strInfoWinTable += "<tr class='headerRow'>";
					strInfoWinTable += "<td  class='headerRow'>" + LayerAliasname[layeridx] + "</td>";
					strInfoWinTable += "</tr>";
					if (rgs_layerid_bplanuebers>-1 && rgs_layerid_bplanuebers==layeridx && intFeaturecnt>1){
						strInfoWinTable += "<tr class='headerRow'>";
						strInfoWinTable += "<td style='background-color:#FF8080'><b>Bitte beachten:</b><br>Im selektierten Berech gelten mehrere Bauleitpl&auml;ne.<br>Um eine zuverl&auml;ssige Aussage zu Bebauungsmöglichkeiten zu erhalten, sind alle aufgelisteten Pläne abzupr&uuml;fen</td>";
						strInfoWinTable += "</tr>";
					}
					if (rgs_layerid_bauplatz>-1 && rgs_layerid_bauplatz==layeridx && intFeaturecnt>0){
						strInfoWinTable += "<tr class='headerRow'>";
						strInfoWinTable += "<td style='background-color:#FFFF80;font-size:11'>Neben den hier aufgef&uuml;hrten Baugebieten gibt es im Landkreis Harburg weitere attraktive Baupl&auml;tze,<br>die Sie jeweils direkt bei den Gemeinden erfragen k&ouml;nnen.</td>";
						strInfoWinTable += "</tr>";
					}
					if (LayerHyperlinkList[layeridx]!=""){
						var l=LayerHyperlinkList[layeridx].split("^");
						if (l.length==1){
							l[0]="weitere Informationen zum Thema";
							l[1]=LayerHyperlinkList[layeridx];
						}
						strInfoWinTable += "<tr class='headerRow'>";
						strInfoWinTable += "<td><a href=\"javascript:opener.openNewWindow('" + l[1] + "')\">"+l[0]+"</a></td>";
						strInfoWinTable += "</tr>";
					}
					strInfoWinTable += "</table>";
					z1=false;
				}else{
					strInfoWinTable += "<br>";
				}
				strInfoWinTable += "<table width='100%' cellpadding='1' cellspacing='1'>";
				strInfoWinTable += "<colgroup><col width='2%'><col width='40%'><col width='*'></colgroup>";
				var fieldlist = response.substring(p3+7,p4).split('" ');
				//fieldlist=fieldlist.replace(/,/g,".");
				//fieldlist=fieldlist.split("\" ");
				var newfieldlist=new Array();
				if (LayerFieldAliasList[layeridx]!=""){
					var	aliaslist=LayerFieldAliasList[layeridx].split('|');
					if (aliaslist.length>0){
						var p1=-1;
						var p2=-1;
						for (var g=0;g<aliaslist.length;g++) {
							var f=aliaslist[g].split(':');
							for (var h=0;h<fieldlist.length;h++) {
								var f2=fieldlist[h].split('="');
								if (f2[0].search(/shape.area/i)>-1 || f2[0].search(/shape.len/i)>-1){
									f2[1]=replaceCommaByPoint(f2[1]);
									f2[1]=Math.round(f2[1]);
								}
								if (f2[0].search(/SCANDATEN/i)>-1 && f2[1]!=""){
									var ccc="file://lkh-d01/foermida/dokumente/";
									var strInfoWinFSx=f2[1].replace(/#/g,'');
									var yyy=strInfoWinFSx.replace(/\\/g,'/');
									f2[1]=ccc+yyy;
								}
								if (f2[0].toUpperCase()==f[0].toUpperCase()){
									newfieldlist[newfieldlist.length]=String(f[1])+"|"+String(f2[1]);
								}
								/*
								p1=fieldlist[h].indexOf(f[0]);
								if (p1>-1){
									p1+=f[0].length+2;
									//p2=fieldlist[h].length;
									newfieldlist[newfieldlist.length]=f[1]+"|"+String(fieldlist[h].substring(p1));
								}
								*/
							}
						}
					}
				}else{
					for (var h=0;h<fieldlist.length;h++) {
						var f2=fieldlist[h].split('="');
						if (f2[0].search(/shape.area/i)>-1 || f2[0].search(/shape.len/i)>-1){
							f2[1]=replaceCommaByPoint(f2[1]);
							f2[1]=Math.round(f2[1]);
						}
						newfieldlist[newfieldlist.length]=String(f2[0])+"|"+String(f2[1]);
					}
				}
				strInfoWinTable+="";
				
				var tmpM=0;		
				for (var ii=0;ii<newfieldlist.length;ii++){
					if (newfieldlist[ii]!=""){
						strInfoWinTable += "<tr valign='top'>";
						var f3=newfieldlist[ii].split('|');
						if (f3[0].toUpperCase()!="#SHAPE#" && f3[1]!="") {
							if (evenOdd == "evenRow"){
								evenOdd = "oddRow";
							}else{
								evenOdd = "evenRow";
							}
							strInfoWinTable += "<td class='" + evenOdd + "'>";
							if (arrEnv[intCntSelFeature]!=null && tmpM==0){
								tmpM=1;
								strInfoWinTable += "<a href='javascript:zoomtoobjects("+arrEnv[intCntSelFeature]+")'>" + intCntSelFeature + "</a>";
							}
							strInfoWinTable += "</td>";
							if (String(f3[1]).indexOf(urlbauenonline)>-1){
								strInfoWinTable += "<td class='" + evenOdd + "'>" + f3[0]+ "</td><td class='" + evenOdd + "'><a href=\"javascript:opener.bauenonline('" + f3[1] + "')\">Bauen-Online starten</a></td>";
							}else if (String(f3[1]).indexOf("http://")>-1 || String(f3[1]).indexOf("file:")>-1){
								if (f3[0]=="B-Plan im pdf-Format"){
									strInfoWinTable += "<td class='" + evenOdd + "'>" + f3[0] + "</td><td class='" + evenOdd + "'><a href=\"javascript:opener.openNewWindow('" + f3[1] + "')\">herunterladen</a></td>";
								}else if (f3[0].indexOf("Homepage")>-1 || f3[0].indexOf("weitere Informationen")>-1){
									strInfoWinTable += "<td class='" + evenOdd + "'>" + f3[0] + "</td><td class='" + evenOdd + "'><a href=\"javascript:opener.openNewWindow('" + f3[1] + "')\">anzeigen</a></td>";
								}else{
									strInfoWinTable += "<td class='" + evenOdd + "'>" + f3[0] + "</td><td class='" + evenOdd + "'><a href=\"javascript:opener.openNewWindow('" + f3[1] + "')\">weitere Informationen</a></td>";
								}
							}else if (String(f3[1]).indexOf("@")>-1){
								strInfoWinTable += "<td class='" + evenOdd + "'>" + f3[0] + "</td><td class='" + evenOdd + "'><a href=\"mailto:" + f3[1] + "\">"+f3[0]+"</a></td>";
							}else{
								strInfoWinTable += "<td class='" + evenOdd + "'>" + f3[0] + "</td><td class='" + evenOdd + "'>" + f3[1] + "</td>";
							}
							strInfoWinTable += "</tr>";
							if (f3[0].toUpperCase()=="FS"){
								if (strInfoWinFS.length>0){
									strInfoWinFS+=",";
								}
								strInfoWinFS+="'"+f3[1]+"'";
							}
						}
					}
				}
				strInfoWinTable += "</table>";
				if (wininfo.document.getElementById("divinfo").innerHTML.indexOf("lade Daten")>-1){
					wininfo.document.getElementById("divinfo").innerHTML="";
				}
				wininfo.document.getElementById("divinfo").innerHTML+=strInfoWinTable;
				writeProtokoll("setInfoTable.strInfoWinTable\n"+strInfoWinTable);
				if (intCntSelFeature==intMaxFeaturInfo){
					wininfo.document.getElementById("divinfo").innerHTML="<p style='background-color:red;font-family:Arial;font-weight:bold;;color:white'>maximale Anzahl selektierbarer Objekte ("+intMaxFeaturInfo+") überschritten !</p>"+wininfo.document.getElementById("divinfo").innerHTML+"<p style='background-color:red;color:white;font-family:Arial;font-weight:bold;'>maximale Anzahl selektierbarer Objekte ("+intMaxFeaturInfo+") überschritten !</p>";
				}
				
				p3=response.indexOf("ENVELOPE",p4);
			}
			//if (wininfo &&  !wininfo.closed){
				if (strInfoWinFS!=""){
					if (wininfo.document.formflurstliste.frmfsliste.value!=""){
						wininfo.document.formflurstliste.frmfsliste.value+=",";
					}
					wininfo.document.formflurstliste.frmfsliste.value+=strInfoWinFS;
					wininfo.document.formflurstliste2.frmfsliste.value=wininfo.document.formflurstliste.frmfsliste.value;
					strInfoWinTable='<a href="javascript:window.print()">Drucken</a>&#160;&#160;<a href="javascript:self.close()">Schliessen</a>&nbsp;<a href="javascript:self.formflurstliste.submit()">&#160;Eigent&uuml;merliste&#160;</a>';
					if (blnIsAllowedWriteIspExport){
						strInfoWinTable+='<a href="javascript:self.formflurstliste2.submit()">&#160;ISP-Kommunal&#160;</a>';
					}
					wininfo.document.getElementById("divft").innerHTML=strInfoWinTable;
				}
			/*
			}else{
				writeProtokoll("sendIdRequest\nFehler: wininfo closed !");
			}
			*/
			
			}
	}else{
		if (intFeaturecnt<0){ 
			writeProtokoll("setInfoTable\nFehler: "+response);
			strInfoWinTable += "<br><table border='0' cellpadding='0' cellspacing='1' width='100%'>";
			strInfoWinTable += "<tr class='headerRow'>";
			if (layeridx>-1){
				strInfoWinTable += "<td  class='headerRow'>" + LayerAliasname[layeridx] + "</td>";
			}else{
				strInfoWinTable += "<td  class='headerRow'>Name</td>";
			}
			strInfoWinTable += "</tr>";
			strInfoWinTable += "</table>";
			strInfoWinTable += "<div style='overflow:auto;border-width:1px;'>";
			strInfoWinTable += "<table width='100%' cellpadding='1' cellspacing='2'>";
			strInfoWinTable += "<colgroup><col width='40%'><col width='60%'></colgroup>";
			strInfoWinTable += "<Table><tr><td class='oddRow'>&nbsp;</td><td class='oddRow'>Fehler bei Daten&uuml;bermittlung</td></tr></table></div>";
			wininfo.document.getElementById("divinfo").innerHTML+=strInfoWinTable;
		}
	}
	wininfo.focus();
}
function getIdRequest(countOnly, beginRecord, layerindex,ext){
	writeProtokoll("getIdRequest\n"+ext);
	if (layerindex==null){
		layerindex=ActiveLayerIndex;
	}
	var axl ="";
	var arrExtent = ext.split(":");
	setLayerinfoXY(layerindex,arrExtent[0],arrExtent[1],arrExtent[2],arrExtent[3]);
	if (LayerType[layerindex]!="grid"){
		axl = '<?xml version="1.0" encoding="UTF-8"?>';
		axl += '<ARCXML version="1.1">\n<REQUEST>\n<GET_FEATURES geometry="false" outputmode="xml" checkesc ="true" ';
		if(countOnly){
			axl += 'envelope="false" skipfeatures="true">\n';
			axl += '<LAYER id="' + LayerID[layerindex] + '" />';
		}else{
			axl += 'envelope="true" skipfeatures="false" beginrecord="' +  beginRecord + '" featurelimit="' + intMaxFeaturInfo + '">\n'; 
			axl += '<LAYER id="' + LayerID[layerindex] + '"/>';
		}
		axl += '<SPATIALQUERY>';
		axl += '<SPATIALFILTER relation="area_intersection" subfields="' + LayerSelFieldList[layerindex] + '">';
		var env='<ENVELOPE minx="' + idMinX + '" maxx="' + idMaxX + '" miny="' + idMinY + '" maxy="' + idMaxY + '" />';
		env=replacePointByComma(env);
		axl += env;//'<ENVELOPE maxy="' + idMaxY + '" maxx="' + idMaxX + '" miny="' + idMinY + '" minx="' + idMinX + '" />';
		
		axl += '</SPATIALFILTER>';
		axl += '</SPATIALQUERY>';
		axl += '</GET_FEATURES>';
		axl += '</REQUEST>';
		axl += '</ARCXML>';
	}else{
	axl += '<?xml version="1.0" encoding="UTF-8" ?>';
	axl += '<ARCXML version="1.1">';
	axl += '<REQUEST> ';
	axl += '<GET_RASTER_INFO x="' + idMinX + '" y="' + idMinY + '" layerid="' + LayerID[layerindex] + '" >';
	axl += '<COORDSYS id="31493" />';
	axl += '</GET_RASTER_INFO>';
	axl += '</REQUEST>';
	axl += '</ARCXML>'; 
	}
	writeProtokoll("getIdRequest\n"+axl);
	return axl;
}

function evaluateCommand(query){
	if (query!=""){
		UnselectSelectedFeatures();
		txtQuery="";
		var strQueryEsc=unescape(query);
		var strQueryUcase=strQueryEsc.toUpperCase();
		writeProtokoll("evaluateCommand "+query);
		var x=0;
		var y=0;
		var str="";
		var pos = strQueryUcase.indexOf("GKR=");
		if (pos>-1){
			var startpos = pos + 4;
			var endpos = strQueryUcase.indexOf("&",startpos);
			if (endpos==-1) endpos = strQueryUcase.length;
			str=strQueryUcase.substring(startpos,endpos);
			str=str.replace(/ /g, "");
			x=replaceCommaByPoint(str)
		}
		var pos = strQueryUcase.indexOf("GKH=");
		if (pos>-1 && x > 0){
			var startpos = pos + 4;
			var endpos = strQueryUcase.indexOf("&",startpos);
			if (endpos==-1){
				endpos = strQueryUcase.length;
			}
			str=strQueryUcase.substring(startpos,endpos);
			str=str.replace(/ /g, "");
			y=replaceCommaByPoint(str);
			if (x!=Number.NaN && y!=Number.NaN){
				x=Number(x);
				y=Number(y);
				if (x<limitLeft || x > limitRight || y < limitBottom || y > limitTop){
					alert("Koordinatenpunkt ist 0 oder liegt außerhalb des berechtigten Bereichs !");
				}else{
					pos = strQueryUcase.indexOf("SETMARKER=TRUE");
					if (intGkLoeschen==0){
						clickPointGKX.length=0;
						clickPointGKY.length=0;
					}
					if (pos!=-1) {
						clickPointGKX[clickPointGKX.length]=x;
						clickPointGKY[clickPointGKY.length]=y;
					}
					minx = x-100;
					miny = y-100;
					maxx = x+100;
					maxy = y+100;
					setextentbym(1000);
				}
			}
		}
		var pos = strQueryUcase.indexOf("BOX=");
		if (pos>-1){
			var startpos = pos + 4;
			var endpos = strQueryUcase.indexOf("&",startpos);
			if (endpos==-1) endpos = strQueryUcase.length;
			var b=replaceCommaByPoint(strQueryUcase.substring(startpos,endpos));
			var env=b.split(":")
			if (env.length==4){
				minx = Number(env[0]);
				miny = Number(env[1]);
				maxx = Number(env[2]);
				maxy = Number(env[3]);
			}
		}
		var pos = strQueryUcase.indexOf("PRINTHTML=TRUE");
		if (pos>-1){
			print_html=true
		}
		var pos = strQueryUcase.indexOf("SUCHEN=");
		if (pos>-1){
			var startpos = pos + 7;
			var endpos = strQueryUcase.indexOf("&",startpos);
			if (endpos==-1) endpos = strQueryUcase.length;
			str=strQueryUcase.substring(startpos,endpos);
			str=str.replace(/ /g, "");
			intSuchenDialog=str;
		}
		var pos = strQueryUcase.indexOf("TOOL=");
		if (pos>-1){
			var startpos = pos + 5;
			var endpos = strQueryUcase.indexOf("&",startpos);
			if (endpos==-1) endpos = strQueryUcase.length;
			str=strQueryUcase.substring(startpos,endpos);
			if (str=="ZOOMIN"){
				setActiveTool('zoomin');
				highlightTool('zoomin');
			}
			if (str=="PAN"){
				setActiveTool('pan');
				highlightTool('pan');
			}
			if (str=="IDENTIFY"){
				setActiveTool('identify');
				highlightTool('identify');
			}
		}
		var pos = strQueryUcase.indexOf("LAYERVISIBLE=");
		if (pos>-1){
			var startpos = pos + 13;
			var endpos = strQueryUcase.indexOf("&",startpos);
			if (endpos==-1) endpos = strQueryUcase.length;
			var arrLayerVisible=strQueryUcase.substring(startpos,endpos).split(",")
			
			if (arrLayerVisible.length>0){
				//LayerVisible=LayerVisibleOriginal.split(",");
				for (var i=0;i<LayerIDTab.length;i++) {
					for (var j=0;j<arrLayerVisible.length;j++) {
						if (arrLayerVisible[j]!="" && LayerIDTab[i]==arrLayerVisible[j] && LayerBerechtigung[i]==1){
							LayerVisible[i]=1;
							if (LayerGruppe[i]!=""){
								for (var k=0;k<LayerIDTab.length;k++) {
									if (LayerGruppe[k]==LayerGruppe[i]){
										LayerVisible[k]=LayerVisible[i];
									}
								}	
							}
						}
					}	
				}
			}
		}
		var pos = strQueryUcase.indexOf("MSTAB=");
		if (pos>-1){
			var startpos = pos + 6;
			var endpos = strQueryUcase.indexOf("&",startpos);
			if (endpos==-1) endpos = strQueryUcase.length;
			var m=strQueryUcase.substring(startpos,endpos);
			if (!m.NaN){	
				setextentbym(m);
				zoomtoscale=m;
			}
		}
		var pos = strQueryUcase.indexOf("QUERY=");
		if (pos>-1){
			sendGetFeatureRequest(query,false,1);
		}
		var pos = strQueryUcase.indexOf("GETINFOXY=");
		if (pos>-1){
			var startpos = pos + 10;
			var endpos = strQueryUcase.indexOf("&",startpos);
			if (endpos==-1) endpos = strQueryUcase.length;
			var arrPoint=strQueryUcase.substring(startpos,endpos).split(",")
			getInfoFromXy(arrPoint[0],arrPoint[1]);
		}

	}
	getAllMaps(true);
}




function sendGetFeatureRequest(wherestring, countOnly, beginRecord){
	var axl = getFeatureRequest(wherestring, countOnly, beginRecord);
	if (axl!=""){
		var queryUrl = 	MsListUrl[LayerMS[ActiveLayerIndex]] + "&CustomService=Query";
		var deferred = dojo.rawXhrPost({
			url:    queryUrl,
			sync: true,
			handleAs: "text",
			timeout: 2000, //Time in milliseconds
			postData:axl,
			handle: function(response, ioArgs){
				if(response instanceof Error){
					intPrintImageRequestCnt++;
					if(response.dojoType == "cancel"){
						writeProtokoll("sendGetFeatureRequest.Canceled "+this.url)
					}else if(response.dojoType == "timeout"){
						writeProtokoll("sendGetFeatureRequest.TimeOut "+this.url)
					}else{
						writeProtokoll(response);
					}
				}else{
					parseResultGetFeatureRequest(response);
				}
			}
		});
	}
}

function getFeatureRequest(wherestring, countOnly, beginRecord){
	var w=unescape(wherestring);
	var pos = -1;
	var startpos=-1;
	var endpos=-1;
	var highlight=false;
	showinfo=false;
	var blnZoomTo=true;
	var intQuerylayerIndex=-1;
	var axl="";
	var e="";
	var d="";
	var where ="";
	var blnSpatialquery=false;
	pos = w.toUpperCase().indexOf("SPATIALQUERY");
	if (pos!=-1) {
		blnSpatialquery=true;
	}
	pos = w.toUpperCase().indexOf("HIGHLIGHT=TRUE");
	if (pos!=-1) {
		highlight=true;
		txtQuery="HIGHLIGHT=TRUE";
	}
	pos = w.toUpperCase().indexOf("SHOWINFO=TRUE");
	if (pos!=-1) {
		showinfo=true;
	}
	pos = w.toUpperCase().indexOf("SETMARKER=TRUE");
	if (pos!=-1) {
		highlight=false;
		setmarker=true;
		txtQuery="SETMARKER=TRUE";
	}
	pos=w.toUpperCase().indexOf("QUERYLAYER=");
	if (pos!=-1) {
		startpos = pos + 11;
		endpos = w.indexOf("&",startpos);
		if (endpos==-1) endpos = w.length;
		var intQuerylayer = Number(w.substring(startpos,endpos));
		if (intQuerylayer != Number.NaN){
			intQuerylayerIndex=getLayerIndexByID(intQuerylayer);
			if (intQuerylayerIndex>-1){
				setActiveLayer(intQuerylayerIndex);
				txtQuery+="&"+w.substring(startpos-11,endpos);
			}
		}
	}
	pos=w.toUpperCase().indexOf("QUERY=");
	if (pos!=-1) {
		bufferinm=0;
		startpos = pos + 6;
		endpos = w.indexOf("&",startpos);
		if (endpos==-1) endpos = w.length;
		where = w.substring(startpos,endpos);
		txtQuery+="&QUERY=";
		txtQuery+=where;
		pos = where.indexOf("FS");
		if (pos!=-1 && rgs_layerid_f001_f > -1 && LayerBerechtigung[rgs_layerid_f001_f]>0) {
			if (where.indexOf(rgs_f001_f_field)<0){
				d=rgs_f001_f_field+"=";
				where = where.replace(/FS=/g, d);
				d=rgs_f001_f_field+"=";
				where = where.replace(/FS =/g, d);
				d=rgs_f001_f_field+" LIKE ";
				where = where.replace(/FS LIKE/g, d);
				d=rgs_f001_f_field+" LIKE ";
				where = where.replace("FSLIKE", d);
			}
			where = where.replace(/&apos;/, "'");
			where = where.replace(/"/g, "'");
			var isfs=where.indexOf("FS=");
			if (isfs!=-1){
				var xfs=where.substring(isfs+4,isfs+25);
				strPrtUserText=getFsText(xfs);
			}
			zoomtoscale=1000;
			setActiveLayer(rgs_layerid_f001_f);
			setlayervisible(ActiveLayerIndex);
		}
		pos = where.indexOf("HA");
		if (pos!=-1 && rgs_layerid_f011_f > -1 && LayerBerechtigung[rgs_layerid_f011_f]>0) {
			if (where.indexOf(rgs_f011_f_field)<0){
				d=rgs_f011_f_field+"=";
				where = where.replace(/HA=/g, d);
				d=rgs_f011_f_field+" =";
				where = where.replace(/HA =/g, d);
				d=rgs_f011_f_field+" LIKE ";
				where = where.replace(/HA LIKE/g, d);
				d=rgs_f011_f_field+" LIKE ";
				where = where.replace("HALIKE", d);
			}
			where = where.replace(/&apos;/, "'");
			zoomtoscale=1000;
			setActiveLayer(rgs_layerid_f011_f);
			setlayervisible(ActiveLayerIndex);
		}
		if (pos==-1 && intQuerylayerIndex !=-1){
			if (LayerBerechtigung[intQuerylayerIndex]>0){
				where = where.replace(/&apos;/, "'");
				setActiveLayer(intQuerylayerIndex);
				setlayervisible(intQuerylayerIndex);
			}
		}
		/*
		pos = where.indexOf("GMKG");
		if (pos!=-1 && rgs_layerid_gemarkungen > -1) {
//			where = where.replace(/GM/, rgs_f011_f_field);
			zoomtoscale=0;
			setActiveLayer(rgs_layerid_gemarkungen); 
		}
		pos = where.indexOf("GEMEINDE");
		if (pos!=-1 && rgs_layerid_gemeinden > -1) {
//			where = where.replace(/GM/, rgs_f011_f_field);
			zoomtoscale=0;
			setActiveLayer(rgs_layerid_gemeinden); 
		}
		*/
		pos = where.indexOf("BPLAN_ID");
		if (pos!=-1 && rgs_layerid_bplanuebers > -1 && LayerBerechtigung[rgs_layerid_bplanuebers]>0) {
			where = where.replace(/BPLAN_ID/g, rgs_bplanuebers_field);
			where = where.replace(/&apos;/, "'");
			setActiveLayer(rgs_layerid_bplanuebers);
			setlayervisible(ActiveLayerIndex);
			zoomtoscale=0;
		}
		if (highlight) {
			LayerSelAttr[ActiveLayerIndex]=where+"|";
		}
		
		if (where!=""){
			var f="";
			axl = '<?xml version="1.0" encoding="UTF-8"?>';
			axl += '<ARCXML version="1.1">\n<REQUEST>\n<GET_FEATURES geometry="false" outputmode="xml" checkesc ="true" ';
			axl += 'envelope="true" skipfeatures="false">\n'; 
			axl += '<LAYER id="' + LayerID[ActiveLayerIndex] + '" />';
			axl +='<';
			if (blnSpatialquery){
				axl +='SPATIAL';
			}
			axl +='QUERY subfields="#ALL#" where="'+where+'" featurelimit="'+intMaxFeaturInfo+'">\n';
			if (blnSpatialquery){
				axl +='<SPATIALFILTER relation="area_intersection">';
                axl +='<ENVELOPE minx="'+ minx +'" miny="'+ miny +'" maxx="'+ maxx +'" maxy="'+ maxy +'" />';
				axl +='</SPATIALFILTER>';
			}
			axl +='</';
			if (blnSpatialquery){
				axl +='SPATIAL';
			}
			axl +='QUERY>';
			axl += '</GET_FEATURES>';
			axl += '</REQUEST>';
			axl += '</ARCXML>';
		}
	}
	writeProtokoll("getFeatureRequest\n"+wherestring+"\n"+axl)
	return axl;
}

function parseResultGetFeatureRequest(responseText){
	writeProtokoll("parseResultGetFeatureRequest\n"+responseText)
	idCount = getFeatureCount(responseText); 
	switch (idCount) {
	  case 0:
	  	alert("Objekt(e) in der Karte nicht enthalten!");
		if (wininfo && !wininfo.closed){
			wininfo.close();
		}
		
		break;
	default:
		zoomToSelected(responseText, zoomtoscale, setmarker);
		if (idCount>0 && showinfo){
			setInfoTable(ActiveLayerIndex,responseText);
		}
	}
}

function getFeatureCount(theReply){
	var intCount=-1;
	var startpos = 0;
	var endpos = 0;
	var pos = theReply.indexOf("FEATURECOUNT");
	var pos1 = theReply.indexOf("count", pos + 12);
	if(pos1 != -1){
		pos1 += 7;
		var pos2 = theReply.indexOf("\"", pos1);
		intCount = parseFloat(theReply.substring(pos1,pos2));
	}else{
		intCount=-1;
	}
	return intCount;
}
function zoomToSelected(theReply,mstab,setmarker){
	writeProtokoll("zoomToSelected\n");
	var cnt=getFeatureCount(theReply);
	var endpos=1;
	var startpos = theReply.indexOf("<ENVELOPE ",endpos);
	var env=getEnvelopeXYs(theReply, startpos);
	minx = env[0];
	miny = env[1];
	maxx = env[2];
	maxy = env[3];
	if (cnt > 0){
		for (var i=0;i<cnt;i++) {
			startpos = theReply.indexOf("<ENVELOPE ",endpos);
			endpos=theReply.indexOf("/>",startpos);
			var env=getEnvelopeXYs(theReply, startpos);
			if (env[0] < minx)
				minx = env[0];
			if (env[1] < miny)
				miny = env[1];
			if (env[2] > maxx)
				maxx = env[2];
			if (env[3] > maxy)
				maxy = env[3];
		}
		var mstx=getscale(mwidth,maxx-minx);
		var msty=getscale(mheight,maxy-miny);
		if (msty>mstx){
			mstx=msty;
		}
		var mstx=parseInt(mstx*1.1); // Rand um das ausgewaehlte Objekt
		setextentbym(mstx);
	//writeProtokoll("zoomToSelected\n"+mstab+"\n"+minx+"\n"+miny+"\n"+String(maxx-minx)+"\n"+maxx+"\n"+maxy+"\n"+String(maxy-miny));

	}
	if (setmarker){
		var x=Number(minx+maxx)/2;
		var y=Number(miny+maxy)/2;
		clickPointGKX.length=1;
		clickPointGKY.length=1;
		clickPointGKX[0]=x;
		clickPointGKY[0]=y;
	}
	if (mstab==null||mstab==0||mstab<mstx){
	}else{
		zoomByScale(mstab);
	}
}

// get a list of field names from the returned record
function getFieldNames(recordString) {
	//recordString=recordString.replace(/<FIELDS /i, "");
	//recordString=recordString.replace(/.>/, "");
	writeProtokoll("getFieldNames(recordString)\n"+recordString)
	var theStuff = new String(recordString.replace(/"/g,""));				
	var theList = theStuff.split(' ');
	var ff=0;
	var startpos=-1;
	var endpos=-1;
	var arr_name=new Array();
	var arr_alias=new Array();
	var fName1 = "";
	for (var f=0;f<theList.length;f++) {
		var v = theList[f].split('=');
		if (LayerSelFieldList[ActiveLayerIndex].indexOf(v[0])>-1||LayerSelFieldList[ActiveLayerIndex]=="#ALL#"||LayerSelFieldList[ActiveLayerIndex]=="*"){
			if (LayerFieldAliasList[ActiveLayerIndex]!=""){
				if (LayerFieldAliasList[ActiveLayerIndex].indexOf("|")==-1){
					LayerFieldAliasList[ActiveLayerIndex]+="|";
				}
				arr_name=LayerFieldAliasList[ActiveLayerIndex].split("|");
				for (var g=0;g<arr_name.length;g++) {
					if (arr_name[g]){
						arr_alias=arr_name[g].split(":");
						if (arr_alias[0]==v[0]){
							fName1+=arr_alias[1]+":"+v[1];
						}
					}
				}
			}else{
				fName1+= v[0]+":"+v[1];;
			}
			fName1+="|";
		}
	}
	writeProtokoll("getFieldNames(fname1)\n"+fName1)
	return fName1;

}

// get a list field values from the returned record
function getFieldValues(recordString) {
	var theStuff = new String(recordString);				
	var theList = theStuff.split('" ');
	var fValue1 = new Array();
	var ff=0;
	for (var f=0;f<theList.length;f++) {
		var v = theList[f].split('="');
		if ((v[1]=="") || (v[1]==null)) v[1] = "&nbsp;";
		if (LayerSelFieldList[ActiveLayerIndex].indexOf(v[0])>-1||LayerSelFieldList[ActiveLayerIndex]=="#ALL#"||LayerSelFieldList[ActiveLayerIndex]=="*"){
			fValue1[ff] = v[1];
			ff++;
		}
	}
	return fValue1;
}
function openNewWindow(url){
	var w1=window.open(url,"Zusatzinfo","toolbar=yes,location=yes,status=no,scrollbars,resizable,menubar=no,width=600,height=500");
	w1.focus();
}

function getFsText(fs){
	var fstext="";
	if (fs.length==21){
		fstext=getGemarkungsname(fs.substring(4,8));
		fstext+=", Flur " + Number(fs.substring(8,11));
		fstext+=", Flst. "+Number(fs.substring(11,16));
		fstext+=" / "+Number(fs.substring(16,19));
		fstext+="   ";
	}
	return fstext;
}
function getHaText(ha){
	var hatext="";
	if (ha.length==26){
		var kr=ha.substring(5,7);
		var gm=ha.substring(7,10);
		var st=ha.substring(10,15);
		hatext=getGemeindename(kr,gm);
		hatext+=", ";
		hatext+=getStrassenname(kr,gm,st);
		hatext+=" "+Number(ha.substring(16,19));
		hatext+=ha.substring(20,23);
	}
	return hatext;
}
function searchSchilderstandorteFromDialog(){
	wherestring="";
//	if (document.formularschilderstandort.frmSchilderstandortnr.value){
	wherestring+="QUERY=UPPER(STANDORTNR)='"+document.formularschilderstandort.frmSchilderstandortnr.value.toUpperCase()+"'"
	wherestring+="&HIGHLIGHT=TRUE&QUERYLAYER=764&MSTAB=1000";
	evaluateCommand(wherestring);		
}
function searchFsFromDialog(){
	wherestring="";
	if (document.formularflurstueck.frmgemarkungsliste.selectedIndex!=0){
		var v=gmk[document.formularflurstueck.frmgemarkungsliste.selectedIndex-1];
		var t=v.split(":");
		var gm=t[0];
		if (gm!="0000"){
			var flur = document.formularflurstueck.frmflur.value;
			flur=flur.replace(/ /g, '0');
			while (flur.length < 3)
			{
				flur = "0" + flur;
			}
			var flurstz = document.formularflurstueck.frmflurstz.value;
			flurstz=flurstz.replace(/ /g, '0');
			while (flurstz.length < 5)
			{
				flurstz = "0" + flurstz;
			}
			var flurstn = document.formularflurstueck.frmflurstn.value;
			flurstn=flurstn.replace(/ /g, '0');
			while (flurstn.length < 3)
			{
				flurstn = "0" + flurstn;
			}
			var v="FS03";
			v+=gm;
			v+=flur;
			v+=flurstz;
			v+=flurstn;
			v+="00";
			if (urlretbenutzerdaten!=""){
				wherestring+="HIGHLIGHT=TRUE&"
			}
			if (flur!="000"&&flurstz!="00000"){
				wherestring+="QUERY=FS='"+v+"'";
			}else{
				if (flur!="000"){
					wherestring+="QUERY=FS LIKE 'FS03"+gm;
					wherestring+=flur+"%'";
				}else{
					wherestring="BOX="+t[2]+":"+t[3]+":"+t[4]+":"+t[5];
				}
			}
			evaluateCommand(wherestring);
		}
	}
}
function searchHaFromDialog(){
	wherestring="";
	if (document.formular.frmstrassenliste.selectedIndex!=0){
		txt = document.formular.frmhausnr.value;
		txt=txt.replace(/ /g, '');
		var hausnr = "";
		var hausnr_az = "";
		for(i=0;i<txt.length;++i)
			if(txt.charAt(i) < "0" || txt.charAt(i) > "9")
				hausnr_az =	txt.charAt(i);
			else
				hausnr = hausnr + txt.charAt(i);
		while (hausnr.length < 4)
		{
			hausnr = "0" + hausnr;
		}
		while (hausnr_az.length < 4)
		{
			hausnr_az = " " + hausnr_az;
		}
		var v=document.formular.frmstrassenliste.options[document.formular.frmstrassenliste.selectedIndex].value;
		var t=v.split("|");
		wherestring+="BOX="+t[1];
		if (urlretbenutzerdaten!=""){
			wherestring+="&HIGHLIGHT=TRUE"
		}else{
			wherestring+="&SETMARKER=TRUE"
		}
		if (hausnr!="0000"){
			ha="HA033";
			ha+=t[0];
			ha+=hausnr;
			if (hausnr_az=="    "){
				wherestring+="&QUERY="+rgs_f011_f_field+" like '"+ha+"%'";
			}else{
				ha+=hausnr_az.toUpperCase();
				ha+="001";
				wherestring+="&QUERY="+rgs_f011_f_field+"='"+ha+"'";
			}
		}
		evaluateCommand(wherestring);
	}else if (document.formular.frmgemeindeliste.selectedIndex!=0){
		var v=document.formular.frmgemeindeliste.options[document.formular.frmgemeindeliste.selectedIndex].value;
		var t=v.split("|");
		if (t[0]!="00000"){
			wherestring+="BOX="+t[1];
		}
		evaluateCommand(wherestring);
	}
}
function searchBauplatzFromDialog(){
	var wherestring="";
	if (wininfo && !wininfo.closed){
		//wininfo.close();
		wininfo.document.getElementById("divinfo").innerHTML="";
	}else{
		openInfoWindow();
	}
	if (document.formularbauplatz.frmgemeindelistebauplatz.selectedIndex!=0){
		wherestring+="QUERYLAYER="+LayerIDTab[rgs_layerid_bauplatz];
		var v=document.formularbauplatz.frmgemeindelistebauplatz.options[document.formularbauplatz.frmgemeindelistebauplatz.selectedIndex].value;
		wherestring+="&QUERY=BAUGEBIET_KATASTER.GKZ = '"+v;
		wherestring+="'&SHOWINFO=TRUE";
		evaluateCommand(wherestring);
	}

}
function searchSqlFromDialog(){
	if (getLayerVisibility(ActiveLayerIndex)){
		showLayer('loading');
		if (wininfo && !wininfo.closed){
			wininfo.document.formflurstliste.frmfsliste.value="";
			wininfo.document.getElementById("divifr").innerHTML="";
			wininfo.document.getElementById("divinfo").innerHTML="";
		}else{
			openInfoWindow();
		}
		var wherestring="";
		wherestring+="QUERYLAYER="+LayerIDTab[ActiveLayerIndex];
		wherestring+="&HIGHLIGHT=TRUE&SHOWINFO=TRUE";
		if (LayerSelFieldList[ActiveLayerIndex].indexOf("#ALL#")<0){
			var arrFields=LayerSelFieldList[ActiveLayerIndex].split(",");
		}else{
			var arrFields0=LayerFieldAliasList[ActiveLayerIndex].split("|");
			if (arrFields0.length>0){
				var arrFields1=new Array();
				var arrFields=new Array();
				for (var i = 0; i < arrFields0.length; i++){
					arrFields1=arrFields0[i].split(":");
					arrFields[arrFields.length]=arrFields1[0];
				}
			}
		}
		if (arrFields.length>0){
			wherestring+="&";
			if (document.formularsql.intspatialquery.value==1){
				wherestring+="SPATIAL";
			}
			wherestring+="QUERY=";
			for (var i = 0; i < arrFields.length; i++){
				if (arrFields[i].indexOf("SHAPE")<0){
					if (i>0){
						wherestring+=" OR ";
					}
					wherestring+=arrFields[i]+" LIKE '%25"+document.formularsql.frmsql.value+"%25'";
				}
			}
			evaluateCommand(wherestring);
		}else{
			alert("Funktion nicht möglich (Feldliste ist leer) !");
		}
		hideLayer('loading');
	}else{
		alert("Wählen Sie bitte ein Thema\naus der Liste der aktiven Layer !");
	}
}
function searchFloraFromDialog(){
	var wherestring="";
	if (document.formularflora.frmfloralistedt.selectedIndex!=0){
		wherestring+="QUERYLAYER="+LayerIDTab[rgs_layerid_floralkh];
		var v=document.formularflora.frmfloralistedt.options[document.formularflora.frmfloralistedt.selectedIndex].text;
		wherestring+="&QUERY=ART_DEUTSCH like '"+v;
		wherestring+="%'&HIGHLIGHT=TRUE&SHOWINFO=TRUE";
		evaluateCommand(wherestring);
	}else{
		if (document.formularflora.frmfloralistebot.selectedIndex!=0){
			wherestring+="QUERYLAYER="+LayerIDTab[rgs_layerid_floralkh];
			var v=document.formularflora.frmfloralistebot.options[document.formularflora.frmfloralistebot.selectedIndex].text;
			wherestring+="&QUERY=ART_BOTANISCH like '"+v;
			wherestring+="%'&HIGHLIGHT=TRUE&SHOWINFO=TRUE";
			evaluateCommand(wherestring);
		}
	}
}


