//<script>

var glbDDStadtplan_separator="?";

function StartDDStadtplan(props)
{
	if(props==null)
		props=new Object();
		
	var themeGroup=props.TG;
	var themes=props.TH;
	var baseMap=props.GK;
	var path="";
	
	glbDDStadtplan_separator="?";
	
	// Entwickler- oder Produktivversion
	if(!props.devVersion)
	{
		path="http://themenstadtplan.dresden.de";
	}
	else
		path="http://webs1.idu.de/ThemenStadtplan";
	
	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";
		
	// Zu XY gehen oder zu Adresse oder zu Objekt
	if(props.pXY)
	{
		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) || '')
	}
	if(props.getXY && props.getXY.key && props.getXY.retUrl)
	{
		url+=getConcat()+"SPECIAL_MODE=GETXY&SPECIAL_MODE_KEY="+props.getXY.key+"&SPECIAL_MODE_RETURL="+escape(props.getXY.retUrl);
	}
	wnd=window.open(url,"NEUER_DDONLINESTDPL","width=766,height=500,status=1,resizable=1");	
}

function getConcat()
{
	if(glbDDStadtplan_separator=="?")
	{
		glbDDStadtplan_separator="&";
		return "?";
	}	
	return glbDDStadtplan_separator;
}


function analizeQueryString(queryString) {

	var request = new Array();
	var keyValuePair = new Array();
	
	queryString = queryString.replace(/&amp;/,'&');
	var requestParts = queryString.split("&");

	for( var key in requestParts ){
		keyValuePair = requestParts[key].split('=');
		request[keyValuePair[0]] = keyValuePair[1];
	}

	return request;
}


function stadtplan(queryString) {
	if(queryString == null) {
		StartDDStadtplan();
		return;
	}
	var request = analizeQueryString(queryString);
	var grundkarte = "VECTOR";
	var xgk = 0;
	var ygk = 0;
	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["strasse"] && request["nr"]){
		modus = "strasse";
		strasse=request["strasse"];
		strasse = strasse.replace(/str\./,"straße");
		strasse = strasse.replace(/Str\./,"Straße");
		nr = request["nr"];
	}

	// xgk and ygk have priority
	if(request["xgk"] && request["ygk"]){
		modus="koord";
		xgk = request["xgk"];
		ygk = request["ygk"];
	}

	var definitionObject = new Object;
	definitionObject.GK = grundkarte;
	switch(modus){
		case 'strasse':
			var streetObject = new Object();
			streetObject.str = strasse;
			streetObject.hnr = nr;
			streetObject.o = 200;
			streetObject.r = 20;
			streetObject.p = true;
			definitionObject.pADR = streetObject;
			StartDDStadtplan(definitionObject);	
			break;
		case 'koord':
			var koordObject = new Object();
			koordObject.x = xgk;
			koordObject.y = ygk;
			koordObject.o = 250;
			koordObject.r = 20;
			koordObject.p = true;
			definitionObject.pXY = koordObject;
			StartDDStadtplan(definitionObject);	
			break;
		default:
			StartDDStadtplan();
	}
}

function ortsamt(nrOrtsamt) {
	var definitionObject = new Object();
	var pOA = new Object();
	pOA.o=2000;
	pOA.nr = nrOrtsamt;
	definitionObject.pOA = pOA;
	StartDDStadtplan(definitionObject);
}

function stadtteil(nrStadtteil) {
	var definitionObject = new Object();
	var pST = new Object();
	pST.o=1000;
	pST.nr = nrStadtteil;
	definitionObject.pST = pST;
	StartDDStadtplan(definitionObject);
}

