// JavaScript Document

function updatefirst()
{
	var currentDate = new Date();
	var currentMonth = currentDate.getMonth() + 1; //0 to 11
	var currentDay = currentDate.getDate();
	var currentYear = currentDate.getFullYear();
	var currentMonthEnd = getMonthEnding(currentMonth,currentYear);
}

function findMarriottpage()
{
	var locationStr = new String(location);	
	var hloc = locationStr.indexOf("/hotels/");
	var yloc = locationStr.indexOf("/saoap");
	var mpage = "";
	
	if(hloc > -1 && yloc > -1)
	{
		hloc += 8;		
		mpage = locationStr.substring(hloc,yloc)
	}
	
	return mpage;
}

function getCurrentPage()
{
	var locationStr = new String(location);
	var lastPos = locationStr.length;
	var lastBarPos = locationStr.lastIndexOf("/",lastPos);
	var currentPage = locationStr.substring(lastBarPos+1,lastPos);
	return currentPage;
}

function getmoreops(marsha)
{
	var destURL = "https://www.marriott.com/reservation/availability.mi?propertyCode=" + marsha;
	
	destURL += "&fromDate=" + document.getElementById("fromDate").value;
	destURL += "&toDate=" + document.getElementById("toDate").value;
	destURL += "&numberOfGuests=" + document.getElementById("numberOfGuests").value;
	destURL += "&numberOfRooms=" + document.getElementById("numberOfRooms").value;
	destURL += "&marriottRewardsNumber=" + document.getElementById("marriottRewardsNumber").value;
	window.location = destURL;
}

function rollpanel(panelid,loops,panelheight)
{
	var usepanel = document.getElementById([panelid]);
	
	if(usepanel.style.display == "none" && usepanel.style.visibility == "hidden")
	{
		usepanel.style.display = "block";
		usepanel.style.visibility = "visible";
		
		interval = 0;
		
		if(panelheight < 1) panelheight = 1;
		if(loops < 1) loops = 40;
		
		heightincrease = 0;
		
		for(i=0;i<loops;i++)
		{
			interval += 25;		
			heightincrease += Math.round(panelheight/loops,0);
			instructions = "document.getElementById('" + panelid + "').style.height = '" + heightincrease + "px';";
			setTimeout(instructions,interval);
		}

		interval += 25;
		instructions = "document.getElementById('" + panelid + "').style.height = '" + panelheight + "px';";
		setTimeout(instructions,interval);		
	}
	else
	{
		interval = 0;
		
		if(panelheight < 1) panelheight = 1;
		if(loops < 1) loops = 40;
		
		heightincrease = panelheight;
		
		for(i=0;i<loops;i++)
		{
			interval += 25;		
			heightincrease -= Math.round(panelheight/loops,0);
			instructions = "document.getElementById('" + panelid + "').style.height = '" + heightincrease + "px';";
			setTimeout(instructions,interval);
		}
		
		hideCalendar("CI"); //must hide calendars when rolling up the panel
		hideCalendar("CO");
		
		interval += 25;
		instructions = "document.getElementById('" + panelid + "').style.visibility = 'hidden';";
		setTimeout(instructions,interval);		
		
		interval += 25;
		instructions = "document.getElementById('" + panelid + "').style.display = 'none';";
		setTimeout(instructions,interval);
	}
		
}

function switchsign(signid)
{
	var signobj = document.getElementById([signid]);
	var cstate = signobj.src;
		
	if(cstate.indexOf("Plus") > -1)
	{
		cstate = cstate.replace("Plus","Minus");
		signobj.src = cstate;		
	}
	else
	{
		cstate = cstate.replace("Minus","Plus");
		signobj.src = cstate;		
	}
}

/* calendar code */

var calendar = new Array(5);
for(i=0;i<calendar.length;i++) calendar[i] = new Array(7);

var currentDate = new Date();
var currentMonth = currentDate.getMonth() + 1; //0 to 11
var currentDay = currentDate.getDate();
var currentYear = currentDate.getFullYear();

var currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay(); //0 to 6
var currentMonthEnd = getMonthEnding(currentMonth,currentYear);

