//<script language="JavaScript">

function SetURLParam(strUrl, strParam, strValue)
{
	var TstrUrl = strUrl;
	var TstrUrlleft = "";
	var TstrUrlright = "";
	var TlstParams = Array();
	var TlngFound = -1;
	var TblnParamFound = false;
	var newUrl = "";

	// Gibt es Parameter?
	TlngFound = TstrUrl.indexOf("?");

	// Wenn Ja, dann Parameter aus Url auslesen
	if(TlngFound >= 0)
	{
		TstrUrlleft = TstrUrl.substr(0, TlngFound);
		TstrUrlright = TstrUrl.substr(TlngFound + 1, TstrUrl.length);
		if(TstrUrlright.length > 0)
			TlstParams = TstrUrlright.split("&");

		// Parameter in die einzelnen Bestandteile zerlegen
		var TlstSingleParams = Array();
		for (i = 0; i < TlstParams.length; i++)
		{
			value = TlstParams[i];
			lngIndex = value.indexOf("=");
			TlstSingleParams[TlstSingleParams.length] = value.substr(0, lngIndex);
			TlstSingleParams[TlstSingleParams.length] = value.substr(lngIndex + 1, value.length);
			/*
			TlstSingleParams.push(value.substr(0, lngIndex));
			TlstSingleParams.push(value.substr(lngIndex + 1, value.length));
			*/

			if(value.substr(0, lngIndex) == strParam)
				TblnParamFound = true;
		}

		// Parameter schon vorhanden??? Dann Wert ersetzen
		if(TblnParamFound)
		{
			for (i = 0; i < TlstSingleParams.length; i = i+2)
			{
				value = TlstSingleParams[i];

				if(TlstSingleParams[i] == strParam)
					TlstSingleParams[i + 1] = strValue;
			}
		}
		// Ansonsten einfach hinzufügen
		else
		{
			TlstSingleParams[TlstSingleParams.length] = strParam;
			TlstSingleParams[TlstSingleParams.length] = strValue;
			/*
			TlstSingleParams.push(strParam);
			TlstSingleParams.push(strValue);
			*/
		}

		// Url wieder zusammensetzen und zurückgeben
		for (i = 0; i < TlstSingleParams.length; i = i+2)
		{
			if(i > 0)
				newUrl += "&";

			if(TlstSingleParams.length > 0)
				newUrl += TlstSingleParams[i] + "=" + TlstSingleParams[i + 1];
		}
		newUrl = TstrUrlleft + "?" + newUrl
	}
	else
	{
		// Es ist der erste Parameter in der Liste
		newUrl = TstrUrl;

	}

	return newUrl;
}


function SetURLRewriteParam(strUrl, strParam, strValue, strdivider)
{
    var TstrUrl = strUrl;
    var TstrUrlleft = "";
    var TstrUrlright = "";
    var TlstParams = Array();
    var TblnParamFound = false;
    var newUrl = "";

	// feststellen, ob parameter schon vorhanden
	var TlngFound = TstrUrl.indexOf(strdivider + strParam + strdivider);
	
	// wenn gefunden vorhanden
	if (TlngFound >= 0) {
		// jetzt den ganzen Parameter extrahieren
		// linke Hälfte vor Parameter
		TstrUrlleft = TstrUrl.substr(0, TlngFound);
		
		// rechte Hälfte nach Parameter
		// nach dem letzten zecihen des gefunden Parameters den nächsten divider finden
		var rightIndex = TstrUrl.indexOf(strdivider, (TlngFound + (strdivider + strParam + strdivider).length));
		// wenn vorhanden, extrahieren
		if (rightIndex >= 0) {
			// wenn nicht, dann ende -> es gibt keine rechte Seite!
			TstrUrlright = TstrUrl.substr(rightIndex + 1, TstrUrl.length);
		}
	} else {
		TstrUrlleft = strUrl;

		// bei der Startseite gibt es nicht viel!
		if (TstrUrlleft.indexOf(".aspx") < 0) {
			// url ist definitiv falsch
			TstrUrlleft = IstrBaseLink;
		} else {
			// Fall: /main.aspx/ und nichts mehr
			if (TstrUrlleft.substr((TstrUrlleft.indexOf(".aspx") + 5) , TstrUrlleft.length).length < 4) {
				// link ist falsch!!!
				TstrUrlleft = IstrBaseLink;
			}
		}
	}
	
	// linker Teil
	newUrl = TstrUrlleft;
	
	// jetzt die Basis-Url wieder zusammensetzen
	if ((newUrl.lastIndexOf(strdivider) + 1) != newUrl.length) {
		newUrl += strdivider;
	}
	// rechter Teil
	newUrl += TstrUrlright;
	
	// wenn zuletzt ein divider vorkommt, dann nicht mehr anhängen
	if ((newUrl.lastIndexOf(strdivider) + 1) != newUrl.length) {
		newUrl += strdivider;
	}
	
	// den neuen Parameter anhängen
	newUrl += strParam + strdivider + strValue;
	
	return newUrl;
}


function openPopup(url,ID) {
	//der array 'IstrListboxTargetPopupstyle' wird in der methode 
	//MainOutputClass.GetClientJSPopupTargets() gefuellt...
	window.open(url,"ePilotPopup"+ID,IstrListboxTargetPopupstyle[ID]);
}


function openContent(url, ID) {
	switch(ID){
		case 4:
			parent.location.href = url;
			break;
		case 5:
			parent.window.opener.location.href = url;
			break;
	}
}


function RunSearch(lngPopupMode) {
  
  var strLink = IstrPopupLink;
  var queryval = document.forms["suche"].elements["Z"].value;
  var ID = document.forms["suche"].elements["ID"].value;
  
  strLink += "/ID/" + ID + "/Z/" + queryval;
  
  openPopup(strLink, lngPopupMode);
}

function GoToUrl(extUrl, intID, type) {

	var tmpUrl = "";
	if (!type) {
		type = 0;
	}

	if (extUrl != "") {
		tmpUrl = extUrl;
	} else {
		if (type > 5) {
			tmpUrl = IstrPopupLink + "/ID/" + intID
		} else {
			tmpUrl = IstrBaseLink + "/ID/" + intID
		}
	}
	
	// jetzt den inhalt öffnen
	if (type < 4) {
		switch(type) {
		case 2:
			top.location.href = tmpUrl;
			break;
		case 3:
			window.open(tmpUrl);
			break;
		default:
			window.location.href = tmpUrl;
			break;
		}
	} else {
		switch (type) {
		case 4:
			parent.location.href = tmpUrl;
			break;
		case 5:
			parent.window.opener.location.href = tmpUrl;
			break;
		default:
			openPopup(tmpUrl, type);
			break;
		}
	}
}

