

var queryString = window.location.search;

function getQueryString(strQuery){
    if (strQuery.charAt(0) == "?") {
        strQuery = strQuery.substr(1);
    }
    //alert(strQuery);
    var strQueryFields = strQuery.split(/&/);
    var info = {};
    for (var i = 0; i < strQueryFields.length; i++) {
        var fieldInfo = strQueryFields[i].split(/=/, 2);
        info[fieldInfo[0]] = fieldInfo[1];
    }
    return info;
}

var queryStringObj = getQueryString(queryString);
var offerId = (queryStringObj.offerID);

// Hide div="offer_bonus" if text.length <= 5
function showBonusOffer(){
    jQuery('div.offer_bonus').each(function(){
        if (jQuery.trim(jQuery(this).text()).length > 6) {
            jQuery(this).css({
                display: "block"
            });
        }
    });
};


// Hide Incentive elements if they are empty
function hideIncentives(){
    jQuery('div.offer_summary dl').each(function(){
        jQuery(this).children('dd').children('span').each(function(){
            if (jQuery.trim(jQuery(this).text()).length < 2) {
                jQuery(this).parent().prev().remove();
                jQuery(this).parent().remove();
            }
        })
        if (jQuery(this).children().length == 0) {
            jQuery(this).remove();
        }
    });
}




function displayOfferId(offerId, tab, isDefault){
    if (typeof offerId == "undefined" || tab != "F") {
        jQuery("ul.finance div.offer_summary:first").slideDown().fadeTo("fast", 1);
        jQuery("ul.finance dd.legal_contents:first").addClass("print_on");
        jQuery('ul.finance div.offer_details:first').children().eq(1).toggleClass("open");
    }
    
    if (typeof offerId == "undefined" || tab == "F") {
        jQuery("ul.lease div.offer_summary:first").slideDown().fadeTo("fast", 1);
        jQuery("ul.lease dd.legal_contents:first").addClass("print_on");
        jQuery('ul.lease div.offer_details:first').children().eq(1).toggleClass("open");
    }
    
    var logParams;
    
    if (typeof offerId != "undefined") {
        var showCurrentOffer = "div#" + offerId;
        jQuery(showCurrentOffer).slideDown().fadeTo("fast", 1);
        jQuery(showCurrentOffer).children().children("dd.legal_contents").addClass("print_on");
        jQuery(showCurrentOffer).children().children("div.offer_details").children().eq(1).toggleClass("open");
        logParams = jQuery(showCurrentOffer).children().children("div.offer_details").children().eq(1);
        isDefault = false;
    };
    
    // log the first offer seen
    // grab log params for first finance offer if that is what we opened
    if (typeof offerId == "undefined" && tab == "F") {
        logParams = jQuery('ul.finance div.offer_details:first').children().eq(1);
    }
    
    // grab log params for first lease offer if that is what we opened
    if (typeof offerId == "undefined" && tab == "L") {
        logParams = jQuery('ul.lease div.offer_details:first').children().eq(1);
    }
    
    logOfferView(logParams, isDefault);
}

// Set dynamic language values
function toggleShow_Lang(){
    if (queryString.match('/fr/') == null) {
        var showToggle = "Expand All";
    }
    else {
        var showToggle = "VOIR TOUTES LES R&Eacute;PONSES";
    };
    return showToggle;
};

function toggleHide_Lang(){
    if (queryString.match('/fr/') == null) {
        var hideToggle = "Hide All";
    }
    else {
        var hideToggle = "CACHER TOUTES LES R&Eacute;PONSES";
    };
    return hideToggle;
};

