$(document).ready(function() {
    $("#nav").corner("5px"); //add rounded corners to the navigation bar

    //fix top margin issue
    $("#__EVENTTARGET").parent().hide();
    $("#__PREVIOUSPAGE").parent().hide();

    //display the login control
    $("div.login_container").show();
    //init the login dropdown list    
    $("ul.subnav").parent().append("<span></span>"); //Only shows drop down trigger when js is enabled - Adds empty span tag after ul.subnav
    $("ul.topnav li span").mouseenter(function(event) { //When trigger is hovered        
        $("ul.subnav").slideDown('fast'); //Drop down the login options
        $(this).find("li span").addClass("subhover"); //Add "subhover" class to change the login image to unlocked with bright green arrow
    });
    $("ul.topnav").mouseleave(function(event) { //When trigger is unhovered            
        $("ul.subnav").slideUp('fast'); //Collapse the login options
        $(this).find("li span").removeClass("subhover"); //reset the login image
    });

    //add rounded corners to any divs with the roundbox classes
    $("div.roundbox-inner").corner("7px");
    $("div.roundbox").corner("8px");
    $("div.search-wrapper").corner("3px");

    //do not running javascript to style the form elements if the user is running IE6
    var isIE6 = false;
    /*@cc_on@if (@_jscript_version < 5.7)isIE6 = true; @end@*/
    var isFF2 = (function x() { })[-6] == 'x'
    
    if (isIE6 == false && isFF2 == false) {
        //style the dropdown lists
        $("select:not(.no-style)").each(function() {
            $(this).StyledSelectField();
        });

        //style textboxes that do not have a classname set
        $("input[type='text']").each(function() {
            if (this.className == "") {
                $(this).wrap("<span class='text-wrapper-outer' style='width:" + (this.offsetWidth + 6) + "px'><div class='text-wrapper-inner'></div></span>");
                $(this).addClass("textbox");
            }
        });

        //style textareas that do not have a classname set
        $("textarea").each(function() {
            if (this.className == "") {
                $(this).wrap("<span class='textarea-wrapper-outer' style='width:" + (this.offsetWidth + 6) + "px'><div class='textarea-wrapper-inner'></div></span>");
            }
        });

        //add rounded conrners to textbox wrappers
        $("div.text-wrapper-inner").corner("3px");
        $("span.text-wrapper-outer").corner("5px");
        $("span.textarea-wrapper-outer").corner("5px");
        $("div.textarea-wrapper-inner").corner("3px");
    }
});

//get a querystring value from the url passed in
function getQuerystring(key, url) {
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
    var qs = regex.exec(url);
    if (qs == null)
        return "";
    else
        return qs[1];
}

function rewriteURLs() {    
    //rewrite content page urls to be more meaningful
    var pids = "";
    $("a").each(function(i) {
        var href = this.href.toLowerCase();
        if (href.indexOf("?pid=", 0) > 0) {
            //build up a list of pid links on the page
            var pid = getQuerystring("pid", href);
            //only add numeric ids
            if (!isNaN(pid)) {
                //only add an id once
                if (pids.indexOf(pid, 0) < 0) {
                    pids = pids + pid + ";"; 
                }
            }
        }
    });
    //pass id's to the url rewriter and for re-writting
    document.getElementById('processIframe').src = "/Pages/RewriteUrl.aspx?pid=" + pids;   
}

//function WebForm_FireDefaultButton(event, target) {
function FireDefaultButton(event, target) {    
    //event.srcElement doesn't work in FF so we check whether
    //it or event.target exists, using whichever is returned
    var element = event.target || event.srcElement;

    if (event.keyCode == 13 && !(element && element.tagName.toLowerCase() == "textarea")) {
        var defaultButton = document.getElementById(target);

        if (defaultButton && typeof defaultButton.click != "undefined") {
            event.cancel = true;
            event.returnValue = false;
            defaultButton.click();

            //prevent postback if the page is invalid
            if (typeof (Page_IsValid) != "undefined") {
                if (!Page_IsValid) {
                    return false;
                }
            }
        }
    }
}