function showCalendar(calendarType)
{
	var fieldDate;
	var fieldSplitDate;
	var browserid = new String(navigator.userAgent);
	
	if(calendarType == "ci")
	{	
		//fieldDate = document.getElementById("fromDate").value;
		fieldDate = "";
		
		if(fieldDate != "")		
		{
			fieldSplitDate = fieldDate.split("/");
			fieldDate = new Date(fieldSplitDate[0] + "/" + fieldSplitDate[1] + "/20" + fieldSplitDate[2]);
		
			if(fieldDate.getMonth()+1 > currentMonth) showBackButton("show","CI");
		
			currentMonth = fieldDate.getMonth() + 1; //0 to 11
			currentYear = fieldDate.getFullYear();

			currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay(); //0 to 6
			currentMonthEnd = getMonthEnding(currentMonth,currentYear);		
			
			document.getElementById("monthtitleCI").innerHTML = getMonthName(currentMonth) + " " + currentYear;
		}
		else
		{
			currentMonth = currentDate.getMonth() + 1; //0 to 11
			currentYear = currentDate.getFullYear();

			currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay(); //0 to 6
			currentMonthEnd = getMonthEnding(currentMonth,currentYear);		
			
			document.getElementById("monthtitleCI").innerHTML = getMonthName(currentMonth) + " " + currentYear;		
		}
		
		initPage("CI");
		initCalendar("CI");
		
		if(browserid.indexOf("MSIE") > -1)
		{ 
//			document.getElementById("calendarContainerCI").style.right = "-120px";
//			document.getElementById("calendarContainerCI").style.top = "41px";
			
			if(browserid.indexOf("MSIE 7") == -1 && browserid.indexOf("MSIE 8") == -1) // MSIE 6 or below
			{
				document.getElementById("toDate").style.visibility = "hidden";
				document.getElementById("roomtype").style.visibility = "hidden";
				document.getElementById("bedtype").style.visibility = "hidden";
				document.getElementById("n1").style.visibility = "hidden";
			}
			
		}
	
		document.getElementById("calendarAnchorCI").style.visibility = "visible";
		document.getElementById("calendarAnchorCO").style.visibility = "hidden";
	}
	else if(calendarType == "ci2")
	{
		//fieldDate = document.getElementById("fromDate").value;
		fieldDate = "";
		
		if(fieldDate != "")		
		{
			fieldSplitDate = fieldDate.split("/");
			
			fieldSplitDate[0] = new Number(fieldSplitDate[0]) + 1;
			fieldSplitDate[1] = new Number(fieldSplitDate[1]) + 1;
						
			fieldDate = new Date(fieldSplitDate[0] + "/" + fieldSplitDate[1] + "/20" + fieldSplitDate[2]);
		
			//if(fieldDate.getMonth()+1 > currentMonth) showBackButton("show","CI2");
		
			currentMonth = fieldDate.getMonth() + 1; //0 to 11
			currentYear = fieldDate.getFullYear();

			currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay(); //0 to 6
			currentMonthEnd = getMonthEnding(currentMonth,currentYear);		
			
			document.getElementById("monthtitleCI2").innerHTML = getMonthName(currentMonth) + " " + currentYear;
		}
		else
		{
			currentMonth = currentDate.getMonth() + 2; //0 to 11
			currentYear = currentDate.getFullYear();

			currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay(); //0 to 6
			currentMonthEnd = getMonthEnding(currentMonth,currentYear);		
			
			document.getElementById("monthtitleCI2").innerHTML = getMonthName(currentMonth) + " " + currentYear;		
		}
		
		//initPage("CI2");
		initCalendar("CI2");

		
	}	
	else if(calendarType == "co")
	{
		//fieldDate = document.getElementById("toDate").value;
		fieldDate = "";
		
		if(fieldDate != "")	
		{
			fieldSplitDate = fieldDate.split("/");
			fieldDate = new Date(fieldSplitDate[0] + "/" + fieldSplitDate[1] + "/20" + fieldSplitDate[2]);

			if(fieldDate.getMonth()+1 > currentMonth) showBackButton("show","CO");
			
			currentMonth = fieldDate.getMonth() + 1; //0 to 11
			currentYear = fieldDate.getFullYear();
	
			currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay(); //0 to 6
			currentMonthEnd = getMonthEnding(currentMonth,currentYear);	
			
			document.getElementById("monthtitleCO").innerHTML = getMonthName(currentMonth) + " " + currentYear;	
		}
		else
		{
			currentMonth = currentDate.getMonth() + 1; //0 to 11
			currentYear = currentDate.getFullYear();

			currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay(); //0 to 6
			currentMonthEnd = getMonthEnding(currentMonth,currentYear);		
			
			document.getElementById("monthtitleCI").innerHTML = getMonthName(currentMonth) + " " + currentYear;				
		}		
				
		initPage("CO");
		initCalendar("CO");
		
		if(browserid.indexOf("MSIE") > -1)
		{ 
//			document.getElementById("calendarContainerCO").style.right = "-120px";		
//			document.getElementById("calendarContainerCO").style.top = "73px";

			if(browserid.indexOf("MSIE 7") == -1 && browserid.indexOf("MSIE 8") == -1) // MSIE 6 or below
			{
				document.getElementById("roomtype").style.visibility = "hidden";
				document.getElementById("bedtype").style.visibility = "hidden";
				document.getElementById("n1").style.visibility = "hidden";
				document.getElementById("n2").style.visibility = "hidden";
			}
		}
				
		document.getElementById("calendarAnchorCO").style.visibility = "visible";		
		document.getElementById("calendarAnchorCI").style.visibility = "hidden";
	}
	else if(calendarType == "co2")
	{
		//fieldDate = document.getElementById("fromDate").value;
		fieldDate = "";
		
		if(fieldDate != "")		
		{
			fieldSplitDate = fieldDate.split("/");
			
			fieldSplitDate[0] = new Number(fieldSplitDate[0]) + 1;
			fieldSplitDate[1] = new Number(fieldSplitDate[1]) + 1;
						
			fieldDate = new Date(fieldSplitDate[0] + "/" + fieldSplitDate[1] + "/20" + fieldSplitDate[2]);
		
			currentMonth = fieldDate.getMonth() + 1; //0 to 11
			currentYear = fieldDate.getFullYear();

			currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay(); //0 to 6
			currentMonthEnd = getMonthEnding(currentMonth,currentYear);		
			
			document.getElementById("monthtitleCO2").innerHTML = getMonthName(currentMonth) + " " + currentYear;
		}
		else
		{
			currentMonth = currentDate.getMonth() + 2; //0 to 11
			currentYear = currentDate.getFullYear();

			currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay(); //0 to 6
			currentMonthEnd = getMonthEnding(currentMonth,currentYear);		
			
			document.getElementById("monthtitleCO2").innerHTML = getMonthName(currentMonth) + " " + currentYear;		
		}
		
		initCalendar("CO2");
	}		
}