function logOfferView(logParams, isDefault){
    var names;
    var values;
    if (typeof logParams != "undefined" && logParams.hasClass("open") && !logParams.hasClass("hasBeenLogged")) {
        names = "ofid,post,prov,lang";
        values = logParams.text();
        if (isDefault) {
            names += ",default";
            values += ",1";
        }
        jQuery.post(loggingWsUrl, {
            appCode: "LogEvent",
            eventCode: "SORD",
            name: names,
            value: values
        });
        //alert("log: http://infiniti.adeo.com:7070/global/metrics/log.ashx?appCode=LogEvent&eventCode=SORD&name=" + names + "&value=" + values);
        logParams.addClass("hasBeenLogged");
    }
};

function openTab(tab){
    if (tab != "F") {
        jQuery("ul.finance").hide();
        jQuery('a.current_lease_offers').addClass("tab_active");
        jQuery('a.current_finance_offers').removeClass("tab_active");
        if (queryString.match('/fr/') == null) {
            jQuery('a.current_lease_offers span').replaceWith('<span>' + leaseActive + '</span>');
            jQuery('a.current_finance_offers span').replaceWith('<span>' + financeOff + '</span>');
        }
        else {
            jQuery('a.current_lease_offers span').replaceWith('<span>' + leaseActive_fr + '</span>');
            jQuery('a.current_finance_offers span').replaceWith('<span>' + financeOff_fr + '</span>');
        };
        
        return false;
    }
    else {
        jQuery("ul.finance").show();
        jQuery("ul.lease").hide();
        jQuery('a.current_finance_offers').addClass("tab_active");
        jQuery('a.current_lease_offers').removeClass("tab_active");
        if (queryString.match('/fr/') == null) {
            jQuery('a.current_lease_offers span').replaceWith('<span>' + leaseOff + '</span>');
            jQuery('a.current_finance_offers span').replaceWith('<span>' + financeActive + '</span>');
        }
        else {
            jQuery('a.current_lease_offers span').replaceWith('<span>' + leaseOff_fr + '</span>');
            jQuery('a.current_finance_offers span').replaceWith('<span>' + financeActive_fr + '</span>');
        };
        
        return false;
    };
    
    }

