/* Event Functions */

// Add an event to the obj given
// event_name refers to the event trigger, without the "on", like click or mouseover
// func_name refers to the function callback when event is triggered

var urlAddress = "http://www.cheapticketflights.ca"; 
var pageName ="www.CheapTicketFlights.ca - Compare prices and Save!"; 
    function addToFavorites() { if (window.external) { window.external.AddFavorite(urlAddress,pageName) 
    } else { alert("Sorry! Your browser doesn't support this function."); 
    } }

function CheckFlightsForm()
{
   var cntrl;
   var cntrlDtFrom, cntrlDtTo
   
   cntrl = document.getElementById('txtFrom');
   if ((cntrl.value.trim()=="") || (cntrl.value.length <3))
   {
     alert('Please Select From Location');
     cntrl.focus();
     return false;
    }
    
    cntrl = document.getElementById('txtTo');
      if ((cntrl.value.trim()=="") || (cntrl.value.length <3))
      {
        alert('Please Select To Location');
        cntrl.focus();
        return false;
       }
    
   
   cntrlDtFrom = document.getElementById('txtDepartDt');
   if (cntrlDtFrom.value.trim()=="")
   {
     alert('Please Select Depart Date');
     cntrlDtFrom.focus();
     return false;
    }
	
	
   cntrlWay = document.getElementById('rbList_0');
   if (cntrlWay.checked)
   {
      cntrlDtTo = document.getElementById('txtReturnDt');
       if (cntrlDtTo.value.trim()=="")
       {
         alert('Please Select Return Date');
         cntrlDtTo.focus();
         return false;
        }
    }
		
 
   //if (cntrlDtFrom.value > cntrlDtTo.value)
   // {
    
      // alert('Return Date Must be Greater than From Date');
      // cntrlDtFrom.focus();
       //return false;
   // }
    
    return true;
}

function CheckHotelForm()
{
   var cntrl0,cntrl1,cntrl2,cntrl3,cntrl4,cntrl5
   var cntrl6, cntrl7,cntrl8,cntrl9,cntrl10,cntrl11
   var cntrlCity, cntrlDtFrom, cntrlDtTo
   
   cntrl0 = document.getElementById('rbList_0');
   cntrl1 = document.getElementById('rbList_1');
   cntrl2 = document.getElementById('rbList_2');
   cntrl3 = document.getElementById('rbList_3');
   cntrl4 = document.getElementById('rbList_4');
   cntrl5 = document.getElementById('rbList_5');
   cntrl6 = document.getElementById('rbList_6');
   cntrl7 = document.getElementById('rbList_7');
   cntrl8 = document.getElementById('rbList_8');
   cntrl9 = document.getElementById('rbList_9');
   cntrl10 = document.getElementById('rbList_10');
   cntrl11 = document.getElementById('rbList_11');	
   cntrlCity = document.getElementById('txtCity');	
   
   if (!cntrl0.checked && !cntrl1.checked && !cntrl2.checked && !cntrl3.checked  && !cntrl4.checked  && !cntrl5.checked  && !cntrl6.checked  && !cntrl7.checked  && !cntrl8.checked  && !cntrl9.checked  && !cntrl10.checked  && !cntrl11.checked  && (cntrlCity.value.trim()==""))
   {
     alert('Please Select City');
     cntrlCity.focus();
     return false;
    }
	
   cntrlDtFrom = document.getElementById('txtCheckInDt');
   if (cntrlDtFrom.value.trim()=="")
   {
     alert('Please Select Check-In Date');
     cntrlDtFrom.focus();
     return false;
    }
	
   cntrlDtTo = document.getElementById('txtCheckoutDt');
   if (cntrlDtTo.value.trim()=="")
   {
     alert('Please Select Check-Out Date');
     cntrlDtTo.focus();
     return false;
    }
    
//    if (cntrlDtFrom.value > cntrlDtTo.value)
//    {
//       alert('Check-Out Date Must be Greater than Check-In Date');
//       cntrlDtFrom.focus();
//       return false;
//    }
   
    return true;
}


