
/*/////////////////////////////////////////////////////////////////////////////////
Javascript FormCheck-Library
Version 1.05
Copyright by Net Communication Management
Alle Formular Checks
/////////////////////////////////////////////////////////////////////////////////*/

function formemail(emailStr) {
	if (!window.RegExp) {
		if(emailStr.indexOf("@") >= 0) { return true; }
		return false;
	}
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,6})\.(\d{1,6})\.(\d{1,6})\.(\d{1,6})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	if (user.match(userPat)==null) {
	    return false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
				return false;
		    }
	    }
	    return true;
	}
	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
	    return false;
	}
	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>6) {
	   return false;
	}
	if (len<2) {
	   return false;
	}
	return true;
}
function formlength(fieldvalue, minlength, maxlength) {
	if (fieldvalue.length < minlength) { return false; }
	if (fieldvalue.length > maxlength) { return false; }
	return true;
}

function set_error(field){
	className = field.className;
	if(!className.match(/error/g)){
		field.className += " error";
	}
}

function clear_error(field){
    field.className -= " error";
}


function check_email(field){
	if (!formemail(field.value)) {
		return 0;
	} else {
		return 1;
	}
}

function check_text(field, min, max){
	if (!formlength(field.value, min, max)) {
		return 0;
	} else {
		return 1;
	}
}

function check_checkbox(field){
	if (!field.checked) {
		return 0;
	} else {
		return 1;
	}
}

function check_radio(field){
	var checked = false;
	for(i=0;i<field.length;i++){
		if(field[i].checked){
			checked = true;
		}
	}
	if(!checked){
		return 0;
	} else {
		return 1;
	}
}

function check_select(field) {
	fieldvalue = field.options[field.selectedIndex].value;
	if ((fieldvalue > 0) || ( (fieldvalue !='0') && (fieldvalue != '' ))) {
		return 1;
	} else {
		return 0;
	}
}

function check_kindercheck(field) {
	fieldvalue = field.options[field.selectedIndex].value;
	if (fieldvalue > 0) {
		var result = 1;
		for(i=1;i<=fieldvalue;i++){
			agevalue = document.getElementById("age"+i).options[document.getElementById("age"+i).selectedIndex].value;
			if(agevalue == ''){
				result = 0;
			}
		}
		return result;
	} else {
		return 1;
	}
}

function check_equal(field1, field2) {
	if (field1.value !=  field2.value) {
		return 0;
	} else {
		return 1;
	}
}

function check_multicheckbox(field1) {
	var result = 0;
	for(i=0;i<field1.length;i++){
		if(field1[i].checked){
			result = 1;
		}
	}
	return result;
}
/*/////////////////////////////////////////////////////////////////////////////////
Javascript Unpacked
Version 1.00
Copyright by Net Communication Management
/////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////////////////////////////////////////////////////////////////////
                                    documentWrite
	führt ein normales document.write aus,
	str = String der ins Dokument geschrieben werden soll
/////////////////////////////////////////////////////////////////////////////////*/
/**
 * @projectDescription führt ein normales document.write aus.
 * @param {String} str
 */


function documentWrite(str){
	document.write(str);
}

/*/////////////////////////////////////////////////////////////////////////////////
                                   elementSetHTML
	führt ein normales element.innerHTML=code aus
	element = Element dessen innerHTML gesetzt werden soll
	code    = html-code der eingefügt werden soll
/////////////////////////////////////////////////////////////////////////////////*/
/**
 * @projectDescription führt ein normales element.innerHTML=code aus
 * @param {Element} element
 * @param {String} code
 */
function elementSetHTML(element,code){
	element.innerHTML=code;
}