
function SelectRegions(NameRoot) {
    var i = 0;
    var ctrl;
    var allChecked = true;
    for (i = 0; (i == 0 || ctrl != null); i++) {
        ctrl = window.document.getElementById(NameRoot + '_' + i)
        if (ctrl != null)
            allChecked = allChecked && ctrl.checked;

    }

    for (i = 0; (i == 0 || ctrl != null); i++) {
        ctrl = window.document.getElementById(NameRoot + '_' + i)
        if (ctrl != null)
            ctrl.checked = !allChecked;

    }
}

function addFav() {
    if (window.sidebar) {
        window.sidebar.addPanel(document.title, location.href, '');
    }
    else if (window.external) {
        window.external.AddFavorite(location.href, document.title);
    }
}

function SchnellsucheDoSearch() {
    var branche = document.getElementById("JobPortal_Branche").value;
    var dienstort = document.getElementById("DropDown_Dienstort").value;

    var url = "/anzeiger/derjob/ResultList.aspx?Options=";
    if (branche || dienstort) {
        if (branche)
            url += branche + ",";
        if (dienstort)
            url += dienstort;
    }


    location.href = url;
}



var netPostBack = null;
var oldOnPostBack = null;
function HijackPostBack() {
    if (!netPostBack) {
        netPostBack = __doPostBack;
        __doPostBack = ExecuteCustomJSAndDoPostBack;
        if (document.forms[0].onsubmit)
            oldOnPostBack = document.forms[0].onsubmit;
        document.forms[0].onsubmit = ExecuteCustomJSAndPostBack;
    }
}

function ExecuteCustomJSAndDoPostBack(eventTarget, eventArgument) {

    ExecuteCustomJsBeforePostBack();
    return netPostBack(eventTarget, eventArgument);
}

function ExecuteCustomJSAndPostBack() {
    ExecuteCustomJsBeforePostBack();
    if (oldOnPostBack)
        oldOnPostBack();
}

function ExecuteCustomJsBeforePostBack() {
    for (var i = 0; i < kontextVar.beforePostback.length; i++) {
        eval(kontextVar.beforePostback[i]);
    }
}

function loginRefresh() {
    var hasQsParams = window.location.href.indexOf('?') > 0;
    var hash = window.location.hash;
    var newHref = window.location.href + (hasQsParams ? "&" : "?") + 'lbwrd=true'
    if (hash)
        newHref = newHref.replace(hash, '') + hash;
    window.location.href = newHref;
}

/*** kontextOnReady ***/
function initReady(fn) {
    if (document.addEventListener) {
        document.addEventListener("DOMContentLoaded", fn, false);
    }
    else {
        document.onreadystatechange = function () { readyState(fn) }
    }
}

function readyState(fn) {
    if (document.readyState == "interactive" || document.readyState == "complete") {
        fn();
    }
}
function kontextOnReady() {
    try {

        if (typeof kontextVar != "undefined" && kontextVar && kontextVar.onReady)
            for (var i = 0; i < kontextVar.onReady.length; i++) {
                try {
                    eval(kontextVar.onReady[i]);
                }
                catch (e) {
                }
            }
    }
    catch (e) {
    }
}
/*** End kontextOnReady ***/


/*** Meine Karriere ***/
function removeRow(link, responseText) {
    try {
        var success = eval(responseText)
        if (success) {
            var tr = link;
            while (tr.tagName != "TR") {
                tr = tr.parentNode;
            }
            var trContainer = tr.parentNode;

            trContainer.removeChild(tr);

            if (trContainer.childNodes.length == 1) {
                var table = trContainer;
                while (table.tagName != "TABLE") {
                    table = table.parentNode;
                }
                var tableContainer = table.parentNode;
                var container = tableContainer.parentNode;
                container.removeChild(tableContainer);
                var emptyText = container.getElementsByTagName("DIV")[0];
                if (emptyText)
                    container.getElementsByTagName("DIV")[0].style["display"] = "block";
            }
            else {
                var rows = trContainer.getElementsByTagName("TR");
                for (var i = 1; i < rows.length; i++) {
                    var cssClass = "";
                    if (i % 2 == 1)
                        cssClass = "odd";
                    rows[i].className = cssClass;
                }
            }
        }
    } catch (e) { }
}

function deleteSa(link, saId) {
    if (confirm('Sind Sie sicher dass sie diesen Suchagent löschen wollen?')) {
        var request = getAsyncRequest();
        request.onreadystatechange = function () {
            if (request.readyState == 4) {
                removeRow(link, request.responseText);
            }
        };
        request.open("GET", "/anzeiger/derjob/webservice/SetStatus.aspx?mode=sa_delete&said=" + saId + "&t=" + new Date().getTime());
        request.send(null);
    }
}
function statusSa(cb) {
    if (!cb)
        return false;
    var saId = cb.id.replace('sa_status_', '');
    if (saId) {
        var aktiv = "false";
        if (cb.checked)
            aktiv = "true";
        var request = getAsyncRequest();
        request.onreadystatechange = function () {
            if (request.readyState == 4) {

                var success = eval(request.responseText)
                if (success) {
                    var label = cb.parentNode.getElementsByTagName('LABEL')[0];
                    if (cb.checked) {
                        label.innerHTML = "aktiv";
                        label.className = "";
                    }
                    else {
                        label.className = "inaktiv";
                        label.innerHTML = "inaktiv";
                    }
                }
            }
        };
        request.open("GET", "/anzeiger/derjob/webservice/SetStatus.aspx?mode=sa_status&said=" + saId + "&aktiv=" + aktiv + "&t=" + new Date().getTime());
        request.send(null);
    }
}

