// JavaScript Document
<!--

function hasClass(target, theClass){
	var pattern = new RegExp("(^| )" + theClass + "( |$)");
	if(pattern.test(target.className)){
		return true;
	}
	return false;
}

function addClass(target, theClass){
	if (!hasClass(target, theClass)){
		if (target.className == ""){
			target.className = theClass;
		} else {
			target.className += " " + theClass;
		}
	}
}

function removeClass(target, theClass){
	var pattern = new RegExp("(^| )" + theClass + "( |$)");
	target.className = target.className.replace(pattern, "$1");
	target.className = target.className.replace(/ $/, "");
}

function validaForm(target, error){
	
	var error_css = "compile_error";	/// css che evidenzia il campo
	var class_array = ["required", "email"];	/// class applicati agli input
	var rules_array = [/./, /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/]	/// espressini regolari associate a class_array
	
	
	var form = document.getElementById(target);
	var error = error;
	var fields = form.elements;
	var errorMsg = '';
	var errorFields = [];
	for (var i = 0; i < fields.length; i++){
		var title = fields[i].title;
				
		/// reset validation
		if (hasClass(fields[i], error_css)){
			removeClass(fields[i], error_css)
		}
		
		for(var j = 0; j < class_array.length; j++){
			if (hasClass(fields[i], class_array[j])){
				if(fields[i].getAttribute("type") == "checkbox" || fields[i].getAttribute("type") == "radio"){
					if(fields[i].checked != true){
						addClass(fields[i], error_css);
						errorMsg += '- '+title+'\n';
						errorFields[errorFields.length] = fields[i];	
					}
				} else {
					if (!rules_array[j].test(fields[i].value)){
						addClass(fields[i], error_css);
						errorMsg += '- '+title+'\n';
						errorFields[errorFields.length] = fields[i];
					}
				}
			}
		}
	}
	if(errorMsg != ''){
		errorMsg = error + ':\n\n' + errorMsg;
		alert(errorMsg);
		errorFields[0].focus();
		return false;
	} else {
		form.submit();
		ResetForm(target);
	}
	
	
	
}

function ResetForm(which){
	var pass=true
	var first=-1
	if (document.images){
	for (i=0;i<which.length;i++){
	var tempobj=which.elements[i]
	 if (tempobj.type=="text"){
	  eval(tempobj.value="")
	  if (first==-1) {first=i}
	 }
	 else if (tempobj.type=="checkbox") {
	  eval(tempobj.checked=0)
	  if (first==-1) {first=i}
	 }
	 else if (tempobj.col!="") {
	  eval(tempobj.value="")
	  if (first==-1) {first=i}
	 }
	}
	}
	which.elements[first].focus()
	//return false
}


//-->

