var n=navigator,B=(n.userAgent+n.appName).toLowerCase(),V=parseInt(n.appVersion);
var N4=(B.indexOf("netscape")!=-1&&V==4),IE=(B.indexOf("microsoft")!=-1);
 
var calForm;
var dropDay1,dropMonth1,dropDay2,dropMonth2;
var currButtonNo;
 
var initDay,initMonth,initYear;
var endDay,endMonth;
var numMonths;
var anyMonthVal = 0;
var anyText = "";
 
var calWidth=142;
var calHeight=182;
 
var bPressed,calendar;
var calendarHTML="";
var monthNames=new Array("x","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");//placeholders

if(!N4)document.onmouseup=function(e){
if(calendar)
{
 calendar.hide();
 }
 if(bPressed){
  bPressed=false;
  showCalendar(e);}
}

function startUpCalendar(stDate,endDate,formName,dd1,dm1,dd2,dm2){
 if(N4)return;
 if(!document.all)document.all=document.getElementsByTagName("*");
 calForm=document.forms[0];
 dropDay1=calForm[dd1];dropMonth1=calForm[dm1];
 dropDay2=calForm[dd2];dropMonth2=calForm[dm2];
  if(dropDay1) anyText = dropDay1.options[0].text;
 calendar=new LayerFrame('cIframe');
 stPos=currpos=0;
 
 initDate=stDate.split('/');
 initDay=initDate[0]*1,initMonth=initDate[1]*1,initYear=initDate[2];
 endDate=endDate.split('/');
 endDay=endDate[0]*1,endMonth=endDate[1]*1;
 if(endMonth>initMonth)numMonths=endMonth-initMonth+1;
 else numMonths=(12-initMonth)+endMonth+1;
 if(endMonth==initMonth)numMonths=1;
}
 
function setCalendar(buttonNo,param){
 bPressed=true;
 currButtonNo=buttonNo;
 var ops=eval('dropMonth'+buttonNo);
 for(i=0;i<ops.length;i++){
  var opVal=ops.options[i].value;
 }
 var acMonth=eval('dropMonth'+buttonNo).value;
 //FIXED
 acMonth = acMonth.split(" ");
 acMonth=acMonth[0];
 var currMonth=getChronMonth(eval(acMonth)*1);
 /////
 if(eval('dropMonth'+buttonNo).value*1==anyMonthVal)currMonth=getChronMonth(initMonth);//if on "any"
 currpos=calHeight*currMonth;
 getCalendarHTML(param);
 var cIframe=frames['cIframe'];
 cIframe.document.write(calendarHTML);
 cIframe.document.close();
}
 
function showCalendar(e){
 var button=new posElement((IE)?event.srcElement:e.target);
 posX=button.x;posY=button.y;
 doc_height=document.body.clientHeight+(IE?document.body.scrollTop:0);
 if(posY>doc_height-calHeight)calendar.show(posX+25-140,posY-calHeight+20-25);
 else calendar.show(posX+25-140,posY-25);  
}
 
function posElement(element){
 this.x=element.offsetLeft;
 this.y=element.offsetTop;
    var pElement=element.offsetParent;
    while(pElement && pElement.id!='master_center'){
        this.x+=pElement.offsetLeft;
        this.y+=pElement.offsetTop;
        pElement=pElement.offsetParent;}
}
 
function LayerFrame(id){
 this.style=eval('document.all.'+id).style;
 this.reset=cReset;
 this.show=function(x,y){cReset();this.style.left=x+"px";this.style.top=y+"px";}
 this.hide=function(){this.style.top="-2000px";}
 this.next=scrollDown;
 this.previous=scrollUp;
}
 
function cReset(){
 //cIframe.scroll(0,stPos);currpos=stPos;
 cIframe.scroll(0,currpos);//keep state
}
 
function scrollDown(){
 currpos+=calHeight;
 cIframe.scroll(0,currpos);
}
 
function scrollUp(){
 currpos-=calHeight;
 if(currpos>0)cIframe.scroll(0,currpos);
 else{currpos=stPos;calendar.reset();}
}
 
