/**********************************/
/*-+-      shic ACMS beta      -+-*/
/*-+-    -- JAVA SCRIPTS --    -+-*/
/*+-       www.shicgmbh.de      -+*/
/*-  © ichier2008 www.ichier.de  -*/
/*                                */
/*  last modified 15.08.08        */
/*                                */
/*  all rights reserved!          */
/**********************************/


/*** MODIFIED FOR JMP ***/


/*** initvars ***/
js_arr_error = new Array();

/*** active design stuff ***/
function js_popup_help(pid,get) {
	popup = window.open(js_global['page_engine']+'?id='+pid+get,'IchierACMShelp','height='+js_gl_settings['pop_h']+',width='+js_gl_settings['pop_w']+',top='+js_gl_settings['pop_t']+',left='+js_gl_settings['pop_l']+',scrollbars=yes,status=yes,resizable=yes');
	popup.focus();
}

function js_popup_window(pid,get) {
	popup = window.open(js_global['page_engine']+'?id='+pid+get,'IchierACMSpopup','height='+js_gl_settings['pop_h']+',width='+js_gl_settings['pop_w']+',top='+js_gl_settings['pop_t']+',left='+js_gl_settings['pop_l']+',scrollbars=yes,status=yes,resizable=yes');
	popup.focus();
}

function js_popup_idatasuche(pid,id) {
	popup = window.open(js_global['page_engine']+'?id='+pid+'&suche_id='+id,'IchierACMSidataSuche','height='+js_gl_settings['pop_h']+',width='+js_gl_settings['pop_usersearch_w']+',top='+js_gl_settings['pop_usersearch_t']+',left='+js_gl_settings['pop_usersearch_l']+',scrollbars=auto,status=yes,resizable=yes');
	popup.focus();
}

function js_popup_usersuche(pid,id,get) {
	get += '&suche_id='+id;
	popup = window.open(js_global['page_engine']+'?id='+pid+get,'IchierACMSusersuche','height='+js_gl_settings['pop_usersearch_h']+',width='+js_gl_settings['pop_usersearch_w']+',top='+js_gl_settings['pop_usersearch_t']+',left='+js_gl_settings['pop_usersearch_l']+',scrollbars=auto,status=yes,resizable=yes');
	popup.focus();
}

function js_image_switch(obj,src1,src2) {
	if (document.getElementById(obj).src.indexOf(src1) > -1) {
		document.getElementById(obj).src = src2;
	} else {
		document.getElementById(obj).src = src1;
	}
}

function js_hide_element(ding) {
	document.getElementById(ding).style.display = "none";
}

function js_show_element(ding) {
	document.getElementById(ding).style.display = "";
}

function js_toggle_display(obj) {
	if (document.getElementById(obj).style.display == "none") {
		document.getElementById(obj).style.display = "";
	} else {
		document.getElementById(obj).style.display = "none";
	}
}

function js_toggle_box(box,img,src1,src2) {
	js_toggle_display(box);
	js_image_switch(img,src1,src2);
}

function js_toggle_tab(tab,clt1,clt2,cll1,cll2) {
	js_toggle_display(js_var_tab_last);
	js_toggle_display(tab);
	if(isobj('tab_'+tab)) {
		js_align_cssclass('tab_'+js_var_tab_last,clt2);
		js_align_cssclass('tab_'+tab,clt1);
		js_align_cssclass('link_'+js_var_tab_last,cll2);
		js_align_cssclass('link_'+tab,cll1);
	}
	if(isobj('tab_btm_'+tab)) {
		js_align_cssclass('tab_btm_'+js_var_tab_last,clt2+'_btm');
		js_align_cssclass('tab_btm_'+tab,clt1+'_btm');
		js_align_cssclass('link_btm_'+js_var_tab_last,cll2);
		js_align_cssclass('link_btm_'+tab,cll1);
	}
	js_var_tab_last = tab;
}
	
function js_toggle_cssclass(obj,css1,css2) {
	if (document.getElementById(obj).className == css1) {
		document.getElementById(obj).className = css2;
	} else {
		document.getElementById(obj).className = css1;
	}
}

