//Set onload handler : function on default.js
RegisterOnLoad(setSME);

//Image Preload
if (document.images) {
  AirBtn = new Image(59 ,21); AirBtn.src="img/busqueda/aereo.gif";
  AirBtnOn = new Image(59 ,21); AirBtnOn.src="img/busqueda/aereo.gif";
  AirBtnOver = new Image(59 ,21); AirBtnOver.src="img/busqueda/aereo.gif";

  HotelBtn = new Image(59 ,21); HotelBtn.src="img/busqueda/hoteles.gif";
  HotelBtnOn = new Image(59 ,21); HotelBtnOn.src="img/busqueda/hoteles.gif";
  HotelBtnOver = new Image(59 ,21); HotelBtnOver.src="img/busqueda/hoteles.gif";

  CarBtn = new Image(59 ,21); CarBtn.src="img/busqueda/autos.gif";
  CarBtnOn = new Image(59 ,21); CarBtnOn.src="img/busqueda/autos.gif";
  CarBtnOver = new Image(59 ,21); CarBtnOver.src="img/busqueda/autos.gif";
  
  OtherBtn = new Image(59 ,21); OtherBtn.src="img/busqueda/europa.gif";
  OtherBtnOn = new Image(59 ,21); OtherBtnOn.src="img/busqueda/europa.gif";
  OtherBtnOver = new Image(59 ,21); OtherBtnOver.src="img/busqueda/europa.gif";
  
}

function SuperMeridiaNavOn(el)
{
    if (el.src.indexOf("On") < 0) 
    {
        el.PrevImg = el.src; 
        el.src = el.src.replace(".gif","2.gif");
    }
}


function SuperMeridiaNavClear(el) 
{
    if (el.src.indexOf("On") > 0) 
        el.PrevImg = null;
        
    if (el.PrevImg) el.src = el.PrevImg;
}

function showMeridiaForm(ID) 
{
    var SM = document.getElementById("SuperMeridia"); 
    var SM_Body = document.getElementById("SM_Body"); 
    var SM_Head = document.getElementById("SM_Head"); 

    //Save State
    if ((document.all) && (SM_Body.filters[0] != null)) SM_Body.filters[0].Apply(); 
    
    //Change
    
    var Air = document.getElementById("SM_Air"); 
    var Hotel = document.getElementById("SM_Hotel"); 
    var Car = document.getElementById("SM_Car"); 
    var Other = document.getElementById("SM_Other"); 
    
    var AirImg = document.getElementById("SM_AirImg");
    var HotelImg = document.getElementById("SM_HotelImg");
    var CarImg = document.getElementById("SM_CarImg");   
    var OtherImg = document.getElementById("SM_OtherImg");   
    
    Air.style.display = (Air.id == ID) ? "block" : "none";
    Hotel.style.display = (Hotel.id == ID) ? "block" : "none";
    Car.style.display = (Car.id == ID) ? "block" : "none";
    Other.style.display = (Other.id == ID) ? "block" : "none";

    if (Air.id == ID) 
    {
		SM_Head.className = "SM_HeadAir";
        SM_Body.className = "SuperMeridia Air"; 
        AirImg.src = AirBtnOn.src; 
        HotelImg.src = HotelBtn.src;
        CarImg.src = CarBtn.src; 
        OtherImg.src = OtherBtn.src;
        showMeridiaAirForm("SM_Air_RT");
    }
    if (Hotel.id == ID) 
    {	
        AirImg.src = AirBtn.src; 
        HotelImg.src = HotelBtnOn.src;
        CarImg.src = CarBtn.src; 
        OtherImg.src = OtherBtn.src;
        SM_Head.className = "SM_HeadHotel";
        SM_Body.className = "SuperMeridia Hotel"; 
    }
    
    if (Car.id == ID) 
    {
        AirImg.src = AirBtn.src; 
        HotelImg.src = HotelBtn.src;        
        CarImg.src = CarBtnOn.src; 
        OtherImg.src = OtherBtn.src;
        SM_Head.className = "SM_HeadCar";
        SM_Body.className = "SuperMeridia Car"; 
    }
        
    if (Other.id == ID) 
    {
        AirImg.src = AirBtn.src; 
        HotelImg.src = HotelBtn.src;
        CarImg.src = CarBtn.src; 
        OtherImg.src = OtherBtnOn.src;
        SM_Head.className = "SM_HeadOther";
        SM_Body.className = "SuperMeridia Other"; 
    }    
       
    //Reveal with effect and attention
    if ((document.all) && (SM_Body.filters[0] != null)) SM_Body.filters[0].Play();
    
}