function hideCalendar(calendarType)
{	
	var browserid = new String(navigator.userAgent);		

	if(browserid.indexOf("MSIE") > -1)
	{ 
		if(browserid.indexOf("MSIE 7") == -1 && browserid.indexOf("MSIE 8") == -1) // MSIE 6 or below
		{
			document.getElementById("toDate").style.visibility = "visible";
			document.getElementById("roomtype").style.visibility = "visible";
			document.getElementById("bedtype").style.visibility = "visible";
			document.getElementById("n1").style.visibility = "visible";
			document.getElementById("n2").style.visibility = "visible";
		}
	}

	if(calendarType == "ci" || calendarType == "CI")
	{
		document.getElementById("calendarAnchorCI").style.visibility = "hidden";
	}
	else if(calendarType == "co" || calendarType == "CO")
	{
		document.getElementById("calendarAnchorCO").style.visibility = "hidden";		
	}
}

function createCalendar()
{
	clearCalendar();
	var dayCounter = 1;
	for(i=0;i<calendar.length;i++)
	{
		if(i == 0) //first week of the month
		{
			for(j=currentMonthStart;j<7;j++)
			{
				calendar[i][j] = dayCounter;
				dayCounter++;
			}
		}
		else //weeks 2,3,4 and 5 of the month
		{
			for(j=0;j<7;j++)
			{
				if(dayCounter <= currentMonthEnd) 
				{
					calendar[i][j] = dayCounter;
					dayCounter++;
				}
				else
				{
					break;
				}
			}		
		}
	}
}

function clearCalendar()
{
	for(i=0;i<calendar.length;i++)
	{
		for(j=0;j<7;j++)
		{
			calendar[i][j] = null;
		}	
	}
}

function getMonthEnding(nmonth,nyear)
{
	switch(nmonth)
	{
		case 2:
			if((nyear % 4 == 0 && nyear % 100 != 0) || (nyear % 400 == 0))
			{
				return 29;
			}
			else
			{
				return 28;
			}			
			break;
		case 4:
			return 30;
			break;
		case 6:
			return 30;
			break;
		case 9:
			return 30;
			break;
		case 11:
			return 30;
			break;
		default:
			return 31;
			break;
	}
}