function js_toggle_cssclassobj(obj,css1,css2) {
	if (obj.className == css1) {
		obj.className = css2;
	} else {
		obj.className = css1;
	}
}

function js_change_picture(img,src) {
	change_picture_prvimg = img;
	change_picture_prvsrc = document.getElementById(img).src;
	document.getElementById(img).src = src;
}
function js_restore_picture() {
	document.getElementById(change_picture_prvimg).src = change_picture_prvsrc;
}

function js_align_cssclass(obj,cl) {
	document.getElementById(obj).className = cl;
}

function js_align_cssclassobj(obj,cl) {
	obj.className = cl;
}

function js_add_cssclass(obj,cl) {
	document.getElementById(obj).className += ' '+cl;
}

function js_add_cssclassobj(obj,cl) {
	obj.className += ' '+cl;
}

function js_rem_cssclass(obj,cl) {
	if(!document.getElementById(obj)) { return; }
	eval('var maske = /'+cl+'/;');
	if(typeof(document.getElementById(obj))=='radio') {}
	document.getElementById(obj).className = document.getElementById(obj).className.replace(maske,'');
}

function js_rem_cssclassobj(obj,cl) {
	eval('var maske = /'+cl+'/;');
	if(typeof(obj)=='undefined') { return false; }
	if(obj.type=='radio') {
		for(var i=0;i<obj.length;i++) {
			obj[i].className = obj[i].className.replace(maske,'');
		}
		return;
	}
	obj.className = obj.className.replace(maske,'');
}

function js_chg_divcontent(obj,val) {
	var div = document.getElementById(obj);
	div.innerHTML = val;
}

function js_mailmake(obj,tld,name,dom,txt) {
	var ml = name + '@';
	var ln = 'mailto';
	ml += dom + '.' + tld;
	ln += ':' + ml + '">';
	if (txt) { var tx = ml; } else { tx = obj.innerHTML; }
	obj.innerHTML = '<a href="' + ln + tx + '</a>';
	obj.onmouseover = '';
}

function js_confirm_url(msg,url) {
	if(msg=="") { var msg = js_arr_msgs['RUshure']; }
	if(js_confirm(msg)) { document.location.href = url; }
}

function js_confirm(msg) {
	if(msg=="") { var msg = js_arr_msgs['RUshure']; }
	return window.confirm(msg);
}

/*** coding-stuff ***/
function isset(obj) {
	return (typeof(obj)!='undefined') ? true : false;
}

function isobj(obj) {
	return (document.getElementById(obj)) ? true : false;
}

function isArray(obj) {
	if(!isset(obj)) { return false; }
	return obj.constructor == Array;
}

function inArray(arr,itm) {
	if(!isset(arr)||!isset(itm)) { return false; }
	for(var i=0;i<=arr.length;i++) {
		if(arr[i] == itm) { return true; }
	}
	return false;
}

function intoArray(arr,idx,val) {
	var tmp = new Array();
	if(!isset(arr)||arr.length==0) {
		tmp[tmp.length]=val;
	} else {
		tmp = arr.slice(0,idx+1);
		tmp[tmp.length] = val;
		tmp = tmp.concat(arr.slice(idx+1));
	}
	return tmp;
}

function offArray(arr,idx) {
	var tmp = new Array();
	tmp = arr.slice(0,idx).concat(arr.slice(idx+1));
	return tmp;
}

function print_r(input, _indent) { //taken from phpbuilder.com posted by bubblenut + ednark
	if(typeof(_indent) == 'string') {
		var indent = _indent + '    ';
		var paren_indent = _indent + '    ';
	} else {
		var indent = '    ';
		var paren_indent = '';
	}
	switch(typeof(input)) {
		case 'boolean':
			var output = (input ? 'true' : 'false') + "\n";
			break;
		case 'object':
			if ( input===null ) {
				var output = "null\n";
				break;
			}
			var output = ((input.reverse) ? 'Array' : 'Object') + " (\n";
			for(var i in input) {
				output += indent + "[" + i + "] => " + print_r(input[i], indent);
			}
			output += paren_indent + ")\n";
			break;
		case 'number':
		case 'string':
		default:
			var output = "" + input + "\n";
	}
	return output;
}

