// Check avail script v2.0 by anders, phuket.com
function set_form(setup,type)
{
	arDay=document.checkavail.arrday;arMonth=document.checkavail.arrmonth;arYear=document.checkavail.arryear;
	deDay=document.checkavail.end_day;deMonth=document.checkavail.end_month;deYear=document.checkavail.end_year;

	if(setup==0)
	{
		arDate  = new Date();
		setupvalues(arDay,arMonth,arYear,arDate,2,1,setup,type);

		deDate  = new Date();
		setupvalues(deDay,deMonth,deYear,deDate,3,1,setup,type);

		set_form(1);
		set_form(2);
	}
	else if(setup==1)
	{
		updatese(deDay,deMonth,deYear,arDay,arMonth,arYear,2,1,2,type);
	}
	else if(setup==2)
	{
		updatese(arDay,arMonth,arYear,deDay,deMonth,deYear,2,0,1,type);
	}
}

function setupvalues(seDay,seMonth,seYear,seDate,seCount,seCMY,setup,type)
{
	cday=seDate.getDate();syear=seDate.getFullYear();seDate.setDate(cday+seCount);
	cday=seDate.getDate();cmonth=seDate.getMonth();cyear=seDate.getFullYear();
	sday = cday;

	if((((seDay.options[seDay.selectedIndex].value<cday)&&(seMonth.selectedIndex==cmonth))||(seMonth.selectedIndex<cmonth))&&(seYear.options[seYear.selectedIndex].value)==cyear)
	{
		while(1){seDate.setDate(sday);lmonth = seDate.getMonth();if(lmonth!=cmonth){break;}sday++;}
		nday=sday-1;nyear=2;resetselect(seDay,1,nday,(cday-1));
		if(seCMY==1){resetselect(seYear,cyear,nyear,0);}
		else
		{
			cuDate=new Date();cuDay=cuDate.getDate();cuDate.setDate(cuDay+2);cuYear=cuDate.getFullYear();
			seMonth.selectedIndex=cmonth;
			if(cyear<=cuYear){seYear.selectedIndex=0;}
			else{seYear.selectedIndex=1;}
			if((setup==0)||(type!=1)){updatearraym(seDay,seMonth,seYear);}
		}
	}
}

function updatese(seDay,seMonth,seYear,chDay,chMonth,chYear,seCount,seOrder,setup,type)
{
	nyear = 2;
	arDay=document.checkavail.arrday;arMonth=document.checkavail.arrmonth;arYear=document.checkavail.arryear;
	deDay=document.checkavail.end_day;deMonth=document.checkavail.end_month;deYear=document.checkavail.end_year;

	cuDate = new Date();
	cuDay = cuDate.getDate();
	cuDate.setDate(cuDay+seCount);
	cuDay = cuDate.getDate();
	cuMonth = cuDate.getMonth();
	cuYear = cuDate.getFullYear();


	if(deYear.selectedIndex<arYear.selectedIndex)
	{
		seYear.selectedIndex = chYear.selectedIndex;
	}

	if((deMonth.selectedIndex<arMonth.selectedIndex)&&(chYear.selectedIndex==seYear.selectedIndex))
	{
		seMonth.selectedIndex = chMonth.selectedIndex;
	}

	if((setup!=1)&&(type!=1)){updatearraym(arDay,arMonth,arYear);}
	if((setup!=2)&&(type!=1)){updatearraym(deDay,deMonth,deYear);}
	if((deDay.selectedIndex<=arDay.selectedIndex)&&(chMonth.selectedIndex==seMonth.selectedIndex)&&(chYear.selectedIndex==seYear.selectedIndex))
	{
		if(seOrder==0)
		{
			smonth = chMonth.selectedIndex;
			syear = chYear.options[chYear.selectedIndex].value;
			sday = chDay.options[chDay.selectedIndex].value;

			if((((chDay.selectedIndex<cuDay)&&(chMonth.selectedIndex==cuMonth))||(chMonth.selectedIndex<cuMonth))&&(chYear.options[chYear.selectedIndex].value)==cuYear)
			{
				cuDate = new Date();
				setupvalues(seDay,seMonth,seYear,cuDate,2,0,setup,type);
			}
			else
			{
				seDate  = new Date(syear,smonth,sday);
				setupvalues(seDay,seMonth,seYear,seDate,-1,0,setup,type);
			}
			smonth = seMonth.selectedIndex;
			syear = seYear.options[seYear.selectedIndex].value;
			sday = seDay.options[seDay.selectedIndex].value;

			chDate  = new Date(syear,smonth,sday);
			setupvalues(chDay,chMonth,chYear,chDate,1,0,setup,type);
		}
		else
		{
			smonth = arMonth.selectedIndex;
			syear = arYear.options[arYear.selectedIndex].value;
			sday = arDay.options[arDay.selectedIndex].value;

			if((syear==(cuYear+(nyear-1)))&&(smonth==11)&&(sday==31))
			{
				arDate  = new Date(2002,11,30);
				setupvalues(arDay,arMonth,arYear,arDate,0,0,1,type);

				deDate  = new Date(2002,11,31);
				setupvalues(deDay,deMonth,deYear,deDate,0,0,2,type);
			}
			else
			{
				deDate  = new Date(syear,smonth,sday);
				setupvalues(deDay,deMonth,deYear,deDate,1,0,2,type);
			}
		}
	}

	if((((arDay.options[arDay.selectedIndex].value<cuDay)&&(arMonth.selectedIndex==cuMonth))||(arMonth.selectedIndex<cuMonth))&&(arYear.options[arYear.selectedIndex].value)==cuYear)
	{
		cuDate = new Date();
		setupvalues(arDay,arMonth,arYear,cuDate,2,0,1,type);
	}

	if((((deDay.options[deDay.selectedIndex].value<cuDay)&&(deMonth.selectedIndex==cuMonth))||(deMonth.selectedIndex<cuMonth))&&(deYear.options[deYear.selectedIndex].value)==cuYear)
	{
		cuDate = new Date();
		setupvalues(deDay,deMonth,deYear,cuDate,3,0,2,type);
	}
}

function updatearraym(doDay,doMonth,doYear)
{
	smonth = doMonth.selectedIndex;syear = doYear.options[doYear.selectedIndex].value;sday = 1;
	cdate = new Date(syear,smonth,sday);cmonth = cdate.getMonth();cdate.setMonth(cmonth+1);cdate.setDate(-1);
	lday = cdate.getDate()+1;sday = doDay.selectedIndex;resetselect(doDay,1,lday,sday);
}

function resetselect(doSelect,inValue,inCount,seValue)
{
	while (inCount < doSelect.options.length)
	{
		doSelect.options[(doSelect.options.length - 1)] = null;
	}
	for (i=0;i<inCount;i++){eval("doSelect.options[i]=" + "new Option('" + inValue +"','" + inValue +"')");inValue = inValue + 1;}
	if(seValue >= doSelect.options.length){doSelect.selectedIndex = doSelect.options.length - 1;}
	else{doSelect.selectedIndex = seValue;}
}

