﻿// JScript File

var txtConvertFromAmount = null;
var btnCalculateCurrencyConversion = null;
var ddConvertTo = null;
var lblResult = null;
var cvConvertFromAmount = null;

function initializeCurrencyConversionObjects(txtConvertFromAmountID, 
                                                lblResultID, 
                                                btnCalculateCurrencyConversionID,
                                                cvConvertFromAmountID)
{
    txtConvertFromAmount = document.getElementById(txtConvertFromAmountID);
    ddConvertTo = document.getElementById("convertToDropDown");
    lblResult = document.getElementById(lblResultID);
    btnCalculateCurrencyConversion = document.getElementById(btnCalculateCurrencyConversionID);
    cvConvertFromAmount = document.getElementById(cvConvertFromAmountID);
    
    // This displays the converted amount if a currency has been selected to convert
    var sideBarConvertedCurrencyTotal = document.getElementById("sideBarConvertedCurrencyTotal");
    if (sideBarConvertedCurrencyTotal)
    {
        sideBarConvertedCurrencyTotal.style.display = "block";
    }

}

/*Currency Converter*/
/******************************************************************************/

function showHideCurrencyConverter(triggeredLinkObj)
{
    var popup = document.getElementById('currencyConverter');
    var sideBarConvertedCurrencyTotal = document.getElementById("sideBarConvertedCurrencyTotal");
    
    toggleDhtmlPopup('currencyConverter', triggeredLinkObj);

    if (popup.style.display == "block")
    {
        if (sideBarConvertedCurrencyTotal)
        {
            sideBarConvertedCurrencyTotal.style.display = "block";
        }

        popup.scrollIntoView(false);
    }    
}

/*
function showHideCurrencyConverter(amount, triggeredLinkObj)
{
    var popup = document.getElementById('currencyConverter');
    var sideBarConvertedCurrencyTotal = document.getElementById("sideBarConvertedCurrencyTotal");

    toggleDhtmlPopup('currencyConverter', triggeredLinkObj);

    if (popup.style.display == "block")
    {
        if (amount == "")
        {
            amount = 0;
        }
        
        // convert amount:
        var dollars = Math.floor(amount*100+0.50000000001);
        
        var cents = dollars%100;
        if (cents < 10)
            cents = "0" + cents;
    
        dollars = Math.floor(dollars/100).toString();
        
        amount = dollars + "." + cents;
        
        txtConvertFromAmount.value = amount;
        calculateCurrencyConversion();
        
        if (sideBarConvertedCurrencyTotal)
        {
            sideBarConvertedCurrencyTotal.style.display = "block";
        }

        popup.scrollIntoView(false);
    }
    else
    {
        clearCurrencyConversionValues();
    }
}
*/

function clearCurrencyConversionValues()
{
    var popup = document.getElementById('currencyConverter');

    txtConvertFromAmount.value = 0;
    
    lblResult.innerHTML = "";
    cvConvertFromAmount.style.display = "none";
}

function calculateCurrencyConversion()
{
    var currencyConversionCode = "";
    var exchangeText = ""

    if (txtConvertFromAmount.value != "" && cvConvertFromAmount.isvalid)
    {
        cvConvertFromAmount.style.display = "none";
        
        if (ddConvertTo.selectedIndex < 0)
        {
            ddConvertTo.selectedIndex = 0;
        }
        
        lblResult.innerHTML = formatCurrency(txtConvertFromAmount.value * ddConvertTo.options[ddConvertTo.selectedIndex].value);
        
        exchangeText = ddConvertTo.options[ddConvertTo.selectedIndex].text;
        currencyConversionCode = exchangeText.substring(exchangeText.lastIndexOf("(") + 1, exchangeText.lastIndexOf(")"));

        setDefaultCurrencyConversion(currencyConversionCode, txtConvertFromAmount.value * ddConvertTo.options[ddConvertTo.selectedIndex].value);
    }
    
    return false;
}

function calculateChangeCurrencyConversion(dropdowncontrolId, quotedCurrencyLabelId)
{
    var currencyConversionCode = "";
    var exchangeText = ""
    //var lblQuotedCurrency = document.getElementById('ctl00_CurrencyConverter_lblQuotedCurrency');
    var lblQuotedCurrency = document.getElementById(quotedCurrencyLabelId);
    //var ddConvertTo = document.getElementById('convertToDropDown');
    var ddConvertTo = document.getElementById(dropdowncontrolId);
    
    if (ddConvertTo != null && lblQuotedCurrency != null)
    {    
        lblQuotedCurrency.innerHTML = ddConvertTo.options[ddConvertTo.selectedIndex].value.replace("_", " ");
    }    
    return false;
}

