function BC (id)
{
 var obj = document.getElementById(id);
 return obj;
}
var num=8;

var ddd;
var mmm;
var yyy;
var errFlight01 = ''//'The name of a city or an airport code from where you would like to start your flight.';
var errFlight02 = ''//'The name of a city or an airport code where you are going.';
var errFlight03 = ''//'The date you would like to leave for your trip';
var errFlight04 = ''//'The date you would like to return from your trip.';
var errs = new Array();
var htlLoad = true;
var lbls = new Array();
var tdate = new Date();
var req;
var udCtr = 0;
var stctr = 0;
var calClose = 0;
var charList="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\300\301\302\303\304\305\310\311\312\313\314\315\316\317\321\322\323\324\325\326\331\332\333\334\335\340\341\342\343\344\345\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\371\372\373\374\375\377,[]- ";
var monthNames1 = new Array('January','Febuary','March','April','May','June','July','August','September','October','November','December');
var weekday=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var xdate;
var xrdate;
var myDate = new Date();
var myFromDate = new Date(); 
        xdate = myFromDate.getDate() + "/" + (myFromDate.getMonth()+1) + "/" + myFromDate.getFullYear();
        xrdate = myFromDate.getDate() + "/" + (myFromDate.getMonth()+1) + "/" + myFromDate.getFullYear()



function GetMonthMaxDays(y,m) // accepts 0 index month
{
	return new Date(y,m+1,0).getDate();
}



function CreateDay(y,m,d,t)
{ // Function to create table cells for each day of month and all empty days
	if(t=='flret'){
		var today = new Date(yyy,mmm-1,ddd);
	}else{
		var today = new Date();
	}
	var c = document.createElement('td');
	if (y == 0 && m == 0)
	{
		c.innerHTML = '&nbsp;';
		//c.style.backgroundColor = '#ddd;';
	}
	else if ( (t == 'dpdep' || t == 'dpret') && (y < today.getFullYear() || (y == today.getFullYear() && m-1 < today.getMonth()) || 	(y == today.getFullYear() && m-1 == today.getMonth() && d < (today.getDate()+3))) ){
		c.style.textDecoration = 'line-through';
		c.innerHTML = d;
	}
	else if ( (t != 'dpdep' && t != 'dpret') && (y < today.getFullYear() || (y == today.getFullYear() && m-1 < today.getMonth()) || 	(y == today.getFullYear() && m-1 == today.getMonth() && d < today.getDate())) ) {
		c.style.textDecoration = 'line-through';
		c.innerHTML = d;
		//c.style.backgroundColor = '#fdd;';
	} else {
			c.innerHTML = '<a href="javascript:SetDates('+y+','+m+','+d+',\''+t+'\')">' + d +'<\/a>'
	}
	return c;
}

