rightnow = new Date();
function month(i,name) {
	var thisyear = rightnow.getFullYear();
	var nextyear = thisyear + 1;
	var year = -1;
	var a = "<option value=\"";
if (i<rightnow.getMonth()) { 
  a +=nextyear;
  year = nextyear;
} else { 
  a +=thisyear;
  year = thisyear;
}
(i<9) ? a += "0"+(i+1) : a +=(i+1);
a += "\">"+name+" "+year+"</option>\n";
this.option = a;
}
months = new Array(new month(0,"January"), new month(1,"February"),new month(2,"March"),new month(3,"April"),new month(4,"May"), new month(5,"June"), new month(6,"July"), new month(7,"August"), new month(8,"September"), new month(9,"October"), new month(10,"November"), new month(11,"December"));

function opodoSetDate() {	
	tomorrow = new Date(rightnow.getTime()+(86400000));
	document.flightSearch_uk_affiliate.td_D_Day.selectedIndex = tomorrow.getDate()-1;
	document.flightSearch_uk_affiliate.td_D_Month.selectedIndex = tomorrow.getMonth();	
	then = new Date(tomorrow.getTime()+(604800000))
	document.flightSearch_uk_affiliate.td_R_Day.selectedIndex = then.getDate()-1;
	document.flightSearch_uk_affiliate.td_R_Month.selectedIndex = then.getMonth();
}

function opodoIsLeapYear(year){
	((((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))) ? true : false;	
}

function opodoValidMonthDay(dayVal, monthVal, yearVal){
	var error = 0;
	if ((monthVal.substr(4,2) == 4)||(monthVal.substr(4,2) == 6)||(monthVal.substr(4,2) == 9)||(monthVal.substr(4,2) == 11)){
		if (dayVal>30) error = 1;	
	}
	else if (monthVal.substr(4,2) == 2){
				if (opodoIsLeapYear(yearVal)){
					if (dayVal>29) error = 1;			
				} else if (dayVal>28) error = 1;
	}
	return (error == 1) ? false : true;	
}

function opodoCreateDate(day, monthYear) {
	dayVal = day.options[day.selectedIndex].value;
	monthYearVal = monthYear.options[monthYear.selectedIndex].value;	
	x = dayVal.substr(0,1);
	(x == "0") ? day = parseInt(dayVal.substr(1,1)) : day = parseInt(dayVal.substr(0,2));	
	y = monthYearVal.substr(4,1);
	(y == "0") ? month = parseInt(monthYearVal.substr(5,1)) : month = parseInt(monthYearVal.substr(4,2));
	year = parseInt(monthYearVal.substr(0,4));
	if (year < 1900) year = year + 1900;	
	date = new Date(year, month-1, day);
	return date; 
}
function opodoValidReturnDate(formName, elementArray) {
	firstDayField = eval('document.' + formName + '.'  + elementArray[0]);
	firstMonthField = eval('document.' + formName + '.'  + elementArray[1]);
	secondDayField = eval('document.' + formName + '.'  + elementArray[2]);
	secondMonthField = eval('document.' + formName + '.'  + elementArray[3]);
	firstDay = eval('document.' + formName + '.'  + elementArray[0] + ".options[" + 'document.' + formName + '.' + elementArray[0] + '.selectedIndex].value');
	firstMonth = eval('document.' + formName + '.'  + elementArray[1] + ".options[" + 'document.' + formName + '.' + elementArray[1] + '.selectedIndex].value');
	firstYear = firstMonth.substr(0,4);
	secondDay = eval('document.' + formName + '.'  + elementArray[2] + ".options[" + 'document.' + formName + '.' + elementArray[2] + '.selectedIndex].value');
	secondMonth = eval('document.' + formName + '.'  + elementArray[3] + ".options[" + 'document.' + formName + '.' + elementArray[3] + '.selectedIndex].value');
	secondYear = secondMonth.substr(0,4);
	if ((opodoValidMonthDay(firstDay, firstMonth, firstYear))&& (opodoValidMonthDay(secondDay, secondMonth, secondYear))){			
		opodoCreateDate(firstDayField, firstMonthField);
		outboundDate = date;
		opodoCreateDate(secondDayField, secondMonthField);
		returnDate = date;
		return ((outboundDate.valueOf() <= returnDate.valueOf() )&&(outboundDate.valueOf() >= rightnow.valueOf())) ? true : false;		 
	} else {return false;}
}	

function opodoFlightSearchSubmit(buttonValue)
{
  document.flightSearch_uk_affiliate.td_whereTo.value = buttonValue;
  document.flightSearch_uk_affiliate.td_BE_QUICK_SEARCH_FLAG.value = true;
  var datesArray= new Array('td_D_Day', 'td_D_Month', 'td_R_Day', 'td_R_Month');
  var formN = 'flightSearch_uk_affiliate';
  if ((document.flightSearch_uk_affiliate.td_A_City.value.length > 0) && (document.flightSearch_uk_affiliate.td_D_City.value.length > 0)) {
	if (opodoValidReturnDate(formN, datesArray)) {
		return true;
	} else {
		alert("Please enter a valid date for travel"); 
	  return false;
	}
  } else {
	if (document.flightSearch_uk_affiliate.td_D_City.value.length <= 0) {
	  alert("Please provide a departure city and try again");
	  return false;
	} else {
	  alert("Please provide an arrival city and try again");
	  return false;
	}
  }
}
//do status barstuff
function a(txt) {
    self.status = txt
    }
    function b()
    {
self.status = ""
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