//jQuery(document).ready(function() {
function loadOffer(tab, isDefault){
    // Initial DOM manipulation
    jQuery("div.offer_summary").hide();
    // jQuery("div.offer_summary").fadeTo("fast", .40);
    jQuery('dd.legal_contents').fadeTo("fast", .85)
    jQuery("dd.legal_contents").hide();
    
    // Display lease or finance tab based on querystring var "tab"
    openTab(tab);
    
    // Show specific offer based on query string var "offerId"
    displayOfferId(offerId, tab, isDefault);
    
    // hide empty incentive nodes
    hideIncentives();
    showBonusOffer();
    
    // Stylimg for alternating table rows
    jQuery('table.2009 tr:odd').css("background-color", "#EFEFEF");
    jQuery('table.2008 tr:odd').css("background-color", "#EFEFEF");
    
    jQuery('ul.finance div.offer_details:first, ul.lease div.offer_details:first').css("border-top", "1px solid #CCC");
    
    //jQuery('div.offer_summary tr.model_year').css("background", "url(/images/common/offer_bg_gradient_vert.gif)");
    
    // Tabber functionality (show lease offers)
    jQuery('a.current_lease_offers').click(function(){
        jQuery(this).addClass("tab_active");
        jQuery("ul.lease").show();
        jQuery("ul.finance").hide();
        jQuery('a.current_finance_offers').removeClass("tab_active");
        
        if (queryString.match('/fr/') == null) {
            jQuery('a.current_finance_offers span').replaceWith('<span>' + financeOff + '</span>');
            jQuery('a.current_lease_offers span').replaceWith('<span>' + leaseActive + '</span>');
        }
        else {
            jQuery('a.current_finance_offers span').replaceWith('<span>' + financeOff_fr + '</span>');
            jQuery('a.current_lease_offers span').replaceWith('<span>' + leaseActive_fr + '</span>');
        };
        
        // log first offer
        logOfferView(jQuery('ul.lease div.offer_details').children().eq(1), true);
        return false;
    });
    
    // Tabber functionality (show finace offers)
    jQuery('a.current_finance_offers').click(function(){
        jQuery(this).addClass("tab_active");
        jQuery("ul.lease").hide();
        jQuery("ul.finance").show();
        jQuery('a.current_lease_offers').removeClass("tab_active");
        
        if (queryString.match('/fr/') == null) {
            jQuery('a.current_lease_offers span').replaceWith('<span>' + leaseOff + '</span>');
            jQuery('a.current_finance_offers span').replaceWith('<span>' + financeActive + '</span>');
        }
        else {
            jQuery('a.current_lease_offers span').replaceWith('<span>' + leaseOff_fr + '</span>');
            jQuery('a.current_finance_offers span').replaceWith('<span>' + financeActive_fr + '</span>');
        };
        
        // log first offer
        logOfferView(jQuery('ul.finance div.offer_details').children().eq(1), true);
        return false;
    });
    
    // Position legal window over content if javascript is enabled
    jQuery('dd.legal_contents').css("position", "absolute");
    
    
    // Show legal window
    jQuery('dt.offer_legal').click(function(){
        jQuery(this).next().slideToggle("normal").fadeTo("fast", 1);
        return false;
    });
    
    // Hide legal window
    jQuery('dd.legal_contents a.close').click(function(){
        jQuery(this).parent().fadeTo("normal", .85).slideToggle("normal");
        return false;
    });
    
    // Expland all accordion tabs
    jQuery('a.expand_toggle').click(function(){
    
        var showToggle = toggleShow_Lang(); // Sets the toggler to English or French based on the URL (/en/ or /fr/)
        var hideToggle = toggleHide_Lang();
        
        var toggle_state = jQuery(this).attr("title");
        
        if (toggle_state == "show") {
            jQuery("div.offer_summary:hidden").slideToggle("fast").fadeTo("fast", 1);
            jQuery('a.expand_toggle span').replaceWith("<span>[-] " + hideToggle + "</span>");
            jQuery('a.expand_toggle').attr({
                title: "hide"
            });
            jQuery('ul.accordion div.offer_details h1').addClass("open");
        }
        else {
            jQuery("div.offer_summary:visible").slideToggle("fast").fadeTo("fast", .99);
            jQuery('a.expand_toggle span').replaceWith("<span>[+] " + showToggle + "</span>");
            jQuery('a.expand_toggle').attr({
                title: "show"
            });
            jQuery('ul.accordion div.offer_details h1').removeClass("open");
        };
        return false;
    });
    
    // Expand focused accordion tab
    jQuery('ul.accordion div.offer_details').click(function(){
        var showToggle = toggleShow_Lang(); // Sets the toggler to English or French based on the URL (/en/ or /fr/)
        var hideToggle = toggleHide_Lang();
        
        jQuery(this).next("div.offer_summary").slideToggle("fast").fadeTo("fast", 1);
        jQuery(this).children().eq(1).toggleClass("open");
        
        logOfferView(jQuery(this).children().eq(1), false)
        
        var totalDivs = jQuery("ul.accordion div.offer_summary").length;
        var numberVisible = jQuery("ul.accordion div.offer_summary:visible").length;
        
        if (numberVisible == totalDivs) {
            jQuery('a.expand_toggle span').replaceWith("<span>[-] " + hideToggle + "</span>");
            jQuery('a.expand_toggle').attr({
                title: "hide"
            });
        }
        else {
            jQuery('a.expand_toggle span').replaceWith("<span>[+] " + showToggle + "</span>");
            jQuery('a.expand_toggle').attr({
                title: "show"
            });
        };
            });
    
    // FadeIn/FadeOut effect on accordion tabs
    jQuery('ul.accordion div.offer_details').hover(function(){
        jQuery(this).fadeTo("fast", .95);
    }, function(){
        jQuery(this).fadeTo("fast", .95);
    });
}

