_PFX = 'ctl00_C_';
var teaserDivs = new Array();
var teaserHeights = new Array();
var teaserKeys = new Array();
var galleryHeight = 350;
var menuTimer = setTimeout('DoNothing()', 100000);
var allMenus = new Array();

Window_OnLoad =
	function () {

	    ChildrenGallery_OnLoad();
	    ChildrenVertical_OnLoad();
	    AutoHover_OnLoad();
	    TextSize_OnLoad();
	    SlideShow_OnLoad();

	    var socialImages = YAHOO.util.Dom.get('social').getElementsByTagName('img');
	    if (socialImages.length > 0) {
	        for (var i = 0; i < socialImages.length; i++) {
	            var x = new DDI.Web.ImageButton(socialImages[i].id);
	        }
	    }

	    YAHOO.util.Event.addListener('searchText', 'focus', Search_OnFocus);
	    YAHOO.util.Event.addListener('searchText', 'blur', Search_OnBlur);

	    var topTabs = YAHOO.util.Dom.get('nav').getElementsByTagName('a');
	    for (var i = 0; i < topTabs.length; i++) {
	        YAHOO.util.Event.addListener(topTabs[i], 'mouseout', TopMenuTab_OnMouseOut);
	        YAHOO.util.Event.addListener(topTabs[i], 'mouseover', TopMenuTab_OnMouseOver);
	    }

	    var popups = YAHOO.util.Dom.getElementsByClassName('yuimenu', 'div', 'PopupMenus');
	    for (var i = 0; i < popups.length; i++) {
	        YAHOO.util.Event.addListener(popups[i].id, 'mouseover', Popup_OnMouseOver);
	        YAHOO.util.Event.addListener(popups[i].id, 'mouseout', Popup_OnMouseOut);
	        if (!(YAHOO.util.Dom.hasClass(popups[i], 'sub'))) {
	            allMenus.push(new YAHOO.widget.Menu(popups[i].id));
	            allMenus[allMenus.length - 1].render();
	            allMenus[allMenus.length - 1].hide();
	        }
	    }

	    Window_OnResize();

	    try {
	        Local_Window_OnLoad();
	    } catch (e) {
	        // boy, I'm really hating IE and MS today
	    }
	}

Window_OnResize =
	function () {
	    var elHead = YAHOO.util.Dom.get('head');
	    if (elHead.offsetWidth > YAHOO.util.Dom.getViewportWidth()) {
	        if (YAHOO.util.Dom.getStyle(elHead, 'left') != '0px') {
	            YAHOO.util.Dom.setStyle(elHead, 'left', '0px');
	            YAHOO.util.Dom.setStyle(elHead, 'margin-left', '0px');
	            YAHOO.util.Dom.setStyle('middle', 'left', '0px');
	            YAHOO.util.Dom.setStyle('middle', 'margin-left', '0px');
	            YAHOO.util.Dom.setStyle('foot', 'left', '0px');
	            YAHOO.util.Dom.setStyle('foot', 'margin-left', '0px');
	            YAHOO.util.Dom.setStyle('right', 'left', '782px');
	            YAHOO.util.Dom.setStyle('right', 'margin-left', '0px');
	            YAHOO.util.Dom.setStyle('ctl00_HtmlTag', 'overflow', 'auto');
	            YAHOO.util.Dom.setStyle('body', 'overflow', 'auto');
	        }
	    } else {
	        if (YAHOO.util.Dom.getStyle(elHead, 'left') == '0px') {
	            YAHOO.util.Dom.setStyle(elHead, 'left', '50%');
	            YAHOO.util.Dom.setStyle(elHead, 'margin-left', '-490px');
	            YAHOO.util.Dom.setStyle('middle', 'left', '50%');
	            YAHOO.util.Dom.setStyle('middle', 'margin-left', '-490px');
	            YAHOO.util.Dom.setStyle('foot', 'left', '50%');
	            YAHOO.util.Dom.setStyle('foot', 'margin-left', '-490px');
	            YAHOO.util.Dom.setStyle('right', 'left', '50%');
	            YAHOO.util.Dom.setStyle('right', 'margin-left', '293px');
	            YAHOO.util.Dom.setStyle('ctl00_HtmlTag', 'overflow', 'hidden');
	            YAHOO.util.Dom.setStyle('body', 'overflow', 'hidden');
	        }
	    }
	}

