function submitEntry(formname, what, entry_id, action_type, dont_clear)
{
	if (typeof(formname) != 'undefined' && formname != '') {
		var frm = document.forms[formname];
		var obj_id = frm.elements[what + '_id'];		
		var obj_action = frm.elements[what + '_action'];
		
		if (obj_id.value == entry_id && action_type != 'del') {
			switch (what) {
				case 'bew_dok_hist':
				var aktionart = frm.elements['aktion'];
				aktionart.focus();
				return;		
				
				case 'person':
					var anrede = frm.elements[what + '_geschlecht'];
					anrede.focus();
					return;
	
				case 'wvorlage':
					var wvart = frm.elements['wvn_art'];
					wvart.focus();
					return;
					
				case 'aktion':
					var aktionart = frm.elements['aktion_art'];
					aktionart.focus();
					return;
					
				case 'anz':
					var anztitel = frm.elements['anz_titel'];
					anztitel.focus();
					return;
	
				case 'kndwv':
					var kndwv_day = frm.elements['kndwv_d'];
					kndwv_day.focus();
					return;
				
				case 'finanzen':
				var finanzenart = frm.elements['finanzen_art'];
				finanzenart.focus();
				return;
				
				case 'auftrag':
					var anz_ma = frm.elements['auftrag_anzma'];
					anz_ma.focus();
					return;
			}
		}
		
		obj_id.value = entry_id;
		obj_action.value = action_type;
				
		if (action_type == 'del' && (typeof(dont_clear) == 'undefined' || dont_clear == false)) {
			clearEntry(formname, what, false);
		}
		
		frm.submit();
	}
}

