
$(document).ready(function() {

    // Makes the 'contains' selector case insensitive
    $.extend($.expr[":"], {
        "contains": function(elem, i, match, array) {
            return (elem.textContent || elem.innerText || "").toLowerCase
        ().indexOf((match[3] || "").toLowerCase()) >= 0;
        }
    });

    // Begin Left Nav Down States

    /* EXPLANATION OF VARIABLES FOR SWITCH STATEMENT
    case = The URL of the current page minus its root(Ex: PageName/tabid/123/Default.aspx)
    page_link = If no sub-nav, Insert the href value of the element to which the down state will be applied
    first_down_state = If this is a sub-nav, Insert the href value of the parent-nav element here 
    current_state = If this is a sub-nav, Insert the href value of the sub-nav element here
    **Note: Mark any unused variables as 'null'
    */

    var index_full_path = jQuery.url.attr("path");
    var index_path = index_full_path.replace('/', '');

    switch (index_path) {
        // General Left Nav                                            
        case "SecurityTips/tabid/230/Default.aspx":
            page_link = '/Default.aspx?tabname=Security+Tips';
            first_down_state = null;
            current_state = null;
            break;
        case "ReportFraud/tabid/122/Default.aspx":
            page_link = '/Default.aspx?tabname=Report+Fraud';
            first_down_state = null;
            current_state = null;
            break;
        case "ContactUs/tabid/116/Default.aspx":
            page_link = '/Default.aspx?tabname=Contact+Us';
            first_down_state = null;
            current_state = null;
            break;
        case "FAQ_Master_Page/tabid/378/Default.aspx":
            page_link = '/Default.aspx?tabname=FAQ_Master_Page';
            first_down_state = null;
            current_state = null;
            break;

        // Corporate Left Nav                                            
        case "AboutEZShield/AboutEZShieldCorp/tabid/306/Default.aspx":
            page_link = '/default.aspx?tabname=AboutEZShieldCorp';
            first_down_state = null;
            current_state = null;
            break;
        case "AboutEZShield/AboutEZShieldCorpOverview/tabid/307/Default.aspx":
            page_link = '/default.aspx?tabname=AboutEZShieldCorpOverview';
            first_down_state = null;
            current_state = null;
            break;
        case "AboutEZShield/AboutEZShieldCorpLocations/tabid/308/Default.aspx":
            page_link = '/default.aspx?tabname=AboutEZShieldCorpLocations';
            first_down_state = null;
            current_state = null;
            break;

        // Newsroom Left Sub Nav                                                          
        case "AboutEZShield/EZShieldNewsroomProtectingYourIdentityTaxTime/tabid/404/Default.aspx":
            page_link = null;
            first_down_state = '/default.aspx?tabname=EZShieldNewsroomProtectingYourIdentityTaxTime';
            current_state = '/default.aspx?tabname=EZShieldNewsroomProtectingYourIdentityTaxTime';
            break;
        case "AboutEZShield/EZShieldNewsroom_Partnership_with_Deluxe/tabid/379/Default.aspx":
            page_link = null;
            first_down_state = '/default.aspx?tabname=EZShieldNewsroomProtectingYourIdentityTaxTime';
            current_state = '/default.aspx?tabname=EZShieldNewsroom_Partnership_with_Deluxe';
            break;
        case "AboutEZShield/EZShieldNewsroomAsABenefit/tabid/375/Default.aspx":
            page_link = null;
            first_down_state = '/default.aspx?tabname=EZShieldNewsroomProtectingYourIdentityTaxTime';
            current_state = '/default.aspx?tabname=EZShieldNewsroomAsABenefit';
            break;
        case "AboutEZShield/EZShieldNewsroomAmericansIDTheft/tabid/368/Default.aspx":
            page_link = null;
            first_down_state = '/default.aspx?tabname=EZShieldNewsroomProtectingYourIdentityTaxTime';
            current_state = '/default.aspx?tabname=EZShieldNewsroomAmericansIDTheft';
            break;
        case "AboutEZShield/EZShieldNewsroomIntrosVault/tabid/372/Default.aspx":
            page_link = null;
            first_down_state = '/default.aspx?tabname=EZShieldNewsroomProtectingYourIdentityTaxTime';
            current_state = '/default.aspx?tabname=EZShieldNewsroomIntrosVault';
            break;

        // Careers Left Sub Nav                                            
        case "AboutEZShield/EZShieldCareers/tabid/309/Default.aspx":
            page_link = null;
            first_down_state = '/default.aspx?tabname=EZShieldCareers';
            current_state = null;
            break;
        case "AboutEZShield/EZShieldOpenPositions/tabid/312/Default.aspx":
            page_link = null;
            first_down_state = '/default.aspx?tabname=EZShieldCareers';
            current_state = '/default.aspx?tabname=EZShieldOpenPositions';
            break;
        case "AboutEZShield/EZShieldHiringProcess/tabid/313/Default.aspx":
            page_link = null;
            first_down_state = '/default.aspx?tabname=EZShieldCareers';
            current_state = '/default.aspx?tabname=EZShieldHiringProcess';
            break;
        case "AboutEZShield/EZShieldBenefits/tabid/314/Default.aspx":
            page_link = null;
            first_down_state = '/default.aspx?tabname=EZShieldCareers';
            current_state = '/default.aspx?tabname=EZShieldBenefits';
            break;
        case "AboutEZShield/EZShieldTrainingDevelopment/tabid/315/Default.aspx":
            page_link = null;
            first_down_state = '/default.aspx?tabname=EZShieldCareers';
            current_state = '/default.aspx?tabname=EZShieldTrainingDevelopment';
            break;

        // Profile Left Nav                                            
        case "ProfileMembershipInfo/tabid/184/Default.aspx":
            page_link = null;
            first_down_state = '/Default.aspx?tabname=ProfileMembershipInfo';
            current_state = '/Default.aspx?tabname=ProfileMembershipInfo';
            break;
        case "ProfileMembershipInfo/ProfileManagePassword/tabid/346/Default.aspx":
            page_link = null;
            first_down_state = '/Default.aspx?tabname=ProfileMembershipInfo';
            current_state = '/Default.aspx?tabname=ProfileManagePassword';
            break;
        case "ProfileMembershipInfo/ProfileSecurityQuestion/tabid/347/Default.aspx":
            page_link = null;
            first_down_state = '/Default.aspx?tabname=ProfileMembershipInfo';
            current_state = '/Default.aspx?tabname=ProfileSecurityQuestion';
            break;
        case "ProfileMembershipInfo/ProfilePersonalInfo/tabid/348/Default.aspx":
            page_link = '/Default.aspx?tabname=ProfilePersonalInfo';
            first_down_state = null;
            current_state = null;
            break;
        case "ProfileMembershipInfo/ProfilePaymentInfo/tabid/349/Default.aspx":
            page_link = '/Default.aspx?tabname=ProfilePaymentInfo';
            first_down_state = null;
            current_state = null;
            break;

        // Identity Theft Dashborad Left Sub Nav                           
        case "MyDashboard/tabid/409/Default.aspx":
            page_link = '/Default.aspx?tabname=MyDashboard';
            first_down_state = null;
            current_state = null;
            break;
        case "MyDashboard/ITPDashboardPrevent/PreventativeMeasures/tabid/410/serviceid/64/Default.aspx":
            page_link = null;
            first_down_state = null;
            current_state = '/Default.aspx?tabname=PreventativeMeasures&serviceid=64';
            break;
        case "MyDashboard/ITPDashboardPrevent/IdentityTheftResources/tabid/420/serviceid/66/Default.aspx":
            page_link = null;
            first_down_state = null;
            current_state = '/Default.aspx?tabname=IdentityTheftResources&serviceid=66';
            break;
        case "MyDashboard/ITPDashboardPrevent/Vault/tabid/411/serviceid/59/Default.aspx":
            page_link = null;
            first_down_state = null;
            current_state = '/Default.aspx?tabname=Vault&serviceid=59';
            break;
        case "MyDashboard/ITPDashboardDetect/InternetMonitoring/tabid/413/serviceid/55/Default.aspx":
            page_link = null;
            first_down_state = null;
            current_state = '/Default.aspx?tabname=InternetMonitoring&serviceid=55';
            break;
        case "MyDashboard/ITPDashboardDetect/CreditMonitoring/tabid/414/serviceid/56/Default.aspx":
            page_link = null;
            first_down_state = null;
            current_state = '/Default.aspx?tabname=CreditMonitoring&serviceid=56';
            break;
        case "MyDashboard/ITPDashboardDetect/PublicMonitoring/tabid/415/serviceid/57/Default.aspx":
            page_link = null;
            first_down_state = null;
            current_state = '/Default.aspx?tabname=PublicMonitoring&serviceid=57';
            break;
        case "MyDashboard/ITPDashboardDetect/AddressMonitoring/tabid/416/serviceid/58/Default.aspx":
            page_link = null;
            first_down_state = null;
            current_state = '/Default.aspx?tabname=AddressMonitoring&serviceid=58';
            break;
        case "MyDashboard/MyIDR/IdentityRestoration/tabid/417/serviceid/51/Default.aspx":
            page_link = null;
            first_down_state = null;
            current_state = '/Default.aspx?tabname=IdentityRestoration&serviceid=51';
            break;
        case "MyDashboard/MyIDR/BusinessIdentityRestoration/tabid/418/serviceid/52/Default.aspx":
            page_link = null;
            first_down_state = null;
            current_state = '/Default.aspx?tabname=BusinessIdentityRestoration&serviceid=52';
            break;
        case "MyDashboard/MyIDR/EmergencyCardServices/tabid/419/serviceid/54/Default.aspx":
            page_link = null;
            first_down_state = null;
            current_state = '/Default.aspx?tabname=EmergencyCardServices&serviceid=54';
            break;
        case "MyDashboard/ITPDashboardDetect/IdentiScreen/tabid/412/serviceid/65/Default.aspx":
            page_link = null;
            first_down_state = null;
            current_state = '/Default.aspx?tabname=IdentiScreen&serviceid=65';
            break;
    }

    if (location.href.indexOf(index_path) != -1) {
        if (typeof (page_link) != "undefined") { $(".left_nav li a[href =" + page_link + "]").addClass('down'); }
        if (typeof (first_down_state) != "undefined") { $(".left_nav li a[href=" + first_down_state + "]:first").addClass('down'); }
        if (typeof (current_state) != "undefined") { $("ul.inner_links a[href=" + current_state + "]").addClass('current'); }
    }

    // Adds display block to sub nav when sibling 'a' has down state (keep this at the end of nav down state scripts) 
    $(".left_nav li a.down ~ ul.inner_links").css("display", "block");
    // End Left Nav States

    // Adds down state to main nav 'ProfileMembershipInfo' tab
    if (location.href.indexOf("ProfileMembershipInfo") != -1) {
        $(".main_nav li a[href*='ProfileMembershipInfo']").parent().addClass('down');
    }

    // Finds phone number on contact us page and updates all instances of the phone number throughout site's content
    $("span[name='phone_number']").load('/ContactUs/tabid/116/Default.aspx .contact_box .phonetext1', function() {
        var replace_phone_number = $("h2", this).text();
        $(this).html(replace_phone_number);
    });

    // Finds email address on contact us page and updates all instances of the email address throughout site's content
    $("a[href*='mailto:info@ezshield']").load('/ContactUs/tabid/116/Default.aspx .contact_box a', function() {
        var replace_email_address = $('a', this).attr('href').replace('mailto:', '');
        $(this).attr('href', 'mailto:' + replace_email_address);
        $(this).text(replace_email_address);
    });

    // Finds website address in the root url and updates all instances of the website address throughout site's content
    var replace_website_address = jQuery.url.attr('host').split('.', '1');
    $("a:contains('www.ezshield')").text(replace_website_address + '.ezshield.com');
    $("a[href='http://www.ezshield.com']").attr('href', 'http://' + replace_website_address + '.ezshield.com');
    
    // Replace href value for footer links per partner
    if (typeof (FooterLinkReplace1) != "undefined") { $('.footer_inner li a[href=' + FooterLinkDefault1 + ']').attr('href', FooterLinkReplace1); }
    if (typeof (FooterLinkReplace2) != "undefined") { $('.footer_inner li a[href=' + FooterLinkDefault2 + ']').attr('href', FooterLinkReplace2); }
    if (typeof (FooterLinkReplace3) != "undefined") { $('.footer_inner li a[href=' + FooterLinkDefault3 + ']').attr('href', FooterLinkReplace3); }
    if (typeof (FooterLinkReplace4) != "undefined") { $('.footer_inner li a[href=' + FooterLinkDefault4 + ']').attr('href', FooterLinkReplace4); }

    //Begin Browser Sniffer Script
    var BrowserDetect = {
        init: function() {
            this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
            this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
        },
        searchString: function(data) {
            for (var i = 0; i < data.length; i++) {
                var dataString = data[i].string;
                var dataProp = data[i].prop;
                this.versionSearchString = data[i].versionSearch || data[i].identity;
                if (dataString) {
                    if (dataString.indexOf(data[i].subString) != -1)
                        return data[i].identity;
                }
                else if (dataProp)
                    return data[i].identity;
            }
        },
        searchVersion: function(dataString) {
            var index = dataString.indexOf(this.versionSearchString);
            if (index == -1) return;
            return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
        },
        dataBrowser: [
		{
		    string: navigator.userAgent,
		    subString: "MSIE",
		    identity: "Explorer",
		    versionSearch: "MSIE"
		}
	    ]
    };
    BrowserDetect.init();

    var ieSixDetected = $.browser.msie;
    var browserversion = BrowserDetect.version;

    if (ieSixDetected) {
        if (browserversion <= 6) {
            window.onload = function() {
                openpopup('Internet Explorer 6.0 Detected:');
            }
        }
    }
    //End Browser Sniffer Script

    //Creates animated accordian for services dashboard nav
    $('.accordianFunction .header').click(function() {
        $(this).next().toggle('fast');
        return false;
    }).next().hide();
    $('.accordianFunction .header').click(
        function() {
            if ($('img', this).attr('src') == '/Partner/_Default/nav_arrow_opened.png') {
                $('img', this).attr('src', '/Partner/_Default/nav_arrow_closed.png');
            } else {
                $('img', this).attr('src', '/Partner/_Default/nav_arrow_opened.png');
            }
        }
    );

    var serviceDash_index_full_path = jQuery.url.attr("path");
    var serviceDash_index_path = serviceDash_index_full_path.replace('/', '');
    var service_category;

    switch (serviceDash_index_path) {
        case "MyDashboard/ITPDashboardPrevent/PreventativeMeasures/tabid/410/serviceid/64/Default.aspx":
            service_category = 'Prevent';
            break;
        case "MyDashboard/ITPDashboardPrevent/IdentityTheftResources/tabid/420/serviceid/66/Default.aspx":
            service_category = 'Prevent';
            break;
        case "MyDashboard/ITPDashboardPrevent/Vault/tabid/411/serviceid/59/Default.aspx":
            service_category = 'Prevent';
            break;
        case "MyDashboard/ITPDashboardDetect/IdentiScreen/tabid/412/serviceid/65/Default.aspx":
            service_category = 'Detect';
            break;
        case "MyDashboard/ITPDashboardDetect/InternetMonitoring/tabid/413/serviceid/55/Default.aspx":
            service_category = 'Detect';
            break;
        case "MyDashboard/ITPDashboardDetect/CreditMonitoring/tabid/414/serviceid/56/Default.aspx":
            service_category = 'Detect';
            break;
        case "MyDashboard/ITPDashboardDetect/PublicMonitoring/tabid/415/serviceid/57/Default.aspx":
            service_category = 'Detect';
            break;
        case "MyDashboard/ITPDashboardDetect/AddressMonitoring/tabid/416/serviceid/58/Default.aspx":
            service_category = 'Detect';
            break;
        case "MyDashboard/MyIDR/IdentityRestoration/tabid/417/serviceid/51/Default.aspx":
            service_category = 'Restore';
            break;
        case "MyDashboard/MyIDR/BusinessIdentityRestoration/tabid/418/serviceid/52/Default.aspx":
            service_category = 'Restore';
            break;
        case "MyDashboard/MyIDR/EmergencyCardServices/tabid/419/serviceid/54/Default.aspx":
            service_category = 'Restore';
            break;
    }
    if (location.href.indexOf(serviceDash_index_path) != -1) {
        if (typeof (service_category) != "undefined") {
            $(".dashboard_links a span:contains(" + service_category + ")").prev().attr('src', '/Partner/_Default/nav_arrow_opened.png').parent().next("ul:first:hidden").css('display', 'block');
        }
    }

});


 // Popup scripts with Modal Screen
function openpopup(text) {
    if (text == "Identity Restoration") {
        text = "EZShield Identity Restoration";
    }
    $("div.popupPanel div.popTop:contains('" + text + "')").parent().before("<div class='modal-bg'><!--[if lte IE 6]><iframe></iframe><![endif]--></div>");
    var popupheight = $("div.popupPanel:contains('" + text + "')").height();
    var windowheight = $(window).height();
    var difference = (windowheight - popupheight) / 2;
    $("div.popupPanel div.popTop:contains('" + text + "')").parent().css({ display: "block", top: difference + "px" });
    
    if ($.browser.msie) {
        if (jQuery.browser.version <= 6.9) {
            $("div.popupPanel:contains('" + text + "')").css({ display: "block", top: difference + document.documentElement.scrollTop + "px" });
            $(window).scroll(function(){
                $("div.popupPanel").css({ top: difference + document.documentElement.scrollTop + "px" });
            });
        }
    }
    
};

// Popup Close Button
function closepopup() {
    $(".popupPanel").css("display", "none");
    $(".modal-bg").css("display", "none");
};
