// Sitecore uses Prototype, 
// so we need to set noConflict()
var j$ = jQuery.noConflict();

j$("html").addClass("js");

/* leaving this in the global namespace for ease of use from pages in iframes -MR */
function closeOverlay(){ j$('#js-content').trigger('click'); }

var ONR = ONR || {};

ONR.vars = {
    width: 940,
    navOver: "over",
    animspeed: 500,
    imgPath: "/_res/img/",
    d: new Date,
    hpReset: false,
    hpInterval: ''
}

ONR.Nav = ONR.Nav || {};

ONR.Nav.showNav = function(){
    j$(this).find("ul").fadeIn('fast',function(){
        j$(this).parent().addClass(ONR.vars.navOver);
    });
    ONR.Nav.setNavBounds(this);
}

ONR.Nav.hideNav = function(){
    j$(this).children("ul").fadeOut('fast', function(){
        j$(this).parent().removeClass(ONR.vars.navOver);
    })
}

ONR.Nav.setNavBounds = function(x){
    var fullWidth = ONR.vars.width;
    var menus = j$(x).children("ul");
    var y = 0;
    var z = menus.position().left + menus.innerWidth(); 
    if (z >= fullWidth) {
        y = z - fullWidth;
    }
    
    /* MR[ */
    var thePosition = menus.position().left - y;
    if(j$.browser.msie && (j$.browser.version < 8)){ // modify position for IE7
        if(thePosition < 0){
            thePosition = 0;
        }
    }
    /* ]MR */
    j$(menus).css('left', thePosition + "px");
    return false;
}

/* MR[ */
ONR.funcs = {
    manageReset:function(){
        if(ONR.vars.hpReset){
            j$('#homeSlides div.ctrl li.active').removeClass('active');
            j$('#homeSlides div.slide:not("#slDef")').fadeOut(ONR.vars.animspeed);
            j$('#slDef:hidden').fadeIn(ONR.vars.animspeed);
            ONR.vars.hpReset = false;
        }
    }
};
/* ]MR */