function displayDate(dt,param)
{
	calendar.hide();
	var DMY=dt.split("/");
	var day=DMY[0];
	//FIXED
	if(DMY[1]<10)
	{
		//var month=DMY[2]+"0"+DMY[1];
		var month=DMY[1] +" "+DMY[2];
	}
	else
	{
		///var month=DMY[2]+DMY[1];
		var month=DMY[1] +" "+DMY[2];
	}
	setDropdowns(day,month,currButtonNo);
	if(param=='')
	{
		//if(dropDay2)syncDropdowns();
		reconcile_dates(DMY[0]*1, DMY[1]*1, DMY[2]*1, "document.forms[0].enddate")
	}
	else
	{
		if(dropDay2)
		{
			syncReverse()
		}
	}
}
 
function syncDropdowns(){
 var d1=dropDay1.value*1;
 var d2=dropDay2.value*1;
 var m1=dropMonth1.value*1;
 var m2=dropMonth2.value*1;
 if(m1==0||m2==0)return;
 var cm1=getChronMonth(m1),cm2=getChronMonth(m2);
 
 if(cm1>cm2||(cm1==cm2&&d1>=d2)){
 var tg,setDay,setMonth;
  if(currButtonNo==1){
   setDay=d1+1;setMonth=m1;
   if(!hasOptionVal(dropDay1,setDay))
   {
		setMonth+=1;
		setMonth=setMonth+"";
		if(eval(setMonth.split(" ")[0])>12)
		{
			setMonth=eval(setMonth.substring(0,4))+1;
			setMonth=setMonth+"0"+1;
		}
		setDay=1;
	}
   if(m1==endMonth&&d1==endDay){setMonth=m1;setDay=d1;}
  setDropdowns(setDay,setMonth,2);
  }
 if(currButtonNo==2){
   setDay=d2;setMonth=m2;
  setDropdowns(setDay,setMonth,1);
  }
 }
}


function syncReverse(){
 var d1=dropDay1.value*1;
 var d2=dropDay2.value*1;
 var m1=dropMonth1.value*1;
 var m2=dropMonth2.value*1;
 if(m1==0||m2==0)return;
 var cm1=getChronMonth(m1),cm2=getChronMonth(m2);
 if(cm1<cm2||(cm1==cm2&&d1<d2)){
 
 var tg,setDay,setMonth;
  if(currButtonNo==1){
   setDay=d1-1;setMonth=m1;
   if(!hasOptionVal(dropDay2,setDay))
   {
		setMonth=setMonth-1;
		setMonth=setMonth+"";
		if(eval(setMonth.split(" ")[0])==0)
		{
			setMonth=eval(setMonth.substring(0,4))-1;
			setMonth=setMonth+""+12;
		}
		setDay=getNumDays(setMonth.split(" ")[0]);
	}
   if(m2==initMonth&&d2==initDay){setMonth=m2;setDay=d2;}
  setDropdowns(setDay,setMonth,2);
  }
 if(currButtonNo==2){
   setDay=d2;setMonth=m2;
  setDropdowns(setDay,setMonth,1);
  }
  }
}

function setDropdowns(dv,mv,bn){
 var drDay=eval("dropDay"+bn);
 var drMonth=eval("dropMonth"+bn);
  selOptionVal(drMonth,mv);
  setDays1(bn);
  selOptionVal(drDay,dv);
}
 
function selOptionVal(ob,val){
 var ops=new Object();
 for(var i=0;i<ob.length;i++)ops[ob[i].value]=ob[i];
 if(ops[val])ops[val].selected=true;
}
 
function hasOptionVal(ob,val){
 var ops=new Object();
 for(var i=0;i<ob.length;i++)ops[ob[i].value]=ob[i];
 if(ops[val])return true;
 else return false;
}
 
function getChronMonth(month){
 var cM=month-initMonth;
 return (cM<0)?cM+12:cM;
}
 
