function CheckEuroDate(value) {
	if (value.length == 0)
		return true;

	// true if value is a date in the dd/mm/yyyy format
	var isplit = value.indexOf('/');
	if (isplit == -1 || isplit == value.length)
		return false;

	var day = parseInt(value.substring(0, isplit), 10);
	if (isNaN(day))
		return false;

	var monthSplit = isplit + 1;
	var month = parseInt(value.substring(monthSplit), 10);
	if (isNaN(month))
		return false;

	isplit = value.indexOf('/', monthSplit);
	if (isplit == -1 || (isplit + 1 ) == value.length)
		return false;

	var year_str=value.substring(isplit + 1);
	var year = parseInt(value.substring(isplit + 1), 10);
	if (isNaN(year_str))
		return false;

	else if (month < 1 || month > 12)
		return false;
	else if (!(year > 0 && year < 100) && !(year > 1900 && year < 2078))
		return false;
	else {
		var maxDay = 31;

		if (month == 4 || month == 6 || month == 9 || month == 11)
			maxDay = 30;
		else if (month == 2)
			if (year % 4 > 0)
				maxDay =28;
			else if (year % 100 == 0 && year % 400 > 0)
				maxDay = 28;
			else
				maxDay = 29;
		
		if (day < 1 || day > maxDay)
			return false;
			
		if (year <50)
			year+=2000;
		else if (year>=50 && year<100)
			year+=1900

		return true;
	}
}

function salva_risultati(mido,nf,percorso,mnl,qs)
{
	if (mnl != 0)
	{
	window.open(percorso+"/fsr.cfm?popup=true&qs="+qs+"&midf="+mido+"&mnl="+mnl+"&nf="+nf,"","height=130,width=300,,");
	}
	else
	{
	window.open(percorso+"/fsr.cfm?popup=true&midf="+mido+"&nf="+nf,"","height=130,width=300,,");
	}
}

function controllo_Email(strEmail) {
	var specialChars = "\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars = "\[^\\s" + specialChars + "\]";
	var quotedUser = "(\"[^\"]*\")";
	var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom = validChars + '+';
	var word = "(" + atom + "|" + quotedUser + ")";
	var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$");
	
	var matchArray = strEmail.match(/^(.+)@(.+)$/);
	
	if (matchArray == null) {
		return false;
	}
	
	var user = matchArray[1];
	var domain = matchArray[2];

	for (i = 0; i < user.length; i++) {
		if (user.charCodeAt(i) > 127) {
			return false;
   		}
	}
	
	for (i = 0; i < domain.length; i++) {
		if (domain.charCodeAt(i) > 127) {
			return false;
   		}
	}

	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 atomPat = new RegExp("^" + atom + "$");
	var domArr = domain.split(".");
	var len = domArr.length;
		
	for (i = 0; i < len; i++) {
		if (domArr[i].search(atomPat) == -1) {
			return false;
   		}
	}
	
	/*if (domArr[domArr.length-1].length < 2 || domArr[domArr.length-1].length > 3) {
		return false;
	}*/

	if (len < 2) {
		return false;
	}
	
	return true;

}

function controllo_email_mgn(object, strAlert) {
	var strEmail = Trim(object.value);
	
	if (!controllo_Email(strEmail)) {
		alert(strAlert);
		return false;
	}
	
	return true;

}

/*function controllo_email_mgn(object, strAlert) {
	var strEmail = Trim(object.value);
	var specialChars = "\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars = "\[^\\s" + specialChars + "\]";
	var quotedUser = "(\"[^\"]*\")";
	var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom = validChars + '+';
	var word = "(" + atom + "|" + quotedUser + ")";
	var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray = strEmail.match(/^(.+)@(.+)$/);
	
	if (matchArray == null) {
		alert(strAlert);
		return false;
	}
	
	var user = matchArray[1];
	var domain = matchArray[2];

	for (i = 0; i < user.length; i++) {
		if (user.charCodeAt(i) > 127) {
			alert(strAlert);
			return false;
   		}
	}
	
	for (i = 0; i < domain.length; i++) {
		if (domain.charCodeAt(i) > 127) {
			alert(strAlert);
			return false;
   		}
	}

	if (user.match(userPat) == null) {
		alert(strAlert);
		return false;
	}
	
	var IPArray = domain.match(ipDomainPat);
	
	if (IPArray != null) {
		for (var i = 1; i <= 4; i++) {
			if (IPArray[i] > 255) {
				alert(strAlert);
				return false;
   			}
		}
		return true;
	}

	var atomPat = new RegExp("^" + atom + "$");
	var domArr = domain.split(".");
	var len = domArr.length;
	
	for (i = 0; i < len; i++) {
		if (domArr[i].search(atomPat) == -1) {
			alert(strAlert);
			return false;
   		}
	}
	
	if (len < 2) {
		alert(strAlert);
		return false;
	}

	return true;

}*/

function controllo_email_spedizione(form,stringa1,stringa2)
{
	if(controllo_email_mgn(form.email,stringa1))
	{
		if(controllo_email_mgn(form.email_sped,stringa1)) 
		{
			if (!form.nome.value=='') 
			{
				if (!form.nome_amico.value=='') 
				{
					return true;
				}
				else
				{
					alert(stringa2);
				}
			}
			else
			{
				alert(stringa2);
			}
		}
	}
	return false;
}

function countChars(ctl)
{
	if (ctl.value.length >400)
		ctl.value=ctl.value.substring(0,400);
}

function NumOfChar(stringa, chr) {
	var numChr = 0;
	
	if (!stringa == '') {
	
		for (var i = 0; i < stringa.length; i++) {
			if (stringa.charAt(i) == chr)
				numChr = numChr + 1;
		}
		
	}
		
	return numChr;
	
}

function controllo_privacy(form, flag_privacy, stringa)
{
	if (flag_privacy)
		if (form.accetto[1].checked)
		{
			return true;
		}
		else
		{
			alert(stringa);
			return false;
		}
	else
		return true;
}

function Trim(strIn) { 
	return strIn.replace(/\s+$|^\s+/g, ''); 
} 

function LTrim(strIn) { 
	return strIn.replace(/^\s+/, ''); 
} 

function RTrim(strIn) { 
	return strIn.replace(/\s+$/, ''); 
} 

function getQueryStringValue(name) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i=0; i<vars.length; ++i) {
        var pair = vars[i].split("=");
        if (pair[0] == name)
            return pair[1];
    } 
    return null;
}