function clearEntry(formname, what, reset_id)
{
	if (typeof(formname) != 'undefined' && formname != '') {
		var clearfields = new Array();
		clearfields['person'] = new Array();
		clearfields['person']['count'] = 23;
		clearfields['person']['name'] = new Array('geschlecht', 'titel', 'geburtstag', 'vorname', 'nachname', 'abteilung', 'funktion', 'telefon', 'mobil', 'telefax', 'email', 'qualifiziert', 'haupt', 'mailing', 'info', 'icq', 'msn', 'skype', 'aim', 'yahoo', 'weihnachten', 'vip', 'homepage');
		clearfields['person']['type'] = new Array('select', 'text', 'text', 'text', 'text', 'text', 'text', 'text', 'text', 'text', 'text', 'check', 'check', 'check', 'text', 'text', 'text', 'text', 'text', 'text', 'check', 'check', 'text');
		clearfields['person']['predef'] = new Array(1, '', '', '', '', '', '', '', '', '', '', false, false, true, '', '', '', '', '', '', false, false, '');
	
		var heute = new Date();	// Objekt mit heutigem Datum
		var tag = heute.getDate();
		if (tag > 31) { tag = 1; }
		if (tag < 10) { tag = '0' + tag; }
		var monat = heute.getMonth() + 1;
		if (monat < 10) { monat = '0' + monat; }
		var jahr = heute.getFullYear();
		var dtext = tag + '.' + monat + '.' + jahr;
		var hour = heute.getHours();
		if (hour < 10) { hour = '0' + hour; }
		var mins = heute.getMinutes();
		if (mins < 10) { mins = '0' + mins; }
		var ttext = hour + ':' + mins;
		
		clearfields['wvorlage'] = new Array();
		clearfields['wvorlage']['count'] = 8;
		clearfields['wvorlage']['name'] = new Array('art', 'user_id', 'datum', 'zeit', 'partner', 'partner_auswahl', 'adresse', 'anmerkung');
		clearfields['wvorlage']['type'] = new Array('select', 'select', 'text', 'text', 'text', 'select', 'text', 'text');
		clearfields['wvorlage']['predef'] = new Array('0', '', dtext, ttext, '', '0', '', '');
	
		clearfields['kndwv'] = new Array();
		clearfields['kndwv']['count'] = 4;
		clearfields['kndwv']['name'] = new Array('datum', 'benutzer', 'art', 'beschreibung');
		clearfields['kndwv']['type'] = new Array('text', 'select', 'text', 'text');
		clearfields['kndwv']['predef'] = new Array(tag + '.' + monat + '.' + jahr, '0', '', '');
	
		clearfields['aktion'] = new Array();
		clearfields['aktion']['count'] = 10;
		clearfields['aktion']['name'] = new Array('art', 'user_id', 'datum', 'zeit', 'partner', 'partner_auswahl', 'telefon', 'betreff', 'anmerkung', 'auswahl');
		clearfields['aktion']['type'] = new Array('text', 'select', 'text', 'text', 'text', 'text', 'select', 'text', 'text', 'select');
		clearfields['aktion']['predef'] = new Array('', '', dtext, ttext, '', '', '', '', '', '');

		clearfields['skill'] = new Array();
		clearfields['skill']['count'] = 4;
		clearfields['skill']['name'] = new Array('kompetenz_id', 'faehigkeit', 'level', 'skilltext');
		clearfields['skill']['type'] = new Array('text', 'text', 'select', 'text');
		clearfields['skill']['predef'] = new Array('0', '', '3', '');
		
		clearfields['anz'] = new Array();
		clearfields['anz']['count'] = 11;
		clearfields['anz']['name'] = new Array('titel', 'bkz', 'von_datum', 'bis_datum', 'bewerbungshinweise', 'anforderungen', 'stellenart', 'anzahlstellen', 'stellenlink', 'ansprechpartner', 'aktiv');
		clearfields['anz']['type'] = new Array('text', 'text', 'text', 'text', 'text', 'text', 'select', 'text', 'text', 'select', 'radio');
		clearfields['anz']['predef'] = new Array('', '', dtext, '30.12.2099', '', '', '8', '1', '', '', '1');
	
		clearfields['finanzen'] = new Array();
		clearfields['finanzen']['count'] = 21;
		clearfields['finanzen']['name'] = new Array('art', 'produktgruppe', 'artikel', 'artikel_auswahl', 'rechnungsdatum', 'betrag', 'periode', 'datum_von', 'datum_bis', 'notiz', 'bezahlt', 'bezahlt_datum', 'vertragsbeginn', 'bank', 'blz', 'konto', 'rechnungsadresse_strasse', 'rechnungsadresse_plz', 'rechnungsadresse_ort', 'rechnungsnummer', 'rechnungslaufzeit');
		clearfields['finanzen']['type'] = new Array('select', 'select', 'text', 'select', 'text', 'text', 'select', 'text', 'text', 'text', 'check', 'text', 'text', 'text', 'text', 'text', 'text', 'text', 'text', 'text', 'text');
		clearfields['finanzen']['predef'] = new Array('0', '0', '', '0', dtext, '', '0', '', '', '', '', '', '', '', '', '', '', '', '', '', '');

    
    clearfields['auftrag'] = new Array();
		clearfields['auftrag']['count'] = 21;
		clearfields['auftrag']['name'] = new Array('standort', 'anzma', 'abwann', 'laufzeit', 'art', 'zustaendig', 'type', 'wahrscheinlichkeit');
		clearfields['auftrag']['type'] = new Array('select', 'text', 'text', 'text', 'select', 'select', 'select', 'text');
		clearfields['auftrag']['predef'] = new Array('0', '', dtext, '', '0', '0', '0', '0');


		var frm = document.forms[formname];
		var obj_id = frm.elements[what + '_id'];
		
		if (reset_id === true) {
			obj_id.value = '0';
		}
					
		var count = clearfields[what]['count'];
		var prefix = what;
		switch (what) {
			case 'wvorlage':
				prefix = 'wvn';
				break;
			case 'aktion':
				prefix = 'aktion';
				break;			
		}
		for (var i = 0; i < count; i++) {
			if (i == 0) {
				var focus_field = frm.elements[prefix + '_' + clearfields[what]['name'][0]];
			}
			var clear_field = frm.elements[prefix + '_' + clearfields[what]['name'][i]];
			var clear_type = clearfields[what]['type'][i];
			if (clear_type == 'text' && typeof(clear_field) != 'undefined') {
				if (clearfields[what]['predef'].length > 0) {
					clear_field.value = clearfields[what]['predef'][i];
				}
				else {
					clear_field.value = '';
				}
			}
			else if (clear_type == 'select' && typeof(clear_field) != 'undefined') {
				if (clearfields[what]['predef'].length > 0) {
					clear_field.selectedIndex = clearfields[what]['predef'][i];
				}
				else {
					clear_field.selectedIndex = 0;
				}
			}
			else if ((clear_type == 'radio' || clear_type == 'check') && typeof(clear_field) != 'undefined') {
				if (clearfields[what]['predef'].length > 0) {
					clear_field.checked = clearfields[what]['predef'][i];
				}
				else {
					clear_field.checked = false;
				}
			}
		}
				
		if (reset_id == true && typeof(focus_field) != 'undefined') {
			focus_field.focus();
		}
	}
}

