﻿var dpStartDate_DateBox = null;
var dpEndDate_DateBox = null;
var dpEndDate_Panel = null
var m_valSummaryID = null;
var g_hfGuestSelect = null;
var m_defaultDateText = "";
var m_btnSearchButton = null;
var m_txtAirportsID = "";

var m_ddlNumOfAdults = null;
var m_ddlNumOfChildren = null;
var m_ddlNumOfSeniors = null;

var m_pnlGuestAgeDetails = null;
var m_pnlGuestList = null;

var pscIsExpanded = false;

var pscStandAlone = false;

var g_pscStandAloneDatePickerField = null;

var g_pscContainerObject = null;
var g_pscOverlayObject = null;
var g_pscLoadingPage = null;
var g_pscLoadingDiv = null;

var pscBtnSearch1Id;
var pscBtnSearch2Id;

var pscLeft = 0;
var pscTop = 0;

var g_bDatePickersVisible = false;
var g_oPscPlacer = null;
var g_oPscContainer = null;

var g_sPscInnerContainerId = '';
var g_sPscBlastShieldId = '';
var g_sPscContractedDisplayMode = 'xPscContracted';

var g_validationSummaryToolTipPopupElementObject = null;
var g_validationSummaryToolTipPopupElementStatus = "hidden";

/*Advanced Filters*/
/**************************************************************/
function toggleExtraFilters(oDiv)
{
    Element.extend(oDiv);
    var descendants = oDiv.descendants();
    var oHidden = descendants[0];
    oHidden.value = (oHidden.value == '1') ? '0' : '1';
}

/*LightBox for Searching*/
/*************************************************************/
function InvokeSearchButtonClick(SearchButton, ValidationToolTipID)
{
    if (!browser)
	{	        
	        getBrowserInfo();
	}
    if (browser == 'Safari')
    {
        ValidatorOnLoad()    
    }
    
    var isFormValid = false;
    
    WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(SearchButton.name, "", true, "DateValidation", "", false, false));
        
    isFormValid = ValidatorOnSubmit();
    
    if (isFormValid)
    {    
        breakOutOfFrame();
        hidePSCDropDowns();
        
        WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(SearchButton.name, "", true, "DateValidation", "", false, true));

        lightbox.prototype.setLightBoxObject(g_pscContainerObject);
        lightbox.prototype.setLightBoxOverlayObject(g_pscOverlayObject);
        lightbox.prototype.deactivatePersistentLightBox();

        setTimeout("setupLoadingPage('" + g_pscLoadingPage.id +"', '" + g_pscLoadingDiv.id + "');",100);
        
        breakOutOfFrame();
        hidePSCDropDowns();
    }
    else
    {
        showValidationSummary(ValidationToolTipID);
    }
    
    return isFormValid;
}

function breakOutOfFrame()
{
    // setPscTarget is inline in standalonesearch.aspx.
    if (typeof(setPscTarget) == 'function')
    {
        setPscTarget();
    }
}

function hidePSCDropDowns()
{
    if (browser == 'Internet Explorer' && typeof(setPscTarget) == 'function')
    {
	    selects = document.getElementsByTagName('select');
	    for(i = 0; i < selects.length; i++) {
		    selects[i].style.visibility = 'hidden';
	    }
    }
}

//////////////////////////////////