function encode_utf8(rohtext) {
	// dient der Normalisierung des Zeilenumbruchs
	rohtext = rohtext.replace(/\r\n/g,"\n");
	var utftext = "";
	for(var n=0; n<rohtext.length; n++) {
		// ermitteln des Unicodes des  aktuellen Zeichens
		var c=rohtext.charCodeAt(n);
		// alle Zeichen von 0-127 => 1byte
		if (c<128) {
			utftext += String.fromCharCode(c);
		// alle Zeichen von 127 bis 2047 => 2byte
		} else if((c>127) && (c<2048)) {
			utftext += String.fromCharCode((c>>6)|192);
			utftext += String.fromCharCode((c&63)|128);
		// alle Zeichen von 2048 bis 66536 => 3byte
		} else {
			utftext += String.fromCharCode((c>>12)|224);
			utftext += String.fromCharCode(((c>>6)&63)|128);
			utftext += String.fromCharCode((c&63)|128);
		}
	}
	return utftext;
}

function decode_utf8(utftext) {
	var plaintext = ""; var i=0; var c=c1=c2=0;
	// while-Schleife, weil einige Zeichen uebersprungen werden
	while(i<utftext.length) {
		c = utftext.charCodeAt(i);
		if (c<128) {
			plaintext += String.fromCharCode(c);
			i++;
		} else if((c>191) && (c<224)) {
			c2 = utftext.charCodeAt(i+1);
			plaintext += String.fromCharCode(((c&31)<<6) | (c2&63));
			i+=2;
		} else {
			c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2);
			plaintext += String.fromCharCode(((c&15)<<12) | ((c2&63)<<6) | (c3&63));
			i+=3;
		}
	}
	return plaintext;
}

function js_convert_to_html(val) {  // currently works only if this js is utf8 and html is not
	var char = new Array(	'&','à','á','â','ã','ä','å','æ','ç','è','é',
									'ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô',
									'õ','ö','ø','ù','ú','û','ü','ý','þ','ÿ','À',
									'Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë',
									'Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö',
									'Ø','Ù','Ú','Û','Ü','Ý','Þ','€','"','ß','<',
									'>','¢','£','¤','¥','¦','§','¨','©','ª','«',
									'¬','­','®','¯','°','±','²','³','´','µ','¶',
									'·','¸','¹','º','»','¼','½','¾');

	var repl = new Array(	'amp','agrave','aacute','acirc','atilde','auml','aring',
										'aelig','ccedil','egrave','eacute','ecirc','euml','igrave',
										'iacute','icirc','iuml','eth','ntilde','ograve','oacute',
										'ocirc','otilde','ouml','oslash','ugrave','uacute','ucirc',
										'uuml','yacute','thorn','yuml','Agrave','Aacute','Acirc',
										'Atilde','Auml','Aring','AElig','Ccedil','Egrave','Eacute',
										'Ecirc','Euml','Igrave','Iacute','Icirc','Iuml','ETH','Ntilde',
										'Ograve','Oacute','Ocirc','Otilde','Ouml','Oslash','Ugrave',
										'Uacute','Ucirc','Uuml','Yacute','THORN','euro','quot','szlig',
										'lt','gt','cent','pound','curren','yen','brvbar','sect','uml',
										'copy','ordf','laquo','not','shy','reg','macr','deg','plusmn',
										'sup2','sup3','acute','micro','para','middot','cedil','sup1',
										'ordm','raquo','frac14','frac12','frac34');

	//val = encode_utf8(val);
	for(var i=0;i<char.length;i++) {
		var myRegExp = new RegExp();
		myRegExp.compile(decode_utf8(char[i]),'g');
		//myRegExp.compile(encode_utf8(char[i]),'g');
		val = val.replace (myRegExp, repl[i]);
	}
	return decode_utf8(val);
}