function showMeridiaAirForm(ID)
{
    var Air = document.getElementById("SM_Air"); 
    var Air_RT = document.getElementById("SM_Air_RT"); 
    var Air_OW = document.getElementById("SM_Air_OW"); 
    var Air_MC = document.getElementById("SM_Air_MC"); 

    var Air_Body = document.getElementById("SM_Air_Body"); 

    //Save State
    if ((document.all) && (Air_Body.filters[0] != null)) Air_Body.filters[0].Apply(); 
    
    //Change
    Air_RT.style.display = (Air_RT.id == ID) ? "block" : "none";
    Air_OW.style.display = (Air_OW.id == ID) ? "block" : "none";
    Air_MC.style.display = (Air_MC.id == ID) ? "block" : "none";
	    
    document.getElementById("chk" + ID).checked = true;
    
    //Reveal
    if ((document.all) && (Air_Body.filters[0] != null)) Air_Body.filters[0].Play();
    
}

function showMeridiaCalendar(el, fieldID1, fieldID2) 
{
    var x, y; 
    var loader = document.getElementById("SuperMeridiaCalendarFrame"); 
    var wF = window.frames['SuperMeridiaCalendarFrame'];
    var elForm = el; 

    if (!loader) return;

    //if((!loader.src) || (loader.src == "") || (loader.src != "calendar.pop.en.html"))  
    //    loader.src = "calendar.pop.en.html";
           
    while (elForm.tagName != "FORM") 
        elForm = elForm.parentNode; 
        
    if (elForm.className == "SuperMeridiaForm") 
    {
        loader.Form = elForm; 
        if ((elForm.elements[fieldID1] != null) && (elForm.elements[fieldID1].tagName == "SELECT")) 
        {
            loader.MonthField = elForm.elements[fieldID1];
            loader.DayField = elForm.elements[fieldID2];
        }

	if (fieldID1 == "depMonth")
	{
	        if ((elForm.elements["retMonth"] != null) && (elForm.elements["retMonth"].tagName == "SELECT")) 
        	{
	            loader.SecondMonthField = elForm.elements["retMonth"];
        	    loader.SecondDayField = elForm.elements["retDay"];
	        }
	}

        
        if ((elForm.elements[fieldID1] != null) && (elForm.elements[fieldID1].tagName == "INPUT")) 
        {
            loader.TextDateField = elForm.elements[fieldID1];                         
        }
        
        if (loader.Active && loader.Active == true) 
        {
            loader.style.display = "none";
            loader.style.top = 0 + "px"; 
        }            
        
        //Now let's position and display the calendar =) 
        //Default Library Functions 
        x = getPageOffsetLeft(el);
        y = getPageOffsetTop(el) + (el.offsetHeight + 2) + loader.offsetHeight;

        //Compensate scrolling div's on explorer
        if(window.event) 
            if ((y - window.event.y) > 25) y = window.event.y;
                
        loader.style.left = 50 + "%";
        loader.style.top  = y + "px";                
        
        loader.style.width = 418 + "px"; 
        loader.style.height = 182 + "px";
        loader.style.display = "block";
        
        loader.Active = true; 
    }   
}

