//var calendartype = 2;	// 1 is one month calendar; 2 is two months calendar; 4 is four months calendar;
//var form_name="FORM1"; 
// passed in value
var formname;
var data_month=-1;
var data_year=-1;
var data_date=-1;
var data_month2=-1;
var data_year2=-1;
var data_date2=-1;
var months=new Array("January","Feburary","March","April","May","June","July","August","September","October","November","December");
// current value
var cdate = new Date();
var current_year = cdate.getFullYear();
var current_month = cdate.getMonth();
var current_date = cdate.getDate();
var current_day = cdate.getDay();

// passed value
var select_month=0;
var select_year=0;
var select_date=0;
var select_month2=0;
var select_year2=0;
var select_date2=0;

// variable
var first_day= 0;
var	isLeap 	= 0;
var day_in_month=31;
var first_day2= 0;
var	isLeap2 	= 0;
var day_in_month2=31;
var cal_bgcolor = '#c0d6ff';//'#8daedb'; //#ffffb3
var cal_bodybgcolor = '#8daedb';//'#8daedb';//'#fd5200';
var cal_headbgcolor='#c0d6ff';//'#c0d6ff';//#ffccb3';
var cal_detailbgcolor='#ffffff';//#c0d6ff';//'#ffffcc';
var cal_weekbgcolor='#8daedb';//'#8daedb';//'#fd5200';
var cal_dayblockbgcolor= '#d5d5d5';//'#d5d5d5';//'#ffb66c';
var cal_dayselectbgcolor= '#8daedb';//'#8daedb';//'#fd5200';

//var cal_headtextcolor = '#c0d6ff'; //#ffffb3

//if (calendartype == 1)
//	 	 openCalendar = openCalendar1;
//else if (calendartype == 2)
//		openCalendar = openCalendar2;
//else if (calendartype == 4)
//		openCalendar = openCalendar4;

function getleapyear(year)
{
 	return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))?	1:0;
}
function getdayinmonth(month, year)
{		// month starts from 1 as January
 	  var limit = 31;
    if(month == 4||month == 6||month == 9||month == 11)
        limit = 30;
    else if(month == 2)
		 		limit = 28 + getleapyear(year);
		return limit; 
}
/*
	is2maxdate() - test to see if date is over 331 limit.  return true if is over; return false if is not over.
*/
function is2maxdate2(dat1)
{
		if (((new Date(dat1) - new Date())/86400000) > 331)
			 return true;
		return false;
}
// is2mindate() test to see if date is earlier than today.
function is2mindate2(dat1)
{
		if (((new Date(dat1) - new Date())/86400000) < 0)
			 return true;
		return false;
}
// smonth and cmonth are starting from 1 for January
function is2maxdate(syear, smonth, sday, cyear, cmonth, cday)
{
 	  var dat1 = null, dat2 = null;
		var diff = 0;
 		if (sday == 0)
			 sday = 1;
		if (cday == 0)
			 cday = 1;
		dat1 = new Date(syear, smonth, sday);
		dat2 = new Date(cyear, cmonth, cday);
		if (((dat1 - dat2)/86400000) > 331)
			 return true;
		return false;
}

/**
	 getAdvanceDay() - receive int value of year, month, day and # of day advanced.
	 								 It returns string format of 'mm/dd/yyyy'
*/
function getAdvanceDay(year, month, day, delay)
{
    var limit = 30;
    var leap = 0;
	var rtn = "";
	var date = day+delay;
	limit = getdayinmonth(month, year);
  if(date>limit)
	{
	  month++;
		date -= limit;
		if((month)>12)
		{
				year++;
				month -= 12;
//		    rtn =  "1/"+new String(date)+"/"+new String(year);
		}
//		else
//		{
//			rtn = new String(month)+"/"+new String(date)+"/"+new String(year);
//		}
  }
	else if (date < 1)
	{
	 		month--;
			if (month < 1)
			{
			 	 month += 12;
				 year--;
			}
			limit = getdayinmonth(month,year);
			date += limit;
	}
	rtn = new String(month)+"/"+new String(date)+"/"+new String(year);
//alert('getadv='+rtn);	
		while(is2maxdate2(rtn))
		 return getAdvanceDay(year, month, date, -1)
  return rtn;
}
function go_prev(test_month,test_date, test_year, field_name, field_name2, obj_name, elem)
{
 	 //alert('go_prev,month=' + test_month +  ',date=' + test_date + ',year=' + test_year + ',' + field_name + ',' + field_name2 + ',' + obj_name + ',' + elem); 
 	 //test_month -= calendartype;
 	 //test_month -= 2;
 	 //alert(test_month);
 	 
	 if (test_month <= 0)
	 {
	 		test_month += 12;
			test_year--;
	 }
	 //alert(test_month);
	 //alert(test_year);
	 // if the month is less than current month move the month up to current month
	 while(test_year <= current_year && test_month < current_month)
	 {
	 	test_month++;
		if (test_month > 11)
		{
			 test_month -= 12;
			 test_year++;
		}
	 }
	 //alert(test_month);
	 //alert(test_year);
		data_month = test_month-1;
		data_year = test_year;
		data_date = test_date;
		data_month2 = data_month+1;
		data_year2 = data_year;
		data_date2 = data_date;
		if (data_month2 > 11)
		{
		 	 data_month2 -= 12;
			 data_year2++;
		}
		//alert('before');
		openCalendar2(field_name, field_name2, obj_name, elem, formname);
		//alert('after');
}

function go_next(test_month, test_date, test_year, field_name, field_name2, obj_name,elem)
{
	 	//alert('go_next,month=' + test_month +  ',date=' + test_date + ',year=' + test_year + ',' + field_name + ',' + field_name2 + ',' + obj_name + ',' + elem); 
	 	//test_month++;
		if (test_month > 11)
		{
		 	 test_month -= 12;
			 test_year++;
		}
		data_year = test_year;
		data_month = test_month;
		data_date = test_date;
		data_year2 = test_year;
		data_month2 = test_month+1;
		data_date2 = test_date;
		if (data_month2 > 11)
		{
		 	 data_month2 -= 12;
			 data_year2++;
		}
		openCalendar2(field_name, field_name2, obj_name, elem, formname);
}

