﻿// Bewerberformular-Erweiterung von Waldemar Kolomeitschuk

// Referenzen auf Steuerelemente
var lb, pnl, hdf, btnDel;
var df = new Array(8);
var sepVal = '|';
var sepRow = ';';
var newJob = '<neue Tätigkeit>';

// Initialisierung: Steuerelement-IDs bekannt geben und Referenzen speichern
function xiCareerInit(aspListBox, aspPanel, ddlMonatVon, ddlJahrVon, ddlMonatBis, ddlJahrBis, ddlJobTyp, tbBeschreibung, tbOrt, tbFirma, btnDelete, aspHiddenField){
    lb = document.getElementById(aspListBox);
    pnl = document.getElementById(aspPanel);
    btnDel = document.getElementById(btnDelete);
    hdf = document.getElementById(aspHiddenField);
    df[0] = document.getElementById(ddlMonatVon);
    df[1] = document.getElementById(ddlJahrVon);
    df[2] = document.getElementById(ddlMonatBis);
    df[3] = document.getElementById(ddlJahrBis);
    df[4] = document.getElementById(ddlJobTyp);
    df[5] = document.getElementById(tbBeschreibung);
    df[6] = document.getElementById(tbOrt);
    df[7] = document.getElementById(tbFirma);
 }

function xiAddJob(){
    pnl.disabled = null;
    btnDel.disabled = null;
    for(var i = 0; i < 8; i++) df[i].value = '';
    lb.options[lb.options.length] = new Option(newJob, GetOptionValue());
    lb.options[lb.options.length - 1].selected = true;
}

function xiUpdateJob(bUpdateText){
    var opt = GetSelectedOption();
    if(opt){
        if(bUpdateText) opt.text = GetOptionText();
        opt.value = GetOptionValue();
        SaveJobInHdf();
    }
}

function xiLoadJob(){
    var bLoad = false;
    pnl.disabled = null;
    btnDel.disabled = null;
    var opt = GetSelectedOption();
    if(opt){
        var v = opt.value.split(sepVal);
        for(var i = 0; i < v.length; i++) df[i].value = v[i];
        bLoad = true;
    }
    return bLoad;
}

function xiDelJob(){
    var opt = GetSelectedOption();
    if(opt){
        for(var i = opt.index + 1; i < lb.options.length; i++){
            lb.options[i-1].text = lb.options[i].text;
            lb.options[i-1].value = lb.options[i].value;
            lb.options[i-1].selected = false;
        }
        lb.options.length--;
        if(!xiLoadJob()){
            for(var i = 0; i < 8; i++) df[i].value = '';
            pnl.disabled = 'disabled';
            btnDel.disabled = 'disabled';
        }
        SaveJobInHdf();
    }
}

function GetOptionText(){
    var s = df[4].value;
    if(s){
        if((df[1].value) || (df[3].value)) s += ' (';
        if(df[1].value) s += df[1].value;
        if((df[1].value) && (df[3].value)) s += '-';
        if(df[3].value) s += df[3].value;
        if((df[1].value) || (df[3].value)) s += ')';
        if(df[6].value) s += ' in ' + df[6].value;
        if(df[7].value) s += ' bei ' + df[7].value;
    }
    else s = newJob;
    return s;
}

function GetOptionValue(){
    var v = df[0].value;
    for(var i = 1; i < 8; i++) v += sepVal + df[i].value;
    return v;
}

function GetSelectedOption(){
    var opt;
    for(var i = 0; i < lb.options.length; i++){
        if(lb.options[i].selected){
            opt = lb.options[i];
            break;
        }
    }
    return opt;
}

function SaveJobInHdf(){
    var v;
    for(var i = 0; i < lb.options.length; i++){
        if(v) v = v + sepRow + lb.options[i].value;
        else v = lb.options[i].value;
    }
    hdf.value = v;
}

// Prüfung Anzahl Zeichen in TextBox
function checkLength(e) {
    var maxLength = 255;
    var curLength;
    // IE Hack
    if (window.event) {
        e = window.event;
        curLength = e.srcElement.value.length;
    }
    else { curLength = e.target.value.length; }
    if (curLength < maxLength) { return true; }
    else {
        if ((e.keyCode >= 37 && e.keyCode <= 40) || (e.keyCode == 8) || (e.keyCode == 46)) { return true; }
        else { return false; }
    }
}