function SetHiddenCurrencyCode(dropdowncontrolId)
{
    var ddConvertTo = document.getElementById(dropdowncontrolId);
    var hidCurCode = document.getElementById("hidCurrencyCode");
    
    if (ddConvertTo != null && hidCurCode != null)
    {
        var code = ddConvertTo.options[ddConvertTo.selectedIndex].value;
        var locdash = code.indexOf("_");     
        hidCurCode.value = ddConvertTo.options[ddConvertTo.selectedIndex].value.substring(locdash + 1);
        
        SetHiddenCurrencyCodeChanged();  
    }
}
function SetHiddenCurrencyCodeChanged()
{
    var isDirty = document.getElementById("hidCurCodeChanged");
    
    if (isDirty != null)
    {
        isDirty.value = "true";
    } 
}

function interceptCurrencyConversionEnterKeyPress(e)
{
    var unicode=e.keyCode? e.keyCode : e.charCode
    if (unicode == 13)
    {
       btnCalculateCurrencyConversion.click();
       return false;
    }
}

function validateConvertFromAmount(oSrc, args)
{
    var popup = document.getElementById('currencyConverter');

    if (isCurrency(txtConvertFromAmount.value))
    {
        args.IsValid = true;
    }
    else
    {
        args.IsValid = false;
        
        if (cvConvertFromAmount.style.display != "block")
        {
            cvConvertFromAmount.style.display = "block";
        }
    }
}

//AJAX scripts
/////////////////////////////////////////////////////////////////////////////

function setDefaultCurrencyConversion(defaultCurrencyConversionCode, convertedResult)
{
    // asynchronous call
    EComCurrencyConverter.SetDefaultCurrencyConversion(defaultCurrencyConversionCode, convertedResult, setDefaultCurrencyConversion_callback);
}

function setDefaultCurrencyConversion_callback(res)
{
    if (res.error)
    {
        alert('AJAX error\n\n' + res.error.Type + '\n\n' + res.error.Message + res);
    }
    else
    {
        var sideBarConvertedCurrencyTotal = document.getElementById("sideBarConvertedCurrencyTotal");

        if (sideBarConvertedCurrencyTotal)
        {
            sideBarConvertedCurrencyTotal.innerHTML = res.value.ConvertedTotal + " " + res.value.CurrencyCode;
        }
    }
}

// Atlas related
/////////////////////////////////////////////////////////////////////////////
var postBackElementID;

// Triggered as the "Postback" occurs
function InitializeRequest(sender, args) 
{
    postBackElementID = args.get_postBackElement().id;

    // PSC Advanced Search Filters
    if (postBackElementID.indexOf("newpsc_") > -1)
    {
        disablePSCFields();
    }
    if (postBackElementID.indexOf("guestD_ddl") > -1)
    {
        disableGuestDFields();
    }
}

// Callback handler
function EndRequestHandler(sender, args)
{
    if(postBackElementID.indexOf("lnkAddGuest") > -1 )
    {
        var objDiv = document.getElementById('guestSection');
        objDiv.scrollTop = objDiv.scrollHeight;
    }
    
    // LightBox
    if (postBackElementID.indexOf("btnVTPhotoTrigger") > -1 || postBackElementID.indexOf("btnVTMapTrigger") > -1)
    {
        displayLightBox(postBackElementID)
    }

    // PSC
    if (postBackElementID.indexOf("btnSearch1") > -1
        || postBackElementID.indexOf("btnSearchCurrentVendor") > -1
        || postBackElementID.indexOf("lnkChangeDates") > -1
        || postBackElementID.indexOf("btnSearchAfterRemoved") > -1
        || postBackElementID.indexOf("lnkMerchandisingGroup") > -1
        || postBackElementID.indexOf("lnkChangeDates") > -1
        || postBackElementID.indexOf("btnReviseSearch") > -1
        || postBackElementID.indexOf("search1") > -1)
    {
        //expandPSC();
        placePsc();
    }

    if (postBackElementID.indexOf("lnkPSCToggle") > -1 || postBackElementID.indexOf("lnkCloseAdvancedSearch") > -1)
    {
        //contractPSC();
    }
    
    // PSC Advanced Search Filters
    if (postBackElementID.indexOf("newpsc_") > -1)
    {
        enablePSCFields();
        placePsc();
    }
    
    if (postBackElementID.indexOf("guestD_ddl") > -1)
    {
        enableGuestDFields();
    }

    if (postBackElementID.indexOf("btnPayNow") > -1) {
        unsetupLoadingPage('loadingPagePayNow', 'loadingDivPayNow');
    }
}