function initializeObjects(dpStartDate_DateBoxID, dpEndDate_DateBoxID, valSummaryID, hfGuestSelectID, defaultDateText, dpEndDate_PanelID,
        m_ddlNumOfAdults_ID, m_ddlNumOfChildren_ID, m_ddlNumOfSeniors_ID, m_pnlGuestAgeDetails_ID, m_pnlGuestList_ID, searchButtonID, txtAirportsID)
{
    dpStartDate_DateBox = document.getElementById(dpStartDate_DateBoxID);
    dpEndDate_DateBox = document.getElementById(dpEndDate_DateBoxID);
    dpEndDate_Panel = document.getElementById(dpEndDate_PanelID);
    m_valSummaryID = valSummaryID;
    g_hfGuestSelect = document.getElementById(hfGuestSelectID);
    m_btnSearchButton = document.getElementById(searchButtonID);
    m_txtAirportsID = txtAirportsID;
    
    m_defaultDateText = defaultDateText;
    if (dpStartDate_DateBox && dpStartDate_DateBox.value != defaultDateText
        && dpEndDate_DateBox && dpEndDate_DateBox.value == defaultDateText)
    {
        datePickerClosed(dpStartDate_DateBox);
    }
    
    if (dpStartDate_DateBox)
    {
        if (typeof(dpStartDate_DateBox.onfocus) == "function")
        {
            dpStartDate_DateBox.onfocus = function() { dpStartDate_DateBox.onfocus; setAvailabilityCalendarStartDateFromPsc(this.value); };
        }
        else
        {
            dpStartDate_DateBox.onfocus = function() { setAvailabilityCalendarStartDateFromPsc(this.value); };
        }
    }
    if (dpEndDate_DateBox)
    {
        if (typeof(dpEndDate_DateBox.onfocus) == "function")
        {
            dpEndDate_DateBox.onfocus = function() { dpEndDate_DateBox.onfocus; setAvailabilityCalendarEndDateFromPsc(this.value); };
        }
        else
        {
            dpEndDate_DateBox.onfocus = function() { setAvailabilityCalendarEndDateFromPsc(this.value); };
        }
    }
    
    m_ddlNumOfAdults = document.getElementById(m_ddlNumOfAdults_ID);
    m_ddlNumOfChildren = document.getElementById(m_ddlNumOfChildren_ID);
    m_ddlNumOfSeniors = document.getElementById(m_ddlNumOfSeniors_ID);
    
    m_pnlGuestAgeDetails = document.getElementById(m_pnlGuestAgeDetails_ID);
    m_pnlGuestList = document.getElementById(m_pnlGuestList_ID);
}

function validateStartDate(oSrc, args)
{
    //alert('validateStartDate(oSrc, args)');

    dpStartDate_DateBox = document.getElementById(dpStartDate_DateBox.id);
    
    var date = trim(dpStartDate_DateBox.value);
    
    args.IsValid = (!((date == "") || (date == g_translatedStrings["DefaultDateText"])));
    
    if (!args.IsValid)
    {
        setTimeout("AdjustScrollPSCTop();", 10);
    }
}

function validateEndDate(oSrc, args)
{
    //alert('validateEndDate(oSrc, args)');

    dpEndDate_DateBox = document.getElementById(dpEndDate_DateBox.id);
    dpEndDate_Panel = document.getElementById(dpEndDate_Panel.id);

    if (dpEndDate_DateBox && dpEndDate_Panel && dpEndDate_Panel.className == "xPscEndDateOpen")
    {
        var date = trim(dpEndDate_DateBox.value);
        
        args.IsValid = (!((date == "") || (date == g_translatedStrings["DefaultDateText"])));       
    }
    else
    {
        args.IsValid = true;
    }
    
    if (!args.IsValid)
    {
        setTimeout("AdjustScrollPSCTop();", 10);
    }
}

function validateStartEndDate(oSrc, args)
{
    //alert('validateStartEndDate(oSrc, args)');
    
    dpStartDate_DateBox = document.getElementById(dpStartDate_DateBox.id);
    dpEndDate_DateBox = document.getElementById(dpEndDate_DateBox.id);
    dpEndDate_Panel = document.getElementById(dpEndDate_Panel.id);
    
    if (dpEndDate_DateBox && dpEndDate_Panel && dpEndDate_Panel.className == "xPscEndDateOpen")
    {
        var startDate = getFieldDate(trim(dpStartDate_DateBox.value));
        var endDate = getFieldDate(trim(dpEndDate_DateBox.value));

        if(startDate >= endDate)
        {
            args.IsValid = false;
        }
        else
        {
            args.IsValid = true;
        }
    }
    else
    {
        args.IsValid = true;
    }
    
    if (!args.IsValid)
    {
        setTimeout("AdjustScrollPSCTop();", 10);
    }
}