function getAsyncRequest() {
    var request = null;

    if (window.XMLHttpRequest) {    // Firefox, Opera 8.0+, Safari 1.2, IE 5.0+, Netscape 7
        request = new XMLHttpRequest();
    }
    if (request == null && window.ActiveXObject) {    // Internet Explorer
        try {
            request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            try {
                request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {
                alert('kein ajax');
                return false;
            }
        }
    }
    return request;
}

function removeFromML(link, inseratID) {
    if (link && inseratID && confirm("Sind Sie sicher, dass Sie diesen Job aus der Merkliste löschen wollen?")) {
        var request = getAsyncRequest();
        request.onreadystatechange = function () {
            if (request.readyState == 4) {
                removeRow(link, request.responseText);
            }
        };
        request.open("GET", "/anzeiger/derjob/Bookmark.aspx?remove=true&id=" + inseratID + "&t=" + new Date().getTime());
        request.send(null);
    }
}

function profilStatus(aktiv, anonym, loeschen) {



    var mode;
    if (aktiv != null) {
        if (aktiv) {
            mode = "profil_aktiv&status=1";
        }
        else {
            mode = "profil_aktiv&status=0";
        }
    }
    else if (anonym != null) {
        if (anonym) {
            mode = "profil_anonym&status=1";
        }
        else {
            mode = "profil_anonym&status=0";
        }
    }
    else if (loeschen != null && loeschen == true) {
        mode = "profil_loeschen";
    }

    var request = getAsyncRequest();
    request.onreadystatechange = function () {
        if (request.readyState == 4) {
            var success = eval(request.responseText)
            var statusElement = $("BewerberProfilStatus");
            if (success) {
                statusElement.update("Änderung gespeichert");
                if (aktiv != null) {
                    var freigabeHwTd = $(kontextVar.freigabeHwTd);
                    var privacyBox = $(kontextVar.privacyBox);
                    if (aktiv) {
                        privacyBox.removeClassName("inaktiv");
                        freigabeHwTd.className = "profilAktiv";
                        freigabeHwTd.update("Ihr Profil ist für die Suche aktiviert");

                    }
                    else {
                        privacyBox.addClassName("inaktiv");
                        freigabeHwTd.className = "profilInaktiv";
                        freigabeHwTd.update("Ihr Profil ist für die Suche nicht aktiviert");
                    }
                }
                if (anonym != null) {
                    var anonymHwTd = $(kontextVar.anonymHwTd);
                    if (anonym) {
                        anonymHwTd.update("Ihre persönlichen Daten sind nicht freigegeben");
                    }
                    else {
                        anonymHwTd.update("Ihre persönlichen Daten sind freigegeben");
                    }
                }
            }
            else {
                statusElement.update("Beim Speichern ist ein Fehler aufgetreten");
            }
            statusElement.show();
            setTimeout('$("BewerberProfilStatus").hide()', 2000);

            if (mode == "profil_loeschen") {
                window.location = "MeineKarriere.aspx?t=" + new Date().getTime();
            }
        }
    };
    request.open("GET", "/anzeiger/derjob/webservice/SetStatus.aspx?mode=" + mode + "&t=" + new Date().getTime());
    request.send(null);
}









/*** Meine Karriere End ***/


/*** Watermark Begin ***/
function addWatermarksToTextBoxes() {
    for (var i = 0; i < kontextVar.textboxWatermarks.length; i++) {
        var tb = document.getElementById(kontextVar.textboxWatermarks[i].id);
        if (tb && tb.value == '') {
            tb.value = kontextVar.textboxWatermarks[i].w;
            tb.className += " Watermark";
        }
        tb.onfocus = onFocusWatermark;
        tb.onblur = onBlurWatermark;
    }
}

function onFocusWatermark(ev) {
    ev = ev || window.event;
    tb = ev.srcElement || ev.target;
    hideWatermark(tb);
}

function onBlurWatermark(ev) {
    ev = ev || window.event;
    tb = ev.srcElement || ev.target;
    if (tb && tb.value == '') {
        tb.className += " Watermark";
        for (var i = 0; i < kontextVar.textboxWatermarks.length; i++) {
            if (kontextVar.textboxWatermarks[i].id == tb.id) {
                tb.value = kontextVar.textboxWatermarks[i].w;
                break;
            }
        }
    }
}

function clearWatermarks() {
    if (kontextVar.textboxWatermarks) {
        for (var i = 0; i < kontextVar.textboxWatermarks.length; i++) {
            var tb = window.document.getElementById(kontextVar.textboxWatermarks[i].id);
            hideWatermark(tb);
        }
    }
}


function hideWatermark(textbox) {
    if (textbox && textbox.className.indexOf('Watermark') >= 0) {
        textbox.value = '';
        textbox.className = (' ' + textbox.className + ' ').replace(' Watermark ', '');
    }
}



/*** Watermark End ***/

/*** BewerberProfilBegin ***/


var BewerberProfil = BewerberProfil || {};




BewerberProfil.PersDatenBefuellen = BewerberProfil.PersDatenBefuellen || function () {
    new Ajax.Request(kontextVar.ApplicationPath + "/webservice/UserInfo.aspx?time=" + new Date().getTime(),
{
    method: 'get',
    requestHeaders: { Accept: 'text/json' },
    onSuccess: function (transport) {
        try {
            var person = transport.responseText.evalJSON();
            BewerberProfil.FormularFeldBefuellen(kontextVar.AnredeRblId, person.anrede);
            BewerberProfil.FormularFeldBefuellen(kontextVar.TitelTbIdId, person.titel);
            BewerberProfil.FormularFeldBefuellen(kontextVar.VornameTbId, person.vorname);
            BewerberProfil.FormularFeldBefuellen(kontextVar.NachnameTbId, person.nachname);
            BewerberProfil.FormularFeldBefuellen(kontextVar.TelefonTbId, person.telefon);
            BewerberProfil.FormularFeldBefuellen(kontextVar.EmailTbId, person.email);
            BewerberProfil.FormularFeldBefuellen(kontextVar.EmailTbId, person.email);
            BewerberProfil.FormularFeldBefuellen(kontextVar.GeburtsjahrDdlId, person.gebjahr);
            BewerberProfil.FormularFeldBefuellen(kontextVar.PLZTbId, person.plz);
            BewerberProfil.FormularFeldBefuellen(kontextVar.WohnortTbId, person.ort);
        }
        catch (e) {
            alert(e);
        }
    }
});
}


BewerberProfil.FormularFeldBefuellen = BewerberProfil.FormularFeldBefuellen || function (DomID, Wert) {
    if (Wert) {
        var domEl = $(DomID);
        if (domEl) {
            if (domEl.tagName == "INPUT") {
                hideWatermark(domEl);
                domEl.setValue(Wert);
            }
            else if (domEl.tagName == "TABLE" && Wert) {
                var radio = $$('#' + DomID + ' input[value=' + Wert.toLocaleLowerCase() + ']')[0];
                if (radio)
                    radio.checked = true;
            }
            else if (domEl.tagName == "SELECT" && Wert) {
                var option = $$('#' + DomID + ' option[value=' + Wert + ']')[0];
                if (option)
                    option.selected = true;
            }
        }
    }
}






BewerberProfil.SaPopupSchliessen = BewerberProfil.SaPopupSchliessen || function (id) {
    BewerberProfil.SuchagentUebern(AjaxFormular.GewaehlerWertVonRbl(id));
    AjaxFormular.PopupSchliessen(id);
}





BewerberProfil.UpdatePopupLabel = BewerberProfil.UpdatePopupLabel || function (Cbl) {
    var checkboxen = Cbl.getElementsByTagName("INPUT");
    var labelText = "";
    for (var i = 0; i < checkboxen.length; i++) {
        var cb = checkboxen[i];
        var parent = $(cb.parentNode);
        if (cb.checked) {
            parent.addClassName("selected");
            if (labelText.length > 0)
                labelText += ", ";
            labelText += cb.parentNode.getElementsByTagName("LABEL")[0].innerHTML;
        }
        else {
            parent.removeClassName("selected");
        }
    }
    if (labelText.length > 0)
        labelText += " ";


    var labelId
    for (var i = 0; i < kontextVar.CheckboxListInfo.length; i++) {
        if (kontextVar.CheckboxListInfo[i].cbl == Cbl.id) {
            labelId = kontextVar.CheckboxListInfo[i].label;
            $(labelId).update(labelText);

            var linkLabel = "auswählen";
            if (labelText.length > 0)
                linkLabel = "ändern";
            $(kontextVar.CheckboxListInfo[i].link).update(linkLabel);
            break;
        }
    }
}

BewerberProfil.SuchagentUebern = BewerberProfil.SuchagentUebern || function (SuchagentId) {

    var checkboxlists = kontextVar.CheckboxListInfo;


    for (var i = 0; i < checkboxlists.length; i++) {
        var flags = eval("kontextVar.SuchAgenten.SA_" + SuchagentId + "." + checkboxlists[i].typ);
        for (var j = 0; j < checkboxlists[i].ids.length; j++) {
            var cb = $(kontextVar.CheckboxListInfo[i].cbl + "_" + j);
            if (cb) {
                cb.checked = false;
                var cbFlag = kontextVar.CheckboxListInfo[i].ids[j];
                for (var k = 0; k < flags.length; k++) {
                    if (flags[k] == cbFlag) {
                        cb.checked = true;
                        break;
                    }
                }
            }
        }
        BewerberProfil.UpdatePopupLabel($(checkboxlists[i].cbl));
    }
}





BewerberProfil.SpracheKlick = BewerberProfil.SpracheKlick || function (cb, sprachId) {
    if (cb.checked) {
        BewerberProfil.SpracheLaden(sprachId);
    }
    else {
        BewerberProfil.SpracheEntfernen(sprachId);
    }
}

BewerberProfil.SpracheLaden = BewerberProfil.SpracheLaden || function (sprachId) {
    $(kontextVar.SprachenLink).update("weitere Sprachen hinzufügen&hellip;");
    var row = $('sprache' + sprachId + '_row');
    if (row) {
        row.show();
    }
    else {
        for (var i = 0; i < kontextVar.Sprachen.length; i++) {
            if (kontextVar.Sprachen[i].id == sprachId) {
                $("SprachenTable").insert(kontextVar.SpracheTrFormatStr.replace(/\{0\}/g, sprachId).replace(/\{1\}/g, kontextVar.Sprachen[i].name));
                break;
            }
        }
    }
}

BewerberProfil.SpracheEntfernen = BewerberProfil.SpracheEntfernen || function (sprachId) {
    var row = $('sprache' + sprachId + '_row');
    if (row) {
        row.hide();
    }
    var sprachCb = $$('#' + kontextVar.SprachenCbl + ' input[type=checkbox]');
    for (var i = 0; i < kontextVar.Sprachen_CbValues.length; i++) {
        if (kontextVar.Sprachen_CbValues[i] == sprachId) {
            if (sprachCb.length > i && sprachCb[i].checked)
                sprachCb[i].checked = false;
            break;
        }
    }

    var labelId = "labSprache" + sprachId;
    for (var j = 0; j < kontextVar.Pflichtfelder.length; j++) {
        if (kontextVar.Pflichtfelder[j].id == labelId) {
            kontextVar.Pflichtfelder.splice(j, 1);
        }
    }


    var hatSprache = false;
    for (var j = 0; j < sprachCb.length; j++) {
        var checked = sprachCb[j].checked;
        if (checked) {
            hatSprache = true;
            break;
        }
    }
    if (!hatSprache)
        $(kontextVar.SprachenLink).update("Sprache hinzufügen<span class='requiredlabel'>*</span>");

}


BewerberProfil.DateiUploaded = BewerberProfil.DateiUploaded || function (status, uploadtyp, dateiname, bildurl) {
    if (status == "fehler") {
        window.alert(dateiname);
    }
    else {
        var hiddenField;
        if (uploadtyp == 1) {
            hiddenField = $(kontextVar.LebenslHfId);
        }
        if (uploadtyp == 2) {
            hiddenField = $(kontextVar.BildHfId);
            if (bildurl) {
                $(kontextVar.BildImgId).src = bildurl;
            }
        }
        $(hiddenField.parentNode).show();
        hiddenField.value = status;
        $$("#" + hiddenField.parentNode.id + " span")[0].update(dateiname);

        BewerberProfil.IfameSichtbarkeit(hiddenField, false);
    }    
}

BewerberProfil.DateiEntfernen = BewerberProfil.DateiEntfernen || function (loeschBt, bildweg) {
    var container = loeschBt.parentNode;
    container.hide();
    $$("#" + container.id + " input")[0].value = '';
    BewerberProfil.IfameSichtbarkeit(loeschBt, true);
    if (bildweg)
        $(kontextVar.BildImgId).src = kontextVar.BildPlatzhalter;
}


BewerberProfil.IfameSichtbarkeit = BewerberProfil.IfameSichtbarkeit || function (sender, anzeigen) {
    var tdParent = sender;
    while (tdParent && tdParent.tagName != "TD")
        tdParent = tdParent.parentNode;
    if (tdParent) {
        var iframe = tdParent.getElementsByTagName("IFRAME");
        if (iframe && iframe.length == 1) {
            if (anzeigen)
                iframe[0].show();
            else
                iframe[0].hide(); 
        }
    }
}

BewerberProfil.CheckMaxAnzahl = BewerberProfil.CheckMaxAnzahl || function (MaxAnzahl, CheckboxListID) {
    var gewaehlt = 0;
    var checkboxen = document.getElementById(CheckboxListID).getElementsByTagName("INPUT");
    for (var i = 0; i < checkboxen.length; i++) {
        if (checkboxen[i].checked)
            gewaehlt++;
    }

    if (gewaehlt > MaxAnzahl)
        return false;
    else
        return true;
}



/***BewerberProfil End ***/


/*** Kundencenter Begin ***/
var Kundencenter = Kundencenter || {};

Kundencenter.RubrikenSichtbarkeit = Kundencenter.RubrikenSichtbarkeit || function (element, istKompaktansicht) {
    if (!element)
        return;
    if (element.tagName == "A" && istKompaktansicht == null) {
        if (element.innerHTML.indexOf('anzeigen') > 0) {
            istKompaktansicht = false;
            element.innerHTML = "<img src='../images/DetailsVerbergen.gif'/> Rubriken minimieren";
        }
        else {
            element.innerHTML = "<img src='../images/DetailsAnzeigen.gif'/> alle Rubriken anzeigen";
            istKompaktansicht = true;
        }

        var containerTable = element.parentNode;
        while (containerTable.tagName != "TABLE" && containerTable.parentNode) {
            containerTable = containerTable.parentNode;
        }
        if (containerTable) {
            var divs = containerTable.getElementsByTagName("DIV");
            for (var i = 0; i < divs.length; i++) {
                Kundencenter.RubrikenSichtbarkeit(divs[i], istKompaktansicht);
            }
            var spans = containerTable.getElementsByTagName("SPAN");
            for (var i = 0; i < spans.length; i++) {
                Kundencenter.RubrikenSichtbarkeit(spans[i], istKompaktansicht);
            }
        }
        return;
    }

    if (element && element.attributes && element.attributes['erweiterterubrik']) {
        if (istKompaktansicht)
            element.style.display = 'none';
        else
            element.style.display = '';
    }

    //    var children = element.childNodes;
    //    for (var i = 0; i < children.length; i++) {
    //        Kundencenter.RubrikenSichtbarkeit(children[i], istKompaktansicht);
    //    }
}

Kundencenter.OfflineStellen = Kundencenter.OfflineStellen || function (link, inseratId) {
    if (confirm('Sind Sie sicher dass Sie das Inserat offline stellen wollen?')) {
        var request = getAsyncRequest();
        request.onreadystatechange = function () {
            if (request.readyState == 4) {
                //removeRow(link, request.responseText);
                try {
                    var status = eval(request.responseText);
                    if (status == 'offline') {
                        link.style.display = 'none';
                        document.getElementById("status_" + inseratId).innerHTML = "Offline";
                    }
                }
                catch (e) {
                    alert("Beim Offline stellen ist ein Fehler aufgetreten.");
                }
            }
        };
        request.open("GET", "/anzeiger/derjob/webservice/InseratStatus.aspx?status=offline&id=" + inseratId + "&t=" + new Date().getTime());
        request.send(null);
    }
}

/***Kundencenter End ***/


/*** AjaxFormular Begin ***/


var AjaxFormular = AjaxFormular || {};

AjaxFormular.Init = AjaxFormular.Init || function (optionen) {
    AjaxFormular.ValidierungsStatus = [false, false];
    AjaxFormular.Seite = 1;


    AjaxFormular.FehlerContainer = $(optionen.FehlerContainer);

    AjaxFormular.Modus = optionen.Modus;
    AjaxFormular.Seiten = optionen.Seiten || 2;
    AjaxFormular.SpeichernButton = optionen.SpeichernButton;
    AjaxFormular.ValidierungsInterval = optionen.ValidierungsInterval || 500;
    AjaxFormular.LetzterHash = '#seite' + AjaxFormular.Seite;

    var geheZuFehler = false;
    if (window.location.hash == "#geheZuFehler") {
        geheZuFehler = true;
    }


    if (AjaxFormular.Seiten > 1) {
        AjaxFormular.SeitenCheck();
        setInterval(AjaxFormular.SeitenCheck, 200);
    }
    AjaxFormular.NavButtonStatus();
    setInterval(AjaxFormular.NavButtonStatus, AjaxFormular.ValidierungsInterval);

    if (geheZuFehler) {
        for (var i = 1; i <= AjaxFormular.Seiten; i++) {
            if (!AjaxFormular.Validieren(i, false)) {
                AjaxFormular.SeitenWechsel(i);
                AjaxFormular.Validieren(i, false, true);
                break;
            }
        }
    }
}




AjaxFormular.SeitenWechsel = AjaxFormular.SeitenWechsel || function (neueSeite) {
    var alteSeite = (neueSeite % AjaxFormular.Seiten) + 1;    
    if (neueSeite < AjaxFormular.Seiten || AjaxFormular.Validieren(alteSeite)) {
        window.location.hash = '#seite' + neueSeite;
        $("AjaxFormularSeite" + neueSeite).show();
        $("AjaxFormularSeite" + alteSeite).hide();
        AjaxFormular.Seite = neueSeite;
        AjaxFormular.NavButtonStatus();
        AjaxFormular.FehlerContainer.hide();
        scroll(0, 0);
    }
    AjaxFormular.LetzterHash = window.location.hash;
}

AjaxFormular.SeitenCheck = AjaxFormular.SeitenCheck || function () {
    if (AjaxFormular.LetzterHash != window.location.hash) {
        var seite = window.location.hash.replace("seite", "").replace("#", "");
        if (!seite || seite.length < 0)
            seite = 1;
        AjaxFormular.SeitenWechsel(seite);        
    }
}

AjaxFormular.NavButtonStatus = AjaxFormular.NavButtonStatus || function () {
    AjaxFormular.LaufendeValidierung = AjaxFormular.LaufendeValidierung || false;
    if (!AjaxFormular.LaufendeValidierung) {
        var neuerValidStatus = AjaxFormular.Validieren(AjaxFormular.Seite, true, false);
        if (AjaxFormular.ValidierungsStatus[AjaxFormular.Seite - 1] != neuerValidStatus) {
            AjaxFormular.ValidierungsStatus[AjaxFormular.Seite - 1] = neuerValidStatus;
            if (AjaxFormular.Seite < AjaxFormular.Seiten) {
                if (neuerValidStatus)
                    AjaxFormular.SetzeButtonStatus("seite" + AjaxFormular.Seite + "weiter", true);
                else
                    AjaxFormular.SetzeButtonStatus("seite" + AjaxFormular.Seite + "weiter", false);
            }
            else {
                if (neuerValidStatus) {
                    AjaxFormular.SetzeButtonStatus(AjaxFormular.SpeichernButton, true);

                }
                else {
                    AjaxFormular.SetzeButtonStatus(AjaxFormular.SpeichernButton, false);
                }
            }
        }
    }
    AjaxFormular.LaufendeValidierung = false;
}

AjaxFormular.SetzeButtonStatus = AjaxFormular.SetzeButtonStatus || function (buttonId, istAktiv) {
    var button = $(buttonId);
    if (button) {
        if (istAktiv) {
            button.addClassName("orangebutton");
            button.removeClassName("disabledbutton");
        }
        else {
            button.removeClassName("orangebutton");
            button.addClassName("disabledbutton");
        }

        if (AjaxFormular.Modus && AjaxFormular.Modus == "BewerberProfil" && buttonId == AjaxFormular.SpeichernButton) {
            var aktivierenDiv = $$("#aktivierenDiv span");
            var hinwPflichtfausgef = $("hinwPflichtfausgef");
            var hinwPflichtfausf = $("hinwPflichtfausf");
            if (istAktiv) {
                if (aktivierenDiv.length > 0)
                    aktivierenDiv[0].removeAttribute("disabled");
                if (hinwPflichtfausgef && hinwPflichtfausf) {
                    hinwPflichtfausf.hide();
                    hinwPflichtfausgef.show();
                }
            }
            else {
                if (aktivierenDiv.length > 0)
                    aktivierenDiv[0].setAttribute("disabled", "disabled");
                if (hinwPflichtfausgef && hinwPflichtfausf) {
                    hinwPflichtfausf.show();
                    hinwPflichtfausgef.hide();
                }
            }
        }
    }
}


AjaxFormular.GewaehlerWertVonRbl = AjaxFormular.GewaehlerWertVonRbl || function (id, uncheck) {
    var radiobuttons = document.getElementById(id).getElementsByTagName("INPUT");
    for (var i = 0; i < radiobuttons.length; i++) {
        if (radiobuttons[i].checked) {
            if (uncheck)
                radiobuttons[i].checked = false;
            return radiobuttons[i].value;
        }
    }
    return null;
}



AjaxFormular.ValidiereControl = AjaxFormular.ValidiereControl || function (validierungsInfo, validierungsModus) {
    if (!validierungsModus.seite || validierungsInfo.seite == validierungsModus.seite) {
        var label = $(validierungsInfo.id);
        if (label) {

            var control = null;
            if (label.attributes['for'])
                control = $(label.attributes['for'].value);
            var ergebnis = validierungsModus.validierungsFunktion(control, validierungsInfo);

            var valid;
            if (typeof (ergebnis) == "boolean") {
                valid = ergebnis;
            }
            else {
                valid = ergebnis.valid;
            }
            if (!valid) {
                if (validierungsModus.fehlerAnzeigen) {
                    var formatString = validierungsModus.fehlerMeldung;
                    var controlId;
                    if (control)
                        controlId = control.id;

                    if (validierungsInfo.format)
                        formatString = validierungsInfo.format;
                    if (formatString) {
                        AjaxFormular.ZeigeFehler(formatString.replace(/\{0\}/g, validierungsInfo.text), controlId, validierungsModus.fehlerContainer);
                    }
                    else if (ergebnis.fehler) {
                        AjaxFormular.ZeigeFehler(ergebnis.fehler, controlId, validierungsModus.fehlerContainer);
                    }
                    label.addClassName("fehler");
                }
                return false;
            }
        }
    }
    return true;
}

AjaxFormular.AltTextValidierung = AjaxFormular.AltTextValidierung || function (seite, fehlerConainerId) {

    var FehlerContainer = $(document.getElementById(fehlerConainerId));
    if (FehlerContainer) {
        var valid = AjaxFormular.Validieren(seite, false, false, FehlerContainer);
        if (!valid)
            FehlerContainer.show();
    }
}


AjaxFormular.BeendeAltTextValidierung = AjaxFormular.BeendeAltTextValidierung || function (fehlerConainerId) {
    var FehlerContainer = $(document.getElementById(fehlerConainerId));
    if (FehlerContainer) {
        FehlerContainer.hide();
    }
}

AjaxFormular.Validieren = AjaxFormular.Validieren || function (seite, anzeigeUnterdruecken, wasserZeichenEntfernen, altFehlerContainer) {


    var FehlerContainer = altFehlerContainer;
    if (!FehlerContainer)
        FehlerContainer = AjaxFormular.FehlerContainer;


    var fehlerAnzeigen = anzeigeUnterdruecken != true || FehlerContainer.visible();
    if (fehlerAnzeigen && FehlerContainer) {

        //AjaxFormular.FehlerContainer
        $$('#' + FehlerContainer.id + " li").each(function (errorLi) {
            if (errorLi.attributes["typ"] == null || errorLi.attributes["typ"].value != "servererror") {
                errorLi.remove();
            }
        });


        if ($$('#' + FehlerContainer.id + " li").size() == 0) {
            FehlerContainer.hide();
            $$('label.fehler').each(function (label) {
                label.removeClassName("fehler");
            });
        }
    }


    var istValid = true;

    if (kontextVar.Pflichtfelder) {
        var validierungsModus = { validierungsFunktion: AjaxFormular.IstAusgefuellt, fehlerMeldung: kontextVar.PflichtFeldFehler, seite: seite, fehlerAnzeigen: fehlerAnzeigen, fehlerContainer: FehlerContainer };
        for (var i = 0; i < kontextVar.Pflichtfelder.length; i++) {
            if (!AjaxFormular.ValidiereControl(kontextVar.Pflichtfelder[i], validierungsModus))
                istValid = false;
        }
    }

    if (kontextVar.ZahlenFelder) {
        var validierungsModus = { validierungsFunktion: AjaxFormular.IstInteger, fehlerMeldung: "Bitte geben Sie eine Zahl bei \"{0}\" ein", seite: seite, fehlerAnzeigen: fehlerAnzeigen, fehlerContainer: FehlerContainer };
        for (var i = 0; i < kontextVar.ZahlenFelder.length; i++) {
            if (!AjaxFormular.ValidiereControl(kontextVar.ZahlenFelder[i], validierungsModus))
                istValid = false;
        }
    }



    if (kontextVar.BenutzerDefJs) {
        var validierungsModus = { validierungsFunktion: AjaxFormular.BenutzerDefValiduerung, seite: seite, fehlerAnzeigen: fehlerAnzeigen, fehlerContainer: FehlerContainer };
        for (var i = 0; i < kontextVar.BenutzerDefJs.length; i++) {
            if (!AjaxFormular.ValidiereControl(kontextVar.BenutzerDefJs[i], validierungsModus))
                istValid = false;
        }
    }


    if (AjaxFormular.Modus && AjaxFormular.Modus == "BewerberProfil") {
        if (seite != 1) {
            var sprachCb = $$('#' + kontextVar.SprachenCbl + ' input[type=checkbox]');
            var hatSprache = false;
            for (var i = 0; i < sprachCb.length; i++) {
                if (sprachCb[i].checked) {
                    hatSprache = true;
                }
            }
            if (!hatSprache) {
                istValid = false;
                if (fehlerAnzeigen)
                    AjaxFormular.ZeigeFehler("Es muss mindestens eine Sprache angegeben werden", null, FehlerContainer);
            }
            else {
                var zeilen = $("SprachenTable").getElementsByTagName("TR");
                for (var i = 0; i < zeilen.length; i++) {

                    if (!$(zeilen[i]).visible()) {
                        continue;
                    }

                    var sprachId = zeilen[i].id.replace("sprache", "").replace("_row", "");

                    var name = null;
                    for (var iSp = 0; iSp < kontextVar.Sprachen.length; iSp++) {
                        if (kontextVar.Sprachen[iSp].id == sprachId) {
                            name = kontextVar.Sprachen[iSp].name;
                            break;
                        }
                    }

                    var labelId = "labSprache" + sprachId;
                    var validierungRegistr = false;
                    for (var j = 0; j < kontextVar.Pflichtfelder.length; j++) {
                        if (kontextVar.Pflichtfelder[j].id == labelId) {
                            validierungRegistr = true;
                            break;
                        }
                    }
                    if (!validierungRegistr) {
                        var validierungInfo = { seite: 2, id: labelId, format: "Bitte geben Sie das Niveau für die Sprache {0} an", text: name };
                        kontextVar.Pflichtfelder.push(validierungInfo);
                    }
                }

            }
        }
    }


    if (istValid && wasserZeichenEntfernen) {
        clearWatermarks();
    }
    if (!istValid && fehlerAnzeigen) {
        FehlerContainer.show();
    }
    if (!istValid && !anzeigeUnterdruecken && !altFehlerContainer) {
        scroll(0, 0);
    }

    return istValid;
}

AjaxFormular.BenutzerDefValiduerung = AjaxFormular.BenutzerDefValiduerung || function (control, validierungsInfo) {
    try {
        return eval(validierungsInfo.jsFunction.replace("{0}", validierungsInfo.id));
    }
    catch (e) {
    }
    return false;
}
AjaxFormular.IstInteger = AjaxFormular.IstInteger || function (control) {
    if (!AjaxFormular.IstAusgefuellt(control))
        return true;

    var wert = control.value;
    var nums = "0123456789";
    if (wert.length == 0) return (false);
    for (var n = 0; n < wert.length; n++) {
        if (nums.indexOf(wert.charAt(n)) == -1)
            return false;
    }
    return true;
}

AjaxFormular.IstAusgefuellt = AjaxFormular.IstAusgefuellt || function (control) {
    if (control) {
        if (control.tagName == "TEXTAREA" || (control.tagName == "INPUT" && control.attributes['type'].value.toLowerCase() == "text")) {

            if (!control.value.blank() && !control.hasClassName('Watermark'))
                return true;
        }
        else if (control.tagName == "SELECT") {
            if (control.selectedIndex >= 0 && control[control.selectedIndex].value) {
                return true;
            }
        }
        else if (control.tagName == "LABEL") {
            return !control.innerHTML.blank();
        }
        else if (control.tagName == "INPUT" && control.attributes['type'].value.toLowerCase() == "checkbox") {
            return control.checked;
        }
        else {
            var istValid = false;
            $$('#' + control.id + " input").each(function (input) {

                if (input.attributes['type'].value.toLowerCase() == "radio" || input.attributes['type'].value.toLowerCase() == "checkbox") {
                    if (input.checked) {
                        istValid = true;
                        return;
                    }
                }
            });
            return istValid;
        }
        return false;
    }
}




AjaxFormular.ZeigeFehler = AjaxFormular.ZeigeFehler || function (text, forId, altFehlerContainer) {
    var forAttr = "";
    if (forId)
        forAttr = " for='" + forId + "'";
    var FehlerContainer = altFehlerContainer;
    if (!FehlerContainer)
        FehlerContainer = AjaxFormular.FehlerContainer;
    if (FehlerContainer)
        FehlerContainer.insert("<li><label " + forAttr + ">" + text + "</label></li>");
    else
        window.alert(text);
}



AjaxFormular.PopupOeffnen = AjaxFormular.PopupOeffnen || function (id) {
    var popup = document.getElementById(id);
    if (AjaxFormular.OffenesPopup && AjaxFormular.OffenesPopup != popup)
        AjaxFormular.PopupSchliessen();

    AjaxFormular.OrigLeft = popup.style.left;
    AjaxFormular.OrigTop = popup.style.top;
    popup.style["display"] = "block";
    AjaxFormular.OffenesPopup = popup;
    return false;
}


AjaxFormular.PopupSchliessen = AjaxFormular.PopupSchliessen || function (id) {
    var popup;
    if (id)
        popup = document.getElementById(id)
    else if (AjaxFormular.OffenesPopup)
        popup = AjaxFormular.OffenesPopup;
    if (popup)
        popup.style["display"] = "none";

    popup.style.left = AjaxFormular.OrigLeft;
    popup.style.top = AjaxFormular.OrigTop
}



/***AjaxFormular End ***/



/*** InseratEditor Begin ***/
var InseratEditor = InseratEditor || {};

InseratEditor.DateiUploaded = InseratEditor.DateiUploaded || function (status, dateiname, index) {
    if (status == "zugross") {
        window.alert("Die Datei überschreitet die maximale zulässige Größe");
    }
    else {
        var hiddenField = $(kontextVar.TextUploadHf[index]);
        $(hiddenField.parentNode).show();
        hiddenField.value = status;
        $$("#" + hiddenField.parentNode.id + " span")[0].update(dateiname);
        BewerberProfil.IfameSichtbarkeit(hiddenField, false);
    }
}

InseratEditor.ValidiereInseratText = InseratEditor.ValidiereInseratText || function (textAreaId, uploadHfIds, fehlerText) {
    var istValid = false;
    var htmlEditor = CKEDITOR.instances[textAreaId];
    if (htmlEditor && !htmlEditor.getData().blank())
        istValid = true;
    else {
        for (var i = 0; i < uploadHfIds.length; i++) {
            var hf = $(uploadHfIds[i]);
            if (hf && !hf.value.empty()) {
                istValid = true;
                break;
            }
        }
    }
    return { valid: istValid, fehler: fehlerText };
}

InseratEditor.FirmenAuswahlChange = InseratEditor.FirmenAuswahlChange || function (auswahlDdl) {
    var guid;
    if (auswahlDdl)
        guid = auswahlDdl[auswahlDdl.selectedIndex].value;
    else
        guid = kontextVar.FirmenGuid;



    InseratEditor.FirmenInfoSichtbarkeit(kontextVar.LogosDiv, 'logo_' + guid);
    InseratEditor.FirmenInfoSichtbarkeit(kontextVar.FirmenAnschriftDiv, 'anschrift_' + guid);

    var aktuellerBetreuer = $(kontextVar.BetreuerInfos[guid]);
    if (!aktuellerBetreuer)
        aktuellerBetreuer = $(kontextVar.BetreuerInfos['00000000-0000-0000-0000-000000000000']);

    if (aktuellerBetreuer != InseratEditor.LetzterBetreuer) {
        if (InseratEditor.LetzterBetreuer)
            InseratEditor.LetzterBetreuer.hide();
    }
    if (aktuellerBetreuer)
        aktuellerBetreuer.show();
    InseratEditor.LetzterBetreuer = aktuellerBetreuer;
}

InseratEditor.FirmenInfoSichtbarkeit = InseratEditor.FirmenInfoSichtbarkeit || function (containerId, kindId) {
    $(containerId).childElements().each(function (s, index) {
        s.hide();
    });
    var faInfo = $(kindId);
    if (!faInfo) {
        $(containerId).hide();
    }
    else {
        faInfo.show();
        $(containerId).show();
    }
}

InseratEditor.RechnungsAdr = InseratEditor.RechnungsAdr || function (checkbox) {
    if (checkbox.checked) {
        $$('tr.RechnAddr').each(Element.show);
        $(kontextVar.FirmenAnschriftDiv).addClassName("disabled");
    }
    else {
        $$('tr.RechnAddr').each(Element.hide);
        $(kontextVar.FirmenAnschriftDiv).removeClassName("disabled");
    }
}





/*** InseratEditor End ***/


function anhangGewaehlt(root) {


    root.select(".FileInputBrowse")[0].hide();
    var filename = root.select(".FileInputControl")[0].value;
    filename=new String(filename).replace(/C:\\fakepath\\/g, '');
    root.select(".FileInputFileName")[0].update(filename);
    root.select(".FileInputSelected")[0].show();
    
}

function anhangEntfernen(root) {
    root.select(".FileInputBrowse")[0].show();
    root.select(".FileInputSelected")[0].hide();
    var container = root.select(".FileInputContainer")[0];
    container.innerHTML = container.innerHTML;
}