function js_convert_nonalnum(val) {  // currently works only if this js is utf8 and html is not
	var char = new Array(	'&','à','á','â','ã','ä','å','æ','ç','è','é',
									'ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô',
									'õ','ö','ø','ù','ú','û','ü','ý','þ','ÿ','À',
									'Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë',
									'Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö',
									'Ø','Ù','Ú','Û','Ü','Ý','Þ','€','"','ß','<',
									'>','¢','£','¤','¥','¦','§','¨','©','ª','«',
									'¬','­','®','¯','°','±','²','³','´','µ','¶',
									'·','¸','¹','º','»','¼','½','¾');

	var repl = new Array(	'+','a','a','a','a','ae','a','a','c','e','e',
									'e','e','i','i','i','i','','n','o','o','o',
									'o','oe','o','u','u','u','ue','y','p','y','A',
									'A','A','A','Ae','A','AE','C','E','E','E','E',
									'I','I','I','I','','N','O','O','O','O','Oe',
									'O','U','U','U','Ue','Y','P','EUR','','sz','',
									'','','','','','','','','','','','','','','',
									'','','','','','','','.','.','','','','','','');

	//val = encode_utf8(val);
	for(var i=0;i<char.length;i++) {
		var myRegExp = new RegExp();
		myRegExp.compile(decode_utf8(char[i]),'g');
		//myRegExp.compile(encode_utf8(char[i]),'g');
		val = val.replace (myRegExp, repl[i]);
	}
	return decode_utf8(val);
}

function js_mke_alnum(val,sp2us) {
	if(!val) { return false; }
	if(typeof(sp2us)!='undefined') { if(sp2us) {
		var maske = /\s+/g;
		val = val.replace(maske, '_');
	}}
	val = js_convert_nonalnum(val);
	var maske = /[^a-zA-Z0-9\-\.\_\+]/g;
	val = val.replace(maske, '');
	return val;
}

function js_mke_realalnum(val) {
	if(!val) { return false; }
	val = js_convert_nonalnum(val);
	var maske = /[^a-zA-Z0-9]/g;
	val = val.replace(maske, '');
	return val;
}

/*** math ***/
function js_round(val,col) {
	var maske = js_var_decimal_replacemask;
	val += "";
	val = val.replace(maske, ".");
	maske = /(\d+)\.?(\d*)/;
	if (maske.test(val)) {
		val = Math.round(val*Math.pow(10,col))/Math.pow(10,col);
		return val;
	} else {
		js_arr_error[js_arr_error.length] = js_var_alert_scriptfehler + ": " + js_arr_msgs['decimal'];
		return false;
	}
}

function js_2digits_add_zero(val) {
	return (val < 10) ? '0' + val : val;
}

function js_pr_currency(val) {
	if(!val) { return false; }
	var maske = /\./;
	val = js_mke_currency(val);
	val = val.replace(maske, js_var_decimal_sep);
	return val;
}

function js_mke_currency(val) {
	var maske = js_var_decimal_replacemask;
	val += "";
	val = val.replace(maske, ".");
	maske = /(\d+)[.]?(\d*)/;
	if (maske.test(val)) {
		val = Math.round(val*100)/100;
		maske.test(val);
		var hint = RegExp.$2;
		if(hint.length==1){hint+="0";}
		if(hint.length==0){hint+="00";}
		val = RegExp.$1 + "." + hint;
		return val;
	} else {
		js_arr_error[js_arr_error.length] = js_var_alert_scriptfehler + ": " + js_arr_msgs['decimal'];
		return false;
	}
}

function js_mke_decimal(val) {
	var maske = js_var_decimal_replacemask;
	val += "";
	val = val.replace(maske, ".");
	maske = /(\d+)[.]?(\d*)/;
	if (maske.test(val)) {
		return val;
	} else {
		if(isset(js_arr_error)) { js_arr_error[js_arr_error.length] = js_var_alert_scriptfehler + ": " + js_arr_msgs['decimal']; }
		return false;
	}
}

function js_mwstcalc(val) {		//MwSt errechnen
	return val*js_var_mwst/100;
}

function js_mwstscalc(val) {		//MwSt errechnen wenn val ist incl
	return val*js_var_mwst/(100+js_var_mwst);
}

function js_mwprcalc(val) {		//MwSt zurechnen
	return val*1+(val*js_var_mwst/100);
}

function js_preiscalc(val) {		//MwSt errechnen und abziehen
	return (val*100/(100+js_var_mwst));
}

