// Projektspezifische JS-Funktionen

function openPopup(url, ID) {
	switch(ID){
		case 4:
			parent.location.href = url;
			break;
		case 5:
			parent.window.opener.location.href = url;
			break;
		default:
			if (parseInt(ID,10) > 0) {
				window.open(url, "ePilotPopup"+ID, IstrListboxTargetPopupstyle[ID]);
			}	else {
				window.open(url);
			}
	}
}

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 openPopupFlash(url){
	window.open(url, "Flash", "status=no,scrollbars=no,width=830,height=700");
}


function DropDownSelect(formName, elementName) {
  var value = document.forms[formName].elements[elementName].value;
  
  // der Link unterteilt sich in Link und Target
  var valueA = value.split(" ");

  var targetID = valueA[1];
  var link = valueA[0];
  
  if (targetID < 3)
	  location.href = link;
  if (targetID == 3)
	  window.open(link);
  if (targetID > 3)
		openPopup(link, targetID, -1);
}


function ShowFlash(controlID, src, width, height, quality, bgcolor, align, params) {
    if (!align)
        align = "middle"
    if (!bgcolor)
        bgcolor = "#ffffff"
    if (!quality)
        quality = "high"

    var output = "";

    output += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"';

		
    if (width != '')
        output += ' width="' + width + '"';
    if (height != '')
        output += ' height="' + height + '"';
		
    output += ' id="' + controlID + '" align="' + align + '">';

    output += '<param name="allowScriptAccess" value="sameDomain" />';
    output += '<param name="movie" value="' + src + '" />';
    output += '<param name="quality" value="' + quality + '" />';
    output += '<param name="bgcolor" value="' + bgcolor + '" />';

    var embedVars = "";
    if (params) {
        for(var i = 0; i < params.length; i++) {
            output += '<param name="' + params[i]['Key'] + '" value="' + params[i]['Value'] + '" />';
            embedVars += params[i]['Key'] + "=\"" + params[i]['Value'] + "\"";
        }
    }

    output += '<embed src="' + src + '" quality="' + quality + '"';
		
    if (width != '')
        output += ' width="' + width + '"';
    if (height != '')
        output += ' height="' + height + '"'
		
    output += ' bgcolor="' + bgcolor + '" name="' + controlID + '" align="' + align + '" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer" ' + embedVars + '></embed>';

    output += '</object>';

    document.write(output);
}

// ############# common.js ################



// 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);

            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;
            }
        } else {
            // Ansonsten einfach hinzufügen
            TlstSingleParams[TlstSingleParams.length] = strParam;
            TlstSingleParams[TlstSingleParams.length] = 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 = "";

    // zuerst evtl. Clicks auf der gelcihen Seite entfernen -> #
    TstrUrl = TstrUrl.replace(/#/, "");
    if (TstrUrl.substr(TstrUrl.length - 1, 1) == "/") {
        TstrUrl = TstrUrl.substring(0, TstrUrl.length - 1);
    }

    // Ist Trennzeichen vorhanden? den ersten '/' dabei übergehen
    var TlngFound = TstrUrl.indexOf(strdivider, 1);
    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++) {
            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;
        }

        newUrl = TlstParams.join(strdivider);
        newUrl = TstrUrlleft + newUrl
    } else {
        newUrl = strUrl;
    }

    newUrl += strdivider;
    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;
}