function getMonthName(nmonth) //french
{
	switch(nmonth)
	{
		case 1:
			return "Janeiro";
			break;
		case 2:
			return "Fevereiro";
			break;
		case 3:
			return "Mar&ccedil;o";
			break;
		case 4:
			return "Abril";
			break;
		case 5:
			return "Maio";
			break;
		case 6:
			return "Junho";
			break;
		case 7:
			return "Julho";
			break;
		case 8:
			return "Agosto";
			break;
		case 9:
			return "Setembro";
			break;
		case 10:
			return "Outubro";
			break;
		case 11:
			return "Novembro";
			break;
		case 12:
			return "Dezembro";
			break;
	}
}

function initCalendar(calendarType)
{
	var dayformatted;
	var monthformatted;	
	
	createCalendar();
	
	clearcellstyles(calendarType); //erase border where no dates are present
	
	for(i=0;i<calendar.length;i++)
	{
		for(j=0;j<7;j++)
		{
			cellid = new String("c" + i + j + calendarType);
			if(calendar[i][j] != null) 
			{
				if(currentMonth == (currentDate.getMonth()+1) && currentYear == currentDate.getFullYear()) //to draw the current month
				{
					if(calendar[i][j] == currentDay)
					{					
						dayformatted = calendar[i][j];
						//if(dayformatted < 10) dayformatted = "0" + dayformatted;						
						
						monthformatted = currentMonth;
						//if(monthformatted < 10) monthformatted = "0" + monthformatted;	
						
						document.getElementById([cellid]).innerHTML = ('<a class="dates" style="color:#9d102d;" href="javascript:chooseDate(' + "'" + monthformatted + "/" + dayformatted + "/" + currentYear + "','" + calendarType + "'" +');">' + calendar[i][j] + '</a>');						
						
						document.getElementById([cellid]).style.border = "solid 1px #9d102d";
					}
					else if(calendar[i][j] > currentDay)
					{
						dayformatted = calendar[i][j];
						//if(dayformatted < 10) dayformatted = "0" + dayformatted;						
						
						monthformatted = currentMonth;
						//if(monthformatted < 10) monthformatted = "0" + monthformatted;	
						
						document.getElementById([cellid]).innerHTML = ('<a class="dates" href="javascript:chooseDate(' + "'" + monthformatted + "/" + dayformatted + "/" + currentYear + "','" + calendarType + "'" +');">' + calendar[i][j] + '</a>');
						
						document.getElementById([cellid]).style.border = "none";
					} 
					else //day is grayed out
					{						
						document.getElementById([cellid]).innerHTML = calendar[i][j];
						document.getElementById([cellid]).style.cursor = "default";
						document.getElementById([cellid]).style.border = "none";
					}
				}
				else //to draw a month other than the current one
				{
					dayformatted = calendar[i][j];
					//if(dayformatted < 10) dayformatted = "0" + dayformatted;						
						
					monthformatted = currentMonth;
					//if(monthformatted < 10) monthformatted = "0" + monthformatted;	
						
					document.getElementById([cellid]).innerHTML = ('<a class="dates" href="javascript:chooseDate(' + "'" + monthformatted + "/" + dayformatted + "/" + currentYear + "','" + calendarType + "'" +');">' + calendar[i][j] + '</a>');

					document.getElementById([cellid]).style.border = "none";					
				}
			}
			else
			{
				document.getElementById([cellid]).innerHTML = "";
			}
		}
	}
}

function clearcellstyles(calendarType)
{	
	var i;
	var j;
	var cellname = "";
	var tempcell;

	for(i=0;i<5;i++)
	{
		for(j=0;j<7;j++)
		{
			cellname = "c"+i+j+calendarType;			
			tempcell = document.getElementById([cellname]);		
			tempcell.style.border = "none";		
		}
	}
}

