/* JavaScript FormFunctions Libary */
/* Scripted by Valtos Copyright NySoft 2008 */

/*################Hide################*/
function hideElements(strElementIds)
{
	var arrElementIds = new Array;
	arrElementIds = strElementIds.split(",");
	for (var i = 0; i < arrElementIds.length; i++) {
		var objElement = document.getElementById(arrElementIds[i]);
		objElement.style.display="none";
	}
}
function hideElement(strElementId) {
	var objElement = document.getElementById(strElementId);
	objElement.style.display="none";
}
/*#############Hide Ende##############*/
/*################Show################*/
function showElements(strElementIds)
{
	var arrElementIds = new Array;
	arrElementIds = strElementIds.split(",");
	for (var i = 0; i < arrElementIds.length; i++) {
		var objElement = document.getElementById(arrElementIds[i]);
		objElement.style.display="inline";
	}
}
function showElement(strElementId) {
	var objElement = document.getElementById(strElementId);
	objElement.style.display="inline";
}
/*#############Show Ende##############*/

/*#############Deactivate#############*/
function deactivateElements(arrElementIds) {
	for (var i = 0; i < arrElementIds.length; i++) {
		var objElement = document.getElementById(arrElementIds[i]);
		objElement.disabled=true;
	}
}
function deactivateElement(strElementId) {
	var objElement = document.getElementById(strElementId);
	objElement.disabled=true;
}
/*##########Deactivate Ende###########*/
/*##############Activate##############*/
function activateElements(arrElementIds) {
	for (var i = 0; i < arrElementIds.length; i++) {
		var objElement = document.getElementById(arrElementIds[i]);
		objElement.disabled=false;
	}
}
function activateElement(strElementId) {
	var objElement = document.getElementById(strElementId);
	objElement.disabled=false;
}
/*###########Activate Ende############*/
/*###############Search###############*/
function searchForChildNodes(domObj) {
	for (var i = 0; i < domObj.childNodes.length; i++) {
		searchForChildNodes(domObj.childNodes[i]);
	}
}
function searchForElements(domObj,Elements) {
	var arrElementsArray = Elements.split(",");
	var arrResults = new Array;
	for (var strElementName in arrElementsArray) {
		if (domObj.nodeName == strElementName.toUpperCase()) {
			if (domObj.id != "") {
				arrResults.push(domObj.id);
				alert('Gefunden! ID:' + domObj.id);
			} else {
				domObj.id = "id" + strElementName + Math.round(1+44*(Math.random()));
				arrResults.push(domObj.id);
				alert('Gefunden! ID:' + domObj.id);
			}
		}
	}
	if (domObj.hasChildNodes()) {
		for (var i = 0; i < domObj.childNodes.length; i++) {
			searchForElements(domObj.childNodes[i],Elements);
		}
	}
	return arrResults;
}
/*############Search Ende#############*/
/*############ConvertType#############*/
function convertElementIdToDOMObj(strElementId) {
	var domObj = document.documentElement;
	domObj = document.getElementById(strElementId);
	return domObj;
}
/*#########ConvertType Ende###########*/
/*###############Toggle###############*/
function toggleElementsVisibility(strElementIds) {
	var arrElementIds = new Array;
	arrElementIds = strElementIds.split(",");
	for (var i = 0; i < arrElementIds.length; i++) {
		if(document.getElementById(arrElementIds[i])) {
			var objElement = document.getElementById(arrElementIds[i]);
			if(objElement.style.display == "none") {
				showElement(arrElementIds[i]);
			} else {
				hideElement(arrElementIds[i]);
			}
		}
	}
}
function toggleElementsActivation(strElementIds) {
	var arrElementIds = new Array;
	arrElementIds = strElementIds.split(",");
	for (var i = 0; i < arrElementIds.length; i++) {
		if(document.getElementById(arrElementIds[i])) {
			var objElement = document.getElementById(arrElementIds[i]);
			if(objElement.disabled) {
				activateElement(arrElementIds[i]);
			} else {
				deactivateElement(arrElementIds[i]);
			}
		}
	}
}
function toogleElementsActivationAndVisibility(strElementIds) {
	toggleElementsActivation(strElementIds);
	toggleElementsVisibility(strElementIds);
}
/*############Toggle Ende#############*/
/*############Back-Color##############*/
function setElementsBackgroundColor(strElementIds,color) {
	var arrElementIds = new Array;
	arrElementIds = strElementIds.split(",");
	for (var i = 0; i < arrElementIds.length; i++) {
		var objElement = document.getElementById(arrElementIds[i]);
		objElement.style.backgroundColor=color;
	}
}