function openCalendar2(field_name, field_name2, obj_name, elem, form_name)
{
var calendartype = 2;	// 1 is one month calendar; 2 is two months calendar; 4 is four months calendar;
//var form_name="FORM1";
//alert('OpenCalendar2,' + field_name + ',' + field_name2 + ',' + obj_name + ',' + elem + ',' + form_name);
formname=form_name; 
 errorMessage('');
 var temp = "";
 var dt3=null;
  var dt = eval("document."+form_name+"."+field_name+".value").split('/');
  var dt2 = eval("document."+form_name+"."+field_name2+".value").split('/');
 	if(dt.length==3&&!isNaN(dt[0])&&!isNaN(dt[1])&&!isNaN(dt[2]))
	{
 			select_month = parseInt(dt[0])-1;
 			select_date = parseInt(dt[1]);
 			select_year = parseInt(dt[2]);
	}
	else
	{
	 		var tmp = getAdvanceDay(current_year, current_month, current_date, 7);
			dt3 = tmp.split("/");
			select_month = parseInt(dt3[0]) - 1;//current_month;
			select_date = parseInt(dt3[1]);//current_date+7;//-1;
			select_year = parseInt(dt3[2]);//current_year;
	}
 	if(dt2.length==3&&!isNaN(dt2[0])&&!isNaN(dt2[1])&&!isNaN(dt2[2]))
 	{
    			select_month2 = parseInt(dt2[0])-1;
    			select_date2 = parseInt(dt2[1]);
    			select_year2 = parseInt(dt2[2]);
 	}
 	else
 	{
  			select_month2 = select_month;
  			select_date2 = select_date+1;//-1;
  			select_year2 = select_year;
  }
	if (data_year == -1)
		 data_year = select_year;
 	if (data_month == -1)
		 data_month = select_month;
 	if (data_date == -1)
		 data_date = select_date;
		 
	if (data_year2 == -1)
		 data_year2 = data_year;
 	if (data_month2 == -1)
		 data_month2 = data_month+1;
 	if (data_date2 == -1)
		 data_date2 = data_date;
	if (data_month2>11)
	{
	 	 data_month2 -= 12;
		 data_year2++;
	}
  first_day=new Date(new String(data_month+1)+'/1/'+new String(data_year)).getDay();
/*  isLeap 	= (data_year % 4 == 0 && (data_year % 100 !=0 || data_year % 400 ==0 )) ? 1:0
  day_in_month=31;
  if (data_month == 8 || data_month == 3 || data_month == 5 || data_month == 10)
  	day_in_month=30;
  if (data_month==1)
  	day_in_month=28+isLeap;
*/
  day_in_month=getdayinmonth(data_month+1, data_year);
		
  first_day2 = new Date(new String(data_month2+1)+'/1/'+new String(data_year2)).getDay();
/*  isLeap2 	= (data_year2 % 4 == 0 && (data_year2 % 100 !=0 || data_year2 % 400 ==0 )) ? 1:0
  day_in_month2=31;
  if (data_month2 == 8 || data_month2 == 3 || data_month2 == 5 || data_month2 == 10)
  	day_in_month2=30;
  if (data_month2==1)
  	day_in_month2=28+isLeap2;
*/
	day_in_month2=getdayinmonth(data_month2+1, data_year2);
  var day_counter=1;
	var calendarhead = 
  	"<TABLE bgcolor='"+cal_bgcolor+"' BORDER='3' align='center' CELLPADDING='0' CELLSPACING='0' >"
  + "				<TR >"
//  + "					<TD><table><tr>"
  + "						<TD align='middle' class='calendartitle'>Select A Date</td>"
//  + "						<TD width=5%>&nbsp;</td>"
//  + "						<TD width=45% align='right' class='calendartitle'><a href='#' class='calendarlink' onclick='closeCalendar(\""+obj_name+"\");'>Close</a></td>"
//  + "					</TR></table></td>"
  + "				</TR>"
  + "				<TR >";
  if (data_year <= current_year && data_month <= current_month)
//  	 temp += "					<TD align='middle' class='calendartitle'>Prev Month</td>"+
  	 calendarhead += "					<TD width=100%><table width=100% BORDER='0' CELLPADDING='0' CELLSPACING='0'><tr><td width='30%' align='left' class='calendartitle'>Prev</td>"
 				  + "						<TD width=40% align='middle' class='calendartitle'><a href='#' class='calendarlink' onclick='closeCalendar(\""+obj_name+"\");'>Close</a></td>"
  	 			+ "						<TD align='right' width='30%' class='calendartitle'><a href='#' class='calendarlink' onclick='go_next("+data_month2+","+data_date2+","+data_year2+",\""+field_name+"\",\""+field_name2+"\",\""+obj_name+"\",\""+elem+"\");return false;'>Next</a></td></tr></table></td>";
//  else temp  += "					<TD align='middle' class='calendartitle'><a href='#' onclick='go_prev("+data_month+","+data_date+","+data_year+",\""+field_name+"\",\""+field_name2+"\",\""+obj_name+"\",\""+elem+"\");return false;'>Previous Month</a></td>";
  else calendarhead += "					<TD width=100%><table width=100% BORDER='0' CELLPADDING='0' CELLSPACING='0'><tr><td align='left' width='30%' class='calendartitle'><a href='#' onclick='go_prev("+data_month+","+data_date+","+data_year+",\""+field_name+"\",\""+field_name2+"\",\""+obj_name+"\",\""+elem+"\");return false;'>Prev</a></td>"
		 				 + "					<TD width=40% align='middle' class='calendartitle'><a href='#' class='calendarlink' onclick='closeCalendar(\""+obj_name+"\");'>Close</a></td>"
  		 			 + "					<TD width='30%' align='right' class='calendartitle'><a href='#' class='calendarlink' onclick='go_next("+data_month2+","+data_date2+","+data_year2+",\""+field_name+"\",\""+field_name2+"\",\""+obj_name+"\",\""+elem+"\");return false;'>Next</a></td></tr></table></td>";
	calendarhead += "</TR>";
						 
	var calendarhead2 = 
  	"<TABLE bgcolor='"+cal_bgcolor+"' BORDER='0' align='center' CELLPADDING='0' CELLSPACING='0' >"
  + "				<TR >"
//  + "					<TD><table><tr>"
  + "						<TD align='middle' class='calendartitle'>Select A Date</td>"
//  + "						<TD width=5%>&nbsp;</td>"
//  + "						<TD width=45% align='right' class='calendartitle'><a href='#' class='calendarlink' onclick='closeCalendar(\""+obj_name+"\");'>Close</a></td>"
//  + "					</TR></table></td>"
  + "				</TR>"
  + "				<TR >";
  if (data_year <= current_year && data_month <= current_month)
  	 calendarhead2 += "					<TD width=100%><table width=100% BORDER='0' CELLPADDING='0' CELLSPACING='0'><tr><td width='30%' align='left' class='calendartitle'>Prev</td>"
 				  + "						<TD width=40% align='middle' class='calendartitle'><a href='#' class='calendarlink' onclick='closeCalendar(\""+obj_name+"\");'>Close</a></td>"
  	 			+ "						<TD align='right' width='30%' class='calendartitle'>Next</td></tr></table></td>";
  else calendarhead2 += "					<TD width=100%><table width=100% BORDER='0' CELLPADDING='0' CELLSPACING='0'><tr><td align='left' width='30%' class='calendartitle'><a href='#' onclick='go_prev("+data_month+","+data_date+","+data_year+",\""+field_name+"\",\""+field_name2+"\",\""+obj_name+"\",\""+elem+"\");return false;'>Prev</a></td>"
		 				 + "					<TD width=40% align='middle' class='calendartitle'><a href='#' class='calendarlink' onclick='closeCalendar(\""+obj_name+"\");'>Close</a></td>"
  		 			 + "					<TD align='right' width='30%' class='calendartitle'>Next</td></tr></table></td>";
	calendarhead2 += "</TR>";
  temp = "				<TR>"
  + "				<TD  bgcolor='"+cal_bodybgcolor+"' border=1 bordercolor='"+cal_bodybgcolor+"'>"
  + "						 <TABLE BORDER='0' align='center' CELLPADDING='1' CELLSPACING='1' width=100%><tr><td>"
  + "						 				<TABLE BORDER='0' align='center' CELLPADDING='0' CELLSPACING='0' width=100%>"
  + "				<TR bgcolor='"+cal_headbgcolor+"'>"
  + "					<TD VALIGN='middle' align='center' class='calendartitle12'>"
  + months[data_month] + " " + data_year 
  + "						</TD>"
  + "			</TR>"
  + "</table>"
	
  //<!-- display first month -->
  + "<table align='center' border='0' width=100% bgcolor='"+cal_detailbgcolor+"'>"
  + "<tr bgcolor='"+cal_weekbgcolor+"' ><td align='center'>Su</td><td align='center'>Mo</td><td align='center'>Tu</td><td align='center'>We</td><td align='center'>Th</td><td align='center'>Fr</td><td align='center'>Sa</td></tr>"
  + "<tr>";
  var i =0;
  var a = 0,b =0;
  var the_data_string='', dmm = '', ddd='';
  for (i=0;i<first_day;i++)
  	temp	+= "<td>&nbsp;</td>";
  for (i=first_day;i<7;i++)
	{
		the_date_string = new String(data_month+1) + "/" + new String(day_counter) + "/" + new String(data_year);
		if (data_year < current_year || (data_year == current_year && data_month < current_month) || (data_year <= current_year && data_month <= current_month && day_counter <= current_date))
		 		temp += "<td align='center' bgcolor='"+cal_dayblockbgcolor+"'><font color='gray'>" + new String(day_counter) + "</font></td>";
//		else if (is2maxdate(data_year, data_month, data_date, current_year, current_month, current_date))
		else if (is2maxdate2(new String(data_month+1)+'/'+new String(day_counter)+'/'+ new String(data_year)))
		 		temp += "<td align='center' bgcolor='"+cal_dayblockbgcolor+"'><font color='gray'>" + new String(day_counter) + "</font></td>";
		else if ((data_year == select_year && data_month == select_month && day_counter == select_date && obj_name == 'ukDeptDate')
			 || (data_year == select_year2 && data_month == select_month2 && day_counter == select_date2 && obj_name == 'ukRetnDate'))
				temp += "<td align='center' bgcolor='"+cal_dayselectbgcolor+"'><a href='#' onclick='document." + form_name + "." + obj_name + ".value=\"" + the_date_string + "\"; checkcalendardate(\""+obj_name+"\"); closeCalendar(\""+obj_name+"\");'><b>" + day_counter + "</b></a></td>";
 		else
 				temp += "<td align='center'><a href='#' onclick='document." + form_name + "." + obj_name + ".value=\""+ the_date_string + "\"; checkcalendardate(\""+obj_name+"\"); closeCalendar(\""+obj_name+"\");'>" + day_counter + "</a></td>";
		day_counter++;
	}
  temp += "</tr>"
  for (a=1;a<6;a++)
	{
		temp += "<tr>";
		for (b=0;b<7;b++)
		{
				the_date_string = new String(data_month+1) + "/" + new String(day_counter) + "/" + new String(data_year);
						
				if (day_counter >= day_in_month)
				{
					b=7;
					a=5;
				}
					
				if (data_year < current_year || (data_year == current_year && data_month < current_month) || (data_year <= current_year && data_month <= current_month && day_counter <= current_date))
 					 temp += "<td align='center' bgcolor='"+cal_dayblockbgcolor+"'><font color='gray'>" + new String(day_counter) + "</font></td>";
//				else if (is2maxdate(data_year, data_month, data_date, current_year, current_month, current_date))
				else if (is2maxdate2(new String(data_month+1)+'/'+new String(day_counter)+'/'+ new String(data_year)))
		 			 temp += "<td align='center' bgcolor='"+cal_dayblockbgcolor+"'><font color='gray'>" + new String(day_counter) + "</font></td>";
    		else if ((data_year == select_year && data_month == select_month && day_counter == select_date && obj_name == 'ukDeptDate')
    			 ||(data_year == select_year2 && data_month == select_month2 && day_counter == select_date2 && obj_name == 'ukRetnDate'))
    				temp += "<td align='center' bgcolor='"+cal_dayselectbgcolor+"'><a href='#' onclick='document." + form_name + "." + obj_name + ".value=\"" + the_date_string + "\"; checkcalendardate(\""+obj_name+"\"); closeCalendar(\""+obj_name+"\");'><b>" + day_counter + "</b></a></td>";
 				else
    			temp += "<td align='center' ><a href='#' onclick='document." + form_name + "." + obj_name + ".value=\"" + the_date_string + "\"; checkcalendardate(\""+obj_name+"\"); closeCalendar(\""+obj_name+"\");'>" + day_counter + "</a></td>";
				day_counter++;			
			}
		temp += "</tr>";	
	}
  temp += "</table>";
  temp += "<hr height='1px' color='"+cal_bgcolor+"'>";
  <!-- display second month -->
  
  day_counter=1;
  
  temp += "		<TABLE BORDER='0' align='center' CELLPADDING='0' CELLSPACING='0' width=100%>"
  + "				<TR bgcolor='"+cal_headbgcolor+"'>"
  + "					<TD VALIGN='middle' align='center' class='calendartitle12' >"
  + months[data_month2] + " " + data_year2 
  + "						</TD>"
  + "			</TR>"
  + "</table>"
  + "<table align='center' border='0' width=100% bgcolor='"+cal_detailbgcolor+"'>"
  + "<tr bgcolor='"+cal_weekbgcolor+"' ><td align='center'>Su</td><td align='center'>Mo</td><td align='center'>Tu</td><td align='center'>We</td><td align='center'>Th</td><td align='center'>Fr</td><td align='center'>Sa</td></tr>"
  + "<tr>";
  
  for (i=0;i<(first_day2);i++)
  		temp += "<td>&nbsp;</td>";
  for (i=first_day2;i<7;i++)
	{
		the_date_string = new String(data_month2+1) + "/" + new String(day_counter) + "/" + new String(data_year2);
		if (is2maxdate2(new String(data_month2+1)+'/'+new String(day_counter)+'/'+ new String(data_year2)))
//		if (is2maxdate(data_year2, data_month2, data_date2, current_year, current_month, current_date))
		 		temp += "<td align='center' bgcolor='"+cal_dayblockbgcolor+"'><font color='gray'>" + new String(day_counter) + "</font></td>";
		else if ((data_year2 == select_year && data_month2 == select_month && day_counter == select_date && obj_name == 'ukDeptDate') ||
			 (data_year2 == select_year2 && data_month2 == select_month2 && day_counter == select_date2 && obj_name == 'ukRetnDate'))
				temp += "<td align='center' bgcolor='"+cal_dayselectbgcolor+"'><a href='#' onclick='document." + form_name + "." + obj_name + ".value=\"" + the_date_string + "\"; checkcalendardate(\""+obj_name+"\"); closeCalendar(\""+obj_name+"\");'><b>" + day_counter + "</b></a></td>";
		else 
				temp += "<td align='center'><a href='#' onclick='document." + form_name + "." + obj_name + ".value=\""+ the_date_string + "\"; checkcalendardate(\""+obj_name+"\"); closeCalendar(\""+obj_name+"\");'>" + day_counter + "</a></td>";
		day_counter++;
	}
  temp += "</tr>";
  var noNext = 0;
  for (a=1;a<6;a++)
	{
		temp += "<tr>";
		for (b=0;b<7;b++)
		{
				the_date_string = new String(data_month2+1) + "/" + new String(day_counter) + "/" + new String(data_year2);
						
				if (day_counter >= day_in_month2)
				{
					b=7;
					a=5;
				}
				if (is2maxdate2(new String(data_month2+1)+'/'+new String(day_counter)+'/'+ new String(data_year2)))
				{
//				if (is2maxdate(data_year2, data_month2, data_date2, current_year, current_month, current_date))
		 			 temp += "<td align='center' bgcolor='"+cal_dayblockbgcolor+"'><font color='gray'>" + new String(day_counter) + "</font></td>";
					 noNext = 1;
				}
				else if ((data_year2 == select_year && data_month2 == select_month && day_counter == select_date  && obj_name == 'ukDeptDate') ||
					 (data_year2 == select_year2 && data_month2 == select_month2 && day_counter == select_date2 && obj_name == 'ukRetnDate'))
    				temp += "<td align='center' bgcolor='"+cal_dayselectbgcolor+"'><a href='#' onclick='document." + form_name + "." + obj_name + ".value=\"" + the_date_string + "\"; checkcalendardate(\""+obj_name+"\"); closeCalendar(\""+obj_name+"\");'><b>" + day_counter + "</b></a></td>";
				else
						temp += "<td align='center'><a href='#' onclick='document." + form_name + "." + obj_name + ".value=\"" + the_date_string + "\"; checkcalendardate(\""+obj_name+"\"); closeCalendar(\""+obj_name+"\");'>" + day_counter + "</a></td>";
				day_counter++;			
		}
		temp += "</tr>";	
	}
  temp += "</table>"
  + "</TD></TR></TABLE>"
  + "</TD></TR>"
//  + "				<TR >"
//  + "					<TD align='middle' class='calendartitle'><a href='#' class='calendarlink' onclick='go_next("+data_month2+","+data_date2+","+data_year2+",\""+field_name+"\",\""+field_name2+"\",\""+obj_name+"\",\""+elem+"\");return false;'>Next Month</a></td>"
//  + "				</TR >"
//  + "				<TR >"
//  + "					<TD >&nbsp;</td>"
//  + "				</TR >"
  + "</TABLE>"
  + "</TD></TR></TABLE>";
	
	setcalposition(elem);
	calopened((obj_name == 'ukDeptDate')?'depart':'return');
  setContent('calendarform', ((noNext == 0)?calendarhead:calendarhead2)+temp);
	document.getElementById('calendarform').style.visibility = 'visible';
}
function openCalendar1(field_name, field_name2, obj_name, elem)
{
 errorMessage('');
  var dt = eval("document."+form_name+"."+field_name+".value").split('/');
  var dt2 = eval("document."+form_name+"."+field_name2+".value").split('/');
 	if(dt.length==3&&!isNaN(dt[0])&&!isNaN(dt[1])&&!isNaN(dt[2]))
	{
 			select_month = parseInt(dt[0])-1;
 			select_date = parseInt(dt[1]);
 			select_year = parseInt(dt[2]);
	}
	else
	{
	 		var tmp = getAdvanceDay(current_year, current_month, current_date, 7);
			dt3 = tmp.split("/");
			select_month = parseInt(dt3[0]) - 1;//current_month;
			select_date = parseInt(dt3[1]);//current_date+7;//-1;
			select_year = parseInt(dt3[2]);//current_year;
	}
 	if(dt2.length==3&&!isNaN(dt2[0])&&!isNaN(dt2[1])&&!isNaN(dt2[2]))
 	{
    			select_month2 = parseInt(dt2[0])-1;
    			select_date2 = parseInt(dt2[1]);
    			select_year2 = parseInt(dt2[2]);
 	}
 	else
 	{
  			select_month2 = select_month;
  			select_date2 = select_date+1;//-1;
  			select_year2 = select_year;
  }
	if (data_year == -1)
		 data_year = select_year;
 	if (data_month == -1)
		 data_month = select_month;
 	if (data_date == -1)
		 data_date = select_date;
		 
	if (data_year2 == -1)
		 data_year2 = data_year;
 	if (data_month2 == -1)
		 data_month2 = data_month+1;
 	if (data_date2 == -1)
		 data_date2 = data_date;
	if (data_month2>11)
	{
	 	 data_month2 -= 12;
		 data_year2++;
	}
  first_day=new Date(new String(data_month+1)+'/1/'+new String(data_year)).getDay();
/*  isLeap 	= (data_year % 4 == 0 && (data_year % 100 !=0 || data_year % 400 ==0 )) ? 1:0
  day_in_month=31;
  if (data_month == 8 || data_month == 3 || data_month == 5 || data_month == 10)
  	day_in_month=30;
  if (data_month==1)
  	day_in_month=28+isLeap;
*/
  day_in_month = getdayinmonth(data_month+1, data_year);
//alert("dayinmonth before="+data_month+'/'+data_year+" after="+day_in_month);		
/*  first_day2 = new Date(new String(data_month2+1)+'/1/'+new String(data_year2)).getDay();
  isLeap2 	= (data_year2 % 4 == 0 && (data_year2 % 100 !=0 || data_year2 % 400 ==0 )) ? 1:0
  day_in_month2=31;
  if (data_month2 == 8 || data_month2 == 3 || data_month2 == 5 || data_month2 == 10)
  	day_in_month2=30;
  if (data_month2==1)
  	day_in_month2=28+isLeap2;
day_in_month2 = getdayinmonth(data_month2+1, data_year2);
*/
		
  var day_counter=1;

  var temp = 
	  "<TABLE bgcolor='"+cal_bgcolor+"' BORDER='0' align='center' CELLPADDING='0' CELLSPACING='0' >";
/*  + "				<TR >"
  + "					<TD>"
	+ " 					<table><tr>"
  + "						<TD width=60% align='left' class='calendartitle'>Select a date</td>"
  + "						<TD>&nbsp;</td>"
  + "						<TD width=20% align='right' class='calendartitle'><a href='#' class='calendarlink' onclick='closeCalendar();'>Close</a></td>"
  + "						</TR></table>"
	+ "					</td>"
  + "				</TR>";
*/
/*
  temp += "				<TR >";
  if (data_year <= current_year && data_month <= current_month)
  	 temp += "					<TD align='middle' class='calendartitle'>Previous Month</td>";
  else temp  += "					<TD align='middle' class='calendartitle'><a href='#' onclick='go_prev("+data_month+","+data_date+","+data_year+",\""+field_name+"\",\""+field_name2+"\",\""+obj_name+"\",\""+elem+"\");return false;'>Previous Month</a></td>";
	  temp += "				</TR >"
*/
  temp += "				<TR>"
  + "				<TD  bgcolor='"+cal_bodybgcolor+"' border=1 bordercolor='"+cal_bodybgcolor+"'>"
  + "						 <TABLE BORDER='0' align='center' CELLPADDING='1' CELLSPACING='1' width=100%><tr><td>"
  + "						 				<TABLE BORDER='0' align='center' CELLPADDING='0' CELLSPACING='0' width=100%>"
  + "				<TR bgcolor='"+cal_headbgcolor+"'>";
  if (data_year <= current_year && data_month <= current_month)
  	 temp += "					<TD align='middle' class='calendartitle'>&lt;&lt;</td>";
  else temp  += "					<TD align='middle' class='calendartitle'><a href='#' onclick='go_prev("+data_month+","+data_date+","+data_year+",\""+field_name+"\",\""+field_name2+"\",\""+obj_name+"\",\""+elem+"\");return false;'>&lt;&lt;</a></td>";
  temp += "					<TD VALIGN='middle' align='center' class='calendartitle12'>"
  + months[data_month] + " " + data_year 
  + "						</TD>";
	if (is2maxdate(data_year, data_month+1, 1, current_year, current_month, current_date))
		 temp += "					<TD align='middle' valign='top' class='calendartitle'>&gt;&gt;</td>";
	else temp +="					<TD align='middle' valign='top' class='calendartitle'><a href='#' valign='top' class='calendarlink' onclick='go_next("+data_month+","+data_date+","+data_year+",\""+field_name+"\",\""+field_name2+"\",\""+obj_name+"\",\""+elem+"\");return false;'>&gt;&gt;</a></td>";
  temp += "			</TR>"
  + "</table>"
	
  //<!-- display first month -->
  + "<table align='center' border='0' width=100% bgcolor='"+cal_detailbgcolor+"'>"
  + "<tr bgcolor='"+cal_weekbgcolor+"' ><td align='center'>Su</td><td align='center'>Mo</td><td align='center'>Tu</td><td align='center'>We</td><td align='center'>Th</td><td align='center'>Fr</td><td align='center'>Sa</td></tr>"
  + "<tr>";
  var i =0;
  var a = 0,b =0;
  var the_data_string='', dmm = '', ddd='';
  for (i=0;i<first_day;i++)
  	temp	+= "<td>&nbsp;</td>";
  for (i=first_day;i<7;i++)
	{
		the_date_string = new String(data_month+1) + "/" + new String(day_counter) + "/" + new String(data_year);
		if (data_year < current_year || (data_year == current_year && data_month < current_month) || (data_year <= current_year && data_month <= current_month && day_counter <= current_date))
		 		temp += "<td align='center' bgcolor='"+cal_dayblockbgcolor+"'><font color='gray'>" + new String(day_counter) + "</font></td>";
		else if (is2maxdate2(new String(data_month+1)+'/'+new String(day_counter)+'/'+ new String(data_year)))
		 		temp += "<td align='center' bgcolor='"+cal_dayblockbgcolor+"'><font color='gray'>" + new String(day_counter) + "</font></td>";
		else if ((data_year == select_year && data_month == select_month && day_counter == select_date && obj_name == 'ukDeptDate')
			 || (data_year == select_year2 && data_month == select_month2 && day_counter == select_date2 && obj_name == 'ukRetnDate'))
				temp += "<td align='center' bgcolor='"+cal_dayselectbgcolor+"'><a href='#' onclick='document." + form_name + "." + obj_name + ".value=\"" + the_date_string + "\";  checkcalendardate(\""+obj_name+"\");  closeCalendar(\""+obj_name+"\");'><b>" + day_counter + "</b></a></td>"; 
 		else
 				temp += "<td align='center'><a href='#' onclick='document." + form_name + "." + obj_name + ".value=\""+ the_date_string + "\";  checkcalendardate(\""+obj_name+"\"); closeCalendar(\""+obj_name+"\");'>" + day_counter + "</a></td>";
		day_counter++;
	}
  temp += "</tr>"
  for (a=1;a<6;a++)
	{
		temp += "<tr>";
		for (b=0;b<7;b++)
		{
				the_date_string = new String(data_month+1) + "/" + new String(day_counter) + "/" + new String(data_year);
						
				if (day_counter >= day_in_month)
				{
					b=7;
					a=5;
				}
				if (data_year < current_year || (data_year == current_year && data_month < current_month) || (data_year <= current_year && data_month <= current_month && day_counter <= current_date))
 					 temp += "<td align='center' bgcolor='"+cal_dayblockbgcolor+"'><font color='gray'>" + new String(day_counter) + "</font></td>";
				else if (is2maxdate2(new String(data_month+1)+'/'+new String(day_counter)+'/'+ new String(data_year)))
 					 temp += "<td align='center' bgcolor='"+cal_dayblockbgcolor+"'><font color='gray'>" + new String(day_counter) + "</font></td>";
    		else if ((data_year == select_year && data_month == select_month && day_counter == select_date && obj_name == 'ukDeptDate')
    			 ||(data_year == select_year2 && data_month == select_month2 && day_counter == select_date2 && obj_name == 'ukRetnDate'))
    				temp += "<td align='center' bgcolor='"+cal_dayselectbgcolor+"'><a href='#' onclick='document." + form_name + "." + obj_name + ".value=\"" + the_date_string + "\";  checkcalendardate(\""+obj_name+"\"); closeCalendar(\""+obj_name+"\");'><b>" + day_counter + "</b></a></td>";
 				else
    			temp += "<td align='center' ><a href='#' onclick='document." + form_name + "." + obj_name + ".value=\"" + the_date_string + "\"; checkcalendardate(\""+obj_name+"\"); closeCalendar(\""+obj_name+"\");'>" + day_counter + "</a></td>";
				day_counter++;			
			}
		temp += "</tr>";	
	}
  temp += "</table>";
  temp += "</TD></TR>";
	
  temp += "				<TR>"
  + "					<TD align='middle' bgcolor='"+cal_detailbgcolor+"' class='calendartitle'><a href='#' class='calendarlink' onclick='closeCalendar(\""+obj_name+"\");'>Close</a></td>"
  + "				</TR >";
	
	temp += "</TABLE>"
  + "</TD></TR>"
//  + "				<TR>"
//  + "					<TD align='middle' valign='top' class='calendartitle'><a href='#' valign='top' class='calendarlink' onclick='go_next("+data_month+","+data_date+","+data_year+",\""+field_name+"\",\""+field_name2+"\",\""+obj_name+"\",\""+elem+"\");return false;'>Next Month</a></td>"
//  + "				</TR >"
//  + "				<TR >"
//  + "					<TD >&nbsp;</td>"
//  + "				</TR >"
  + "</TABLE>"
  + "</TD></TR></TABLE>";
	setcalposition(elem);
	calopened((obj_name == 'ukDeptDate')?'depart':'return');
  setContent('calendarform', temp);
	document.getElementById('calendarform').style.visibility = 'visible';
}
function checkcalendardate(objname)
{
 var dptdate='',dptmon='',dptday='',arvdate='',arvmon='',arvday='';
 var ddate='',dmon='', dday='', adate='', amon='', aday='';
 	var dt = null;

// try
 {
   dptdate = document.FORM1.ukDeptDate;
   arvdate = document.FORM1.ukRetnDate;
	 try
	 {
	    dptmon = document.FORM1.ddDepartMonth;
   		dptday = document.FORM1.ddDepartDay;
   		arvmon = document.FORM1.ddReturnMonth;
	    arvday = document.FORM1.ddReturnDay;
		}
		catch(theException)
		{
		  dptmon = '';
			dptday = '';
		  arvmon = '';
			arvday = '';
		}
  // var lasttriptype = getRadioValue(document.FORM1.lastTripType);
   ddate = dptdate.value;
   adate = arvdate.value;
   	// save to pull down
  	if (dptday == '')
  	{	 // has input field
			 try
			 { 
  			dptmon.value = ddate;
			 }
			 catch(theException)
			 {}
				// if is depart date, set return date 7 days in advance 
			if (objname == 'ukDeptDate')
			{
			 	 dt = dtpdate.value.split('/');
  			 arvdate.value = getAdvanceDay(parseInt(dt[2]), parseInt(dt[0]), parseInt(dt[1]), 7);
				 try
				 {
    			 dt = arvdate.value.split('/');
    		 	 arvmon.value = dt[0]+'/'+dt[2];
//				 arvmon.selectedIndex = parseInt(dt[0])-1;
					 arvday.value = dt[1];
//				 arvday.selectedIndex = parseInt(dt[2])-1;
//  			 document.FORM1.dmon.value = dt[0]+'/'+dt[2];
//  			 document.FORM1.dday.value = dt[1];
			 	}
			 	catch(theException)
			 	{}
  		   errorMessage("");
  		}
			else
			{
			  try
				{
					arvmon.value = adate;
  			}
  			catch(theException)
  			 {}
			}
  	}
  	else
  	{		// has pull down
         ddate = dptdate.value;
//alert("ddate="+ddate);
				 try
				 {																 
				 	 dt = ddate.split('/');
  			 	 dptmon.value = dt[0]+'/'+dt[2];
//				 dptmon.selectedIndex = parseInt(dt[0]) -1;
					 dptday.value = dt[1];
//				 dptday.selectedIndex = parseInt(dt[1]) -1;
//				 document.FORM1.dmon.value = dt[0]+'/'+dt[2];
//  			 document.FORM1.dday.value = dt[1];
  			 }
  			 catch(theException)
  			 {}
         adate = arvdate.value;
//alert("adate="+adate+" objname="+objname);
				 try
				 {					 
  			 	 dt = adate.split('/');
  			 	 arvmon.value = dt[0]+'/'+dt[2];
//				 arvmon.selectedIndex = parseInt(dt[0]) -1;
  			 	 arvday.value = dt[1];
//				 arvday.selectedIndex = parseInt(dt[1]) -1;
//				 document.FORM1.amon.value = dt[0]+'/'+dt[2];
//  			 document.FORM1.aday.value = dt[1];
  			 }
  			 catch(theException)
  			 {}
				 // if is depart date reset return to 7 days adavnce
				if (objname == 'ukDeptDate')
  			{
//alert("ddate2="+dptdate.value);
  			 	dt = dptdate.value.split('/');
  				arvdate.value = getAdvanceDay(parseInt(dt[2]), parseInt(dt[0]), parseInt(dt[1]), 7);
//alert("adate2="+arvdate.value);
					try
					{
  				  dt = arvdate.value.split('/');
  		 	 		arvmon.value = dt[0]+'/'+dt[2];
//  				arvmon.selectedIndex = parseInt(dt[0]) -1;
  		 	  	arvday.value = dt[1];
//  				arvday.selectedIndex = parseInt(dt[1]) -1;
//					document.FORM1.amon.value = dt[0]+'/'+dt[2];
//  			  document.FORM1.aday.value = dt[1];
    			}
    			catch(theException)
    			{}
  		    errorMessage("");
    		}
  	}
  	// check for valid date
		checkDateError();
	}
//	catch(theException)
//	{
//	 alert("error");
//	}
}
function closeCalendar(objname)
{
 calclosed((objname == 'ukDeptDate')?'depart':'return');
 setContent('calendarform', '');
}
function setcalposition(elem)
{
 	var	top = -90;//-180;
	var	left = -90;
 left += getElementposition(document.getElementById(elem),'left');
 top += getElementposition(document.getElementById("ukDeptDate"),'top');
	setStyles('calendarform','top', new String(top)+'px');
	setStyles('calendarform','left', new String(left)+'px');
}
function refreshflash()
{
	 setContent('doflash', "<img src='images-form2/form-2_03.gif' width=224 height=169>");
}
function errorMessage(str)
{
  try
	{
	  document.getElementById('iderror').innerHTML = str;
	}
	catch(theException)
	{
	  if (str.length > 0)
	  	 alert(str);
	}
}
function checkDateError()
{
			// check for earlier than today
			if (is2maxdate2(document.FORM1.ukDeptDate.value))
			{
			 	if (document.FORM1.ukTripSearch.value == 'searchfareair')
			 			 errorMessage("It must be 1 day to 11 months in future");
				else if (document.FORM1.ukTripSearch.value == 'searchfarehotel')
			 			 errorMessage("It must be 1 day to 11 months in future");
				else if (document.FORM1.ukTripSearch.value == 'searchfarecar')
			 			 errorMessage("It must be 1 day to 11 months in future");
				try
				{
								document.FORM1.ddDepartDay.focus();
				}
				catch(theException)
				{
				 				document.FORM1.ukDeptDate.focus();
				}
				return false;
			}
 			else if (((document.FORM1.ukTripSearch.value == 'searchfareair' && document.FORM1.lastTripType.value == 'Roundtrip') ||
					 					document.FORM1.ukTripSearch.value == 'searchfarehotel' || document.FORM1.ukTripSearch.value == 'searchfarecar')
								&& is2maxdate2(document.FORM1.ukRetnDate.value))
			{
			 	if (document.FORM1.ukTripSearch.value == 'searchfareair')
			 			 errorMessage("It must be 1 day to 11 months in future.");
				else if (document.FORM1.ukTripSearch.value == 'searchfarehotel')
			 			 errorMessage("It must be 1 day to 11 months in future.");
				else if (document.FORM1.ukTripSearch.value == 'searchfarecar')
			 			 errorMessage("It must be 1 day to 11 months in future.");
				try
				{
				 	 document.FORM1.ddReturnDay.focus();
				}
				catch(theException)
				{
				 				document.FORM1.ukRetnDate.focus();
				}
				return false;
			}
 			else if (is2mindate2(document.FORM1.ukDeptDate.value))
			{
			 	if (document.FORM1.ukTripSearch.value == 'searchfareair')
			 			 errorMessage("It must be 1 day to 11 months in future");
				else if (document.FORM1.ukTripSearch.value == 'searchfarehotel')
			 			 errorMessage("It must be 1 day to 11 months in future");
				else if (document.FORM1.ukTripSearch.value == 'searchfarecar')
			 			 errorMessage("It must be 1 day to 11 months in future");
				try
				{
						document.FORM1.ddDepartDay.focus();
				}
				catch(theException)
				{
				 		document.FORM1.ukDeptDate.focus();
				}
				return false;
			}
			// check return date is later than depart date
			else if (		((document.FORM1.ukTripSearch.value == 'searchfareair' && document.FORM1.lastTripType.value == 'Roundtrip') ||
					 				document.FORM1.ukTripSearch.value == 'searchfarehotel' || document.FORM1.ukTripSearch.value == 'searchfarecar') 
							&& ((new Date(document.FORM1.ukRetnDate.value) - new Date(document.FORM1.ukDeptDate.value))/86400000) < 1)
			{
			 	if (document.FORM1.ukTripSearch.value == 'searchfareair')
			 			 errorMessage("Return must be later than depart");
				else if (document.FORM1.ukTripSearch.value == 'searchfarehotel')
			 			 errorMessage("Check out nust be later than check in");
				else if (document.FORM1.ukTripSearch.value == 'searchfarecar')
			 			 errorMessage("Drop off must be later than pick up");
				try
				{
				 	 document.FORM1.ddReturnMonth.focus();
				}
				catch(theException)
				{
				 		document.FORM1.ukRetnDate.focus();
				}
			 	 return false;
			}
			errorMessage('');
			return true;
}
function checkTripDate(dmon, dday, amon, aday, type)
{
		var st=0,st2=0;
		var ddat = '', adat='';
		var dt = null;
		var dyr='',ayr='',dmn='',amn='';
		errorMessage('');
		if (type == 'depart')
		{
		 	 try
			 {
  			 document.FORM1.dmon.value = dmon;
  			 document.FORM1.dday.value = dday;
			 }
			 catch(theException)
			 {}
			 dt = dmon.split('/');
			 document.FORM1.ukDeptDate.value = dt[0]+'/'+dday+'/'+dt[1];
  		 adat = getAdvanceDay(parseInt(dt[1]), parseInt(dt[0]), parseInt(dday), 7);
  		 document.FORM1.ukRetnDate.value = adat;
			 try
			 {							
    		 dt = adat.split('/');
    	 	 document.FORM1.ddReturnMonth.value = dt[0]+'/'+dt[2];
    	 	 document.FORM1.ddReturnDay.value = dt[1];
    		 document.FORM1.amon.value = dt[0]+'/'+dt[2];
    		 document.FORM1.aday.value = dt[1];
			 }
			 catch(theException)
			 {}
			 if (!checkDateError())
				 		return false;
		}
		else if (type == 'return')
		{
		   try
			 {
  			 document.FORM1.amon.value = amon;
  			 document.FORM1.aday.value = aday;
			 }
			 catch(theException)
			 {}
			 dt = amon.split('/');
		 	 document.FORM1.ukRetnDate.value = dt[0]+'/'+aday+'/'+dt[1];
		 	 if (!checkDateError())
		 			return false;
		}
		errorMessage("");
		return true;	
}

