﻿// Allgemeinde JS-Funktionen für ePilot
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 = "";

	//alert( "strUrl:\n" + strUrl );
	// Ist Trennzeichen vorhanden?
    var TlngFound = TstrUrl.indexOf(strdivider);
	if(TlngFound > 0) {
		// Wenn ja, dann die Parameter aus URL auslesen ( URL-Links / Parameter-Rechts ) ( "Splitten" )

		// URL-Links
		TstrUrlleft = TstrUrl.substr(0, TlngFound+1);

		// Parameter-Rechts
		TstrUrlright = TstrUrl.substr(TlngFound+1, TstrUrl.length);

		// URL zerlegen in die einzelnen Parametern und Value's ( "Splitten" )
		if(TstrUrlright.length > 0) {
			TlstParams = TstrUrlright.split(strdivider);
		}

        // gesuchten Parameter abfragen
		for (i = 0; i < TlstParams.length; i = i+2) {
			value = TlstParams[i];

			if(value == strParam) {
				TblnParamFound = true;
				TlstParams[i+1] = strValue;
				break;
			}
		}

        // wenn nicht gefunden, dann einfach anhängen
        if (!TblnParamFound) {
			TlstParams[TlstParams.length] = strParam;
			TlstParams[TlstParams.length] = strValue;
        }

		// URL wieder zusammensetzen und zurueckgeben
		for(i = 0; i < TlstParams.length; i = i+2) {
			if (i > 0)
				newUrl += strdivider;

			if (TlstParams.length > 0)
				newUrl += TlstParams[i] + strdivider + TlstParams[i+1];
		}
		newUrl = TstrUrlleft + newUrl
	} else {
        newUrl = strUrl;
	}
	return newUrl;
}

function AddParamToLink(strLink, strParamName, strValue) {
    if (UrlRewriteWith != "") {
        strLink += UrlRewriteWith + strParamName + UrlRewriteWith + strValue;
    } else {
        if (strLink.lastIndexOf('?') != (strLink.Length - 1)) {
            strLink += "&" + strParamName + "=" + strValue;
        } else {
            strLink += strParamName + "=" + strValue;
        }
    }
    return strLink;
}
