
// ELIMINA SPAZI
function Trim(stringa) {
	reTrim=/\s+$|^\s+/g;
	return stringa.replace(reTrim,"");
}

// VERIFICA NUMERI
function isNumeric(what) {
	var i=new RegExp("^[0-9]*$");
	if(!i.test(Trim(what))) {
		return false;
	}
	else {
		return true;
	}
}

// check data
function isDate(fld) {
  //  var RegExPattern = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
    var RegExPattern = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
    if ((fld.match(RegExPattern)) && (fld!='')) {
        return true; 
    } else {
        return false;
    } 
}

// VERIFICA EMAIL
function isEmail(what) {
	var i=new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	if(i.test(Trim(what))) { 
		return true;
	}
	else {
		return false;
	}
}

// VERIFICA TEL/FAX
function isTelFax(what)
{
	var s = " ";
	var i=new RegExp("^([0-9]{6,})$");
	what=what.replace(s,"");
	
	if(i.test(Trim(what))) { 
		return true;
	}
	else {
		return false;
	}
}

function chk_contacts(req_msg, bad_value, privacy_msg) 
{
	var msg = "";
	var req = new Array('firstname', 'lastname', 'mail', 'message');
	var chk = new Array('telfax', 'mail');
	
	f = document.getElementById("contacts");
	
	// check required
	for (i = 0; i < req.length; i++) {
		if (req[i] != "" && msg == "") {
			eval("if (f." + req[i]  + ".value.length < 2) { msg += '" + req_msg + "'\n; } ");
		}
	}
	
	if (f.privacy.value != 1 && !f.privacy.checked) {
		msg += "\n" + privacy_msg;
	}
	
	// check values
	for (i = 0; i < chk.length; i++) {
		
		if (chk[i] != "") {
			eval("tmp = f." + chk[i] + ".value;");
			switch (chk[i]) {
				case 'telfax': 
					if (tmp.length > 0 && !isTelFax(tmp)) {
						msg += "\n'" + tmp + "' " + bad_value;
					}
					break;
				case 'mail': 
					if (tmp.length > 0 && !isEmail(tmp)) {
						msg += "\n'" + tmp + "' " + bad_value;
					}
					break;
			}
		}
	}
	
	if (msg.length > 0) {
		alert(msg);
	}
	else {
		f.submit();
	}
}


function chk_cv(req_msg, bad_value, privacy_msg) 
{
	var msg = "";
	var req = new Array('firstname', 'lastname', 'mail', 'cv', 'captcha');
	var chk = new Array('telfax', 'mail', 'captcha');
	
	f = document.getElementById("curricula");
	
	// check required
	for (i = 0; i < req.length; i++) {
		if (req[i] != "" && msg == "") {
			eval("if (f." + req[i]  + ".value.length < 2) { msg += '" + req_msg + "'\n; } ");
		}
	}
	
	if (f.privacy.value != 1 && !f.privacy.checked) {
		msg += "\n" + privacy_msg;
	}
	
	var req = new Request({
		url: './engine/chkcaptcha/' + f.captcha.value,
		onSuccess: function(txt) {
			
			// check values
			for (i = 0; i < chk.length; i++) {
				
				if (chk[i] != "") {
					eval("tmp = f." + chk[i] + ".value;");
					switch (chk[i]) {
						case 'telfax': 
							if (tmp.length > 0 && !isTelFax(tmp)) {
								msg += "\n'" + tmp + "' " + bad_value;
							}
							break;
						case 'mail': 
							if (tmp.length > 0 && !isEmail(tmp)) {
								msg += "\n'" + tmp + "' " + bad_value;
							}
							break;
						case 'captcha':
							if (tmp.length > 0 && txt != 'ok') {
								msg += "\n'" + tmp + "' non è corretto";
							}
							break;
					}
				}
			}
			
			if (msg.length > 0) {
				alert(msg);
			}
			else {
				f.submit();
			}
		},
		onFailure: function() {
			msg += js_error;
			alert(msg);
		}
	}).send();
}

function chk_newsletter(req_msg, bad_value, privacy_msg) 
{
	var msg = "";
	var req = new Array('firstname', 'lastname', 'birthdate', 'job', 'telfax', 'mail', 'address', 'city', 'country');
	var chk = new Array('telfax', 'mail', 'birthdate');
	
	f = document.getElementById("newsletter");
	
	// check required
	for (i = 0; i < req.length; i++) {
		if (req[i] != "" && msg == "") {
			eval("if (f." + req[i]  + ".value.length < 2) { msg += '" + req_msg + "'\n; } ");
		}
	}
	
	if (f.privacy.value != 1 && !f.privacy.checked) {
		msg += "\n" + privacy_msg;
	}
	
	// check values
	for (i = 0; i < chk.length; i++) {
		if (chk[i] != "") {
			eval("tmp = f." + chk[i] + ".value;");
			switch (chk[i]) {
							
				case 'telfax': 
					if (tmp.length > 0 && !isTelFax(tmp)) {
						msg += "\n'" + tmp + "' " + bad_value;
					}
					break;
				case 'mail': 
					if (tmp.length > 0 && !isEmail(tmp)) {
						msg += "\n'" + tmp + "' " + bad_value;
					}
					break;
				case 'birthdate': 
					if (tmp.length > 0 && !isDate(tmp)) {
						msg += "\n'" + tmp + "' " + bad_value;
					}
					break;
			}
		}
	}
	
	if (msg.length > 0) {
		alert(msg);
	}
	else {
		f.submit();
	}
	
}

function chk_inviaa(req_msg, bad_value, privacy_msg) 
{
	var msg = "";
	var req = new Array('s_name', 'r_name', 's_mail', 'r_mail', 'message', 'captcha');
	var chk = new Array('s_mail', 'r_mail', 'captcha');
	
	f = document.getElementById("contacts");
	
	// check required
	for (i = 0; i < req.length; i++) {
		if (req[i] != "" && msg == "") {
			eval("if (f." + req[i]  + ".value.length < 2) { msg += '" + req_msg + "'\n; } ");
		}
	}
	
	if (f.privacy.value != 1 && !f.privacy.checked) {
		msg += "\n" + privacy_msg;
	}
	
	var req = new Request({
		url: './engine/chkcaptcha/' + f.captcha.value,
		onSuccess: function(txt) {
			
			// check values
			for (i = 0; i < chk.length; i++) {
				
				if (chk[i] != "") {
					eval("tmp = f." + chk[i] + ".value;");
					switch (chk[i]) {
						case 's_mail': 
							if (tmp.length > 0 && !isEmail(tmp)) {
								msg += "\n'" + tmp + "' " + bad_value;
							}
							break;
						case 'r_mail': 
							if (tmp.length > 0 && !isEmail(tmp)) {
								msg += "\n'" + tmp + "' " + bad_value;
							}
							break;
						case 'captcha':
							if (tmp.length > 0 && txt != 'ok') {
								msg += "\n'" + tmp + "' " + bad_value;;
							}
							break;
					}
				}
			}
			
			if (msg.length > 0) {
				alert(msg);
			}
			else {
				f.submit();
			}
		},
		onFailure: function() {
			msg += js_error;
			alert(msg);
		}
	}).send();
}

// open a new window
function new_w(url) {
	window.open(url,'new_window','width=760,height=400,left=0,top=100,screenX=0,screenY=100,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes');
}
