//Standard functions
function notEmpty(fieldName){
	if(!document.getElementById(fieldName)){
		alert("The field with id '" +fieldName +"' doesn't exist")
		return false;
	}
	if (!document.getElementById(fieldName).value){
		writeError(fieldName, 'emptyError');
		pass=false;
	}else{
		clearError(fieldName);
	}
}

function notSelected(fieldName){
	var noneSelected = true;
	//iterate through all fields with the passed name
	if (document.getElementsByName(fieldName)) {
		var formField = document.getElementsByName(fieldName);
		for (var i = 0; i < formField.length; i++) {
			if(formField[i].checked == true){
				noneSelected = false;
				break;
			}
		}
	}
	if(noneSelected){
		writeError(fieldName, 'emptyError');
		pass=false;
	}else{
		clearError(fieldName);
	}
}

function checkEmail(fieldName){
	//debugging
	if(!document.getElementById(fieldName)){
		alert("The field with id '" +fieldName +"' doesn't exist");
		return false;
	}
	if (document.getElementById(fieldName).value){
		emailValue=document.getElementById(fieldName).value;
		atPosn=emailValue.indexOf('@');
		dotPosn=emailValue.lastIndexOf('.');
		if(atPosn==-1||dotPosn==-1||atPosn>dotPosn||dotPosn-atPosn<3||emailValue.length-dotPosn<3){
			writeError(fieldName,'invalidError');
			pass=false;
		}else{
			clearError(fieldName)
		}
	}else{
		writeError(fieldName,'emptyError');
		pass=false;
	}
}

function checkTelNo(fieldName){
	var	formField = document.getElementById(fieldName);
	//debugging
	if(!formField){
		alert("The field with id '" +fieldName +"' doesn't exist");
		return false;
	}
	var regexp =  /^[- +()0-9]+$/;
	if (!formField.value){
		writeError(fieldName, 'emptyError');
		pass=false;
	}else if(formField.value.length < 10 || !formField.value.match(regexp)) {
		writeError(fieldName, 'invalidError');
		pass=false;
	}else{
		clearError(fieldName);
	}
}

function dependant(func, fieldName, dependField, dependCond){
	newFunc = func+"('"+fieldName+"')";
	if(dependCond == "checked" && document.getElementById(dependField).checked == true){
		eval(newFunc);
	}else{
		clearError(fieldName)
	}
}
function failed(){
	writeError('gen','genError');
}
function writeError(fieldName, errorType){
	var myDiv = document.getElementById(fieldName + 'Error');
	if(myDiv){
		myDiv.className="error";
		myDiv.style.display="block";
		myDiv.style.padding="3px 0";
		myDiv.innerHTML = validationSet[fieldName][errorType];
	}else{//debugging
		alert("The span with id '" +fieldName+ "Error doesn't exist")
	}
}

function clearError(fieldName){
	var myDiv = document.getElementById(fieldName + 'Error');
	if(myDiv){
		myDiv.className="";
		myDiv.style.display="inline";
		myDiv.style.padding="0";
		myDiv.innerHTML = "";
	}else{//debugging
		alert("The span with id '" +fieldName+ "Error doesn't exist")
	}
}