function setMeridiaCalendarDate(targetDate) 
{   
    var loader = document.getElementById("SuperMeridiaCalendarFrame"); 
    var myDate = new Date(Date.parse(targetDate)); 

    if (loader.MonthField) 
    {
        loader.MonthField.selectedIndex = myDate.getMonth();
    }
        
    if (loader.DayField) 
    {
        loader.DayField.selectedIndex = (myDate.getDate() - 1);
    }


    if (loader.SecondMonthField) 
    {
        loader.SecondMonthField.selectedIndex = myDate.getMonth();
    }
        
    if (loader.SecondDayField) 
    {
        loader.SecondDayField.selectedIndex = (myDate.getDate() + 3);
    }


    if (loader.TextDateField) 
    {
        loader.TextDateField.value = targetDate; 
    }
        
    loader.style.display = "none";       

}


function showMeridiaFormOptions(el) 
{
    if (el.parentNode.childNodes[2].style) 
    {    
        if (el.parentNode.childNodes[2].style.visibility == "hidden") 
            el.parentNode.childNodes[2].style.visibility = 'visible';
        else
            el.parentNode.childNodes[2].style.visibility = 'hidden';
    }
}

function checkMeridiaForm(formEl) 
{

    try {

    if (formEl.elements['departCity'] != null && formEl.elements['departCity'].value == "") 
    {
        formEl.elements['departCity'].focus();
        return false; 
    }
        
    if (formEl.elements['departCity1'] != null && formEl.elements['departCity1'].value == "") 
    {
        formEl.elements['departCity1'].focus();
        return false; 
    }

    if ((formEl.elements['returnCity'] != null) && (formEl.elements['returnCity'].value == "")) 
    {
        formEl.elements['returnCity'].focus();
        return false; 
    }
    
    if ((formEl.elements['returnCity1'] != null) && (formEl.elements['returnCity1'].value == "")) 
    {
        formEl.elements['returnCity1'].focus();
        return false; 
    }
            
    if (formEl.actionTypeFlex) {
        if (formEl.actionTypeFlex.checked == true) 
            formEl.actionType.value = "flex";
        else 
        {
            if (formEl.retTime.tagName == "SELECT") 
            {//RT
                if ((formEl.depTime.options[formEl.depTime.selectedIndex].text.toLowerCase() != "anytime") &&
                          (formEl.retTime.options[formEl.retTime.selectedIndex].text.toLowerCase() != "anytime"))
                    formEl.actionType.value == "nonFlex"; 
            }
            else 
            {//OW
                if (formEl.depTime.options[formEl.depTime.selectedIndex].text.toLowerCase() != "anytime")
                    formEl.actionType.value == "nonFlex";                
            }
        }
    }
    
    //check for popup
    if (window.opener == null) formEl.target = "";

    //submit the form 
    formEl.submit();
    
    //if popup then close
    if (top != self) self.close();
    
    } 
    catch (e) 
    {
        //alert(e.message); 
        return false; 
    }                
}


function setMeridiaForm(formEl) 
{
    var now = new Date();
    now.setDate(now.getDate() + 7); 
     
    try 
    { 
        if ((formEl.depMonth) && (formEl.depMonth.tagName == "SELECT")) 
        {
    	    formEl.depMonth.selectedIndex = now.getMonth(); 
            formEl.depDay.selectedIndex = now.getDate();
        }
        
        if ((formEl.depMonth1) && (formEl.depMonth1.tagName == "SELECT")) 
        {
    	    formEl.depMonth1.selectedIndex = now.getMonth(); 
            formEl.depDay1.selectedIndex = now.getDate();
        }
        
        if ((formEl.PickupMonth) && (formEl.PickupMonth.tagName == "SELECT")) 
        {
    	    formEl.PickupMonth.selectedIndex = now.getMonth(); 
            formEl.PickupDay.selectedIndex = now.getDate();
        }

        if ((formEl.retMonth) && (formEl.retMonth.tagName == "SELECT")) 
        {
            now.setDate(now.getDate() + 7); 
        	formEl.retMonth.selectedIndex = now.getMonth();
        	formEl.retDay.selectedIndex = now.getDate();   	
        }
        
        if ((formEl.DropoffMonth) && (formEl.DropoffMonth.tagName == "SELECT")) 
        {
            now.setDate(now.getDate() + 7); 
        	formEl.DropoffMonth.selectedIndex = now.getMonth();
        	formEl.DropoffDay.selectedIndex = now.getDate();   	
        }
     }
     catch(e) 
     {
     
     }
}


