// JavaScript Document
/*
########################################
########################################
##									  ##
## F5 - Content Management System 	  ##
##									  ##
## Copyright © 2007					  ##
## 	Reload - Laboratorio Multimediale ##
## 	(http://www.reloadlab.it -		  ##
## 	info@reloadlab.it)				  ##
##									  ## 
## author:							  ##
## 	Domenico Gigante				  ##
## 	(domenico@reloadlab.it)			  ##
## 	Alessio Attanasio				  ##
##  (aatt@reloadlab.it)				  ##
##									  ##
########################################
########################################
*/

function checkForm(formname){
	formname = document.getElementById(formname);
	for(i=0; i<formname.length; i++){
		// text, password, textarea
		if(formname.elements[i].type == "text" || formname.elements[i].type == "textarea" || formname.elements[i].type == "password"){
			if(formname.elements[i].getAttribute('required') == "1"){
				if(Trim(formname.elements[i].value) == ""){
					alert("Il campo '"+formname.elements[i].id+"' è vuoto.");
					formname.elements[i].focus();
					return false;
				}
			}
		}
		// select
		if(formname.elements[i].type == "select-one"){
			if(formname.elements[i].getAttribute('required') == "1"){
				if(formname.elements[i].options[formname.elements[i].selectedIndex].value == false){
					alert("Il menu '"+formname.elements[i].id+"' non è stato selezionato.");
					formname.elements[i].focus();
					return false;
				}
			}
		}
		// radiogroup
		if(formname.elements[i].type == "radio"){
			if(formname.elements[i].getAttribute('required') == "1"){
				radiochecked = 0;
				radiogroup = formname.elements[formname.elements[i].name];				
				for(j = 0; j < radiogroup.length; j++){
					if(radiogroup[j].checked){
						radiochecked = 1;
					}
				}
				if(radiochecked == 0) {
					alert("Nessun elemento del radiogroup '"+formname.elements[i].name+"' è stato selezionato.");
					return false;
				}
			}
		}
		// checkbox
		if(formname.elements[i].type == "checkbox"){
			if(formname.elements[i].getAttribute('required') == "1"){
				if(!formname.elements[i].checked){
					alert("Il checkbox '"+formname.elements[i].id+"' non è stato spuntato.");
					return false;
				}
			}
		}
		// Email
		if(formname.elements[i].name == "email"){
			if(formname.elements[i].getAttribute('required') == "1"){
				if(checkEmail(formname.elements[i].value) == false){
					alert("Il campo '"+formname.elements[i].id+"' non è un indirizzo di posta valido.");
					return false;
				}
			}
		}
	}
	return true;
}

function checkEmail(email){
	var str = Trim(email);
	var val_mail = "^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$";
	var link_reg_exp = new RegExp(val_mail);
	if(str != ""){
		if(link_reg_exp.test(str)){
			return true;
		} else{
			return false;
		}
	}
}

function Trim(field) { 
	return field.replace(/\s+$|^\s+/g,""); 
}
