function validate_searchbooking(form)
{	
	my_date = new Date();
	today=my_date.getDate()+"/"+(my_date.getMonth()+1)+"/"+my_date.getFullYear();
	dal=form.fromdate.value;
	al=form.todate.value;

	if (!checkdate(dal))
	{
		alert("Arrival date is not a valid date!");
		return;
	}
	if (!checkdate(al))
	{
		alert("Leaving date is not a valid date!");
		return;
	}
	if (!limite(dal,al))
	{
		alert("Leaving date must be bigger than Arrival date!");
		return;
	}
	if (!limite(today,dal))
	{
		alert("Arrival date is not a valid date!");
		return;
	}
	form.submit();
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  var pop = window.open(theURL,winName,features);
  pop.focus();
}
function checkemail(str){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(str)) return true
	else return false
}
function checkdate(data)
{
	var my_date = new Date();
	var myArray = data.split('/'); 
	if(myArray.length!=3) {
		return false;
	} else {
		d=myArray[0];
		m=myArray[1];
		y=myArray[2];
	}
	
	if (isNaN(myArray[0]) || isNaN(myArray[1]) || isNaN(myArray[2])){
		return false;
	}
	
	var yl=my_date.getFullYear(); // least year to consider
	var ym=my_date.getFullYear()+2; // most year to consider
	if (m<1 || m>12) return(false);
	
	if (d<1 || d>31) return(false);

	if (y<yl || y>ym) return(false);
	
	if (m==4 || m==6 || m==9 || m==11)
	if (d==31) return(false);
	if (m==2)
	{
		var b=parseInt(y/4);
		if (isNaN(b)) return(false);
		if (d>29) return(false);
		if (d==29 && ((y/4)!=parseInt(y/4))) return(false);
	}
	return(true);
}

function limite(inferiore,superiore)
{
	var inf = inferiore.split('/'); 
	var sup = superiore.split('/'); 
	if (parseInt(inf[2],10)>parseInt(sup[2],10)) {
		return false;
	} else{
		if (parseInt(inf[2],10)==parseInt(sup[2],10)){
			if (parseInt(inf[1],10)>parseInt(sup[1],10)) {
				return false;
			} else {
				if (parseInt(inf[1],10)==parseInt(sup[1],10)){
					if (parseInt(inf[0],10)>=parseInt(sup[0],10)) {
						return false;
					}
				}
			}
		}
	}
	return true;
}
