﻿jQuery(document).ready(function() {
    // Handles ENTER keypresses to prevent form submission, can be overridden
    jQuery(document).keypress(KeyPressHandler);
    
    // Banner tab handlers
    // Activates MyAccount tab and hides all others
    jQuery("li.myaccount-tab a").bind("click", function(e) {
        SetTabs(true, false, false);
        return false;
    });
    // Activates Electric tab and hides all others
    jQuery("li.electric-tab a").bind("click", function(e) {
        SetTabs(false, true, false);
        return false;
    });
    // Activates Water tab and hides all others
    jQuery("li.water-tab a").bind("click", function(e) {
        SetTabs(false, false, true);
        return false;
    });
    
    // Adds a default button to the search box, in order to allow the ENTER button to initiate a search
    // from the search text box
    jQuery(".search-text").focus(function() { OldDefaultButton = DefaultButton; DefaultButton = ".search-button"; });
    jQuery(".search-text").blur(function() { DefaultButton = OldDefaultButton; });
});

/******************************************************
*****               Global Functions              *****
******************************************************/

/******************************************************
*****            Banner Tab Style Handler         *****
******************************************************/
function SetTabs(myAccount, electric, water)
{
    if (myAccount) {
        jQuery("li.myaccount-tab").addClass("selected");
        jQuery("div.menu-strip").addClass("myaccount");
        jQuery("ul.menu-strip-myaccount").removeClass("hidden");
    }
    else {
        jQuery("li.myaccount-tab").removeClass("selected");
        jQuery("div.menu-strip").removeClass("myaccount");
        jQuery("ul.menu-strip-myaccount").addClass("hidden");
    }
    if(electric) {
        jQuery("li.electric-tab").addClass("selected");
        jQuery("div.menu-strip").addClass("electric");
        jQuery("ul.menu-strip-electric").removeClass("hidden");
    }
    else {
        jQuery("li.electric-tab").removeClass("selected");
        jQuery("div.menu-strip").removeClass("electric");
        jQuery("ul.menu-strip-electric").addClass("hidden");
    }
    if(water) {
        jQuery("li.water-tab").addClass("selected");
        jQuery("div.menu-strip").addClass("water");
        jQuery("ul.menu-strip-water").removeClass("hidden");
    }
    else {
        jQuery("li.water-tab").removeClass("selected");
        jQuery("div.menu-strip").removeClass("water");
        jQuery("ul.menu-strip-water").addClass("hidden");
    }
}

/******************************************************
*****            Global Keypress Handler          *****
******************************************************/
var DefaultButton = null;
var OldDefaultButton = null;

function KeyPressHandler(e) {
    if (e.which == 13) {
        var el;
        if (window.event != null) {
            el = window.event.srcElement;
        }
        if (el != null) {
            el = e.target;
        }
        if (el != null) {
            // Determine if that element is a link or button.
            var isLink = false;
            var isButton = false;
            if (el.tagName == "A") {
                isLink = true;
            }
            if ((el.tagName == "BUTTON" || el.tagName == "INPUT") && (el.type == "button" || el.type == "image" || el.type == "reset" || el.type == "submit")) {
                isButton = true;
            }
            // If the element is not a link or button, supress the default
            // event behaviour (submitting the form).
            if (!isLink && !isButton) {
                if (window.event != null) {
                    window.event.returnValue = false;
                }
                if (e != null) {
                    e.preventDefault();
                }
                // If a default button is set, click it.
                if (DefaultButton != null) {
                    jQuery(DefaultButton).click();
                }
            }
        }
    }
}
