var activeElement = '';
var step = 1;

//________________________________________________________________________________________________________________________________
//
	var ajaxtest = false;
	if (typeof XMLHttpRequest != 'undefined') {
		ajaxtest = new XMLHttpRequest();
	}
	if (!ajaxtest) {
		try {
			ajaxtest = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) {
			try {
				ajaxtest = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e) {
				ajaxtest = null;
			}
		}
	}
	if(!ajaxtest) {
		document.getElementById('errordiv').style.display = 'block';
		document.getElementById('errordiv').innerHTML = 'Der von Ihnen verwendete Browser unterstüzt für dieses Bewerbungsformular benötigte Funktionen nicht. Einige Eingaben können daher nicht gespeichert werden.';
	}

//________________________________________________________________________________________________________________________________
/**/
function showStep (newstep) {
	if(newstep != step) {
		document.getElementById('step1').style.display = 'none';
		document.getElementById('step2').style.display = 'none';
		document.getElementById('step3').style.display = 'none';
		document.getElementById('step4').style.display = 'none';
// 		document.getElementById('step5').style.display = 'none';
		document.getElementById('buttontab_step1').className = 'buttontab';
		document.getElementById('buttontab_step2').className = 'buttontab';
		document.getElementById('buttontab_step3').className = 'buttontab';
		document.getElementById('buttontab_step4').className = 'buttontab';
// 		document.getElementById('buttontab_step5').className = 'buttontab';
		document.getElementById(newstep).style.display = 'block';
		document.getElementById('buttontab_' + newstep).className = 'buttontab_selected';
		     
		step = newstep;
	}     
}

//________________________________________________________________________________________________________________________________
//
	function show_hide(id, showstr, force)
	{
		var shobj = document.getElementById(id);;
		if(!showstr) showstr = "block";
		if(force)
		{
			if(force == 'show')
			{
				try
				{
					if(!(shobj.style.display = showstr))
						throw('falsch');
				}
				catch(e)
				{
					shobj.style.display = 'block';
				}
			}
			else if(force == 'none')
				shobj.style.display = 'none';
		}
		else
		{
			if(!shobj.style.display || shobj.style.display == 'none')
				shobj.style.display = showstr;
			else
				shobj.style.display = 'none';
		}
	}

//________________________________________________________________________________________________________________________________
//
function showDiv(destid, srcid)
{
	var destobj = document.getElementById(destid);
	var srcobj = document.getElementById(srcid);
	
	var contdiv = document.getElementById('content');
	
	var x = getPosLeft(srcid) - getPosLeft(srcobj.offsetParent.offsetParent.offsetParent);
	var y = getPosTop(srcid) + srcobj.offsetHeight - getPosTop(srcobj.offsetParent.offsetParent.offsetParent);
	
	destobj.style.display = 'block';
	destobj.style.left = x + 'px';
	destobj.style.top = y + 'px';
	
	return true;
}

//________________________________________________________________________________________________________________________________
/**/
function plzortButton(feld) {
	var ofeld = 'plz';
	if(feld == 'plz') {
		ofeld = 'ort';
	}

	var field = document.getElementById('inp_' + feld);
	var pfeil = document.getElementById('select_' + feld);
	var opfeil = document.getElementById('select_' + ofeld);

	var x = getPosLeft('inp_' + feld) - getPosLeft(field.offsetParent.offsetParent.offsetParent) + field.offsetWidth - 10;
	var y = getPosTop('inp_' + feld) + field.offsetHeight - getPosTop(field.offsetParent.offsetParent.offsetParent) - field.offsetHeight + 3;
	
	if(typeof field == 'object' && typeof pfeil == 'object') {
		if(field.value.length >= 2) {
			pfeil.style.display = 'inline';
			opfeil.style.display = 'none';
		}
		else {
			pfeil.style.display = 'none';
		}
	}
	
	pfeil.style.left = x + 'px';
	pfeil.style.top = y + 'px';
	
	return true;
}
//________________________________________________________________________________________________________________________________
/**/
function setplzort(text) {
	var textarr = text.split(" ", 1);
	document.getElementById('inp_plz').value = text.substr(0, 5);
	document.getElementById('inp_ort').value = text.substring(6, text.length);
}

function hideplzort() {
	document.getElementById('ortsdiv').style.display = 'none';
}