YAHOO.util.Event.addListener(window, 'load', Window_OnLoad);
YAHOO.util.Event.addListener(window, 'resize', Window_OnResize);

DoNothing = function () { }

Popup_OnMouseOver =
	function (e) {
	    clearTimeout(menuTimer);
	}

Popup_OnMouseOut =
	function (e) {
	    clearTimeout(menuTimer); // don't know why we need it, but don't remove it	
	    menuTimer = setTimeout('TopMenuTab_Reset()', 500);
	}

TopMenuTab_OnMouseOut =
	function () {
	    menuTimer = setTimeout('TopMenuTab_Reset()', 10);
	}
/*
TopMenuTab_OnMouseOver =
	function (e) {
	    clearTimeout(menuTimer);
	    for (var i = 0; i < allMenus.length; i++) {
	        allMenus[i].hide();
	    }

	    var elTab = YAHOO.util.Event.getTarget(e);
	}
    */
TopMenuTab_Reset =
	function () {
	    for (var i = 0; i < allMenus.length; i++) {
	        allMenus[i].hide();
	    }
	}

	TopMenuTab_OnMouseOver =
	function (e) {
	    clearTimeout(menuTimer);
	    var el = YAHOO.util.Event.getTarget(e);
	    for (var i = 0; i < allMenus.length; i++) {
	        allMenus[i].hide();
	    }
	    var path = DDI.Web.GetAttribute('string', el, 'path', '');

	    for (var i = 0; i < allMenus.length; i++) {
	        if (path == allMenus[i].id) {
	            var menu = YAHOO.util.Dom.get(allMenus[i].id);
	            var newX = YAHOO.util.Dom.getX(el) - 10;
	            var newY = YAHOO.util.Dom.getY(el) + el.offsetHeight;
	            YAHOO.util.Dom.setX(menu, newX);
	            YAHOO.util.Dom.setY(menu, newY);
	            allMenus[i].show();
                // in FF4, after the show event, the menu was being reset to X=10,Y=10 for some reason
	            if (YAHOO.util.Dom.getX(menu) == 10) {
	                YAHOO.util.Dom.setX(menu, newX);
	                YAHOO.util.Dom.setY(menu, newY);
	            }
	            tabLoc = i;
	        }
	    }
	}

Search_OnFocus =
	function (e) {
	    var el = YAHOO.util.Event.getTarget(e);
	    if (el.value == "search") el.value = "";
	}

Search_OnBlur =
	function (e) {
	    var el = YAHOO.util.Event.getTarget(e);
	    if (el.value == "") el.value = "search";
	}

/* common.js */

AutoHover_OnLoad =
	function () {
	    // activate any autohover images within the content

	    var autoHoverImages = YAHOO.util.Dom.getElementsByClassName('autohover', 'img');
	    if (autoHoverImages.length > 0) {
	        for (var i = 0; i < autoHoverImages.length; i++) {
	            YAHOO.util.Dom.generateId(autoHoverImages[i]);
	            autoHoverImages[i].setAttribute('nsrc', autoHoverImages[i].src);
	            autoHoverImages[i].setAttribute('hsrc', autoHoverImages[i].src.replace(/\.gif/, '_hover.gif').replace(/\.jpg/, '_hover.jpg').replace(/\.png/, '_hover.png'));
	            var x = new DDI.Web.ImageButton(autoHoverImages[i].id);
	        }
	    }
	}

ChildrenGallery_OnLoad =
	function () {
	    // setup any picture gallery that may exist

	    if (YAHOO.util.Dom.inDocument('ChildGallery')) {
	        var childGallery = new YAHOO.widget.Carousel('ChildGallery', { numVisible: 10, isCircular: true, animation: { speed: 0.5} });
	        childGallery.on("itemSelected", function (index) {
	            var item = childGallery.getElementForItem(index);
	            if (item) {
	                var el = item.firstChild;
	                while (el) {
	                    if (el.nodeName.toUpperCase() == "IMG") {
	                        var request = YAHOO.util.Connect.asyncRequest('GET', el.getAttribute('large'), ChildrenGallery_Callback);
	                    }
	                    el = el.nextSibling;
	                }
	            }
	        });
	        childGallery.render();
	        childGallery.show();
	        //childGallery.startAutoPlay();
	    }
	}

var ChildrenGallery_Callback =
{
    success: function (e) { ChildrenGallery_OnCallback(e) },
    failure: function (e) { alert('Ajax Error') }
};