function validateDateRange(oSrc, args)
{
    //alert('validateDateRange(oSrc, args)');
    
    dpStartDate_DateBox = document.getElementById(dpStartDate_DateBox.id);
    dpEndDate_DateBox = document.getElementById(dpEndDate_DateBox.id);
    dpEndDate_Panel = document.getElementById(dpEndDate_Panel.id);    

    if (dpEndDate_DateBox && dpEndDate_Panel && dpEndDate_Panel.className == "xPscEndDateOpen")
    {
        var startDate = getFieldDate(trim(dpStartDate_DateBox.value));
        var endDate = getFieldDate(trim(dpEndDate_DateBox.value));
        
        //Set 1 day in milliseconds (1000*60*60*24)=86400000        
        var one_day=86400000;        
        var days = Math.ceil((endDate.getTime()-startDate.getTime())/(one_day));
        
        if(days > 30)
        {
            args.IsValid = false;
        }
        else
        {
            args.IsValid = true;
        }
    }
    else
    {
        args.IsValid = true;
    }
    
    if (!args.IsValid)
    {
        setTimeout("AdjustScrollPSCTop();", 10);
    }    
}

function validateFirstSelectableStartDate(oSrc, args)
{       
    //alert('validateFirstSelectableStartDate(oSrc, args)');
    
    dpStartDate_DateBox = document.getElementById(dpStartDate_DateBox.id);
    
    if (dpStartDate_DateBox)
    {            
        var startDate = getFieldDate(trim(dpStartDate_DateBox.value));
        var firstSelectable = firstSelectableDate;
        
        if(startDate < firstSelectable)
        {
            args.IsValid = false;
        }
        else
        {
            args.IsValid = true;
        }
    }
    else
    {
        args.IsValid = true;
    }
    
    if (!args.IsValid)
    {
        setTimeout("AdjustScrollPSCTop();", 10);
    }
}    

function validateMinGuests(oSrc, args)
{
    if (m_ddlNumOfAdults && m_ddlNumOfChildren && m_ddlNumOfSeniors)
    {
        if ((m_ddlNumOfAdults.options[m_ddlNumOfAdults.selectedIndex].value 
            + m_ddlNumOfChildren.options[m_ddlNumOfChildren.selectedIndex].value 
            + + m_ddlNumOfSeniors.options[m_ddlNumOfSeniors.selectedIndex].value) > 0)
        {
            args.IsValid = true;
        }
        else
        {
            args.IsValid = false;
        }
    }
    else
    {
        args.IsValid = true;
    }
}


function validateGuestAgeRequirement(oSrc, args)
{
    var guestAgeSection = null;
    
    if (pscIsExpanded)
    {
        guestAgeSection = m_pnlGuestList;
    }
    else
    {
        guestAgeSection = m_pnlGuestAgeDetails;
    }

    if (guestAgeSection)
    {
        var ageDropDowns = guestAgeSection.getElementsByTagName("select");
        
        if (ageDropDowns)
        {
            if (ageDropDowns.length > 0)
            {
                for (var count=0; count<ageDropDowns.length; count++)
                {
                    var ageDropDown = ageDropDowns[count];
                    var dropDownParent = ageDropDown.parentNode;

                    if (!ageDropDown.disabled && ageDropDown.options[ageDropDown.selectedIndex].value < 0)
                    {
                        args.IsValid = false;
                        
                        var errorMessages = getElementsByClass("errorMessage", dropDownParent);
                        
                        if (errorMessages.length == 0)
                        {
                            var errorMessageStar = document.createElement("span");
                            errorMessageStar.className = "errorMessage";
                            errorMessageStar.style.display = "inline";
                            
                            errorMessageStar.appendChild(document.createTextNode("*"));
                            
                            dropDownParent.appendChild(errorMessageStar);
                            
                        }
                    }
                    else
                    {
                        var errorMessages = getElementsByClass("errorMessage", dropDownParent);
                        
                        if (errorMessages.length > 0)
                        {
                            dropDownParent.removeChild(errorMessages[0]);
                        }
                    }
                }
            }
        }
    }
    else
    {
        args.IsValid = true;
    }
}