//________________________________________________________________________________________________________________________________
//
function checkValue()
{
	var qualiapply = document.getElementById('qualiapply');
	var qualiid = document.getElementById('qualiid');
	var qualivalue = document.getElementById('qualivalue');
	if(qualiid.value.length > 0 && qualivalue.value.length > 0) {
		qualiapply.className = 'button';
	}
	else {
		qualiapply.style.backgroundColor = '';
		qualiapply.style.color = '';
		qualiapply.className = 'buttondisabled';
	}
}

//________________________________________________________________________________________________________________________________
//
function qualiNextLayer(obj)
{
	var parnode = obj.parentNode;
	while(parnode.id.search(/qualiselect/) == -1) {
		parnode = parnode.parentNode
	}
	try {
		xajax_qualinextstep(obj.value, obj.options[obj.selectedIndex].text, parnode.id);
	}
	catch(e) {
		var errordiv = document.getElementById('errordiv');
		errordiv.innerHTML = "<div style=\"text-align: center; color: white; background-color: red; font-weight: bold;\">Ajax-Funktion konnte nicht initialisiert werden. Ihr Browser scheint diese Funktionalit&auml;t nicht zu unterst&uuml;tzen.</div>";
		errordiv.style.display = 'block';
	}
}

//________________________________________________________________________________________________________________________________
//Qualifikationen speichern
function saveQuali()
{
	var qid = document.getElementById('qualiid').value;
	var qvalue = document.getElementById('qualivalue').value.replace(']}', '');

	if(qid && parseInt(qid) && qvalue != '') {
		xajax_savequali(qid, qvalue, ((!document.getElementById('qualirow_' + qid)) ? 0 : 1));
	}
}

function deleteQuali(qid)
{
	if(qid && parseInt(qid)) {
		xajax_deletequali(qid);
	}
}

//________________________________________________________________________________________________________________________________
//Bildung speichern
function saveBildung()
{
	var b_art = document.getElementById('bildung_art');
	var b_von = document.getElementById('bildung_von');
	var b_bis = document.getElementById('bildung_bis');
	var b_bezeichnung = document.getElementById('bildung_bezeichnung');
	var b_traeger = document.getElementById('bildung_traeger');
	var b_branche = document.getElementById('bildung_branche');
	var b_abschluss_ja = document.getElementById('bildung_abschluss_ja');
	var b_abschluss_nein = document.getElementById('bildung_abschluss_nein');
	var b_abschluss = 'nein';
	if(b_abschluss_ja.checked === true && b_abschluss_nein.checked === false) {
		b_abschluss = 'ja';
	}

	xajax_savebildung(b_art.value, b_von.value, b_bis.value, b_bezeichnung.value, b_traeger.value, b_branche.value, b_abschluss);

	b_art.value = '';
	b_von.value = '';
	b_bis.value = '';
	b_bezeichnung.value = '';
	b_traeger.value = '';
	b_branche.value = '';
	b_abschluss_ja.checked = false;
	b_abschluss_nein.checked = false;
}

function deleteBildung(nr)
{
	if(nr && parseInt(nr)) {
		xajax_deletebildung(nr);
	}
}

//________________________________________________________________________________________________________________________________
//Beruf speichern
function saveBeruf()
{
	var b_von = document.getElementById('beruf_von');
	var b_bis = document.getElementById('beruf_bis');
	var b_bezeichnung = document.getElementById('beruf_bezeichnung');
	var b_arbeitgeber = document.getElementById('beruf_arbeitgeber');
	var b_branche = document.getElementById('beruf_branche');

	xajax_saveberuf(b_von.value, b_bis.value, b_bezeichnung.value, b_arbeitgeber.value, b_branche.value);

	b_von.value = '';
	b_bis.value = '';
	b_bezeichnung.value = '';
	b_arbeitgeber.value = '';
	b_branche.value = '';
}

function deleteBeruf(nr)
{
	if(nr && parseInt(nr)) {
		xajax_deleteberuf(nr);
	}
}