function getCalendarHTML(param){
 calendarHTML="";
 var currDate=new Date(Date.UTC(initYear,initMonth-1,initDay));//yyyy/mm from 0/d from 1
 
 calendarHTML+='<html><head><title>Calendar</title><style type="text/css">\
  body{font-family:Verdana,sans-serif;font-size:13px;}\
  a{text-decoration:none;}\
  a:hover{text-decoration:underline;}\
  td{font-family:Verdana,Helvetica,sans-serif;font-size:10px;text-align:center;color:#cccccc}\
  td a{color:#000000;}\
  b{color:#000000;}\
  .white{color:#FFFFFF;text-decoration:bold;}\
  .black{color:#000000;}\
  </style></head><body bgcolor="#000000" leftmargin="1" topmargin="1">'
 
 for(i=1;i<=numMonths;i++){//For each month
 
  var month=currDate.getMonth()+1;//mm is from 0
  var numDays=getNumDays(month);
  var year=currDate.getYear();if(year<2000)year+=1900;
 
  currDate.setDate(1);//set to first of the month and get day of the week
  var firstDay=currDate.getDay()-1;//Sun is 0 from getDay() but we run from Mon
  if(firstDay<0)firstDay=6;
 
 //Compile HTML
 //FIXED
   if(i!=1)
   {
  var monthHTML='\
   <table border="0" cellspacing="0" cellpadding="0" height="180" width="140" bgcolor="#FFFFFF">\
		<tr><td colspan="7" bgcolor="#000000"></td></tr>\
   <tr><td height="20" width="15" bgcolor="#DB1515">';
   }
   else
   {
  var monthHTML='\
   <table border="0" cellspacing="0" cellpadding="0" height="180" width="140" bgcolor="#FFFFFF">\
   <tr><td height="20" width="15" bgcolor="#DB1515">';
   }
  if(i>1)
   monthHTML+='<a style="color: #FFFFFF" href="javascript:parent.calendar.previous()"><<</a>';
  else
   monthHTML+='';

   monthHTML+='</td><td colspan="5" width="100" bgcolor="#DB1515" class="white">'+ monthNames[currDate.getMonth()+1] +
   ' ' + year + '</td><td bgcolor="#DB1515" width="20">';
   
  if(i<numMonths)
   monthHTML+='<a style="color: #FFFFFF" href="javascript:parent.calendar.next()">>></a>';
  else
   monthHTML+='';
 
   monthHTML+='</td></tr><tr><td height="20" width="20" bgcolor="#ED8465"><b>M</b></td><td width="20" bgcolor="#ED8465"><b>T</b></td><td width="20" bgcolor="#ED8465"><b>W</b></td>\
   <td width="20" bgcolor="#ED8465"><b>T</b></td><td width="20" bgcolor="#ED8465"><b>F</b></td><td width="20" bgcolor="#ED8465"><b>S</b></td><td width="20" bgcolor="#ED8465"><b>S</b></td></tr>';
 
  for(j=0;j<42;j+=7){//for 6 week slots in month
 
   monthHTML+='<tr>';
 
   for(k=1;k<8;k++){//for each day of week
 
    var slotNo=j+k;
    var countFromFirstDay=slotNo-firstDay;
    var isLink=(slotNo>firstDay)&&(countFromFirstDay<=numDays);
    var preDays=(month==initMonth&&countFromFirstDay<initDay);
    if(currButtonNo==2){
     var M=dropMonth1.value*1,D=dropDay1.value*1;
     var M1=getChronMonth(M),cM=getChronMonth(month);
     preDays=(cM<M1)||(cM==M1&&countFromFirstDay<D);
     if(M==anyMonthVal||D==0)preDays=(month==initMonth&&countFromFirstDay<initDay);//if on "any"
    }
    var postDays=(month==endMonth&&countFromFirstDay>endDay);
    var dateToShow=(isLink)?countFromFirstDay:'';
 
   //compile displayDate('dd/mm/yyyy') argument for link
    var dateDay=countFromFirstDay;
    var dateMonth=currDate.getMonth()+1;
    var dateYear=currDate.getFullYear();
    var dateString=dateDay+"/"+dateMonth+"/"+dateYear;
 
   //Write table cell with link
    monthHTML+='<td height="20" bgcolor="#FEF8E0">';
    if(isLink&&!preDays&&!postDays)
    monthHTML+='<a href="javascript:parent.displayDate(\''+dateString+'\',\''+param+'\')">';
    monthHTML+=dateToShow;
    if(isLink&&!preDays&&!postDays)
    monthHTML+='</a>';
    monthHTML+='</td>';
   }
   monthHTML+='</tr>';
  }
   monthHTML+='\
   <tr><td height="20" bgcolor="#FEF8E0" class="white">&nbsp;</td>\
   <td colspan="5" bgcolor="#FEF8E0"><a href="javascript:parent.calendar.hide()" class="black"><u>Close</u></a></td>\
   <td bgcolor="#FEF8E0" class="white">&nbsp;</td></tr>\
   <tr><td colspan="7" bgcolor="#000000"></td></tr></table>'
 
  calendarHTML+=monthHTML+'</body></html>';
 
  currDate.setMonth(currDate.getMonth()+1);
 }
}
 