function CloseCalendar()
{
 BC('cal').style.display = 'none';
 var elList = new Array('td_departspan','td_returnspan','td_adult','td_seniors','td_children');
 for (var ctr = 0; ctr < elList.length; ctr++)
 {
  if (BC(elList[ctr])) {
   BC(elList[ctr]).style.visibility = 'visible';
  }
 }
calClose = 0;
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function ShowHideCalendar(requestor,elem,pos)
{
	req = requestor;
	if (req == 'close' || calClose == 1){ CloseCalendar(); calClose == 0;}
	else {
		calClose = 1;
		var doCar = '';
		var y = 0;
		var m = 0;
		var d = 0;
		var xpos = findPosX(elem);
		var ypos = findPosY(elem);
		BC('cal').style.display = 'block';
		BC('cal').style.top = ypos +'px';
		BC('cal').style.left = xpos +'px';
		
		switch (req){
				case "fldep":
				fltmpDt =BC('td_departdate').value;
				if(fltmpDt == 'dd/mm/yy' || fltmpDt == '' || !(fltmpDt.match(/^([0-9]){2}(\/){1}([0-9]){2}(\/)([0-9]){2,4}$/))){
					fltmpDt = xdate;
				}
				fltmpDt = fltmpDt.split("/");
				d = fltmpDt[0];
				m = fltmpDt[1];
				if(m > 12 || m < 1)
				{
					m=myFromDate.getMonth()+1
				}
				y = fltmpDt[2];
				if(y.length <= 2){
					y = "20"+y;
				}
				
				if(pos == 1){
				//	BC('td_departspan').style.visibility = 'hidden';	
					xpos -= 130;   
				}
				 ypos +=20;
				BC('cal').style.left = xpos +'px';
				BC('cal').style.top = ypos +'px';
				break;
									
				default : break;
			}
			
			
		writeCalendar(d,m,y,req);
	}
}

function writeCalendar(d,m,y,t)
{
	var target = t;
	var renderObj = document.getElementById('calBody');
	if (renderObj.hasChildNodes)
	{
		while (renderObj.hasChildNodes()) {renderObj.removeChild(renderObj.firstChild);}
	}
	var days = new Array();
	var rawdays = new Array();
	var baseDate = new Date(y,m-1,1);
	var dow = baseDate.getDay();
	
	var maxDays = new Date(y,m,0).getDate();
	for (var ctr = 0; ctr < maxDays; ctr++)
	{
		rawdays.push(new Date(y,m-1,ctr+1));
	}
	var fday = rawdays[0].getDay();
	var lday = fday + maxDays-1;
	var dctr = 0;
	var start = (fday == 0) ? -6:1;
	var stop = (fday ==0)? 36:43;
	var day=fday
	for (var ctr= start; ctr< stop;ctr++)
	{
		
		if (ctr < fday || ctr > lday) days.push(CreateDay(0,0,0,''));
		else {
			days.push(CreateDay(rawdays[dctr].getFullYear(),rawdays[dctr].getMonth()+1,rawdays[dctr].getDate(),target));
			dctr++;
			day++
		}		
	}
	for (var i = 0; i < days.length;)
	{
		var r = document.createElement('tr');
		if (i>7 && days[i].innerHTML == '&nbsp;') break;
		for (var x = 0; x<7; x++)
		{
			r.appendChild(days[i++])
		}
		renderObj.appendChild(r);
		
	}
var month;
if(m == "08" || m=="09"){
	if(m == "08"){m=8;}
	if(m == "09"){m=9;}
}else{
	m = parseInt(m);
}

	BC('showD').innerHTML = '<table cellspacing="0" cellpadding="0" border="0" width="100%"><tr><td style="border-color:#008389;" width="15%"><a href="javascript:writeCalendar(1,' + (m-1) + ','+y+',\''+t+'\')" ><font color="#ffffff"><b><<</b></a></td><td width="70%" style="border-color:#008389"><font color="#ffffff"><b>'+  monthNames1[baseDate.getMonth()] + ' ' + baseDate.getFullYear()+'<b></font></td><td style="border-color:#008389;" align="right" width="15%">'+
/*	BC('showD').innerHTML +=*/ '<a href="javascript:writeCalendar(1,' + (m+1) + ','+y+',\''+t+'\')" ><font color="#ffffff"><b>>></b></a></td></tr></table>'
}

function SetDates(iy,im,id,t){
				
	var safeDate = new Date(iy,im-1,id);
	var y = safeDate.getFullYear();
	var m = parseInt(safeDate.getMonth(),10) +1;
	var d = safeDate.getDate();
	var dayName=(weekday[safeDate.getDay()]).substring(0,3);
	var dT;
	var mT;
	var sisterField = '';
	var compareValue = 0;
	var mode = 0;
	
	switch (t)
	{
		case 'fldep':
			BC('td_departdate').value = d + '/' + m + '/' + y;
			setTable(d + '/' + m + '/' + y)
			break;
		
	}
	
	if (sisterField != '') UpdateDates(sisterField);
	CloseCalendar();	
}

function pager()
{
	var temp1=document.getElementById("scrollHead").getElementsByTagName("span");	
	var temp2=document.getElementById("scrollRow1").getElementsByTagName("span");
	var temp3=document.getElementById("scrollRow2").getElementsByTagName("span");
	for (var i=1 ; i<temp1.length ;i++)
	{
		temp1[i].style.display='none';
		temp2[i].style.display='none';
		temp3[i].style.display='none';

	}

}
function displayPage(num)
{
	
	//alert(num+"::"+rows[num].childNodes[2].childNodes[1].childNodes[1].src)
	//alert(rows[++num].hasChildNodes())
	var temp1=document.getElementById("scrollHead").getElementsByTagName("span");	
	var temp2=document.getElementById("scrollRow1").getElementsByTagName("span");
	var temp3=document.getElementById("scrollRow2").getElementsByTagName("span");
	var m=0;
	if(num <= 6){
		document.getElementById('prevStep').style.visibility='hidden';
		m=1;
	}else{
		document.getElementById('prevStep').style.visibility='visible';
		m=0;
	}
	
	//alert(rows[num].childNodes[3].childNodes[1].childNodes[1].src)
	for (var i=1 ; i<6 ;i++)
	{
		if(num<=6)
			r=i;
		else
			r=(num-6)+i;
		
		temp1[r].style.display='';
		temp2[r].style.display='';
		temp3[r].style.display='';

	}
	
if(parseInt(num+6) <= temp1.length )
{
	document.getElementById('nextStep').style.visibility='visible';
}else{
	document.getElementById('nextStep').style.visibility='hidden';
}

//rows[num].childNodes[3].childNodes[1].childNodes[1].src//rows[num].cells(1).childNodes[0].childNodes[0].src//rows[num].columns[0].a.img.source;
}


function setTable(dt)
{
	document.propertyformnext.start_date.value = formatDt1(dt);
	document.propertyformnext.submit();

}

function formatDt(dte)
{
	var temp=dte.split("-");
	var formattedDt=temp[0]+"/"+temp[1]+"/"+temp[2];
	return formattedDt;
}
function formatDt1(dte)
{
	var temp=dte.split("\/");
	var formattedDt=temp[0]+"-"+temp[1]+"-"+temp[2];
	return formattedDt;
}


function calBlank(object)
{
	if(object.value == "dd/mm/yyyy"){
		object.value='';
	}else if(object.value == ""){
		object.value="dd/mm/yyyy";
	}
}

function openwindow(url)
{
	window.open(url,"mywindow","menubar=no,toolbar=no,resizable=no,width=550,height=520,location=no");
}