function js_seconds2string(sec) {
	if(sec<0) { return false; }
	var h = Math.floor(sec / 3600);
	var m = Math.floor((sec % 3600) / 60);
	var s = sec % 60;
	var str = 
		js_2digits_add_zero(h) + ':' +
		js_2digits_add_zero(m) + ':' +
		js_2digits_add_zero(s);
	return str;
}


/*** form-stuff ***/
function js_calc_field(form,obj1,obj2,func) {	//function auf wert1 = wert2
	eval("var val = form." + obj1 + ".value;");
	eval("form." + obj2 + ".value = "+func+"("+val+");");
}

function js_sel2fld(sel,fld) {
	if(isset(document.getElementById(fld))) {
		document.getElementById(fld).value = sel.value;
	}
}

function js_val2fld(val,fld) {
	if(isset(document.getElementById(fld))) {
		document.getElementById(fld).value = val;
	}
}

function js_clear_field(ding,preset) {
	if (ding.value == preset) {
		ding.value = ""
	}
}

function js_getInputByName(name) {
	var inputs = document.getElementsByTagName('input');
	for(var i=0;i<inputs.length;i++) {
		if(inputs[i].getAttribute('name') == name) { return inputs[i]; }
	}
	return false;
}

function js_get_formfield_cap(objnme) {
	var obj = document.getElementById(objnme);
	if(typeof(obj)=='undefined') { return false; }
	var tp = obj.type;
	if(tp=='text' || tp=='textarea') {
		return obj.value;
	} else if(tp=='select' || tp=='select-one') { //does 'select' exist?
		return js_get_select_cap(obj);
	} else if(tp=='radio') {
		return js_get_radio_cap(obj);
	} else if(tp=='checkbox') {
		return js_get_cbx_cap(obj);
	} else {
		return false;
	}
}

function js_get_formfield_value(objnme) {
	var obj = document.getElementById(objnme);
	if(typeof(obj)=='undefined') { return false; }
	var tp = obj.type;
	if(tp=='text' || tp=='textarea' || tp=='select' || tp=='checkbox') {
		return obj.value;
	} else if(tp=='radio') {
		return js_get_radio_value(obj);
	} else {
		return false;
	}
}

function js_get_select_cap(obj) {
	if(obj.selectedIndex) {
		return obj[obj.selectedIndex].text;
	} else {
		return '';
	}
}

function js_get_cbx_cap(obj) {
	if(typeof(obj)=='undefined') { return false; }
	if(obj.checked) {
		if(obj.title!='') { return obj.title; }
		// try to get label
		if(obj.value==1) {
			return 'x';
		}
		return obj.value;
	} else {
		return '';
	}
}

function js_get_radio_cap(obj) {
	if(typeof(obj)=='undefined') { return false; }
	if(typeof(obj.form)!='undefined') {	eval('obj = obj.form.' + obj.name + ';'); }
	var leng = obj.length;
	if(leng == 'undefined') {
		if(obj.checked) {
			if(obj.title!='') {
				return obj.title;
				// try to get label
				return obj.value;
			} else {
				return '';
			}
		}
	}
	for(var i=0;i<leng;i++) {
		if(obj[i].checked) {
			if(obj[i].title!='') { return obj[i].title; }
			// try to get label
			return obj[i].value;
		}
	}
	return '';
}

function js_get_radio_value(obj) {
	if(typeof(obj)=='undefined') { return false; }
	if(typeof(obj.form)!='undefined') {	eval('obj = obj.form.' + obj.name + ';'); }
	var leng = obj.length;
	if(leng == 'undefined') {
		if(obj.checked) { return obj.value; }
		else { return false; }
	}
	for(var i=0;i<leng;i++) {
		if(obj[i].checked) { return obj[i].value; }
	}
	return false;
}

function js_set_radio_value(obj,val) {
	if(isset(obj)) {
		var lng = obj.length;
		if(lng == undefined) {
			obj.checked = (obj.value == val.toString());
			return;
		}
		for(var i=0;i<lng;i++) {
			obj[i].checked = false;
			if(obj[i].value==val.toString()) { obj[i].checked = true; }
			else { obj[i].checked = false; }
		}
	}
}