function checkDateErrorCAR()
{
			// check for earlier than today
			//alert(document.FORM4.ukDeptDate.value);
			//alert(document.FORM4.ukTripSearch.value);
			if (is2maxdate2(document.FORM4.ukDeptDate.value))
			{
			 	if (document.FORM4.ukTripSearch.value == 'searchfareair')
			 			 errorMessage("It must be 1 day to 11 months in future");
				else if (document.FORM4.ukTripSearch.value == 'searchfarehotel')
			 			 errorMessage("It must be 1 day to 11 months in future");
				else if (document.FORM4.ukTripSearch.value == 'searchfarecar')
			 			 errorMessage("It must be 1 day to 11 months in future");
				try
				{
								document.FORM4.ddDepartDay.focus();
				}
				catch(theException)
				{
				 				document.FORM4.ukDeptDate.focus();
				}
				return false;
				//alert('done maxdate check');
			}
 			else if (((document.FORM4.ukTripSearch.value == 'searchfareair' && document.FORM4.lastTripType.value == 'Roundtrip') ||
					 					document.FORM4.ukTripSearch.value == 'searchfarehotel' || document.FORM4.ukTripSearch.value == 'searchfarecar')
								&& is2maxdate2(document.FORM4.ukRetnDate.value))
			{
			 	if (document.FORM4.ukTripSearch.value == 'searchfareair')
			 			 errorMessage("It must be 1 day to 11 months in future.");
				else if (document.FORM4.ukTripSearch.value == 'searchfarehotel')
			 			 errorMessage("It must be 1 day to 11 months in future.");
				else if (document.FORM4.ukTripSearch.value == 'searchfarecar')
			 			 errorMessage("It must be 1 day to 11 months in future.");
				try
				{
				 	 document.FORM4.ddReturnDay.focus();
				}
				catch(theException)
				{
				 				document.FORM4.ukRetnDate.focus();
				}
				return false;
			}
 			else if (is2mindate2(document.FORM4.ukDeptDate.value))
			{
			 	if (document.FORM4.ukTripSearch.value == 'searchfareair')
			 			 errorMessage("It must be 1 day to 11 months in future");
				else if (document.FORM4.ukTripSearch.value == 'searchfarehotel')
			 			 errorMessage("It must be 1 day to 11 months in future");
				else if (document.FORM4.ukTripSearch.value == 'searchfarecar')
			 			 errorMessage("It must be 1 day to 11 months in future");
				try
				{
						document.FORM4.ddDepartDay.focus();
				}
				catch(theException)
				{
				 		document.FORM4.ukDeptDate.focus();
				}
				return false;
			}
			// check return date is later than depart date
			else if (		((document.FORM4.ukTripSearch.value == 'searchfareair' && document.FORM4.lastTripType.value == 'Roundtrip') ||
					 				document.FORM4.ukTripSearch.value == 'searchfarehotel' || document.FORM4.ukTripSearch.value == 'searchfarecar') 
							&& ((new Date(document.FORM4.ukRetnDate.value) - new Date(document.FORM4.ukDeptDate.value))/86400000) < 1)
			{
			 	if (document.FORM4.ukTripSearch.value == 'searchfareair')
			 			 errorMessage("Return must be later than depart");
				else if (document.FORM4.ukTripSearch.value == 'searchfarehotel')
			 			 errorMessage("Check out nust be later than check in");
				else if (document.FORM4.ukTripSearch.value == 'searchfarecar')
			 			 errorMessage("Drop off must be later than pick up");
				try
				{
				 	 document.FORM4.ddReturnMonth.focus();
				}
				catch(theException)
				{
				 		document.FORM4.ukRetnDate.focus();
				}
			 	 return false;
			}
			
			errorMessage('');
			return true;
}