function parseDate(datum)
{
	var fmtdat = "";
	var test1 = 0;
	var test2 = 0;
	
	datum = datum.toString();
	
	if (datum.length < 2) {
		return datum;
	}

	var jetzt = new Date();
	
	switch (datum.length) {
			
		case 2:
			fmtdat = '0' + datum.substr(0, 1) + '.0' + datum.substr(1, 1) + '.' + jetzt.getFullYear();
			break;
			
		case 3:
			test1 = parseInt(datum.substr(0,2), 10);
			test2 = parseInt(datum.substr(1,2), 10);
			if (test1 == NaN || test2 == NaN) {
				return;
			}				
			if (test1 < 32) {
				fmtdat = datum.substr(0, 2) + '.0' + datum.substr(2, 1) + '.' + jetzt.getFullYear();
			}
			else if (test2 < 13) {
				fmtdat = '0' + datum.substr(0, 1) + '.' + datum.substr(1, 2) + '.' + jetzt.getFullYear();
			}
			else {
				fmtdat = '0' + datum.substr(0, 1) + '.0' + datum.substr(1, 1) + '.';
				var jahr = jetzt.getFullYear();
				fmtdat += jahr.toString().substr(0, 2) + '0' + datum.substr(2, 1);
			}
			break;
				
		case 4:
			test1 = parseInt(datum.substr(0, 2), 10);
			test2 = parseInt(datum.substr(2, 2), 10);
			if (test1 == NaN || test2 == NaN) {
				return;
			}	
			if (test1 < 32) {
				if (test2 < 13) {
					fmtdat = datum.substr(0, 2) + '.' + datum.substr(2, 2) + '.' + jetzt.getFullYear();
				}
				else {
					fmtdat = datum.substr(0, 2) + '.0' + datum.substr(2, 1) + '.';
					var jahr = jetzt.getFullYear();
					fmtdat += jahr.toString().substr(0, 2) + '0' + datum.substr(3, 1);
				}
			}
			else {
				test2 = parseInt(datum.substr(1, 2), 10);
				if (test2 == NaN) {
					return;
				}
				if (test2 < 13) {
					fmtdat = '0' + datum.substr(0, 1) + '.' + datum.substr(1, 2) + '.';
					var jahr = jetzt.getFullYear();
					fmtdat += jahr.toString().substr(0, 2) + '0' + datum.substr(3, 1);
				}
				else {
					fmtdat = '0' + datum.substr(0, 1) + '.0' + datum.substr(1, 1) + '.';
					test1 = parseInt(datum.substr(2, 2), 10);
			 		if (test1 < 32) {
			 			fmtdat += '20' + datum.substr(2, 2);
			 		}
			 		else {
			 			fmtdat += '19' + datum.substr(2, 2);
			 		}
				}
			}	 
			break;
				
		case 5:
			test1 = parseInt(datum.substr(0, 2), 10);
			test2 = parseInt(datum.substr(2, 2), 10);
			if (test1 == NaN || test2 == NaN) {
				return;
			}	
			if (test1 < 32) {
				if (test2 < 13) {
					fmtdat = datum.substr(0, 2) + '.' + datum.substr(2, 2) + '.';
					var jahr = jetzt.getFullYear();
					fmtdat += jahr.toString().substr(0, 2) + '0' + datum.substr(4, 1);
				}
				else {
					fmtdat = datum.substr(0, 2) + '.0' + datum.substr(2, 1) + '.';
					test1 = parseInt(datum.substr(3, 2), 10);
			 		if (test1 < 32) {
			 			fmtdat += '20' + datum.substr(3, 2);
			 		}
			 		else {
			 			fmtdat += '19' + datum.substr(3, 2);
			 		}
				}
			}
			else {
				fmtdat = '0' + datum.substr(0, 1) + '.' + datum.substr(1, 2) + '.';
				test1 = parseInt(datum.substr(3, 2), 10);
		 		if (test1 < 32) {
		 			fmtdat += '20' + datum.substr(3, 2);
		 		}
		 		else {
		 			fmtdat += '19' + datum.substr(3, 2);
		 		}
			}
			break;
			
		case 6:
			fmtdat = datum.substr(0, 2) + '.' + datum.substr(2, 2) + '.';
			test1 = parseInt(datum.substr(4, 2), 10);
	 		if (test1 < 32) {
	 			fmtdat += '20' + datum.substr(4, 2);
	 		}
	 		else {
	 			fmtdat += '19' + datum.substr(4, 2);
	 		}
			break;
			
		case 7:
			fmtdat = datum.substr(0, 2) + '.' + datum.substr(2, 2) + '.';
			test1 = parseInt(datum.substr(5, 2), 10);
	 		if (test1 < 32) {
	 			fmtdat += '20' + datum.substr(5, 2);
	 		}
	 		else {
	 			fmtdat += '19' + datum.substr(5, 2);
	 		}
			break;
			
		case 8:
			fmtdat = datum.substr(0, 2) + '.' + datum.substr(2, 2) + '.' + datum.substr(4, 4);
			break;
	}

	return fmtdat;
}