// ondomload code goes here 
j$(function(){
    // control main nav delays, etc.
    j$("#navMain ul.grid_16").children("li").hoverIntent({
        sensitivity: 3,
        interval: 50,
        over: ONR.Nav.showNav,
        timeout: 500,
        out: ONR.Nav.hideNav
    });
    if(j$.browser.msie){ // fixes the alignment of the top navigation tabs.
     if(j$.browser.version < 8){
       j$('#navMain ul.grid_16').css('padding-left','15px').css('width','960px');
     }else{
       j$('#navMain ul.grid_16').css('padding-left','5px');
     }
    }
    
    // enable tabbed UI
    j$("#tabs").tabs();
    
    // superficial stuff
    j$('#navMain ul.horizontal').each(function(){
        j$(this).children('li:last').addClass('lastChild');
    });
    
    j$("#navGlobal li:first-child").addClass("on");
    j$('#navGlobal li:first').addClass('first');
    j$("ul.linkList li:last-child").addClass("last");
    j$("ul.linkSet li:last-child").addClass("last");
    j$("hr.hrboxtop").wrap("<div class='hrboxtop'><div></div></div>");
    j$("hr").not("hr.hrboxtop").wrap("<div class='hr'><div></div></div>");
    
    j$("#navMain ul.grid_16 li.main").children("a").not(":last").each(function(){
        j$(this).append("<span></span>");
    })

    j$("div.edgeDouble").before("<div class='topEdge'></div>");
    if ( j$("#tabs div.edgeDouble").size() > 0 ) {
        j$("div.topEdge").addClass("adjust");
        j$("div.edgeDouble").addClass("adjust");
    }

    j$("ul.progs li:first-child").addClass("first");
    j$("ul.progs li:nth-child(3n)").addClass("edge");
    j$("ul.progs li:nth-child(3n+1)").addClass("first")
    j$("div.boxContact, div.summary").each(function(){
        j$(this).html("<div class='edge'></div>" + j$(this).html())
    });

    // home page only    
    if (j$("#content.home").size() > 0){
        j$(".homeEvents p:last-child").addClass("last");
        j$("div.columnA div.homeBoxInner, div.columnC div.homeBoxInner").equalizeCols();
    }
    // make header and the bg overlay the same height on the large banners
    if ( j$("div.header h1.slides").size() > 0 && j$("div.header div.overlay").size() > 0) {
        j$("div.header h1.slides, div.header div.overlay").equalizeCols();
        
        // equalizeCols() doesn't seem to work on the header in IE
        if (j$.browser.msie) {
            var diff = parseInt(j$("div.header h1.slides span.subhead").height()) - parseInt(j$("div.header div.overlay").height());

            var diffThreshhold = 23;  // "arbitrary" adjustments
            var slideOffset = -5;
            var overOffset = 15; 

            if ( Math.abs(diff) < diffThreshhold ) {
                setTimeout(function(){
                    j$("div.header h1.slides").height(j$("div.header div.overlay").height());
                    j$("div.header h1.slides").css({
                        //height: j$("div.header div.overlay").height(),
                        bottom: (slideOffset + diff) + "px"
                    });
                    j$("div.header div.overlay").height(parseInt(j$("div.header h1.slides").height()) + overOffset + "px");
                }, 500);
            }
            
        }
    }
    if(j$.browser.msie){
        if(j$('div.header h1.slides').size()>0 && j$('div.header div.slideControls').size()>0){
            j$('div.header h1.slides').css('bottom',j$('div.header div.slideControls').height()+'px');
            j$('div.header div.overlay').css('height',(j$('div.header h1.slides').height()+(j$('div.header div.slideControls').height()*2))+'px');
        }
    }
    // MR[
    j$('div.boxes div.box').equalizeCols();
    // locations map
    j$('div.tabbed').tabs();
    j$('ul.tabs>li a').live(
        'focus',
        function(){
            this.blur();
        }
    );
    j$('div.mapped area').live(
        'click',
        function(){
            j$(this).parents('div.tabcontent').find('div.box:visible').hide();
            j$(this).parents('div.tabcontent').find('#'+j$(this).attr('href').split('#')[1]).show();
            return false;
        }
    );
    // slideshows
    j$('ul.slides').each(function(){
        var thisSlideshow = 'ss'+Math.ceil(Math.random()*ONR.vars.d.getTime());
        j$(this).parent().attr('id',thisSlideshow);
        thisSlideshow = '#'+thisSlideshow;
        j$(thisSlideshow+' ul.slides').cycle(
            {
                fx:'fade',
                timeout:6000,
                speed:ONR.vars.animspeed,
                next: thisSlideshow+' div.slideControls a.slideNext',
                prev: thisSlideshow+' div.slideControls a.slidePrev'
            }
        );
    });
    
    // popup displays
    j$('body').append('<div id="js-overlay"><\/div><div id="js-content"></\div>');
    j$('#js-content').live(
        'click',
        function(){
            if(j$.browser.msie && parseInt(j$.browser.version) == 6) {
                j$('#js-content').remove();
                j$('#js-overlay').remove();
                j$('body').append('<div id="js-overlay"><\/div><div id="js-content"></\div>');
            }
            else {
                j$('#js-content').fadeOut(ONR.vars.animspeed);
                j$('#js-overlay').fadeOut(
                    ONR.vars.animspeed,
                    function(){
                        j$('html').removeClass('overlay-active');
                        /*
                            to get things to work in ie6 we need to completely
                            destroy and rebuild these elements
                        */
                        j$('div#js-overlay').remove();
                        j$('div#js-content').remove();
                        j$('body').append('<div id="js-overlay"><\/div><div id="js-content"></\div>');
                    }
                );
            }
        }
    );
    j$('#js-content table.overlay-content').live(
        'click',
        function(e){ e.stopPropagation(); }
    );
    // popup failsafe
    j$('*[class^="pop-"]:not("a")').each(function(){
        var thetype = j$(this).attr('class');
        j$(this).parents('a').addClass(thetype);
    });
    // popup: enlarge image
    j$('img.enlarge').each(function(){
        j$(this).parents('a').addClass('pop-enlarge').wrap('<div class="pop-enlarge"><\/div>');
    });
    // popup: video
    j$('a.pop-video').live(
        'click',
        function(){
            var theURL = j$(this).attr('href');
            if(j$.browser.mozilla) { // mozilla doesn't play .ashx files
                window.open(theURL);
                return false;
            }
            else {
                /* MR[ */
                    j$('#js-content').append(
                        '<table class="overlay-wrapper" cellspacing="0" cellpadding="0" border="0"><tr><td>'+
                            '<table class="overlay-content" cellspacing="0" cellpadding="0" border="0"><tr><td>'+
                                '<object width="640" height="480" type="application/x-oleobject" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">'+
                                    '<param name="url" value="'+theURL+'" />'+
                                    '<param name="AutoStart" value="true" />'+
                                    '<param name="ShowControls" value="true" />'+
                                    '<param name="ShowStatusBar" value="true" />'+
                                    '<param name="ShowDisplay" value="true" />'+
                                    '<embed width="640" height="480" src="'+theURL+'" type="application/x-mplayer2" showcontrols="1" showstatusbar="1" showdisplay="1" autostart="1" />'+
                                '</object>'+
                            '<\/td><\/tr><\/table>'+
                        '<\/td><\/tr><\/table>'
                    );
                /* ]MR */
                j$('html').addClass('overlay-active');
                if(j$.browser.msie && parseInt(j$.browser.version) == 6){
                    scroll(0,0);
                    j$('#js-overlay').show();
                    j$('#js-content').show();
                }
                else {
                    j$('#js-overlay').fadeIn(ONR.vars.animspeed);
                    j$('#js-content').fadeIn(ONR.vars.animspeed);
                }
                return false;
            }
        }
    );
    // popup: make clicks within .overlay-content not close the popup
    // * this was causing the popups to close if clicking the play/pause
    //   button for videos.
    // -MR
    j$('table.overlay-content').live(
        'click',
        function(e){
            e.preventDefault();
            return false;
        }
    );
    // popup: image :: WORKS
    j$('a.pop-image').live(
        'click',
        function(){
            var theURL = j$(this).attr('href');
            j$('#js-content').append(
                '<table class="overlay-wrapper" cellspacing="0" cellpadding="0" border="0"><tr><td>'+
                    '<table class="overlay-content" cellspacing="0" cellpadding="0" border="0"><tr><td>'+
                    '<\/td><\/tr><\/table>'+
                '<\/td><\/tr><\/table>'
            );
            j$('table.overlay-content td:first').load(
                theURL,
                function(){
                    j$('html').addClass('overlay-active');
                    j$('#js-overlay').fadeIn(ONR.vars.animspeed);
                    j$('#js-content').fadeIn(ONR.vars.animspeed);
                }
            );
            return false;
        }
    );
    // popup: enlarge :: WORKS
    j$('a.pop-enlarge').live(
        'click',
        function(){
            var theURL = j$(this).attr('href');
            j$('#js-content').append(
                '<table class="overlay-wrapper" cellspacing="0" cellpadding="0" border="0"><tr><td>'+
                    '<table class="overlay-content" cellspacing="0" cellpadding="0" border="0"><tr><td>'+
                        '<img src="'+theURL+'" alt="" />'+
                    '<\/td><\/tr><\/table>'+
                '<\/td><\/tr><\/table>'
            );
            j$('html').addClass('overlay-active');
            j$('#js-overlay').fadeIn(ONR.vars.animspeed);
            j$('#js-content').fadeIn(ONR.vars.animspeed);
            return false;
        }
    );
    // popup: iframe/form :: WORKS
    j$('a.pop-iframe').live(
        'click',
        function(){
            var theURL = j$(this).attr('href');
            j$('#js-content').append(
                '<table class="overlay-wrapper" cellspacing="0" cellpadding="0" border="0"><tr><td>'+
                    '<table class="overlay-content" cellspacing="0" cellpadding="0" border="0"><tr><td>'+
                        '<iframe src="'+theURL+'" width="710" height="450" frameborder="0"><\/iframe>'+
                    '<\/td><\/tr><\/table>'+
                '<\/td><\/tr><\/table>'
            );
            j$('html').addClass('overlay-active');
            j$('#js-overlay').fadeIn(ONR.vars.animspeed);
            j$('#js-content').fadeIn(ONR.vars.animspeed);
            if (j$.browser.msie == true && j$.browser.version < 7) { location.href = "#container"; }
            return false;
        }
    );
    // popup: closer boxes
    j$('.closer img').live(
        'click',
        function(){
            j$('#js-content').trigger('click');
        }
    );
    // homepage slides
    if(j$('#homeSlides')[0]){
        // create an interval counter
        ONR.vars.hpInterval = setInterval("ONR.funcs.manageReset()",5000);
    }
    j$('#homeSlides div.ctrl ul li a').hoverIntent(
        function(){
            var thisIs = j$('span.label',this).text();
            j$('#homeSlides div.ctrl li.active').removeClass('active');
            j$(this).parents('li').addClass('active');
            j$('#homeSlides div.slide:not("#sl'+thisIs+'")').fadeOut(ONR.vars.animspeed);
            j$('#sl'+thisIs+':hidden').fadeIn(ONR.vars.animspeed);
        },
        function(){ return false; }
    );
    j$('#homeSlides').hoverIntent(
        function(){ ONR.vars.hpReset = false; },
        function(){ ONR.vars.hpReset = true; }
    );
    // pulldown menu
    j$('ul.pdOptsList li:last').addClass('last');
    j$('div.pulldown').bind(
        'click',
        function(){
            j$(this).toggleClass('pulldown-open');
        }
    );
// ]MR
});

/**
 * Copyright (c) 2007 Tom Deater (http://www.tomdeater.com)
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 */
(function($) {
    /**
    * equalizes the heights of all elements in a jQuery collection
    * thanks to John Resig for optimizing this!
    * usage: $("#col1, #col2, #col3").equalizeCols();
    */
    $.fn.equalizeCols = function(){
        var height = 0,
            reset = $.browser.msie ? "1%" : "auto";

        return this
            .css("height", reset)
            .each(function() {
                height = Math.max(height, this.offsetHeight);
            })
            .css("height", height)
            .each(function() {
                var h = this.offsetHeight;
                if (h > height) {
                    $(this).css("height", height - (h - height));
                };
            });
    };
})(jQuery);

function onr_pngfixforie() {
	if (j$.browser.msie == true && j$.browser.version == 6)
	{
		DD_belatedPNG.fix(".pngalso");
	}
}
