﻿// ------------
// Manage a div
// ------------
function Hide(div) {
    div.style.display = 'none';
}
function Show(div) {
    div.style.display = 'block';
}
function Toggle(div) {
    div.style.display = (div.style.display != 'block') ? 'block' : 'none';
}

// --------------
// Load JS or CSS
// --------------
function LoadJSOrCSSFile(filename, filetype) {
    if (filetype == "js") { //if filename is a external JavaScript file
        var fileref = document.createElement('script')
        fileref.setAttribute("type", "text/javascript")
        fileref.setAttribute("src", filename)
    }
    else if (filetype == "css") { //if filename is an external CSS file
        var fileref = document.createElement("link")
        fileref.setAttribute("rel", "stylesheet")
        fileref.setAttribute("type", "text/css")
        fileref.setAttribute("href", filename)
    }
    if (typeof fileref != "undefined")
        document.getElementsByTagName("head")[0].appendChild(fileref)
}

// --------
// Bookmark
// --------
function bookmark_us(url, title) {
    if (window.sidebar) // firefox
        window.sidebar.addPanel(title, url, "");
    else if(window.opera && window.print){ // opera
        var elem = document.createElement('a');
        elem.setAttribute('href',url);
        elem.setAttribute('title',title);
        elem.setAttribute('rel','sidebar');
        elem.click();
    }
    else if(document.all) // ie
        window.external.AddFavorite(url, title);
}

// ----------------
// Toggle Form Part
// ----------------
function toggleFormPart(ddlId) {
    var ddl = document.getElementById('ctl00_Main_' + ddlId);
    var selectedValue;
    var div;
    // hide all potential div
    for (i = 0; i < ddl.options.length;  i++) {
        selectedValue = ddl.options[i].value;
        div = document.getElementById('divField' + ddlId + selectedValue);
        if (div != null) {
            div.style.display = 'none';
        }
    }
    // show the selected one
    selectedValue = ddl.options[ddl.selectedIndex].value;
    div = document.getElementById('divField' + ddlId + selectedValue);
    if (div != null) {
        div.style.display = 'block';
    }
}

// -------------
// Toggle Panels
// -------------
function togglePanel(obj) {
    var el = document.getElementById(obj);
    el.style.display = (el.style.display != 'block') ? 'block' : 'none';
}

// ----------
// Calculator
// ----------
var panelResult = 'calcResults';
var panelCalculator = 'calcExpContent';
var isCalcOpen = false;

function toggleCalculator() {
    var button = document.getElementById('calcButton');
    if (isCalcOpen == false) {
        button.innerHTML = 'Close Calculator';
        document.getElementById(panelCalculator).style.display = 'block';
        isCalcOpen = true;
    }
    else {
        button.innerHTML = 'Open Calculator';
        document.getElementById(panelResult).style.display = 'none';
        document.getElementById(panelCalculator).style.display = 'none';
        isCalcOpen = false;
    }
}
function CalculateLoan() {
    var loan = document.getElementById('amount').value;
    var apr = document.getElementById('apr').value;
    var term = document.getElementById('term').value;
    if (loan > 0 && apr > 0 && term > 0) {
        var n = term * 12;
        var i = apr / (12 * 100);

        var tmp = Math.pow(1 + i, n);
        var rate = (i * loan * tmp) / (tmp - 1);

        var total = rate * 12 * term;

        document.getElementById('rate').innerHTML = '&pound;' + Math.round(rate * 100) / 100;
        document.getElementById('repaid').innerHTML = '&pound;' + Math.round(total * 100) / 100;
        document.getElementById('interest').innerHTML = '&pound;' + Math.round((total - loan) * 100) / 100;

        document.getElementById(panelResult).style.display = 'block';
    }
}

// ------------------
// Newsletter Sign Up
// ------------------
function NewsletterSignUp(name, email) {
    var inputName = $(name);
    var inputEmail = $(email);
    var url = '/Pages/NewsletterSignUp.aspx';
    var param = 'name=' + inputName.get('value') + '&email=' + inputEmail.get('value');

    var myRequest = new Request({ method: 'get', url: url });
    myRequest.addEvents({
        onSuccess: function(responseText, responseXML) {
            if (responseText == 'OK') {
                Hide($('newsletterForm'));
                Hide($('newsletterError'));
                Show($('newsletterThanks'));
            }
            else {
                Hide($('newsletterThanks'));
                Show($('newsletterError'));
            }
        },
        onFailure: function(xhr) {
            Hide($('newsletterThanks'));
            Show($('newsletterError'));
        }
    });
    myRequest.send(param);

    clicky.goal(332);
    clicky.pause(500);
}

// ------------
// Credit Cards
// ------------
function ApplyToCreditCard(pixelURL, clientURL, cardName) {
    if ($('trackingPixelDiv')) {
        var html = "<img src='" + pixelURL + "' id='trackingPixel' />";
        $('trackingPixelDiv').set("html", html);
    }

    clicky.goal(330);
    clicky.log(this.href, 'Credit Card Apply URL: ' + cardName, 'outbound');
    clicky.pause(500);

    window.open(clientURL);
}
function SelectCreditCard(cbId, ccId) {
    var url = '/Pages/Finance/CreditCardSelect.aspx';
    var cb = $(cbId);
    if (cb.checked){
        var param = 'id=' + ccId + '&action=select';
    }
    else {
        var param = 'id=' + ccId + '&action=unselect';
    }

    var myRequest = new Request({ method: 'get', url: url });
    myRequest.addEvents({
        onSuccess: function(responseText, responseXML) {
            if (responseText == 'OK') {
            }
            else {
            }
        },
        onFailure: function(xhr) {
        }
    });
    myRequest.send(param);
}

// ------------------
// Category Selection
// ------------------
function SelectForm(ddlId) {
    var ddl = document.getElementById(ddlId);
    var formId = ddl.options[ddl.selectedIndex].value;

    __doPostBack('ddlId', formId);
}