function getNumDays(M){
 if(M==2){
  var febYear=(initMonth<=2)?initYear:initYear*1+1;
  var febDate=new Date(Date.UTC(febYear,1,29));//yyyy/mm from 0/d from 1
  return (febDate.getMonth()==1)?29:28;
 }
 else return (M==9||M==4||M==6||M==11)?30:31;
}
 
//DROPDOWNS--
function setDays1(buttonNo){
 if(N4)return;
 var D=eval("dropDay"+buttonNo).value*1;
 //FIXED
 var M=eval("dropMonth"+buttonNo).value;
 M=M.split(" ")[0];
 M=eval(M)*1;
 var daysDD=eval("dropDay"+buttonNo);
 
 daysDD.length=0;
// daysDD.options[0]=new Option(anyText,0);
 for(i=1;i<=getNumDays(M);i++)daysDD.options[i-1]=new Option(i,i);
 if(hasOptionVal(daysDD,D))selOptionVal(daysDD,D);//keep day selected
 else daysDD[0].selected=true;//or set to first
}
 
function setDates(buttonNo){//onchange from month dropdown
 if(N4)return;
 setDays1(buttonNo);
 currButtonNo=buttonNo;
 if(dropDay2)syncDropdowns();
}

//SETTING DAYS OF MONTH
function setMonthDays(monthValue,dayObj){
 if(N4)return;
 var D=dayObj.value*1;
 var M=monthValue;
 M=M.split(" ")[0];
 M=eval(M)*1;
 var daysDD=dayObj;
 
 daysDD.length=0;
 ////
// daysDD.options[0]=new Option(anyText,0);
 for(i=1;i<=getNumDays(M);i++)daysDD.options[i-1]=new Option(i,i);
 if(hasOptionVal(daysDD,D))selOptionVal(daysDD,D);//keep day selected
 else daysDD[0].selected=true;//or set to first
}

document.write('<iframe style="position:absolute;width:'+calWidth+'px;height:'+calHeight+'px;left:34px;top:-500px;z-index:100;" noresize frameborder="0" scrolling="no" id="cIframe" name="cIframe" src="javascript:\'Loading...\'"><'+'/iframe>');
//start,end,form,day1,month1,day2,month2



/// Synchronize the departure and arrival dates when changed
function SyncDates(depDayObject, depMonthObject, arrDayObject, arrMonthObject, eventType){
	/// Change the month if needed	
	if(depMonthObject.selectedIndex > arrMonthObject.selectedIndex)
		(eventType == "depart")? arrMonthObject.selectedIndex = depMonthObject.selectedIndex: depMonthObject.selectedIndex = arrMonthObject.selectedIndex;
	///Change the day if needed
	if(depMonthObject.selectedIndex == arrMonthObject.selectedIndex && depDayObject.selectedIndex > arrDayObject.selectedIndex)
		(eventType == "depart")? arrDayObject.selectedIndex = depDayObject.selectedIndex : depDayObject.selectedIndex = arrDayObject.selectedIndex;	
}
//script for populating holiday quote
function changequote(formfield) {
	var index = formfield.selectedIndex;
	if (formfield.options[index].value != "") {
		window.location.href = formfield.options[index].value;
	}
}


<!-- GLB - eblws04 -->
