/**********************************/
/*-+-     ichier ACMS beta     -+-*/
/*-+-    -- JAVA SCRIPTS --    -+-*/
/*+- © ichier2007 www.ichier.de -+*/
/*-                              -*/
/*  last modified 06.09.06        */
/*                                */
/*  all rights reserved!          */
/*  any use: info@ichier.de       */
/**********************************/

/*** initvars ***/

/*** 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_usersuche(pid,get,form,sninp,idinp,donefunc) {
	get += '&openerformID='+form;
	get += '&searchinput='+sninp;
	get += '&idinput='+idinp;
	get += '&donefunc='+donefunc;
	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=no,status=yes,resizable=yes');
	popup.focus();
}

function js_toggle_menu(ding) {		// © Ichier2002
	if (document.getElementById(ding).style.display == "none") {
		document.getElementById(ding).style.display = ""
	} else {
		document.getElementById(ding).style.display = "none";
	}
}

function js_image_switch(ding,src1,src2) {
	if (document.getElementById(ding).src.indexOf(src1) > -1) {
		document.getElementById(ding).src = src2;
	} else {
		document.getElementById(ding).src = src1;
	}
}

function js_toggle_box(box,img,src1,src2) {
	js_toggle_menu(box);
	js_image_switch(img,src1,src2);
}

function js_toggle_tab(tab,clt1,clt2,cll1,cll2) {
	js_toggle_menu(js_var_tab_last);
	js_toggle_menu(tab);
	if(isobj('tab_'+tab)) {
		js_align_class('tab_'+js_var_tab_last,clt2);
		js_align_class('tab_'+tab,clt1);
		js_align_class('link_'+js_var_tab_last,cll2);
		js_align_class('link_'+tab,cll1);
	}
	if(isobj('tab_btm_'+tab)) {
		js_align_class('tab_btm_'+js_var_tab_last,clt2+'_btm');
		js_align_class('tab_btm_'+tab,clt1+'_btm');
		js_align_class('link_btm_'+js_var_tab_last,cll2);
		js_align_class('link_btm_'+tab,cll1);
	}
	js_var_tab_last = tab;
}

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_class(obj,cl) {
	var div = document.getElementById(obj);
	div.className = cl;
}

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;
}

/*** 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_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 {
		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));
}

/*** 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_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_radio_value(obj) {
	if(isset(obj)) {
		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(msg);
	}
}

// Formulare Checken, error ausgeben
function js_chk_form (form,js_arr_chk) {
	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 (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 && js_var_focus==-1) { js_var_focus = i; }
	}
	if(js_var_focus > -1) {
		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 == 2) && (datearray[yp] >= ay)) { datearray[yp] = "19" + datearray[yp]; }
		if ((datearray[yp].length == 2) && (datearray[yp] < ay)) { datearray[yp] = "20" + datearray[yp]; }
		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_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,2}/;
	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;
	}
}