function parseTime(zeit)
{
	var fmtts = "";
	var test1 = 0;
	var test2 = 0;
	
	zeit = zeit.toString();
	
	if (zeit.length == 0) {
		return zeit;
	}

	switch (zeit.length) {
			
		case 1:
			fmtts = '0' + zeit + ':00:00';
			break;
			
		case 2:
			test1 = parseInt(zeit, 10);
			if (test1 == NaN) {
				return;
			}				
			if (test1 < 25) {
				fmtts = zeit + ':00:00';
			}
			else {
				fmtts = '0' + zeit.substr(0, 1) + ':0' + zeit.substr(1, 1) + ':00';
			}
			break;
			
		case 3:
			test1 = parseInt(zeit.substr(0,2), 10);
			test2 = parseInt(zeit.substr(1,2), 10);
			if (test1 == NaN || test2 == NaN) {
				return;
			}				
			if (test1 < 25) {
				fmtts = zeit.substr(0, 2) + ':0' + zeit.substr(2, 1) + ':00';
			}
			else if (test2 < 60) {
				fmtts = '0' + zeit.substr(0, 1) + ':' + zeit.substr(1, 2) + ':00';
			}
			else {
				fmtts = '0' + zeit.substr(0, 1) + ':0' + zeit.substr(1, 1) + ':0' + zeit.substr(2, 1);
			}
			break;
				
		case 4:
			test1 = parseInt(zeit.substr(0, 2), 10);
			test2 = parseInt(zeit.substr(2, 2), 10);
			if (test1 == NaN || test2 == NaN) {
				return;
			}	
			if (test1 < 25) {
				if (test2 < 60) {
					fmtts = zeit.substr(0, 2) + ':' + zeit.substr(2, 2) + ':00';
				}
				else {
					fmtts = zeit.substr(0, 2) + ':0' + zeit.substr(2, 1) + ':0' + zeit.substr(3, 1);
				}
			}
			else {
				test2 = parseInt(zeit.substr(1, 2), 10);
				if (test2 == NaN) {
					return;
				}
				if (test2 < 60) {
					fmtts = '0' + zeit.substr(0, 1) + ':' + zeit.substr(1, 2) + ':0' + zeit.substr(3, 1);
				}
				else {
					fmtts = '0' + zeit.substr(0, 1) + ':0' + zeit.substr(1, 1) + ':' + zeit.substr(2, 2);
				}
			}	 
			break;
				
		case 5:
			test1 = parseInt(zeit.substr(0, 2), 10);
			test2 = parseInt(zeit.substr(2, 2), 10);
			if (test1 == NaN || test2 == NaN) {
				return;
			}	
			if (test1 < 25) {
				if (test2 < 60) {
					fmtts = zeit.substr(0, 2) + ':' + zeit.substr(2, 2) + ':0' + zeit.substr(4, 1);
				}
				else {
					fmtts = zeit.substr(0, 2) + ':0' + zeit.substr(2, 1) + ':' + zeit.substr(3, 2);
				}
			}
			else {
				fmtts = '0' + zeit.substr(0, 1) + ':' + zeit.substr(1, 2) + ':' + zeit.substr(3, 2);
			}
			break;
			
		case 6:
			fmtts = zeit.substr(0, 2) + ':' + zeit.substr(2, 2) + ':' + zeit.substr(4, 2);
			break;			
	}

	return fmtts;
}