function CheckCarForm()
{
   var cntrl0,cntrl1,cntrl2,cntrl3,cntrl4,cntrl5
   var cntrl6, cntrl7,cntrl8,cntrl9,cntrl10,cntrl11
   var cntrlPickUpCity,cntrlDropOffCity, cntrlDtFrom, cntrlDtTo
  
   
   cntrl0 = document.getElementById('rbList_0');
   cntrl1 = document.getElementById('rbList_1');
   cntrl2 = document.getElementById('rbList_2');
   cntrl3 = document.getElementById('rbList_3');
   cntrl4 = document.getElementById('rbList_4');
   cntrl5 = document.getElementById('rbList_5');
   cntrl6 = document.getElementById('rbList_6');
   cntrl7 = document.getElementById('rbList_7');
   cntrl8 = document.getElementById('rbList_8');
   cntrl9 = document.getElementById('rbList_9');
   cntrl10 = document.getElementById('rbList_10');
   cntrl11 = document.getElementById('rbList_11');	
   cntrlPickUpCity = document.getElementById('txtPickUpCity');	
   cntrlDropOffCity = document.getElementById('txtDropOffCity');	
   
   if (!cntrl0.checked && !cntrl1.checked && !cntrl2.checked && !cntrl3.checked  && !cntrl4.checked  && !cntrl5.checked  && !cntrl6.checked  && !cntrl7.checked  && !cntrl8.checked  && !cntrl9.checked  && !cntrl10.checked  && !cntrl11.checked  && (cntrlPickUpCity.value.trim()==""))
   {
     alert('Please Select Pick-Up City');
     cntrlPickUpCity.focus();
     return false;
    }
	
   cntrlDtFrom = document.getElementById('txtPickUpDt');
   if (cntrlDtFrom.value.trim()=="")
   {
     alert('Please Select Pick-Up Date');
     cntrlDtFrom.focus();
     return false;
    }
	
   cntrlDtTo = document.getElementById('txtDropOffDt');
   if (cntrlDtTo.value.trim()=="")
   {
     alert('Please Select Drop-Off Date');
     cntrlDtTo.focus();
     return false;
    }
    
//    if (cntrlDtFrom.value > cntrlDtTo.value)
//    {
//       alert('Drop-Off Date Must be Greater than Pick-Up Date');
//       cntrlDtFrom.focus();
//       return false;
//    }
   
    return true;
}
function CheckVacationForm()
{
   var cntrl0,cntrl1,cntrl2,cntrl3,cntrl4,cntrl5
   var cntrl6, cntrl7,cntrl8,cntrl9,cntrl10,cntrl11
   var cntrlCity, cntrlDtFrom, cntrlDtTo
   
   cntrl0 = document.getElementById('rbList_0');
   cntrl1 = document.getElementById('rbList_1');
   cntrl2 = document.getElementById('rbList_2');
   cntrl3 = document.getElementById('rbList_3');
   cntrl4 = document.getElementById('rbList_4');
   cntrl5 = document.getElementById('rbList_5');
   cntrl6 = document.getElementById('rbList_6');
   cntrl7 = document.getElementById('rbList_7');
   cntrl8 = document.getElementById('rbList_8');
   cntrl9 = document.getElementById('rbList_9');
   cntrl10 = document.getElementById('rbList_10');
   cntrl11 = document.getElementById('rbList_11');	
   cntrl12 = document.getElementById('rbList_11');	
   cntrl13 = document.getElementById('rbList_11');	
   cntrl14 = document.getElementById('rbList_11');	
      
   cntrl = document.getElementById('txtFrom');
   if ((cntrl.value.trim()=="") || (cntrl.value.length <3))
   {
     alert('Please Select From City');
     cntrl.focus();
     return false;
    }
    
   cntrlCity = document.getElementById('txtTo');	
   if (!cntrl0.checked && !cntrl1.checked && !cntrl2.checked && !cntrl3.checked  && !cntrl4.checked  && !cntrl5.checked  && !cntrl6.checked  && !cntrl7.checked  && !cntrl8.checked  && !cntrl9.checked  && !cntrl10.checked  && !cntrl11.checked && !cntrl12.checked && !cntrl13.checked && !cntrl14.checked && (cntrlCity.value.trim()==""))
   {
     alert('Please Select To City');
     cntrlCity.focus();
     return false;
    }
    
	
   cntrlDtFrom = document.getElementById('txtDepartDt');
   if (cntrlDtFrom.value.trim()=="")
   {
     alert('Please Select Depart Date');
     cntrlDtFrom.focus();
     return false;
    }
	
   cntrlDtTo = document.getElementById('txtReturnDt');
   if (cntrlDtTo.value.trim()=="")
   {
     alert('Please Select Return Date');
     cntrlDtTo.focus();
     return false;
    }
    
    if (cntrlDtFrom.value > cntrlDtTo.value)
    {
    
       alert('Return Date Must be Greater than From Date');
       cntrlDtFrom.focus();
       return false;
    }
    
    return true;
}