ChildrenGallery_OnCallback =
	function (e) {
	    var spotlight = YAHOO.util.Dom.get('GallerySpotLight');
	    spotlight.innerHTML = e.responseText;
	    var imgs = spotlight.getElementsByTagName('img');
	    for (var i = 0; i < imgs.length; i++) {
	        imgs[i].removeAttribute('style');
	        imgs[i].removeAttribute('width');
	        imgs[i].setAttribute('height', galleryHeight);
	        imgs[i].setAttribute('alt', 'Click to enlarge');
	        YAHOO.util.Event.addListener(imgs[i], 'click', ChildrenGallery_Enlarge);
	    }
	}

ChildrenGallery_Enlarge =
	function (e) {
	    var img = YAHOO.util.Event.getTarget(e);
	    if (img.getAttribute('alt') == 'Click to enlarge') {
	        img.removeAttribute('height');
	        img.setAttribute('alt', 'Click to shrink');
	    }
	    else {
	        img.setAttribute('height', galleryHeight);
	        img.setAttribute('alt', 'Click to enlarge');
	    }
	}

ChildrenVertical_OnLoad =
	function () {

	    // setup any product selectors

	    if (YAHOO.util.Dom.inDocument('VerticalChildren')) {
	        var rootSelector = YAHOO.util.Dom.get('VerticalChildren');
	        var rootImages = rootSelector.getElementsByTagName('img');
	        for (var i = 0; i < rootImages.length; i++) {
	            YAHOO.util.Event.addListener(rootImages[i], 'click', ChildrenVertical_OnClick);
	            if (i == 0) {
	                var request = YAHOO.util.Connect.asyncRequest('GET', rootImages[i].getAttribute('large'), ChildrenVertical_Callback);
	            }
	        }

	    }

	}

ChildrenVertical_OnClick =
	function (e) {
	    var el = YAHOO.util.Event.getTarget(e);
	    var request = YAHOO.util.Connect.asyncRequest('GET', el.getAttribute('large'), ChildrenVertical_Callback);
	}

var ChildrenVertical_Callback =
{
    success: function (e) { ChildrenVertical_OnCallback(e) },
    failure: function (e) { alert('Ajax Error') }
};

ChildrenVertical_OnCallback =
	function (e) {
	    var content = YAHOO.util.Dom.get('ReallyRealContent');
	    content.innerHTML = e.responseText;
	    var autoHoverImages = YAHOO.util.Dom.getElementsByClassName('autohover', 'img', content);
	    if (autoHoverImages.length > 0) {
	        for (var i = 0; i < autoHoverImages.length; i++) {
	            YAHOO.util.Dom.generateId(autoHoverImages[i]);
	            autoHoverImages[i].setAttribute('nsrc', autoHoverImages[i].src);
	            autoHoverImages[i].setAttribute('hsrc', autoHoverImages[i].src.replace(/\.gif/, '_hover.gif').replace(/\.jpg/, '_hover.jpg').replace(/\.png/, '_hover.png'));
	            var x = new DDI.Web.ImageButton(autoHoverImages[i].id);
	        }
	    }
	}

Go_OnClick =
	function () {
	    document.search.submit();
	}


SetTextSize =
	function (setting) {
	    if (setting == null) setting = 0;
	    var elSide = YAHOO.util.Dom.get('SidePanel');
	    var elMain = YAHOO.util.Dom.get('RealContent');
	    var elSize = YAHOO.util.Dom.get('textsize');
	    var elImg = elSize.getElementsByTagName('img');

	    if (setting == 0) {
	        YAHOO.util.Dom.removeClass(elMain, 'BIG');
	        if (YAHOO.util.Dom.inDocument('SidePanel')) YAHOO.util.Dom.removeClass(elSide, 'BIG');
	        YAHOO.util.Cookie.set('textSize', 0);
	        elImg[0].src = elImg[0].src.replace(/enabled/, 'disabled');
	        elImg[1].src = elImg[1].src.replace(/disabled/, 'enabled');
	    }
	    if (setting == 1) {
	        var alreadyBig = YAHOO.util.Dom.hasClass(elMain, 'BIG');
	        if (!(alreadyBig)) YAHOO.util.Dom.addClass(elMain, 'BIG');
	        if (YAHOO.util.Dom.inDocument('SidePanel')) {
	            alreadyBig = YAHOO.util.Dom.hasClass(elSide, 'BIG');
	            if (!(alreadyBig)) YAHOO.util.Dom.addClass(elSide, 'BIG');
	        }
	        YAHOO.util.Cookie.set('textSize', 1);
	        elImg[0].src = elImg[0].src.replace(/disabled/, 'enabled');
	        elImg[1].src = elImg[1].src.replace(/enabled/, 'disabled');
	    }
	}

