﻿$(function() {
    var allSelect = document.getElementsByTagName("select");
    for (var j = 0; j < allSelect.length; j++) {
        allSelect[j].onchange = processRateFinder;
    }

    // Select the Shares by Default in the rate finder
    fillSecondSelect("SH");

    $("a.prev").each(function() {
        $(this).hover(function(e) {
            var url = $(this).attr('href');

            //alert(url);
            $.ajax({
                type: "GET",
                url: url,
                dataType: "html",
                success: function(o) {
                    //alert(o);
                    document.getElementById("newsWin_content").innerHTML = o;

                    $("#newsWin").css('top', e.pageY - 70);
                    $("#newsWin").css('left', e.pageX - 180);
                    $("#newsWin").filter(':not(:animated)').animate({ "opacity": .95 }, 250);
                    //$("#newsWin").fadeIn('500');
                    //$("#newsWin").fadeTo('10', 0.8);
                },
                error: function(o) {
                    //alert(o);
                }
            });
        }, function(e) {
            $("#newsWin").animate({ "opacity": 0 }, 10);
            $("#newsWin").css('top', -100);
            $("#newsWin").css('left', -500);
            //$("#newsWin").fadeOut('50');
            //$("#newsWin").fadeTo('10', 0);
            document.getElementById("newsWin_content").innerHTML = "";
        }).click(function(e) {
            return false;
        }).mousemove(function(e) {
            $("#newsWin").css('top', e.pageY - 70);
            $("#newsWin").css('left', e.pageX - 180);
        })
    });


    $(".prev").append("&nbsp;&nbsp;<img src='img/icons/preview.png' alt='' />");
    $("#fp-billpay-video").click(function(e) {
        e.preventDefault();
        loadVideo("online_bill_payMVP.flv", 330, 250, 2);
    });
    $("#fp-slideshow").cycle({ timeout: 8000, speed: 500, pause: 1, random: 1 });

    function processRateFinder() {
        switch (this.id) {
            case "ratefind1":
                var rate1Value = this.options[this.selectedIndex].value;
                fillSecondSelect(rate1Value);
                break;
            case "ratefind2":
                if (this.selectedIndex > 0) {
                    fillRateDiv(this.selectedIndex);
                } else {
                    document.getElementById("rateDisplay").innerHTML = "";
                }
                break;
            default:
        }
    }

    function fillRateDiv(indexVal) {
        $.get("xml/xmlHSCU.xml", function(o) {
            //var xmlRateDoc = o.responseXML.documentElement;          
            var rate1Selected = document.getElementById("ratefind1").options[document.getElementById("ratefind1").selectedIndex].value;
            var rateDisplayDiv = "";
            var allRates = o.getElementsByTagName(rate1Selected);
            switch (rate1Selected) {
                case "SH":
                    try {
                        // pull correct values from loaded XML object
                        var rate = allRates[indexVal - 1].getElementsByTagName("Rate")[0].childNodes[0].nodeValue;
                        var APY = allRates[indexVal - 1].getElementsByTagName("APY")[0].childNodes[0].nodeValue;
                        // display in div
                        rateDisplayDiv += "<span class='rate1'>rate</span><br/><span class='rate2'>";
                        rateDisplayDiv += rate;
                        rateDisplayDiv += "</span><span class='ratePercent'>%</span>";
                        rateDisplayDiv += "<br/><br/>";
                        rateDisplayDiv += "<span class='rate1'>APY</span><br/><span class='rate2'>";
                        rateDisplayDiv += APY;
                        rateDisplayDiv += "</span><span class='ratePercent'>%</span>";
                    } catch (e) { }
                    break;
                case "Cert":
                    try {
                        // pull correct values from loaded XML object
                        var rate = allRates[indexVal - 1].getElementsByTagName("Rate")[0].childNodes[0].nodeValue;
                        var APY = allRates[indexVal - 1].getElementsByTagName("APY")[0].childNodes[0].nodeValue;
                        var term = allRates[indexVal - 1].getElementsByTagName("Term")[0].childNodes[0].nodeValue;
                        // display in div
                        rateDisplayDiv += "<span class='rate1'>rate</span><br/><span class='rate2'>";
                        rateDisplayDiv += rate;
                        rateDisplayDiv += "</span><span class='ratePercent'>%</span>";
                        rateDisplayDiv += "<br/><br/>";
                        rateDisplayDiv += "<span class='rate1'>APY</span><br/><span class='rate2'>";
                        rateDisplayDiv += APY;
                        rateDisplayDiv += "</span><span class='ratePercent'>%</span><br/>";
                        rateDisplayDiv += "<span class='rate3'>";
                        rateDisplayDiv += term;
                        rateDisplayDiv += "</span> <span class='rate1'>month term</span>";

                    } catch (e) { alert(e); }

                    break;
                case "MLR":
                    try {
                        // pull correct values from loaded XML object
                        var term = allRates[indexVal - 1].getElementsByTagName("Term")[0].childNodes[0].nodeValue;
                        var rate = allRates[indexVal - 1].getElementsByTagName("Rate")[0].childNodes[0].nodeValue;
                        var maxltv = allRates[indexVal - 1].getElementsByTagName("maxLTV")[0].childNodes[0].nodeValue;

                        rate = rate.substring(0, 4);

                        // display in div
                        rateDisplayDiv += "<br/><span class='rate1'>rates as low as </span><br/><span class='rate2'>";
                        rateDisplayDiv += rate;
                        rateDisplayDiv += "</span><span class='ratePercent'>%</span>";
                        rateDisplayDiv += "<br/><span class='rate1'>";
                        switch (indexVal) {
                            case 1:
                                maxltv = maxltv.substring(0, 14);
                                break;
                            case 2:
                                maxltv = maxltv.substring(0, 14);
                                break;
                            case 3:
                                maxltv = maxltv.substring(0, 14);
                                break;
                            case 4:
                                maxltv = maxltv.substring(0, 7);
                                break;
                            case 5:
                                break;
                            default:
                                break;

                        }
                        rateDisplayDiv += maxltv;
                        rateDisplayDiv += "<br/>*** Must qualify for premium rates</span>";

                    } catch (e) { alert(e); }

                    break;

                case "ULR":
                    try {
                        // pull correct values from loaded XML object
                        var ARate = allRates[indexVal - 1].getElementsByTagName("ARate")[0].childNodes[0].nodeValue;
                        var BRate = allRates[indexVal - 1].getElementsByTagName("BRate")[0].childNodes[0].nodeValue;
                        var CRate = allRates[indexVal - 1].getElementsByTagName("CRate")[0].childNodes[0].nodeValue;
                        var DRate = allRates[indexVal - 1].getElementsByTagName("DRate")[0].childNodes[0].nodeValue;
                        // display in div
                        rateDisplayDiv += "<span class='rate1'>A Paper: </span><span class='rate4'>";
                        rateDisplayDiv += ARate;
                        rateDisplayDiv += "</span><span class='ratePercent'>%</span>";
                        rateDisplayDiv += "<br/><span class='rate1'>B Paper: </span><span class='rate4'>";
                        rateDisplayDiv += BRate;
                        rateDisplayDiv += "</span><span class='ratePercent'>%</span>";
                        rateDisplayDiv += "<br/><span class='rate1'>C Paper: </span><span class='rate4'>";
                        rateDisplayDiv += CRate;
                        rateDisplayDiv += "</span><span class='ratePercent'>%</span>";
                        rateDisplayDiv += "<br/><span class='rate1'>D Paper: </span><span class='rate4'>";
                        rateDisplayDiv += DRate;
                        rateDisplayDiv += "</span><span class='ratePercent'>%</span><br/><span class='rate1'>* Must qualify for premium rates";

                    } catch (e) { alert(e); }

                    break;

                case "SLR":
                    try {
                        var desc, rate;

                        // pull correct values from loaded XML object
                        switch (indexVal - 1) {
                            case 0:
                                desc = "New Autos, Vans, Trucks";
                                rate = allRates[0].getElementsByTagName("Rate")[0].childNodes[0].nodeValue;
                                break;
                            case 1:
                                desc = "Used Autos, Vans, Trucks";
                                rate = allRates[3].getElementsByTagName("Rate")[0].childNodes[0].nodeValue;
                                break;
                            case 2:
                                desc = "New Boats, PWC, Motorcycles";
                                rate = allRates[6].getElementsByTagName("Rate")[0].childNodes[0].nodeValue;
                                break;
                            case 3:
                                desc = "Used Boats, PWC, Motorcycles";
                                rate = allRates[9].getElementsByTagName("Rate")[0].childNodes[0].nodeValue;
                                break;
                            case 4:
                                desc = "New Motor Homes and Travel Trailors";
                                rate = allRates[12].getElementsByTagName("Rate")[0].childNodes[0].nodeValue;
                                break;
                            case 5:
                                desc = "Used Motor Homes and Travel Trailors";
                                rate = allRates[16].getElementsByTagName("Rate")[0].childNodes[0].nodeValue;
                                break;
                            case 6:
                                desc = "New and Used Lawn Tractors and Equipment";
                                rate = allRates[20].getElementsByTagName("Rate")[0].childNodes[0].nodeValue;
                                break;
                            default:
                                break;

                        }
                        // display in div
                        rateDisplayDiv += "<span class='rate1'>";
                        rateDisplayDiv += desc;
                        rateDisplayDiv += "</span><br/>";
                        rateDisplayDiv += "<span class='rate1'>rates as low as</span><br/><span class='rate4'>";
                        rateDisplayDiv += rate;
                        rateDisplayDiv += "</span><span class='ratePercent'>%</span>";
                        rateDisplayDiv += "<br/><span class='rate1'>* Must qualify for premium rates<br />* Collateral Age, Loan Term, and Credit Scores determine rates</span>";
                        rateDisplayDiv += "<br/><a href='Rates.aspx' class='rate1'>Click here for more detailed rate information.</a>"
                    } catch (e) { alert(e); }

                    break;
                case "CC":
                    try {
                        // pull correct values from loaded XML object
                        var theCard = allRates[indexVal - 1].getElementsByTagName("Description")[0].childNodes[0].nodeValue;
                        var theRate = allRates[indexVal - 1].getElementsByTagName("Rate")[0].childNodes[0].nodeValue;
                        var theLimit = allRates[indexVal - 1].getElementsByTagName("Limit")[0].childNodes[0].nodeValue;

                        // display in div
                        rateDisplayDiv += "<span class='rate1'>rate as low as</span><br/><span class='rate2'>";
                        rateDisplayDiv += theRate;
                        rateDisplayDiv += "</span><span class='ratePercent'>%</span>";
                        rateDisplayDiv += "<br/><br/>";
                        rateDisplayDiv += "<span class='rate1'>Credit Limits Available</span><br/><span class='rateCreditLimits'>";
                        rateDisplayDiv += theLimit;
                        rateDisplayDiv += "</span>";
                        
                    } catch (e) { alert(e); }
                    break;
                default:
                    alert("Problem loading rates from XML properly!");
                    break;
            }
            rateDisplayDiv += "<br/><span class='rate1'>** Rates subject to change<br/>*** Rules and Restrictions Apply</span>"
            document.getElementById("rateDisplay").innerHTML = rateDisplayDiv;
        });
    }

    function fillSecondSelect(rate1SelectValue) {
        clearSecondSelect();
        $.get("xml/xmlHSCU.xml", function(o) {
            var updated = o.getElementsByTagName("Rates")[0].getAttribute("updated");
            updated = "last updated: " + updated;
            document.getElementById("rate_updated").innerHTML = updated;

            var rateSelect2 = document.getElementById("ratefind2");
            var firstOption = new Option;
            firstOption.text = "Please Select to View Rate";
            rateSelect2.options[0] = firstOption;

            switch (rate1SelectValue) {
                case "SH":
                    var r = o.getElementsByTagName(rate1SelectValue);
                    var rateDesc = o.getElementsByTagName("Description");

                    for (var x = 0; x < r.length; x++) {
                        var rateOption = new Option;
                        rateOption.text = r[x].getElementsByTagName("Description")[0].childNodes[0].nodeValue;
                        rateOption.value = x;
                        try {
                            rateSelect2.options[x + 1] = rateOption;
                        } catch (e) { }
                    }
                    // Make Premium Rewards Checking the Default Selection when the page loads.
                    document.getElementById("ratefind2").selectedIndex = 10;
                    fillRateDiv(10);
                    break;
                case "Cert":
                    var r = o.getElementsByTagName(rate1SelectValue);
                    var rateDesc = o.getElementsByTagName("Description");

                    for (var x = 0; x < r.length; x++) {
                        var rateOption = new Option;
                        rateOption.text = r[x].getElementsByTagName("Description")[0].childNodes[0].nodeValue;
                        rateOption.value = x;
                        try {
                            rateSelect2.options[x + 1] = rateOption;
                        } catch (e) { }
                    }
                    break;
                case "MLR":
                    var r = o.getElementsByTagName(rate1SelectValue);
                    var rateDesc = new Array("30 Year 5/5", "15 Year 5/5", "15 Year Fixed", "Home Equity Line of Credit", "Express Equity Fixed");

                    for (var x = 0; x < r.length; x++) {
                        var rateOption = new Option;
                        rateOption.text = rateDesc[x];
                        rateOption.value = x;
                        try {
                            rateSelect2.options[x + 1] = rateOption;
                        } catch (e) { }
                    }
                    break;
                case "ULR":
                    var r = o.getElementsByTagName(rate1SelectValue);
                    var rateDesc = o.getElementsByTagName("Term");

                    for (var x = 0; x < r.length; x++) {
                        var rateOption = new Option;
                        rateOption.text = r[x].getElementsByTagName("Term")[0].childNodes[0].nodeValue;
                        rateOption.value = x;
                        try {
                            rateSelect2.options[x + 1] = rateOption;
                        } catch (e) { }
                    }

                    break;
                case "SLR":
                    var r = o.getElementsByTagName(rate1SelectValue);
                    var rateDesc = o.getElementsByTagName("Description");
                    var rateOptionText = new Array()
                    var rateOptionValue = new Array()
                    rateOptionText[0] = "New Autos, Vans, Trucks"
                    rateOptionText[1] = "Used Autos, Vans, Trucks"
                    rateOptionText[2] = "New Boats, PWC, Motorcycles"
                    rateOptionText[3] = "Used Boats, PWC, Motorcycles"
                    rateOptionText[4] = "New Motor Homes/Travel Trailors"
                    rateOptionText[5] = "Used Motor Homes/Travel Trailors"
                    rateOptionText[6] = "New/Used Lawn Tractors & Equip."

                    for (var x = 0; x < 7; x++) {
                        var rateOption = new Option;
                        rateOption.text = rateOptionText[x];
                        rateOption.value = x;
                        try {
                            rateSelect2.options[x + 1] = rateOption;
                        } catch (e) { }
                    }
                    break;
                case "CC":
                    var r = o.getElementsByTagName(rate1SelectValue);
                    var rateDesc = o.getElementsByTagName("Description");

                    for (var x = 0; x < r.length; x++) {
                        var rateOption = new Option;
                        rateOption.text = r[x].getElementsByTagName("Description")[0].childNodes[0].nodeValue;
                        rateOption.value = x;
                        try {
                            rateSelect2.options[x + 1] = rateOption;
                        } catch (e) { }
                    }
                    break;
                default:

                    break;
            }
        });
    }

    function clearSecondSelect() {
        var rateSelect2 = document.getElementById("ratefind2");
        rateSelect2.options.length = 0;
        document.getElementById("rateDisplay").innerHTML = "";

    }
});