function checkDateErrorHOTEL()
{
			// check for earlier than today
			//alert(document.FORM2.ukDeptDate.value);
			//alert(document.FORM2.ukTripSearch.value);
			if (is2maxdate2(document.FORM2.ukDeptDate.value))
			{
			 	if (document.FORM2.ukTripSearch.value == 'searchfareair')
			 			 errorMessage("It must be 1 day to 11 months in future");
				else if (document.FORM2.ukTripSearch.value == 'searchfarehotel')
			 			 errorMessage("It must be 1 day to 11 months in future");
				else if (document.FORM2.ukTripSearch.value == 'searchfarecar')
			 			 errorMessage("It must be 1 day to 11 months in future");
				try
				{
								document.FORM2.ddDepartDay.focus();
				}
				catch(theException)
				{
				 				document.FORM2.ukDeptDate.focus();
				}
				return false;
				//alert('done maxdate check');
			}
 			else if (((document.FORM2.ukTripSearch.value == 'searchfareair' && document.FORM2.lastTripType.value == 'Roundtrip') ||
					 					document.FORM2.ukTripSearch.value == 'searchfarehotel' || document.FORM2.ukTripSearch.value == 'searchfarecar')
								&& is2maxdate2(document.FORM2.ukRetnDate.value))
			{
			 	if (document.FORM2.ukTripSearch.value == 'searchfareair')
			 			 errorMessage("It must be 1 day to 11 months in future.");
				else if (document.FORM2.ukTripSearch.value == 'searchfarehotel')
			 			 errorMessage("It must be 1 day to 11 months in future.");
				else if (document.FORM2.ukTripSearch.value == 'searchfarecar')
			 			 errorMessage("It must be 1 day to 11 months in future.");
				try
				{
				 	 document.FORM2.ddReturnDay.focus();
				}
				catch(theException)
				{
				 				document.FORM2.ukRetnDate.focus();
				}
				return false;
			}
 			else if (is2mindate2(document.FORM2.ukDeptDate.value))
			{
			 	if (document.FORM2.ukTripSearch.value == 'searchfareair')
			 			 errorMessage("It must be 1 day to 11 months in future");
				else if (document.FORM2.ukTripSearch.value == 'searchfarehotel')
			 			 errorMessage("It must be 1 day to 11 months in future");
				else if (document.FORM2.ukTripSearch.value == 'searchfarecar')
			 			 errorMessage("It must be 1 day to 11 months in future");
				try
				{
						document.FORM2.ddDepartDay.focus();
				}
				catch(theException)
				{
				 		document.FORM2.ukDeptDate.focus();
				}
				return false;
			}
			// check return date is later than depart date
			else if (		((document.FORM2.ukTripSearch.value == 'searchfareair' && document.FORM2.lastTripType.value == 'Roundtrip') ||
					 				document.FORM2.ukTripSearch.value == 'searchfarehotel' || document.FORM2.ukTripSearch.value == 'searchfarecar') 
							&& ((new Date(document.FORM2.ukRetnDate.value) - new Date(document.FORM2.ukDeptDate.value))/86400000) < 1)
			{
			 	if (document.FORM2.ukTripSearch.value == 'searchfareair')
			 			 errorMessage("Return must be later than depart");
				else if (document.FORM2.ukTripSearch.value == 'searchfarehotel')
			 			 errorMessage("Check out nust be later than check in");
				else if (document.FORM2.ukTripSearch.value == 'searchfarecar')
			 			 errorMessage("Drop off must be later than pick up");
				try
				{
				 	 document.FORM2.ddReturnMonth.focus();
				}
				catch(theException)
				{
				 		document.FORM2.ukRetnDate.focus();
				}
			 	 return false;
			}
			
			errorMessage('');
			return true;
}