function datePickerClosed(dateField)
{
    if (dpStartDate_DateBox && dateField.id == dpStartDate_DateBox.id)
    {
        lastSelectedDate = new getFieldDate(dateField.value);
    }
}
    
/****************************************************************/

/*Animation*/
/**********************************************************************************/

function lightboxifyPsc()
{    
    var oPsc = document.getElementById(g_sPscInnerContainerId);
    
    var bPscLightboxVisible = pscIsExpanded;
    var bPscCurrentlyExpanded = oPsc.className == "xPscExpanded";
    
    if (bPscCurrentlyExpanded && !bPscLightboxVisible)
    {
        pscIsExpanded = true;
    }
    else if (!bPscCurrentlyExpanded && bPscLightboxVisible)
    {
        pscIsExpanded = false;
    }
    else
    {
        // Should be already in the correct state.
    }    
}

function expandPSC()
{
    var oPsc = document.getElementById(g_sPscInnerContainerId);
    if (oPsc.className == 'xPscContractedCMS')
    {
        g_sPscContractedDisplayMode = oPsc.className;
    }
    oPsc.className = "xPscExpanded";
    lightboxifyPsc();
    AdjustScrollPSCTop();
    placePsc();
}

function contractPSC()
{
    lightboxifyPsc();

    var referrer = document.referrer;
    
    if (referrer.indexOf("StandaloneSearch", 0) == -1)
    {
        // Back to Ecomm page
    
        referrer = referrer.replace(/SWITCH=true/, "");
            
        if (referrer.indexOf("?", 0) > -1)
        {
            if (referrer.substring(referrer.length-1, 1) == "&")
            {
                referrer += "SWITCH=true";
            }
            else
            {
                referrer += "&SWITCH=true";
            }
        }
        else
        {
            referrer += "?SWITCH=true";
        }

        location.href = referrer;
    }
    else
    {
        // back to CMS page
        window.history.back();
    }
}

function setFieldsDisabled(oParent,bDisabled,disableIfItemsCountIsOne)
{
    var elements;
    
    elements = oParent.getElementsByTagName("select");
    for (i = 0; i != elements.length; i++)
    {
        if (disableIfItemsCountIsOne && elements[i].options.length == 1)
        {
            elements[i].disabled = true;
        }
        else
        {
            elements[i].disabled = bDisabled;
        }
    }

    elements = oParent.getElementsByTagName("input");
    for (i = 0; i != elements.length; i++)
    {
        if (elements[i].name != "guestSelect")
        {
            elements[i].disabled = bDisabled;
        }
    }
}

function onGuestChecked(oCheckbox, oGuestInSearchID, obtnSearchID, oNumOfGuestID)
{
    var oRow = oCheckbox.parentNode.parentNode;
    var bChecked = oCheckbox.checked;
    
    setFieldsDisabled(oRow, !bChecked, true);
    oCheckbox.disabled = false;

    if (oRow.className.indexOf("Even") > 0)
    {
        if (bChecked)
        {
            oRow.className = "xPscGuestListRowEven";
        }
        else
        {
            oRow.className = "xPscGuestListRowEvenDisabled";
        }
    }
    else
    {
        if (bChecked)
        {
            oRow.className = "xPscGuestListRowOdd";
        }
        else
        {
            oRow.className = "xPscGuestListRowOddDisabled";
        }
    }
  
    var elements = oRow.parentNode.getElementsByTagName("input");
    var selCnt = 0;    
    for (i = 0; i != elements.length; i++)
    {    
        if (elements[i].id.indexOf("cbSel") > 0 && elements[i].checked) selCnt++;
    }
    var oGuestInSearch = document.getElementById(oGuestInSearchID);
    if (oGuestInSearchID) oGuestInSearch.innerHTML = selCnt;    
    
    var oNumOfGuest = document.getElementById(oNumOfGuestID);
    if (oNumOfGuest)
    {
        if (bChecked)
        {
            oNumOfGuest.selectedIndex++;
        }
        else
        {
            oNumOfGuest.selectedIndex--;
        }
    }
}