function nextMonth(calendarType)
{
	if(currentMonth == 12)
	{
		currentMonth = 1;
		currentYear++;
	}
	else
	{
		currentMonth++;
	}

	currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay();
	currentMonthEnd = getMonthEnding(currentMonth,currentYear);
	document.getElementById(["monthtitle"+calendarType]).innerHTML = getMonthName(currentMonth) + " " + currentYear;	
	initCalendar(calendarType);

	//second calendar code start 	
		if(currentMonth == 12) //need this again to jump year using dual month view
		{
			currentMonth = 1;
			currentYear++;
		}
		else
		{
			currentMonth++;
		}
				
		currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay(); //0 to 6
		currentMonthEnd = getMonthEnding(currentMonth,currentYear);
		
		document.getElementById(["monthtitle"+calendarType+"2"]).innerHTML = getMonthName(currentMonth) + " " + currentYear;			
		
		initCalendar([calendarType+"2"]);			
	//second calendar code end 
	
	showBackButton("show",calendarType);
}

function prevMonth(calendarType)
{
	if((currentMonth > (currentDate.getMonth()+1) && currentYear == currentDate.getFullYear()) || currentYear > currentDate.getFullYear())
	{
		if(currentMonth == 1)
		{
			currentMonth = 12;
			currentYear--;
		}
		else
		{
			currentMonth--;
		}
		currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay();
		currentMonthEnd = getMonthEnding(currentMonth,currentYear);
		
		document.getElementById(["monthtitle"+calendarType+"2"]).innerHTML = getMonthName(currentMonth) + " " + currentYear;		
		initCalendar([calendarType+"2"]);	
				
		//second calendar code start 
			currentMonth--;
			currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay(); //0 to 6
			currentMonthEnd = getMonthEnding(currentMonth,currentYear);


			initCalendar(calendarType);
			document.getElementById(["monthtitle"+calendarType]).innerHTML = getMonthName(currentMonth) + " " + currentYear;
			
		//second calendar code end
		
		if(currentMonth == (currentDate.getMonth()+1)) showBackButton("hide",calendarType);
	}
}

function chooseDate(chosenDate,calendarType)
{
	if(calendarType == "CI" || calendarType == "CI2")
	{
		document.getElementById("fromDate").value = chosenDate;
		hideCalendar("CI")
	}
	else if(calendarType == "CO" || calendarType == "CO2")
	{
		document.getElementById("toDate").value = chosenDate;	
		hideCalendar("CO")
	}
}

function initPage(calendarType)
{

}

function showBackButton(action,calendarType)
{
	if(action == "show")
	{		
		document.getElementById(["bbutton"+calendarType]).style.display = "block";
	}
	else if(action == "hide")
	{
		document.getElementById(["bbutton"+calendarType]).style.display = "none";
	}
}

function setMonthUser(dateval,calendarType)
{
	if(dateval != "")
	{
		var userDate = new Date(dateval);
		currentMonth = userDate.getMonth() + 1;
		currentYear = userDate.getFullYear();
		currentMonthStart = new Date(currentMonth + "/1/" + currentYear).getDay();
		currentMonthEnd = getMonthEnding(currentMonth,currentYear);	
		initCalendar(calendarType);
		document.getElementById(["monthtitle"+calendarType]).innerHTML = getMonthName(currentMonth) + " " + currentYear;
		if((currentDate.getMonth()+1) == currentMonth && currentDate.getFullYear() == currentYear)
		{
			showBackButton("hide",calendarType);
		}
		else
		{
			showBackButton("show",calendarType);
		}
	}
}

function validateReserve()
{
	var err = 0;
	
	if(isBlank(document.getElementById("firstname").value) == true)
	{
		alert("Veuillez remplir le champ prénom");
		document.getElementById("firstname").focus();
		document.getElementById("firstname").select();
		err = 1;
	}
	else if(isBlank(document.getElementById("lastname").value) == true)
	{
		alert("Veuillez remplir le champ nom");
		document.getElementById("lastname").focus();
		document.getElementById("lastname").select();
		err = 1;		
	}
	else if(isBlank(document.getElementById("emailaddress").value) == true)
	{
		alert("Veuillez remplir le champ adresse électronique");
		document.getElementById("emailaddress").focus();
		document.getElementById("emailaddress").select();
		err = 1;		
	}
	else if(isBlank(document.getElementById("tel").value) == true)
	{
		alert("Veuillez remplir le champ téléphone");
		document.getElementById("tel").focus();
		document.getElementById("tel").select();
		err = 1;		
	}
	else if(isBlank(document.getElementById("ctypeb").value) == true && document.getElementById("ctypea").value.indexOf("cifiez") > -1)
	{
		alert("Veuillez remplir le champ confirmez ma réservation par téléphone");
		document.getElementById("ctypeb").focus();
		document.getElementById("ctypeb").select();
		err = 2;		
	}
	else if(isBlank(document.getElementById("fromDate").value) == true)
	{
		alert("Veuillez remplir le champ date d´arrivée");
		document.getElementById("fromDate").focus();
		document.getElementById("fromDate").select();
		err = 1;		
	}
	else if(check_date(document.getElementById("fromDate")) == false)
	{
		err = 21;		
	}
	else if(isBlank(document.getElementById("toDate").value) == true)
	{
		alert("Veuillez remplir le champ date de départ");
		document.getElementById("toDate").focus();
		document.getElementById("toDate").select();
		err = 1;		
	}
	else if(check_date(document.getElementById("toDate")) == false)
	{
		err = 22;		
	}


	if(err == 0)
	{
		document.reserveform.submit();
	}
}

