//<script>

var glbLucida_separator="?";

// Hier muss eine vollständige URL zum Lucida Root rein mit abschließendem / !
// Wenn das relativ ist, funktionierts nur von der default.asp aus
var glbLucidaProductionServer = "http://webs2.idu.de/bpbautzen/";
var glbLucidaDeveloperServer  = "http://webs.idu.de/bpbautzen/";

function startLucida(props)
{
	return StartLucida(props, true);
}	

function StartLucida(props, doReturnWindow)
{
	if(props==null)
		props=new Object();
		
	var themeGroup=props.TG;
	var themes=props.TH;
	var baseMap=props.GK;
	
	glbLucida_separator="?";
	
	// Entwickler- oder Produktivversion
	if(!props.devVersion)
	{
		path=glbLucidaProductionServer;
	}
	else
		path=glbLucidaDeveloperServer;
	
	url=path+"index.asp";
	//Themengruppe
	if(themeGroup)
	{
		url+=getConcat()+"THEMEGROUP="+themeGroup;
		//THEMA
		if(themes)
			url+=getConcat()+themeGroup+"_THEMELIST="+themes;
	
	}
	//Grundkarte
	if(baseMap)
		url+=getConcat()+"BASEMAP="+baseMap;
	//Actives Thema
	if(props.AT)
		url+=getConcat()+"ACTIVETHEME="+props.AT;
	//Startseite rechts (Right Page)
	if(props.RP)
		url+=getConcat()+"_RIGHT_PAGE="+props.RP;
	//themenspezifische Information abfragen
	if(props.TS!=null)
		url+=getConcat()+"THEMESPECIFIC="+props.TS;
		
	// DEBUG und PREVIEW
	if(props.debug)
		url+=getConcat()+"DEBUG_FLAG=1";
	if(props.preview)
		url+=getConcat()+"PREVIEW_FLAG=1";
	
	if(document.layers/*NS4*/ || (document.all && !document.getElementById/*IE3,IE4*/))
		url+=getConcat()+"BROWSER_PROBLEM=1";

	//Custum - Aufruf
	if(typeof props.pCUST == 'object')
	{
		var temp=getConcat()+"POS_CUSTOM=TRUE";
		var preprocess=false;
		var type=null;
		// preprocess - optional; wenn angegeben, dann wird versucht die ASP-Seite preprocess_GoTo.asp im Projektordner auszuführen
		// action - Pflicht;  ist entweder der Name einer Routine in der iws-Datei oder wird von der preprocess_GoTo.asp Seite ausgewertet
		for(var k in props.pCUST)
		{
			if(k=="action")
				type=props.pCUST[k];
			else if(k=="preprocess")
				preprocess=props.pCUST[k];
			else
				temp+=getConcat()+"POS_C_"+k+"="+escape(props.pCUST[k]);
		}
		if(type)
		{
			url+=temp+getConcat()+"POS_C_SYS_ACTION="+escape(type);
			if(preprocess)
				url+=getConcat()+"POS_C_SYS_PREPROCESS=TRUE";
		}
	}
	else if(props.pXY)
	{
		// Zu XY gehen oder zu Adresse oder zu Objekt
		if(props.pXY.x && props.pXY.y && !isNaN(props.pXY.x) && !isNaN(props.pXY.y))
			url+=getConcat()+"POS_X="+parseInt(props.pXY.x)+"&POS_Y="+parseInt(props.pXY.y)
			    +"&POS_O="+((!isNaN(props.pXY.o) && props.pXY.o)  || 250)
				+"&POS_R="+((!isNaN(props.pXY.r) && props.pXY.r) || 20)
				+"&POS_P="+(props.pXY.p || '');
	}
	else if(props.pADR)// zu Adresse
	{
		if(props.pADR.str)
			url+=getConcat()+"POS_STRKEY="+props.pADR.str+"&POS_HNR="+(props.pADR.hnr || '')
							+"&POS_O="+((!isNaN(props.pADR.o) && props.pADR.o) || '')
							+"&POS_R="+((!isNaN(props.pADR.r) && props.pADR.r) || '')
							+"&POS_P="+(props.pADR.p || '');
	}
	else if(props.pST && props.pST.nr)// Stadtteil
	{
		url+=getConcat()+"POS_ST="+props.pST.nr
							+"&POS_O="+((!isNaN(props.pST.o) && props.pST.o) || '')
	}
	else if(props.pOA && props.pOA.nr)// Ortsamt
	{
		url+=getConcat()+"POS_OA="+props.pOA.nr
							+"&POS_O="+((!isNaN(props.pOA.o) && props.pOA.o) || '')
	}
	else if(props.pOBJ && props.pOBJ.th && props.pOBJ.id!='' && props.pOBJ.id!=null )//Objekt - props.pOBJ.id -> 0 ist zulässig
	{
		url+=getConcat()+"POS_TH="+props.pOBJ.th+"&POS_ID="+props.pOBJ.id
			+"&POS_O="+((!isNaN(props.pOBJ.o) && props.pOBJ.o) || '')
	}
	
	wnd=window.open(url,"NEUER_DDONLINESTDPL","width=766,height=500,status=1,resizable=1");	
	
	if(doReturnWindow)
		return wnd;
}

function getConcat()
{
	if(glbLucida_separator=="?")
	{
		glbLucida_separator="&";
		return "?";
	}	
	return glbLucida_separator;
}


function analizeQueryString(queryString) {

	var request = new Array();
	if (queryString)
		{
		var keyValuePair = new Array();
	
		var requestParts = queryString.split("&");
	
		for( var key in requestParts )
			{
			keyValuePair = requestParts[key].split('=');
			request[keyValuePair[0]] = keyValuePair[1];
			}
		}

	return request;
}


function stadtplan(queryString) {
	
	var request = analizeQueryString(queryString);
	var grundkarte = "TOPO";
	var strasse = "";
	var nr = "";
	var modus = "";

	// choose for the base map
	/*if(request["ansicht"]){
		switch(request["ansicht"]) {
			case 'l':
				grundkarte = "LUBI";
				break;
			case 's':
			default:
				grundkarte = "VECTOR"
		}
	}*/

	// analize street;
	if(request["str"] && request["hnr"]){
		modus = "str";
		strasse=request["str"];
		hnr = request["hnr"];
	}


	var definitionObject = new Object;
	definitionObject.GK = grundkarte;
	switch(modus){
		case 'strasse':
			var streetObject = new Object();
			streetObject.action = 'STRHNR';
			streetObject.preprocess = true;
			streetObject.str = strasse;
			streetObject.hnr = hnr;
			streetObject.o = 150;
			definitionObject.pCUST = streetObject;
			StartLucida(definitionObject);	
			break;
		}

	StartLucida(definitionObject);	
	return false;
}