function onEditNamesClick(sGuestListId)
{
    var oGuestList = document.getElementById(sGuestListId);
    oGuestList.className = "xPscGuestSectionEdit";
}

function AdjustScrollPSCTop()
{
    if (pscLeft == 0)
    {
        var currentPos = getPosition(g_pscContainerObject);
        pscLeft = currentPos[0];
        pscTop = currentPos[1];
    }
    
    var arrAbsoluteRoots = getPageAbsoluteRoot(window, self)
    var rootWindow = arrAbsoluteRoots[0];
    
    rootWindow.scrollTo(pscLeft, pscTop);
}

/*LightBox effect*/
/********************************/
function showPSCLightBox()
{
    // Initialize & Activate LightBox
    initialize();
    
    lightbox.prototype.setLightBoxObject(g_pscContainerObject);
    lightbox.prototype.setLightBoxOverlayObject(g_pscOverlayObject);
    lightbox.prototype.activatePersistentLightBox();
}

function hidePSCLightBox()
{
    // Initialize & Deactivate LightBox
    lightbox.prototype.setLightBoxObject(g_pscContainerObject);
    lightbox.prototype.setLightBoxOverlayObject(g_pscOverlayObject);
    lightbox.prototype.deactivatePersistentLightBox();
}

function pscSearchSubmit()
{
    
}

/*Enable / Disable PSC Fields*/
/********************************/
function disablePSCFields()
{
    var oPscInnerContainer = document.getElementById(g_sPscInnerContainerId);
    var oPscBlastShield = document.getElementById(g_sPscBlastShieldId);
    
    oPscBlastShield.className = "xPscBlastShieldOn";
    oPscBlastShield.style.width = oPscInnerContainer.offsetWidth + "px";
    oPscBlastShield.style.height = oPscInnerContainer.offsetHeight + "px";
}

function enablePSCFields()
{
    var oPscInnerContainer = document.getElementById(g_sPscInnerContainerId);
    var oPscBlastShield = document.getElementById(g_sPscBlastShieldId);
    
    oPscBlastShield.className = "xPscBlastShieldOff";
    oPscBlastShield.style.width = "0px";
    oPscBlastShield.style.height = "0px";
}

/*
Positions the PSC over its placer shim
*/
function placePsc()
{
    var oPscInnerContainer = document.getElementById(g_sPscInnerContainerId);
    var oPscOuterContainer = g_oPscContainer;
    var oPscPlacer = g_oPscPlacer;

    if ( oPscPlacer == null )
        return;
        
    var bPscIsExpanded = (oPscInnerContainer.className == 'xPscExpanded');

    // Move the outer container on top of the placer
    var arrPosition = getPosition(oPscPlacer);
    
    oPscOuterContainer.style.left = arrPosition[0] + "px";

    oPscOuterContainer.style.top = arrPosition[1] + "px";
    
    if (bPscIsExpanded)
    {
        if (g_validationSummaryToolTipPopupElementObject)
        {
            if (g_validationSummaryToolTipPopupElementObject.offsetHeight > 0)
            {
                g_validationSummaryToolTipPopupElementObject.style.top = -1 * g_validationSummaryToolTipPopupElementObject.offsetHeight - 30 + "px";

                g_validationSummaryToolTipPopupElementStatus = "visible";
            }
        }
    }

    adjustShadow(oPscOuterContainer);

    // Figure out sizing ////////////////////////////////////////////////////////////////
    // The inner container is the authoritative source for the correct sizing of the PSC.

    if (!g_bDatePickersVisible && g_validationSummaryToolTipPopupElementObject == null)
    {    
        // Figure out the optimal size for the outer container (could be an iFrame) based
        // on the rendered height of the inner container.    
        oPscInnerContainer.style.height = "auto";
        oPscOuterContainer.style.height = oPscInnerContainer.offsetHeight + "px";
        
        oPscOuterContainer.style.width = "1000px"; /* just for now */
        oPscOuterContainer.style.width = oPscInnerContainer.offsetWidth + "px";
        
        // Change height of placer so it pushes other stuff down
        oPscPlacer.style.height = oPscOuterContainer.offsetHeight + "px";
        
        adjustShadow(g_oPscContainer);
    }       
    
    lightboxifyPsc();
    
    g_validationSummaryToolTipPopupElementStatus = "hidden";
}