function getQueryVariable(variable) 
      {  
      var query = window.location.search.substring(1);  
      var vars = query.split("&");  
      for (var i=0;i<vars.length;i++) 
      {    var pair = vars[i].split("=");    
      if (pair[0] == variable) 
      {      return pair[1];    }  } }
      
      
function SetSelected(name)
        {var textbox = document.getElementById(name);
         textbox.select();
         }

function addEvent(obj,event_name,func_name){
	if (obj.attachEvent){
		obj.attachEvent("on"+event_name, func_name);
	}else if(obj.addEventListener){
		obj.addEventListener(event_name,func_name,true);
	}else{
		obj["on"+event_name] = func_name;
	}
}

// Removes an event from the object
function removeEvent(obj,event_name,func_name){
	if (obj.detachEvent){
		obj.detachEvent("on"+event_name,func_name);
	}else if(obj.removeEventListener){
		obj.removeEventListener(event_name,func_name,true);
	}else{
		obj["on"+event_name] = null;
	}
}

// Stop an event from bubbling up the event DOM
function stopEvent(evt){
	evt || window.event;
	if (evt.stopPropagation){
		evt.stopPropagation();
		evt.preventDefault();
	}else if(typeof evt.cancelBubble != "undefined"){
		evt.cancelBubble = true;
		evt.returnValue = false;
	}
	return false;
}

// Get the obj that starts the event
function getElement(evt){
	if (window.event){
		return window.event.srcElement;
	}else{
		return evt.currentTarget;
	}
}
// Get the obj that triggers off the event
function getTargetElement(evt){
	if (window.event){
		return window.event.srcElement;
	}else{
		return evt.target;
	}
}
// For IE only, stops the obj from being selected
function stopSelect(obj){
	if (typeof obj.onselectstart != 'undefined'){
		addEvent(obj,"selectstart",function(){ return false;});
	}
}

/*    Caret Functions     */

// Get the end position of the caret in the object. Note that the obj needs to be in focus first
function getCaretEnd(obj){
	if(typeof obj.selectionEnd != "undefined"){
		return obj.selectionEnd;
	}else if(document.selection&&document.selection.createRange){
		var M=document.selection.createRange();
		try{
			var Lp = M.duplicate();
			Lp.moveToElementText(obj);
		}catch(e){
			var Lp=obj.createTextRange();
		}
		Lp.setEndPoint("EndToEnd",M);
		var rb=Lp.text.length;
		if(rb>obj.value.length){
			return -1;
		}
		return rb;
	}
}
// Get the start position of the caret in the object
function getCaretStart(obj){
	if(typeof obj.selectionStart != "undefined"){
		return obj.selectionStart;
	}else if(document.selection&&document.selection.createRange){
		var M=document.selection.createRange();
		try{
			var Lp = M.duplicate();
			Lp.moveToElementText(obj);
		}catch(e){
			var Lp=obj.createTextRange();
		}
		Lp.setEndPoint("EndToStart",M);
		var rb=Lp.text.length;
		if(rb>obj.value.length){
			return -1;
		}
		return rb;
	}
}
// sets the caret position to l in the object
function setCaret(obj,l){
	obj.focus();
	if (obj.setSelectionRange){
		obj.setSelectionRange(l,l);
	}else if(obj.createTextRange){
		m = obj.createTextRange();		
		m.moveStart('character',l);
		m.collapse();
		m.select();
	}
}
// sets the caret selection from s to e in the object
function setSelection(obj,s,e){
	obj.focus();
	if (obj.setSelectionRange){
		obj.setSelectionRange(s,e);
	}else if(obj.createTextRange){
		m = obj.createTextRange();		
		m.moveStart('character',s);
		m.moveEnd('character',e);
		m.select();
	}
}