//________________________________________________________________________________________________________________________________
//
function checkPerson(all)
{
	var tocheck = new Array('vorname', 'nachname', 'strasse', 'hausnr', 'plz', 'ort', 'telefon', 'pass1', 'pass2');
	var checkstr = {'vorname':/[^a-z^ä^ö^ü^ß^\s]/i,
									'nachname':/[^a-z^ä^ö^ü^ß^\-^\s]/i,
									'strasse':/[^a-z^ä^ö^ü^ß^\s^\.]/i,
									'hausnr':/[^a-z^0-9]/i,
									'plz':/[\D]/i,
									'ort':/[^a-z^ä^ö^ü^ß^\-^\(^\)^\.^\s]/i,
									'telefon':/[^\d^\(^\)^\-^\/^\s^\+]|^110$|^112$|^911$/,
									'mobil':/[^\d^\(^\)^\-^\/^\s^\+]|^110$|^112$|^911$/,
									'pass1':/[^a-z^0-9^ä^ö^ü^ß^\-^_^*^+^~^#^\?]/i,
									'pass2':/[^a-z^0-9^ä^ö^ü^ß^\-^_^*^+^~^#^\?]/i};

	var icon_checked = '<span title="Der Inhalt dieses Eingabefeldes scheint korrekt zu sein und kann gespeichert werden."><img src="./includes/images/haken.gif" alt="" /></span>';
	var icon_error = '<span title="Der Inhalt dieses Eingabefeldes ist nicht gültig. Bitte korrigieren Sie Ihre Angaben."><img src="./includes/images/error.gif" alt="" /></span>';
	var icon_error_empty = '<span title="Bitte füllen Sie dieses Eingebefeld aus."><img src="./includes/images/error_empty.gif" alt="" /></span>';

	var anredefrau = document.getElementById('anrede_frau');
	var anredeherr = document.getElementById('anrede_herr');
	if(anredefrau.checked === true || anredeherr.checked === true) {
		document.getElementById('check_anrede').innerHTML = icon_checked;
	}
	else {
		document.getElementById('check_anrede').innerHTML = icon_error_empty;
	}

	var checkfield = '';
	var checksmb = '';
	var len = tocheck.length;
	for(var i = 0; i < len; i++) {
		if(checkfield = document.getElementById('inp_' + tocheck[i])) {
			checksmb = document.getElementById('check_' + tocheck[i]);
			checkfield.style.borderColor = '#ABBCD2';
			if(checkfield.value != '') {
				var reg = checkstr[tocheck[i]].exec(checkfield.value);
				if(!reg) {
					checksmb.innerHTML = icon_checked;
				}
				else {
					checksmb.innerHTML = icon_error;
				}
			}
			else if(checksmb.innerHTML != icon_error_empty) {
				checksmb.innerHTML = icon_error_empty;
			}
		}
	}

	//checken der Gültigkeit der E-Mail-Adresse
	var email = document.getElementById('inp_email');
	email.style.borderColor = '#ABBCD2';
	if(email.value != '') {
		if(email.value.match(/^[a-zA-Z0-9_\.-]{1,}@[a-z0-9-\.{1}]{3,}\.[a-z]{2,4}$/)) {
			document.getElementById('check_email').innerHTML = icon_checked;
			xajax_proofemail(email.value);
		}
		else {
			document.getElementById('check_email').innerHTML = icon_error;
		}
	}
	else {
		document.getElementById('check_email').innerHTML = icon_error_empty;
	}
	
	if(document.getElementById('inp_pass1')) {
		if(document.getElementById('inp_pass1').value !== document.getElementById('inp_pass2').value) {
			document.getElementById('check_pass2').innerHTML = icon_error;
		}
	}
}

//________________________________________________________________________________________________________________________________
//
function waitForCheckPerson(id)
{
	var checkobj = document.getElementById('check_' + id);
	var inputobj = document.getElementById('inp_' + id);
	inputobj.style.border = '1px solid gray';
	checkobj.innerHTML = "<span title='Diese Eingabefeld ist derzeit aktiv. Der Inhalt wird beim Verlassen des Feldes geprüft...'><img src='./includes/images/wait.gif' alt='' /></span>";
}

//________________________________________________________________________________________________________________________________
//
function deboldintime(id)
{
	var func = "debold('" + id + "')";
	var boldTime = window.setTimeout(func, 800);
}
function debold(id)
{
	var trow = document.getElementById(id);
	var len = trow.childNodes.length;
	for(var i = 0; i < len; i++) {
		if(trow.childNodes[i].className == 'contenttd') {
			trow.childNodes[i].style.backgroundColor = '';
		}
	}
}

//________________________________________________________________________________________________________________________________
//
function markDelete(obj, mode)
{
	var trow = obj.parentNode.parentNode;
	var len = trow.cells.length;
	for(var i = 0; i < len; i++) {
		trow.cells[i].style.textDecoration = ((mode === true) ? 'line-through' : '');
	}
}

//________________________________________________________________________________________________________________________________
//Tabelle sortieren
function SortRow(o) {
	var sort = [];
	var td = o.getElementsByTagName('td');
	var obj = o;
	var tdlen = td.length;
	for(var i = 0; i < tdlen; i++) {
		var val = getText(td[i]);
		var ignoreCase = true;
		sort[i] = val.toLowerCase();
	}
	this.getValue = function(spalte) { return sort[spalte]; };
	this.getCopy = function() { return obj.cloneNode(true); };
}

function getText(td) {
	var val;
	if(td.childNodes.length > 0) {
		var tmp = td.innerHTML;
		val = tmp.replace(/<[^>]*>/g, "");
	}
	else {
		val = ((td.firstChild) ? td.firstChild.data : '');
	}
	return val ? val.trim() : '';
}

function sort(tid)
{
	var table = document.getElementById(tid);
	var tbody = table.getElementsByTagName('tbody');
	var tr = tbody[0].rows;
	var tlen = tr.length;
	var rows = [];

	var sort = function (a, b) {
		var val_1 = a.getValue(0) + a.getValue(1);
		var val_2 = b.getValue(0) + b.getValue(1);
		if(val_1 == '&nbsp;' || val_1 == '') return 1;
		else if(val_2 == '&nbsp;' || val_2 == '') return -1;
		return  val_1 == val_2 ? 0 : ((val_1 > val_2) ? 1 : -1);
	};

	for(var i = 0; i < tlen; i++) {
		rows.push(new SortRow(tr[i]));
	}
	rows = rows.sort(sort);
	var c = 0;
	var tr = tbody[0].rows
	var tlen = tr.length;
	for(var i = 0; i < tlen; i++) {
			tr[i].parentNode.replaceChild(rows[c++].getCopy(), tr[i]);
	}
}

//________________________________________________________________________________________________________________________________
//
function saveBewerbung()
{
	var inputs = document.getElementsByTagName('input');
	var selects = document.getElementsByTagName('select');
	
	var ta = document.getElementById('testausgabe');
	var ausgabe = '';
	
	for(var i = 0; i < inputs.length; i++) {
		if(inputs[i].name != '') {
			if((inputs[i].type == 'checkbox' || inputs[i].type == 'radio') && inputs[i].checked === true) {
				ausgabe += inputs[i].name + ' => ' + inputs[i].value + '<br />';
			}
			else if((inputs[i].type == 'text' || inputs[i].type == 'pasword') && inputs[i].value != '') {
				ausgabe += inputs[i].name + ' => ' + inputs[i].value + '<br />';
			}
		}
	}
	for(var i = 0; i < selects.length; i++) {
		if(selects[i].name != '' && selects[i].value != '' && selects[i].value != '0') {
			ausgabe += selects[i].name + ' => ' + selects[i].value + '<br />';
		}
	}
	
	ta.innerHTML = ausgabe;
}

//________________________________________________________________________________________________________________________________
//
function showinput_verfuegbar(obj)
{
	if(document.getElementById('verfuegung_opt_absofort').selected === true) {
		show_hide('verfuegung_inp_abdem', 'table-row', 'none');
		show_hide('verfuegung_inp_inwochen', 'table-row', 'none');
		show_hide('verfuegung_inp_inmonaten', 'table-row', 'none');
	}
	else if(document.getElementById('verfuegung_opt_abdem').selected === true) {
		show_hide('verfuegung_inp_abdem', 'table-row', 'show');
		show_hide('verfuegung_inp_inwochen', 'table-row', 'none');
		show_hide('verfuegung_inp_inmonaten', 'table-row', 'none');
		document.getElementById('inp_abdem_tag').focus();
	}
	else if(document.getElementById('verfuegung_opt_inwochen').selected === true) {
		show_hide('verfuegung_inp_inwochen', 'table-row', 'show');
		show_hide('verfuegung_inp_abdem', 'table-row', 'none');
		show_hide('verfuegung_inp_inmonaten', 'table-row', 'none');
		document.getElementById('verfuegung_inwochen').focus();
	}
	else if(document.getElementById('verfuegung_opt_inmonaten').selected === true) {
		show_hide('verfuegung_inp_inmonaten', 'table-row', 'show');
		show_hide('verfuegung_inp_abdem', 'table-row', 'none');
		show_hide('verfuegung_inp_inwochen', 'table-row', 'none');
		document.getElementById('verfuegung_inmonaten').focus();
	}
}