function xPscInitialize(sPscInnerContainerId, sPscBlastShieldId)
{
    g_sPscInnerContainerId = sPscInnerContainerId;
    g_sPscBlastShieldId = sPscBlastShieldId;

    // ID of the container in whatever page has included us
    g_pscContainerObject = null;
    try
    {
        // Although this appears to do nothing useful, it is required for CMS integration.  Don't delete it.
        g_pscContainerObject = self.parent.getPscContainer();
        g_pscOverlayObject = self.parent.getPscOverlay();
        g_pscLoadingPage = self.parent.getPscLoadingPage();
        g_pscLoadingDiv = self.parent.getPscLoadingDiv();
        
        g_oPscPlacer = self.parent.getPscPlacer();
        g_oPscContainer = self.parent.getPscContainerById();
        
        self.parent.registerPscWindowEvents(placePsc)        
    }
    catch(e)
    {
        g_pscContainerObject = null;
        g_pscOverlayObject = null;
        g_pscLoadingPage = null;
        g_pscLoadingDiv = null;

        g_oPscPlacer = null;
        g_oPscContainer = null;
    }
    if (!g_pscContainerObject)
    {
        g_pscContainerObject = document.getElementById('xPscOuterContainer');
        g_pscOverlayObject = document.getElementById('overlay');
        g_pscLoadingPage = document.getElementById('loadingPageAvailabilityWaitMessage');
        g_pscLoadingDiv = document.getElementById('loadingDivAvailabilityWaitMessage');

        g_oPscPlacer = document.getElementById("pscPlacer");
        g_oPscContainer = document.getElementById("xPscOuterContainer");
    }
}

/* Guest Stuff */
/*************************************************************/
function guestRadioClick(oRadioButton, guestId, guestTypeName)
{
    g_hfGuestSelect.value = guestId;
    
    var oclickedRow = oRadioButton.parentNode.parentNode;        
    
    var elements = m_pnlGuestList.getElementsByTagName("input");    
                 
    var el, guestRow;        
    for (i = 0; i < elements.length; i++)
    {  
        el = elements[i];
                
        if (el.name == "guestSelect")
        {
            guestRow = el.parentNode.parentNode;
            
            if (guestRow.className.indexOf("Even") > 0)                            
            {
                if (guestRow.className.indexOf("EvenDisabled") < 0)
                {
                    guestRow.className = "xPscGuestListRowEvenDisabled";
                    setFieldsDisabled(guestRow, true, true);
                }
            }
            else
            {
                if (guestRow.className.indexOf("OddDisabled") < 0)
                {
                    guestRow.className = "xPscGuestListRowOddDisabled";
                    setFieldsDisabled(guestRow, true, true);
                }
            }
        }        
    }
    
    if (oclickedRow.className.indexOf("Even") > 0)
    {
        oclickedRow.className = "xPscGuestListRowEven";
    }
    else
    {
        oclickedRow.className = "xPscGuestListRowOdd";
    }
    setFieldsDisabled(oclickedRow, false, false);   
    
    if (guestTypeName.toLowerCase() == "adult")
    {
        m_ddlNumOfAdults.selectedIndex = 1;
        m_ddlNumOfChildren.selectedIndex = 0;
        m_ddlNumOfSeniors.selectedIndex = 0;
    }
    else if (guestTypeName.toLowerCase() == "child")
    {
        m_ddlNumOfAdults.selectedIndex = 0;
        m_ddlNumOfChildren.selectedIndex = 1;
        m_ddlNumOfSeniors.selectedIndex = 0;
    }
    else if (guestTypeName.toLowerCase() == "senior")
    {
        m_ddlNumOfAdults.selectedIndex = 0;
        m_ddlNumOfChildren.selectedIndex = 0;
        m_ddlNumOfSeniors.selectedIndex = 1;
    }
    else
    {
        m_ddlNumOfAdults.selectedIndex = 1;
        m_ddlNumOfChildren.selectedIndex = 0;
        m_ddlNumOfSeniors.selectedIndex = 0;
    }
}