function fillDate(sFormName, theField)
{
	if (typeof(sFormName) != 'undefined' && sFormName != '') {
		var theForm = document.forms[sFormName];
		var datum = theForm.elements[theField].value.toString();
		
		if (datum.indexOf('.') == -1) {
			datum = parseDate(datum);
		}
					
		datum = datum.split('.');
		if (datum.length < 2 || datum.length > 3) {
			return;
		}
	
		var jetzt = new Date();
		var filled = new Array(3);
		
		if (datum.length == 2) {	
			filled[2] = jetzt.getFullYear();
		}
		else {
		 	if (datum[2].length == 2) {
		 		var chk = parseInt(datum[2]);
		 		if (chk < 32) {
		 			datum[2] = '20' + datum[2];
		 		}
		 		else {
		 			datum[2] = '19' + datum[2];
		 		}
		 	} 	
			filled[2] = datum[2];
		}
	
		filled[0] = ((datum[0].length == 1) ? '0' + datum[0] : datum[0]);
		filled[1] = ((datum[1].length == 1) ? '0' + datum[1] : datum[1]);
		
		var jahr = parseInt(filled[2], 10);
		var monat = parseInt(filled[1], 10) - 1;
		var tag = parseInt(filled[0], 10);
		var d = new Date(jahr, monat, tag);
	 	 	
	 	if (d.getDate() == tag && d.getMonth() == monat && d.getFullYear() == jahr) {
			theForm.elements[theField].value = filled[0] + '.' + filled[1] + '.' + filled[2];
		}
	}
}

function fillTime(sFormName, theField)
{
	if (typeof(sFormName) != 'undefined' && sFormName != '') {
		var theForm = document.forms[sFormName];
		var zeit = theForm.elements[theField].value.toString();
		
		if (zeit.indexOf(':') == -1) {
			zeit = parseTime(zeit);
		}
					
		zeit = zeit.split(':');
		if (zeit.length < 2 || zeit.length > 3) {
			return;
		}
	
		var filled = new Array(3);
		
		if (zeit.length == 2) {
			filled[2] = '00';
		}
		else {
			filled[2] = ((zeit[2].length == 1) ? '0' + zeit[2] : zeit[2]);
		}
	
		filled[0] = ((zeit[0].length == 1) ? '0' + zeit[0] : zeit[0]);
		filled[1] = ((zeit[1].length == 1) ? '0' + zeit[1] : zeit[1]);
		
		// Sonderfall 24:00:00
		if (filled[0] == '24' && filled[1] == '00' && filled[2] == '00') {
			theForm.elements[theField].value = filled[0] + ':' + filled[1];
		}
		else {
			var stunden = parseInt(filled[0], 10);
			var minuten = parseInt(filled[1], 10);
			var sekunden = parseInt(filled[2], 10);
			var d = new Date(2003, 0, 1, stunden, minuten, sekunden);
	 	 	if (d.getHours() == stunden && d.getMinutes() == minuten && d.getSeconds() == sekunden) {
				theForm.elements[theField].value = filled[0] + ':' + filled[1]; // + filled[0]
			}
		}
	}
}

function checkEmail(email)
{
	var proto  = "(mailto:)?";
  	var usr    = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
  	var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
  	var regex  = "^" + proto + "?" + usr + "\@" + domain + "$";
  	var rgx = new RegExp(regex);
  	return rgx.exec(email) ? true : false;
}

function selectDropdownOption(element,wert)
{
	for (var i=0; i<element.options.length; i++) 
	{
		if (element.options[i].value == wert) 
		{
			element.options[i].selected = true;		
			}
		else
		{
				element.options[i].selected = false;	
		}
	}
}