function js_select_selbyval(obj, val) {
	if(isset(obj)) {
		for(var i=0;i<obj.options.length;i++) {
			if( (isArray(val)&&inArray(val,obj.options[i].value)) || (!isArray(val)&&obj.options[i].value==val)) { obj.options[i].selected = true; }
			else { obj.options[i].selected = false; }
		}
	}
}

function js_select_multi2array(obj, spl) {
	if(isset(obj)) {
		var selarr = new Array();
		for(var i=0;i<obj.options.length;i++) {
			if(obj.options[i].selected) {
				selarr[selarr.length] = obj.options[i].value;
			}
		}
		return selarr;
	}
	return false;
}



// Formulare Checken, error ausgeben
function js_putout_alert(msg) {
	if(js_arr_error.length > 0) {
		var msg = "";
		for(var i=0;i<js_arr_error.length;i++) {
			msg += js_arr_error[i]+js_var_nl+js_var_nl;
		}
		alert(js_var_jmp_premsg+msg);
	}
}

// Formulare Checken, error ausgeben
function js_chk_form (form,js_arr_chk) {
	var failed = new Array();
	for(var i=0;i<js_arr_chk['fields'].length;i++) {
		var obj = js_arr_chk['fields'][i];
		var cap = js_arr_chk['caps'][i];
		var val = js_arr_chk['vals'][i];
		if(!inArray(failed,obj)) { js_rem_cssclassobj(obj,'form_error'); }
		if (val.length>0) { eval("var ret = js_chk_" + js_arr_chk['funcs'][i] + "(form,obj,cap,val);");}
		else { eval("var ret = js_chk_" + js_arr_chk['funcs'][i] + "(form,obj,cap);");}
		if(!ret) {
			failed[failed.length] = obj;
			js_add_cssclassobj(obj,'form_error');
			if(js_var_focus==-1) { js_var_focus = i; }
		}
	}
	if(js_var_focus > -1) {
		if(js_arr_chk['fields'][js_var_focus].type == undefined && js_arr_chk['fields'][js_var_focus][0].type == 'radio') {
			js_arr_chk['fields'][js_var_focus][0].focus();
		} else {
			js_arr_chk['fields'][js_var_focus].focus();
		}
		js_putout_alert(js_var_alert_eingabefehler);
		return false;
	} else {
		return true;
	}
}

/*** ausdrücke testen ***/
function js_chk_date(form,date,cap) {
// date ist objekt -> eg. form.datum
 	var maske = js_var_datemask_short;
	if (maske.test(date.value)&&date.value!="") {
		maske = js_var_date_split_replacemask;
		date.value = date.value.replace(maske,js_var_date_split);

		var dp = js_var_date_daypos;
		var mp = js_var_date_monpos;
		var yp = js_var_date_yearpos;
		var ay = js_var_date_autoyear;

// von hier
		var datearray = date.value.split(js_var_date_split_replacemask);
		if (datearray[dp].length == 1) { datearray[dp] = "0" + datearray[dp]; }
		if (datearray[mp].length == 1) { datearray[mp] = "0" + datearray[mp]; }
		if ((datearray[yp].length < 3) && (datearray[yp] >= ay)) { datearray[yp] = 1900*1 + datearray[yp]*1; }
		if ((datearray[yp].length < 3) && (datearray[yp] < ay)) { datearray[yp] = 2000*1 + datearray[yp]*1; }
		date.value = datearray[0] + js_var_date_split + datearray[1] + js_var_date_split + datearray[2];
// bis hier Autovervollständigen Jahresangabe / 0 vor tag und Monat

		maske = js_var_datemask;
		if (maske.test(date.value)) {
			datearray = date.value.split(js_var_date_split_replacemask);
			if ((datearray[dp] <= js_var_date_daymin) || (datearray[dp] > js_var_date_daymax) || (datearray[mp] <= js_var_date_monmin) || (datearray[mp] > js_var_date_monmax) || (datearray[yp] < js_var_date_yearmin) || (datearray[yp] > js_var_date_yearmax)){ js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['date']['val']; return false; }
		}else{
			js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['date']['intern'];
			js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['date']['format'];
			return false;
		}

	}else if(date.value=="") {
		return true;
	}else{
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['date']['format'];
		return false;
	}
	return true;
}