/******************************/
/*     Help Tooltip popups    */

var tooglePSCHelpShow = false;
function helpOnClientShow(sender, eventArgs)
{
    if (!browser)
	{	        
	        getBrowserInfo();
	}
	
	var scrollX, scrollY;
	if(document.all)
    {
	    if(!document.documentElement.scrollLeft)
	        scrollX = document.body.scrollLeft
	    else
	        scrollX = document.documentElement.scrollLeft
	
	    if(!document.documentElement.scrollTop)
	        scrollY = document.body.scrollTop
	    else
	        scrollY = document.documentElement.scrollTop
	}
	else
	{
	    scrollX = window.pageXOffset;
	    scrollY = window.pageYOffset;
	}
	
	//This is to fix the issue in safari where the popup was showing up too high on the screen
    if(browser == "Safari") 
    {
    //        sender._popupElement.style.Top = (scrollY + sender._popupElement.offsetTop - 5) + "px";
    //        sender._popupElement.style.Left = (scrollX + sender._popupElement.offsetLeft + 10) +"px";  
    }
     else if (browser == "Internet Explorer" )
     {
            sender._popupElement.style.Top = (sender._popupElement.offsetTop - 10) + "px";
            sender._popupElement.style.Left = (sender._popupElement.offsetLeft + 10) +"px";  
     }
    else if (sender._popupElement.offsetTop < 0)
    {
        sender._popupElement.style.top = "150px";        
    }
        
   
    if (browser == "Internet Explorer" && version == "6")
    {
        
        sender._targetControl.style.position = "absolute";
        sender._targetControl.style.dipslay = "block";

        sender._popupElement.style.top = sender._targetControl.offsetTop + "px";
        
        var ifrm = makeFrame(sender._popupElement.parentNode, "tooltipIframe");
        ifrm.style.position = "absolute";
        ifrm.style.zIndex = "7999";
        ifrm.style.width = sender._popupElement.offsetWidth + 8 + "px";  //+ 8px for callout triangle pointing sideways
        ifrm.style.height = sender._popupElement.offsetHeight + "px";
        ifrm.style.top = sender._popupElement.offsetTop + "px";
        ifrm.style.left = sender._popupElement.offsetLeft - 8 + "px"; //shift iframe to the left so callout shows on top of drop downs
        ifrm.style.filter = 'Alpha(opacity=0)';
    }
    else
    {
        
        tooglePSCHelpShow = !tooglePSCHelpShow;
        if (tooglePSCHelpShow)
        {
            sender.hide();
            sender.show();
        }
    }
    createToolTipCallOut(sender._popupElement);
}

function helpOnClientHide(sender, eventArgs)
{
    removeFrame(sender._popupElement.parentNode, "tooltipIframe");
}

function helpOnClientBeforeShow(sender, eventArgs)
{
    if (typeof(setPscTarget) == 'function')
    {
        if (g_pscContainerObject)
            growIframe(g_pscContainerObject, 350, 0);
    }
}

/******************************/
//** Ground Transportation ***