var slideShowDivs = null;
var slideShowOrder = null;
var slideShowIndex = null;
var slideShowSpeed = null;
var slideShowTimer = null;

SlideShow_OnLoad =
	function () {
	    var sswrapper = YAHOO.util.Dom.getElementsByClassName('slideshowwrapper', 'div');
	    if (sswrapper != null && sswrapper.length > 0) {
	        slideShowDivs = new Array(sswrapper.length - 1);
	        slideShowOrder = new Array(sswrapper.length - 1);
	        slideShowIndex = new Array(sswrapper.length - 1);
	        slideShowSpeed = new Array(sswrapper.length - 1);
	        slideShowTimer = new Array(sswrapper.length - 1);

	        for (var s = 0; s < sswrapper.length; s++) {
	            slideShowIndex[s] = 0;
	            slideShowSpeed[s] = DDI.Web.GetAttribute('int', sswrapper[s], 'speed', '4000');
	            slideShowDivs[s] = YAHOO.util.Dom.getElementsByClassName('slideshow', 'div', sswrapper[s]);

	            if (slideShowDivs[s] != null && slideShowDivs[s].length > 0) {
	                slideShowOrder[s] = new Array(slideShowDivs.length - 1);
	                var setX = 0;
	                var sety = 0;
	                for (var i = 0; i < slideShowDivs[s].length; i++) {
	                    slideShowOrder[s][i] = i;
	                    YAHOO.util.Dom.generateId(slideShowDivs[s][i]);
	                    if (i == 0) {
	                        setX = YAHOO.util.Dom.getX(slideShowDivs[s][i]);
	                        setY = YAHOO.util.Dom.getY(slideShowDivs[s][i]);
	                    }
	                    else {
	                        YAHOO.util.Dom.setX(slideShowDivs[s][i], setX);
	                        YAHOO.util.Dom.setY(slideShowDivs[s][i], setY);
	                        YAHOO.util.Dom.setStyle(slideShowDivs[s][i], 'display', 'none');
	                    }
	                }
	                SlideShow_Randomize(s);
	                slideShowTimer[s] = setTimeout('SlideShow_Transition(' + s.toString() + ')', slideShowSpeed[s]);
	            }
	        }
	    }
	}

SlideShow_Transition =
	function (show) {
	    var oldLayer = slideShowDivs[show][slideShowOrder[show][slideShowIndex[show]]];
	    slideShowIndex[show]++;
	    if (slideShowIndex[show] >= slideShowDivs[show].length) {
	        slideShowIndex[show] = 0;
	        SlideShow_Randomize(show);
	    }
	    var newLayer = slideShowDivs[show][slideShowOrder[show][slideShowIndex[show]]];

	    var fadeOut = new YAHOO.util.Anim(oldLayer, { opacity: { to: 0} }, 1);
	    var fadeIn = new YAHOO.util.Anim(newLayer, { opacity: { to: 1} }, 1);
	    if (slideShowIndex[show] != 0) YAHOO.util.Dom.setStyle(newLayer, 'display', 'block');
	    YAHOO.util.Dom.setStyle(newLayer, 'visible', 'visible');

	    fadeOut.onComplete.subscribe(function () {
	        YAHOO.util.Dom.setStyle(oldLayer, 'visible', 'hidden');
	        if (slideShowIndex[show] != 1) YAHOO.util.Dom.setStyle(oldLayer, 'display', 'none');
	    });
	    fadeOut.animate();
	    fadeIn.animate();

	    slideShowTimer[show] = setTimeout('SlideShow_Transition(' + show.toString() + ')', slideShowSpeed[show]);

	}

SlideShow_Randomize =
	function (show) {
	    slideShowOrder[show].shift();
	    slideShowOrder[show].sort(RandomOrder);
	    slideShowOrder[show].unshift(0);
	}

RandomOrder =
	function () {
	    return (Math.round(Math.random()) - 0.5);
	}

TextSize_OnLoad =
	function () {
	    // set correct font size based upon preferences

	    if (YAHOO.util.Dom.get('textsize')) SetTextSize(YAHOO.util.Cookie.get('textSize'));
	}
	