function setElementBackgroundColor(strElementID,color) {
	var objElement = document.getElementById(strElementID);
	objElement.style.backgroundColor=color;
}
/*##########Back-Color Ende###########*/
/*############Validation##############*/
function validateFormElementNotEmpty(strElementID) {
	var objElement = document.getElementById(strElementID);
	if ("" == objElement.value) {
		setElementBackgroundColor(strElementID,"#ff7777");
		return false;
	} else {
		setElementBackgroundColor(strElementID,"#77ff77");
		return true;
	}
}
function validateFormElementNotNumber(strElementID) {
	var objElement = document.getElementById(strElementID);
	var anum=/(^\d+$)|(^\d+\.\d+$)/
	if (anum.test(objElement.value)) {
		setElementBackgroundColor(strElementID,"#77ff77");
		return true;
	} else {
		setElementBackgroundColor(strElementID,"#ff7777");
		return false;
	}
}
function validateFormElementNotEmail(strElementID) {
	var objElement = document.getElementById(strElementID);
	var anum=/^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}/
	if (anum.test(objElement.value)) {
		setElementBackgroundColor(strElementID,"#77ff77");
		return true;
	} else {
		setElementBackgroundColor(strElementID,"#ff7777");
		return false;
	}
}
function validateFormElementNotLong(strElementID,digits) {
	var objElement = document.getElementById(strElementID);
	if (digits <= objElement.value.length) {
		setElementBackgroundColor(strElementID,"#77ff77");
		return true;
	} else {
		setElementBackgroundColor(strElementID,"#ff7777");
		return false;
	}
}
function validateFormElementNotEmail(strElementID) {
	var objElement = document.getElementById(strElementID);
	if ("" == objElement.value) {
		setElementBackgroundColor(strElementID,"#ff7777");
	} else {
		setElementBackgroundColor(strElementID,"#77ff77");
	}
}
function validateFormElementNotText(strElementID) {
	var objElement = document.getElementById(strElementID);
	if ("" == objElement.value) {
		setElementBackgroundColor(strElementID,"#ff7777");
	} else {
		setElementBackgroundColor(strElementID,"#77ff77");
	}
}
function validateFormElementNotLongNumber(strElementID,digit) {
	if (validateFormElementNotEmpty(strElementID)) {
		if (validateFormElementNotNumber(strElementID)) {
			validateFormElementNotLong(strElementID,digit)
		}
	}
}
function validateFormElementNotLongNumberButEmpty(strElementID,digit) {
	if (validateFormElementNotNumber(strElementID)) {
		validateFormElementNotLong(strElementID,digit)
	}
	var objElement = document.getElementById(strElementID);
	if ("" == objElement.value) {
		setElementBackgroundColor(strElementID,"#ffffff");
	}
}
function validateFormElementNotEmailButEmpty(strElementID) {
	validateFormElementNotEmail(strElementID);
	var objElement = document.getElementById(strElementID);
	if ("" == objElement.value) {
		setElementBackgroundColor(strElementID,"#ffffff");
	}
}
function checkFields(strElementIds) {
	var error = "";
	var arrElementIds = new Array;
	arrElementIds = strElementIds.split(",");
	for (var i = 0; i < arrElementIds.length; i++) {
		if(document.getElementById(arrElementIds[i])) {
			var objElement = document.getElementById(arrElementIds[i]);
			if(objElement.disabled == false){
				if("rgb(255, 119, 119)" == objElement.style.backgroundColor) {
					error = error + arrElementIds[i] + ",";
				}
			}
		}
	}
	if(error == "") {
		submitForm();
	} else {
		alert("Bitte überprüfen Sie folgende Felder: " + error);
	}
}
/*##########Validation Ende###########*/
/*###########Form Handling############*/
function submitForm(formid) {
	document.myform.submit();
}
/*#########Form Handling Ende#########*/
/*############Tag Handling############*/
function removeElementChildTag(strElementId,strRemovedElementId) {
	var objElement = document.getElementById(strElementId);
	var objElementRe = document.getElementById(strRemovedElementId);
	objElement.removeChild(objElementRe);
}
function createChildElement(strElementId,strNewElementId,elementTagName) {
	var setElement = document.createElement(elementTagName);
	var setIn = document.getElementById(strElementId);
	setIn.appendChild(setElement);
	createAttributeOfLastChild(strElementId,strNewElementId,'id');
}
function createAttributeOfLastChild(strElementId,strNewElementValue,attr) {
	var setId = document.createAttribute(attr);
	setId.nodeValue = strNewElementValue;
	var objElement = document.getElementById(strElementId);
	objElement.lastChild.setAttributeNode(setId);
}
function setNameValue(strElementId,value) {
	var objElement = document.getElementById(strElementId);
	objElement.setAttribute("name", value);
}
function setAttrValue(strElementId,attr,value) {
	var objElement = document.getElementById(strElementId);
	objElement.setAttribute(attr, value);
}
function setIdValue(strElementId,value) {
	var objElement = document.getElementById(strElementId);
	objElement.id = value;
}
function deleteElementText(strElementId) {
	var objElementL = document.getElementById(strElementId).firstChild.nodeValue.length;
	document.getElementById(strElementId).firstChild.deleteData(0, objElementL);
}
function setElementText(strElementId,text) {
	deleteElementText(strElementId);
	document.getElementById(strElementId).firstChild.insertData(0, text);
}
function createElementText(strElementId,text){
	var objElement = document.getElementById(strElementId);
	objElement.appendChild(document.createTextNode(text));
}
function getElementLastChildId(strElementId) {
	var objElement = document.getElementById(strElementId);
	return objElement.lastChild.id;
}
function postValue(strElementId,strElementIda) {
		var objElement = document.getElementById(strElementId).value;
		var objElementa = document.getElementById(strElementIda).value;
		objElementa = objElement;
}
/*#########Tag Handling Ende##########*/
/*############Calculating#############*/
function addElementsValue(strElementIds) {
	var arrElementIds = new Array;
	arrElementIds = strElementIds.split(",");
	result = 0;
	for (var i = 0; i < arrElementIds.length; i++) {
		var objElement = document.getElementById(arrElementIds[i]);
		result = result + parseFloat(objElement.value.replace(/,/,'.'));
	}
	return result;
}
/*#########Calculating Ende###########*/