function onRoundTripClick(pnlEndDateID, showPanel)
{  
    var pnlEndDate = document.getElementById(pnlEndDateID);
    if (pnlEndDate)
    {
        if (showPanel)
            pnlEndDate.className = "xPscEndDateOpen";
        else
            pnlEndDate.className = "xPscEndDateClosed";
    }
}

/******************************/
//***          Air          ***/
function getAirportCode(airportString)
{
    var airportArray = airportString.toString().split("-");
    
    return ((airportArray.length > 0) ? airportArray[0].toString().replace(/^\s+|\s+$/g, '').toUpperCase() : airportString.toString().toUpperCase);
}

function validateAirport(sender, args)
{
    var ctl = document.getElementById(m_txtAirportsID);
    if (ctl)
    {
        args.IsValid = (ctl.value.indexOf(";" + getAirportCode(args.Value) + ";") >= 0);
    }
    else
    {
        args.IsValid = true;
    }
}

function setSelectedAirport(airportString, listId)
{
    var list = document.getElementById(listId);
    var i;
    var airportCode = getAirportCode(airportString);
    
    if (list != null)
    {
        if ((airportCode != null) && (airportCode != ""))
        {
            list.selectedIndex = 0;
            for (i = 0; i < list.length; i++)
            {
                if (list.options[i].value == airportCode)
                {
                    list.selectedIndex = i;
                }
            }
        }
        else
        {
            list.selectedIndex = (list.length - 1);
        }
    }
}

/******************************/
//*** Availability Calendar ***/
function setPscStartDate(dateString)
{
    if (dpStartDate_DateBox)
    {
        dpStartDate_DateBox.value = ((dateString == null) ? m_defaultDateText : dateString);
    }
}

function setPscEndDate(dateString)
{
    if (dpEndDate_DateBox)
    {
        dpEndDate_DateBox.value = ((dateString == null) ? m_defaultDateText : dateString);
    }
}

function getPscStartDate()
{
    if (dpStartDate_DateBox)
    {
        return getFieldDate(dpStartDate_DateBox.value);
    }
    else
    {
        return null;
    }
}

function getPscEndDate()
{
    if (dpEndDate_DateBox)
    {
        return getFieldDate(dpEndDate_DateBox.value);
    }
    else
    {
        return null;
    }
}

function isPscEndDateVisible()
{
    return (dpEndDate_DateBox && dpEndDate_Panel && dpEndDate_Panel.className == "xPscEndDateOpen");
}

function invokePscSearchButtonClickFromAvailabilityCalendar()
{
    if (m_btnSearchButton != null)
    {
        m_btnSearchButton.click();
    }
}

function setAvailabilityCalendarStartDateFromPsc(dateString)
{
    // AvailabilityCalendar.js
    if (typeof(setAvailabilityCalendarStartDate) == "function")
    {
        setAvailabilityCalendarStartDate(dateString);
    }
}

function setAvailabilityCalendarEndDateFromPsc(dateString)
{
    // AvailabilityCalendar.js
    if (typeof(setAvailabilityCalendarEndDate) == "function")
    {
        setAvailabilityCalendarEndDate(dateString);
    }
}

function showHelpTip(helpToolTip){
    var allDivs = document.getElementsByTagName("div");
    var helptip;
    for(i = 0; i < allDivs.length; i++){
        if(allDivs[i].id.indexOf(helpToolTip) > -1){
            helptip = allDivs[i].id;
            alert(i);
            if(allDivs[i].id.indexOf("RadToolTipWrapper") > -1){
                helptip = allDivs[i].id.substring(18);
            }
            break;
        }
        
    }

    //var tooltip = $find("ctl00_newpsc_radttChildMGs");
    var tooltip = $find(helptip);
    tooltip.set_skin("EcommDefault");
    tooltip.set_position(Telerik.Web.UI.ToolTipPosition.MiddleRight);
    //tooltip.set_offsetX(20);
    //tooltip.set_offsetY(85);
    tooltip.show();
}