function isBlank(textstr)
{
	if(textstr.length == 0) return true;
	textarray = textstr.split("")
	for(j=0; j<textarray.length; j++)
	{
		if(textarray[j] != " ") 
		{	
			return false;
		}
	}
	return true;
}

function check_date(field)
{
 var checkstr = "0123456789";
 var cdate = field.value;
 var leap = 0;
 var cday;
 var cmonth;
 var cyear;
 var errmsg;
 var err = 0;
 //must be mm/dd/yyyy format
 if(cdate.length <= 10 && cdate.length > 7) //length must be between 8 and 10
 {
 	if(cdate.indexOf("/") == 1 && cdate.indexOf("/",2) == 3) //case 0/0/0000 (8)
	{	
 		cmonth = cdate.substr(2,1);
		cday = cdate.substr(0,1);
		cyear = cdate.substr(4,4);
	}
	else if(cdate.indexOf("/") == 1 && cdate.indexOf("/",2) == 4) //case 0/00/0000 (9)
	{
 		cmonth = cdate.substr(2,2);
		cday = cdate.substr(0,1);
		cyear = cdate.substr(5,4);
	}
	else if(cdate.indexOf("/") == 2 && cdate.indexOf("/",3) == 5) //case 00/00/0000 (10)
	{
 		cmonth = cdate.substr(3,2);
		cday = cdate.substr(0,2);
		cyear = cdate.substr(6,4);
	}
	else if(cdate.indexOf("/") == 2 && cdate.indexOf("/",3) == 4) //case 00/0/0000 (9)
	{
 		cmonth = cdate.substr(3,1);
		cday = cdate.substr(0,2);
		cyear = cdate.substr(5,4);
	}
	else
	{
		err = 14;
	}
	
	if(cday > 31 || cday < 1) 
	{
		err = 1; 
		errmsg = "Day value is above 31 or below 1";
	}
	if(cmonth > 12 || cmonth < 1) 
	{
		err = 2; 
		errmsg = "Month value is above 12 or below 1";
	}
	if(cyear < 1850) 
	{
		err = 3; 
		errmsg = "Year value is below 1850";		
	}		

   	if ((cyear % 4 == 0) || (cyear % 100 == 0) || (cyear % 400 == 0)) 
	{
    	leap = 1;
   	}

   	if ((cmonth == 2) && (leap == 1) && (cday > 29)) 
	{
		err = 4;
		errmsg = "This Year February only has 29 days";
   	}
   	if ((cmonth == 2) && (leap != 1) && (cday > 28)) 
	{
		err = 5;
		errmsg = "This Year February only has 28 days";
   	}
    if ((cday > 30) && ((cmonth == 4) || (cmonth == 6) || (cmonth == 9) || (cmonth == 11))) 
    {
		err = 6;
		errmsg = "This Month only has 30 days";
    }
 }
 else
 {
	err = 7;
	errmsg = "Date string is below 7 characters or above 10";
 }

 if (err != 0) 
 { 
 	//alert(errmsg); //debug
 	alert("  Le format de date que vous avez entré ne semble pas être valide, s'il vous plaît utiliser le jj/mm/aaaa  ");
    field.select();
	field.focus();
	return false;
 }
 else
 {
  //parse month and date to delete zeroes to the left
  
 	if(cday.indexOf("0") == 0)
	{
		cday = cday.substr(1,1);
	}
	if(cmonth.indexOf("0") == 0)
	{
		cmonth = cmonth.substr(1,1);
	}	
	field.value = cmonth+"/"+cday+"/"+cyear; 
  	
	return true;
 }
}