function showMeridiaDestinations(el) 
{

    var x, y; 
    var loader = document.getElementById("SuperMeridiaDestinationsFrame"); 
    var wF = window.frames['SuperMeridiaDestinationsFrame'];
   
    if (!loader) return; 
          
    loader.Form = el;
    loader.Field = el.previousSibling;
    loader.Image = el.childNodes[0];
    if (!loader.LastCaller) loader.LastCaller = el;      
    
    while (loader.Form.tagName.toUpperCase() != "FORM") {
        loader.Form = loader.Form.parentNode;
        }       
       
    if (loader.Active && (loader.Active == true)) 
    {    
        if (loader.LastCaller == el)
        {
            //Change image
            loader.Image.src = "img/busqueda/DropDownArrow.gif";
            loader.style.display = "none";
            loader.Active = false; 
            return;
         }
         else 
         {
            loader.LastCaller.childNodes[0].src = "img/busqueda/DropDownArrow.gif";         
         }
    }
    else
    {
		//alert('Loader Active'); 
    }
    
            

    //if((!loader.src) || (loader.src == "") || (loader.src != "destinations.pop.en.html"))  
    //    loader.src = "destinations.pop.en.html";           
        
    if (loader.Form.className == "SuperMeridiaForm") 
    {               
        if ((loader.Field == null) || (loader.Field.tagName != "INPUT")) 
        {
            return; 
        }
        
        if (loader.Active && loader.Active == true) 
        {
            loader.style.display = "none";
            loader.style.top = 0 + "px"; 
        }            
        
        //Now let's position and display the calendar =) 
        //Default Library Functions 
        x = getPageOffsetLeft(loader.Field);
        y = getPageOffsetTop(loader.Field) + (loader.Field.offsetHeight + 2) + loader.offsetHeight;

        //Compensate scrolling div's on explorer - will not work on position: relative 
        if(window.event) 
            if ((y - window.event.y) > 25) y = window.event.y;
                
        loader.style.left = x + "px";
        loader.style.top  = y + "px";                
        
        loader.style.width = 200 + "px"; 
        loader.style.height = 290 + "px";
        loader.style.display = "block";
        
        loader.Active = true; 
        //Change image
        loader.Image.src = "img/busqueda/DropDownArrow_Close.gif";
        //Remember who called me 
        loader.LastCaller = el; 
    }
    else 
    {
		alert('Element Parent not a SuperMeridiaExpress Form');
    
    }
}

function setMeridiaDestination(Code) 
{   
    var loader = document.getElementById("SuperMeridiaDestinationsFrame"); 
   
    if (loader.Field) 
    {
	if (Code != "") loader.Field.value = Code; 
	loader.Field.focus();
    }
        
    loader.style.display = "none";
    loader.Image.src = "img/busqueda/DropDownArrow.gif";
    loader.Active = false; 
}

function setSME() 
{
   var StartupMode = getParameter (window.top.location.search, 'smemode' );

    if (StartupMode) 
    {
        if (StartupMode == "1") showMeridiaForm('SM_Air');
        if (StartupMode == "2") showMeridiaForm('SM_Hotel');
        if (StartupMode == "3") showMeridiaForm('SM_Car');
    }
    else
    {
        showMeridiaForm('SM_Air');
    }  
    

}