/*    Escape function   */
String.prototype.addslashes = function(){
	return this.replace(/(["\\\.\|\[\]\^\*\+\?\$\(\)])/g, '\\$1');
}
String.prototype.trim = function () {
    return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");
};
/* --- Escape --- */

/* Offset position from top of the screen */
function curTop(obj){
	toreturn = 0;
	while(obj){
		toreturn += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return toreturn;
}
function curLeft(obj){
	toreturn = 0;
	while(obj){
		toreturn += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return toreturn;
}
/* ------ End of Offset function ------- */

/* Types Function */

// is a given input a number?
function isNumber(a) {
    return typeof a == 'number' && isFinite(a);
}

/* Object Functions */

function replaceHTML(obj,text){
	while(el = obj.childNodes[0]){
		obj.removeChild(el);
	};
	obj.appendChild(document.createTextNode(text));
}
   
function ShowHidePanel(panelId,style)
    {
     var pnlSearch =document.getElementById(panelId);
     pnlSearch.style.display = style;
     return false;
    }
    
    function ShowRoomSelection(cmb){
    if(cmb.selectedIndex == 0)
        {
        ShowHidePanel('adults2','none');
        ShowHidePanel('chldrn2','none');
         
         //reset the boxes
         var cmb;
         cmb = document.getElementById('cmbAdultsR2');
         cmb.options.value =0;
         cmb = document.getElementById('cmbChildrenR2');
         cmb.options.value =0;
         
        //HIDE ROOM 2            
        ShowHidePanel('Room2Details','none');
        ShowHidePanel('R2C1','none');
        ShowHidePanel('R2C2','none');
        ShowHidePanel('R2C3','none');
        }
        else
        {
         ShowHidePanel('adults2','block');
         ShowHidePanel('chldrn2','block');
         }
       }
   
   function ShowChildrenAgeRoom1(cmb){
    var number=cmb.selectedIndex;
    if (number == "0")
    {
          ShowHidePanel('Room1Details','none');
          ShowHidePanel('R1C1','none');
          ShowHidePanel('R1C2','none');
          ShowHidePanel('R1C3','none');
     }
     else if(number == "1")
     {
        ShowHidePanel('Room1Details','block');
        ShowHidePanel('R1C1','block');
        ShowHidePanel('R1C2','none');
        ShowHidePanel('R1C3','none');
     }
    else if(number == "2")
     {
          ShowHidePanel('Room1Details','block');
          ShowHidePanel('R1C1','block');
          ShowHidePanel('R1C2','block');
          ShowHidePanel('R1C3','none');
     }
    else if(number == "3")
     {
        ShowHidePanel('Room1Details','block');
        ShowHidePanel('R1C1','block');
        ShowHidePanel('R1C2','block');
        ShowHidePanel('R1C3','block');
     }
   }
 function ShowChildrenAgeRoom2(cmb){
    var number=cmb.selectedIndex;
    if (number == "0")
    {
          ShowHidePanel('Room2Details','none');
          ShowHidePanel('R2C1','none');
          ShowHidePanel('R2C2','none');
          ShowHidePanel('R2C3','none');
     }
     else if(number == "1")
     {
        ShowHidePanel('Room2Details','block');
        ShowHidePanel('R2C1','block');
        ShowHidePanel('R2C2','none');
        ShowHidePanel('R2C3','none');
     }
    else if(number == "2")
     {
          ShowHidePanel('Room2Details','block');
          ShowHidePanel('R2C1','block');
          ShowHidePanel('R2C2','block');
          ShowHidePanel('R2C3','none');
     }
    else if(number == "3")
     {
        ShowHidePanel('Room2Details','block');
        ShowHidePanel('R2C1','block');
        ShowHidePanel('R2C2','block');
        ShowHidePanel('R2C3','block');
     }
   }  
   
    function popup(url,width,height) 
    {
     var width  = width;
     var height = height;
     var left   = (screen.width  - width)/2;
     var top    = (screen.height - height)/2;
     var params = 'width='+width+', height='+height;
     params += ', top='+top+', left='+left;
     params += ', directories=no';
     params += ', location=no';
     params += ', menubar=no';
     params += ', resizable=no';
     params += ', scrollbars=no';
     params += ', status=no';
     params += ', toolbar=no';

     newwin=window.open(url,'_blank',params);
     if (window.focus) {newwin.focus()}
     return false;
    }
    
    function popup2(url) 
    {
     var width  = 800;
     var height = 600;
     var left   = (screen.width  - width)/2;
     var top    = (screen.height - height)/2;
     var params = 'width='+width+', height='+height;
     params += ', top='+top+', left='+left;
     params += ', location=no';
     params += ', menubar=yes';
     params += ', resizable=yes';
     params += ', scrollbars=yes';
     params += ', status=yes';
     params += ', toolbar=yes';
     newwin=window.open(url,'', params);
     return false;

    }
    
      function todayStr() {
       var today=new Date()
      return today.getMonth()+1+"/"+today.getDate()+"/"+(today.getYear())
      }