/**
 * Pentair User Interface
 */
var Pentair = {
    /**
     * Domain name for the current environment
     */
    d: "http://pentair.com",
    /**
     * Time of navigation delay
     */
    navigation_delay: 50,    
    /**
     * Speed of menu drop down action
     */
    dropdown_speed: 300,

    /**
     * Initializes UI scripting
     */
    init: function () {
        Pentair.navigation();

        // Don't do a Flash replace in the CMS editor window.
        if(window.parent.name != "editview") {
            Pentair.initSIFR();
        }

        Pentair.quickLinks();
        Pentair.selectRegion();
    },

    /**
     * sIFR
     */
    initSIFR: function () {
        var domain = "";
        
        if ($("body").hasClass("thompson")) {
            domain = this.d;
        }

        if (typeof sIFR == "function") {
            sIFR.replaceElement(named({sSelector: "#content h1 strong",
                                       sFlashSrc: domain + "/PentairCorporate/flash/gotham-bold.swf",
                                       sColor: "#1C3F95",
                                       sWmode: "transparent"}));
            sIFR.replaceElement(named({sSelector: "#content h1 span", 
                                       sFlashSrc: domain + "/PentairCorporate/flash/gotham-bold.swf", 
                                       sColor: "#919191", 
                                       sWmode: "transparent"}));
            sIFR.replaceElement(named({sSelector: "#content h2.gotham-medium", 
                                       sFlashSrc: domain + "/PentairCorporate/flash/gotham-medium.swf", 
                                       sColor: "#666666", 
                                       sWmode: "transparent"}));
            sIFR.replaceElement(named({sSelector: "#content .left-col1 h2.gotham", 
                                       sFlashSrc: domain + "/PentairCorporate/flash/gotham-bold.swf", 
                                       sColor: "#666666", 
                                       sWmode: "transparent"}));                                                                              
            sIFR.replaceElement(named({sSelector: "#content h2.gotham", 
                                       sFlashSrc: domain + "/PentairCorporate/flash/gotham-bold.swf", 
                                       sColor: "#5E5E5E", 
                                       sWmode: "transparent"}));
            sIFR.replaceElement(named({sSelector: "#content h2.gotham-bold", 
                                       sFlashSrc: domain + "/PentairCorporate/flash/gotham-bold.swf", 
                                       sColor: "#5E5E5E", 
                                       sWmode: "transparent"}));                                    
            sIFR.replaceElement(named({sSelector: "#content h2.sifr", 
                                       sFlashSrc: domain + "/PentairCorporate/flash/arial.swf", 
                                       sColor: "#5E5E5E", 
                                       sWmode: "transparent",
                                       sLinkColor: "#828282",
                                       sHoverColor: "#1c3f95"}));
            sIFR.replaceElement(named({sSelector: "#content .regions h3", 
                                       sFlashSrc: domain + "/PentairCorporate/flash/gotham-bold.swf", 
                                       sColor: "#5E5E5E", 
                                       sWmode: "transparent",
                                       sCase: "upper"}));
            sIFR.replaceElement(named({sSelector: "#content h3", 
                                       sFlashSrc: domain + "/PentairCorporate/flash/gotham-bold.swf", 
                                       sColor: "#666666", 
                                       sWmode: "transparent",
                                       sCase: "upper"}));                                       
            sIFR.replaceElement(named({sSelector: "#content h4.gotham", 
                                       sFlashSrc: domain + "/PentairCorporate/flash/gotham-bold.swf", 
                                       sColor: "#878787", 
                                       sWmode: "transparent"}));
            /* Ref: http://novemberborn.net/sifr/2.0.5 */
            sIFR.replaceElement(named({sSelector: "#footer li", 
                                       sFlashSrc: domain + "/PentairCorporate/flash/gotham-bold.swf", 
                                       sColor: "#828282", 
                                       sWmode: "transparent",
                                       sCase: "upper",
                                       sLinkColor: "#828282",
                                       sHoverColor: "#1c3f95"}));
        }
    },

    /**
     * Main Navigation
     */
    navigation: function () {
        $("#nav > li").hoverIntent({
            sensitivity: 7,
            interval: Pentair.navigation_delay,
            over: expand,
            timeout: 0,
            out: collapse
        });

        var domain = "";

        if ($("body").hasClass("thompson")) {
            domain = this.d;
        }

        function expand() {
            var panel = $(this).find(".panel");

            // Fix panel width in IE6
            if ($.browser.msie) {
                fixPanelWidth(panel);
            }

            $(this).addClass("hover");
            $(this).find(".panel div").css('opacity', 0.95);
            panel.css('z-index', Pentair.dropdown_speed)
            panel.slideDown(Pentair.dropdown_speed);
        }
        
        function collapse() {
            var panel = $(this).find(".panel");
            panel.css('z-index', 100)
            panel.slideUp(500, function callback() {
                $(this).parent().removeClass("hover");
            });
        }

        function fixPanelWidth(panel) {
            var ul_num = panel.find("ul").size();
            var panel_width = (ul_num * 140) + (ul_num * 8) + 53;
            panel.width(panel_width);
        }
    },

    /**
     * Sets up the quick links auto submit behavior
     */
    quickLinks: function () {
        $("#quick-links select").bind("change", function () {
            var url = $(this).find("option:selected").attr("value");

            if (url !== "#") {
                location.href = url;
            }

            return false;
        });
    },

    /**
     * Sets up the Locations page
     */         
    selectRegion: function () {
        var regions = $("#regions .region");

        // Hide all of the location groups.
        $("#regions .region:not(.display-region)").css("display", "none");

        // Display the first location group, which we assume to be "corporate".
        $(regions[0]).css("display", "block");

        // Set the event handling for the SELECT element.
        $("#select-region select").bind("change", function () {
            var value = $(this).find("option:selected").attr("value")
            if (value !== "#") {
                var region_num =  value - 1;
                regions.css("display", "none");
                $(regions[region_num]).css("display", "block");
            }
            return false;
        });
    },

    /**
     * Preloads images
     * @param images array of image names   
     */
    preloadImages: function (images) {
        for (var i = 0; i < images.length; i++) {
            var image = new Image();
            image.src = images[i];
        }
    }
}

$(document).ready(function () {
    Pentair.init();
});

// EOF