function js_chk_time(form,time,cap) {
// time ist objekt -> eg. form.datum
	var maske = /\d\d?[:\-\,\.]\d\d?/;
	var maske2 = /\d\d?/;
 	if (maske.test(time.value)&&time.value!="") {
		maske = /[:\-\,\.]/;
		time.value = time.value.replace(maske,":");
// 0 vorsetzen
		var timearray = time.value.split(":");
		if (timearray[0].length == 1) { timearray[0] = "0" + timearray[0]; }
		if (timearray[1].length == 1) { timearray[1] = "0" + timearray[1]; }
		time.value = timearray[0] + ":" + timearray[1];
// chk
 		maske = /\d{2}[:]\d{2}/;
		if (maske.test(time.value)) {
			timearray = time.value.split(":");
			if ((timearray[0] < 0) || (timearray[0] >= 24) || (timearray[1] < 0) || (timearray[1] >= 60)){ js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['time']['val']; return false; }
		}else{
			js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['time']['intern'];
			js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['time']['format'];
			return false;
		}

	}else if(maske2.test(time.value)&&time.value!="") {
		time.value = time.value+":00"; 
		if(js_chk_time(form,time,cap)) { return true; } else { return false; }
	}else if(time.value=="") {
		return true;
	}else{
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['time']['format'];
		return false;
	}
	return true;
}

function js_chk_ifval(form,val,cap) {
	var maske = /.+/;
	if (maske.test(val.value)) {
		return true;
	} else {
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['ifval'];
		return false;
	}
}

function js_chk_ifsel(form,val,cap) {
	var maske = /.+/;
	if (maske.test(val.value)) {
		return true;
	} else {
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['ifsel'];
		return false;
	}
}

function js_chk_ifchk(form,val,cap) {
	if (val.checked) {
		return true;
	} else {
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['ifchk'];
		return false;
	}
}

function js_chk_ifrad(form,val,cap) {
	if(js_get_radio_value(val)!==false) {
		return true;
	} else {
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['ifrad'];
		return false;
	}
}

function js_chk_int(form,val,cap) {
	var maske = /^-?\d+$/;
	if (maske.test(val.value)) {
		return true;
	} else if(val.value=="") {
		return true;
	} else {
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['int'];
		return false;
	}
}

function js_chk_decimal(form,val,cap) {
	var maske = /^-?\d+[.,]?\d{0,}$/;
	if (maske.test(val.value)) {
		maske = /[.,]/;
		val.value = val.value.replace(maske,".");
		return true;
	} else if(val.value=="") {
		return true;
	} else {
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['decimal'];
		return false;
	}
}

function js_chk_maxval(form,val,cap,maxval) {
	if (val.value*1<=maxval*1) {
		return true;
	} else if(val.value=="") {
		return true;
	} else {
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['maxval'] + maxval;
		return false;
	}
}

function js_chk_minval(form,val,cap,minval) {
	if (val.value*1>=minval*1) {
		return true;
	} else if(val.value=="") {
		return true;
	} else {
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['minval'] + minval;
		return false;
	}
}

function js_chk_email(form,val,cap) {
	var maske = /^([a-zA-Z0-9\-\.\_]+)\@([a-zA-Z0-9\-\.]+)\.([a-zA-Z]{2,4})$/i;
	if (maske.test(val.value) || val.value=="") {
		return true;
	} else {
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['email'];
		return false;
	}
}

function js_chk_realalnum(form,val,cap) {
	var maske = /^[a-zA-Z0-9]+$/i;
	if (maske.test(val.value) || val.value=="") {
		return true;
	} else {
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['realalnum'];
		return false;
	}
}

function js_chk_alnum(form,val,cap) {
	var maske = /^[a-zA-Z0-9\-\.\_\+]+$/i;
	if (maske.test(val.value) || val.value=="") {
		return true;
	} else {
		js_arr_error[js_arr_error.length] = cap + ": " + js_arr_msgs['alnum'];
		return false;
	}
}
