// copy value to target
	function copy2target(val, to){
		var toObj = document.getElementById(to);
		toObj.value = val;
	}

// return keycode
	function getKey(e){
		if(window.event){
			return keynum = e.keyCode;
		}
		else if(e.which){
			return keynum = e.which;
		}
	}

// hide rekursiv
	function hide(obj){
		obj.display = "hidden";
		obj.visibility = "none";
		obj.visible = false;
		if(obj.childNodes){
			var childs = obj.childNodes.length; 
  			while(childs--) hide(obj.childNodes[childs]);
		}
	}
	
// show rekursiv
	function show(obj){
		obj.display = "block";
		obj.visibility = "visible";
		obj.visible = true;
		if(obj.childNodes){
			var childs = obj.childNodes.length; 
  			while(childs--) show(obj.childNodes[childs]);
		}
	}

// validate value
	function validateValue(obj, type){
		switch(type){
			case "float":
				if(obj.value!=''){
					obj.value = obj.value.replace(",", ".");
					if(!obj.value.match(/^([+-]{1})?([0-9]*)(\.[0-9]*)?$/)){
						alert("Es sind nur Zahlen von 0-9 und\n \"Punkt\" bzw. \"Komma\" erlaubt.\nBeispiel: 12 oder -12.34");
						obj.value = obj.value.substr(0, obj.value.length-1);
						return false;
					}
				}
				break;
			case "int":
				if(obj.value!=''){
					if(!obj.value.match(/^([0-9]*)$/)){
						alert("Es sind nur Zahlen von 0-9 erlaubt.\nBeispiel: 1 oder 234");
						obj.value = obj.value.substr(0, obj.value.length-1);
						return false;
					}
				}
				break;
		}
		return true;
	}
// validate range
	function validateRange(obj, minVal, maxVal){
		if(!validateValue(obj, 'int'))
			return false;
		else if(parseInt(obj.value)<minVal || parseInt(obj.value)>maxVal){
			alert("Es sind nur Zahlen zwischen "+minVal+"-"+maxVal+" erlaubt.");
			obj.value = obj.value.substr(0, obj.value.length-1);
			return false;
		}
		else
			return true;
	}
// round
	function round(num,dec){
		return (parseInt(num*Math.pow(10,dec)+0.5)/Math.pow(10,dec)).toFixed(2);
	}

// netto to brutto
	function netto2brutto(netto,percent){
		return netto * (1 + (percent / 100));
	}

// isArray
	function isArray(param){
		return (typeof(param) == "object") ? true : false;
	}
	
// rewrite an url part
	function rewriteUrl(url_part,value){ 
		switch(url_part){
			case "HANDLER":
				HANDLER = value;
				break;
			case "PROZESS":
				PROZESS = value;
				break;
			case "V1":
				V1 = value;
				break;
			case "V2":
				V2 = value;
				break;
			case "V3":
				V3 = value;
				break;
			case "V4":
				V4 = value;
				break;
			case "V5":
				V5 = value;
				break;
		}
		var url = '';
			url = (V5!='') ? ','+V5 : '';
			url = (V4!='' || url!='') ? ','+V4+url : '';
			url = (V3!='' || url!='') ? ','+V3+url : '';
			url = (V2!='' || url!='') ? ','+V2+url : '';
			url = (V1!='' || url!='') ? ','+V1+url : '';
			url = (PROZESS!='' || url!='') ? ','+PROZESS+url : '';
			url = (HANDLER!='' || url!='') ? HANDLER+url : '';
		return url;
	}
    
/** 
* change location
* @param url_param 		ARRAY || STRING
* @param value_param 	ARRAY || STRING
*/
	function chLoc(url_param,value_param){
		if(isArray(url_param) && isArray(value_param) && url_param.length == value_param.length){
			var url = '';
			for(var i=0;i<url_param.length;i++){
				url = rewriteUrl(url_param[i],value_param[i]);
			}
			window.location = url;
		}
		else if(!isArray(url_param) && !isArray(value_param)){
			window.location = rewriteUrl(url_param,value_param);
		}
		else{
			alert("Systemfehler: falsche Parameter fuer JS Funktion 'chLoc'");
			return false;
		}
	}
	
// markBoxes
	function markBoxes(table_id){
		var table = document.getElementById(table_id);
		var rows = table.getElementsByTagName('tr');
		var input;
		var checkbox;
		for(var i=0; i<rows.length; i++){
			input = rows[i].getElementsByTagName('input');
			for(var x=0; x<input.length; x++){
				checkbox = input[x];
				if(checkbox && checkbox.type == 'checkbox') {
					checkbox.checked = true;
				}
			}
		}
		return true;
	}
	
// unmarkBoxes
	function unmarkBoxes(table_id){
		var table = document.getElementById(table_id);
		var rows = table.getElementsByTagName('tr');
		var input;
		var checkbox;
		for(var i=0; i<rows.length; i++){
			input = rows[i].getElementsByTagName('input');
			for(var x=0; x<input.length; x++){
				checkbox = input[x];
				if(checkbox && checkbox.type == 'checkbox') {
					checkbox.checked = false;
				}
			}
	  }
	  return true;
	}
    
// toggleBoxes
	function toggleBoxes(table_id){
		var table = document.getElementById(table_id);
		var rows = table.getElementsByTagName('tr');
		var input;
		var checkbox;
		for(var i=0; i<rows.length; i++){
			input = rows[i].getElementsByTagName('input');
			for(var x=0; x<input.length; x++){
				checkbox = input[x];
				if(checkbox && checkbox.type == 'checkbox') {
					checkbox.checked = !checkbox.checked;
				}
			}
	  }
	  return true;
	}
	
// submitDisable
	function submitDisable(obj){
		obj.value='Bitte warten ...';
		obj.disabled='disabled';
	}
