_PFX = 'ctl00_C_';
var noscroller = false;
var protoFlower = null;
var imageFlower = null;
var teaserDivs = new Array();
var teaserHeights = new Array();
var teaserKeys = new Array();
var galleryHeight = 350;

/*
Go_OnClick =
	function() {
		if (location.href.lastIndexOf("Blog.aspx") > 1) 
		{
			YAHOO.util.Dom.get('BlogFrame').src = "http://projectstir.com/blog/?s=" + YAHOO.util.Dom.get('searchText').value.replace(" ", "+");
		} else {
			document.search.submit();
		}
	}
*/

Hide_Teaser =
	function(e)
	{
		var elHover = YAHOO.util.Event.getTarget(e);
		
		for (var i=0; i<teaserDivs.length; i++)
		{
			if (elHover.id == teaserKeys[i]) 
			{
				var elKey = YAHOO.util.Dom.get(teaserKeys[i]);
				var sticky = DDI.Web.GetAttribute('boolean', elKey, 'sticky', false);
				if (!(sticky))
				{
					var elDiv = YAHOO.util.Dom.get(teaserDivs[i]);
					if (YAHOO.util.Dom.getStyle(elDiv, 'display') == 'block') 
					{
						YAHOO.util.Dom.setStyle(elDiv, 'display', 'none');

						//var elKey = YAHOO.util.Dom.get(teaserKeys[0]);
						//var newY = YAHOO.util.Dom.getY(elKey);
						//var anim = new YAHOO.util.Anim(elDiv, { top: { to: newY }, height: { to: 1} }, 0.25);
						//anim.onComplete.subscribe(Kill_Teaser);
						//anim.animate();
					}	
				}			
			}
		}
	}
	
ProtoFlow_Move =
	function(index)
	{
		if (protoFlower.currIndex + index < 0) index = protoFlower.currIndex * -1;
		if (protoFlower.currIndex + index > protoFlower.imageStack.length - 1) index = protoFlower.imageStack.length - 1 - protoFlower.currIndex;
		
        protoFlower.goTo(protoFlower.currIndex + index);
        protoFlower.slider.setValue(protoFlower.currIndex + index);
        protoFlower.currIndex += index;
	}
	
Show_Teaser =
	function(e)
	{
		var elHover = YAHOO.util.Event.getTarget(e);
		var elFeatured = YAHOO.util.Dom.get('featured');
		
		for (var i=0; i<teaserDivs.length; i++)
		{
			var elDiv = YAHOO.util.Dom.get(teaserDivs[i]);
			if (elHover.id == teaserKeys[i]) 
			{
				if (YAHOO.util.Dom.getStyle(elDiv, 'display') == 'none') 
				{
					YAHOO.util.Dom.setStyle(elDiv, 'height', '1px');
					YAHOO.util.Dom.setStyle(elDiv, 'display', 'block');
					var elKey = YAHOO.util.Dom.get(teaserKeys[i]);
					var newX = YAHOO.util.Dom.getX(elKey) - (elDiv.offsetWidth - elKey.offsetWidth)/2;
					var newY = YAHOO.util.Dom.getY(elFeatured);
					if (YAHOO.env.ua.ie > 0) newY -= 1;  // not sure where this is coming from
					YAHOO.util.Dom.setX(elDiv, newX);
					YAHOO.util.Dom.setY(elDiv, newY);
					newY -= teaserHeights[i] + 1; 
					var anim = new YAHOO.util.Anim(elDiv, { top: { to: newY }, height: { to: teaserHeights[i]} }, 0.25);
					anim.animate();
				}				
			}
			else
			{
				var elKey = YAHOO.util.Dom.get(teaserKeys[i]);
				var sticky = DDI.Web.GetAttribute('boolean', elKey, 'sticky', false);
				if (sticky && YAHOO.util.Dom.getStyle(elDiv, 'display') == 'block')
				{
					YAHOO.util.Dom.setStyle(elDiv, 'display', 'none');
				}
			}
		}
	}

Window_OnLoad =
	function() {

		AutoHover_OnLoad();
		ChildrenGallery_OnLoad();
		ChildrenVertical_OnLoad();
		TextSize_OnLoad();

		// setup teaser popups
				
		var keys = YAHOO.util.Dom.getElementsByClassName('Teaser');
		var divs = YAHOO.util.Dom.getElementsByClassName('TeaserPanel');
		for (var i=0; i<keys.length; i++)
		{
			teaserKeys.push(keys[i].id);
			teaserDivs.push(divs[i].id);
			var elDiv = YAHOO.util.Dom.get(divs[i].id);
			teaserHeights.push(elDiv.offsetHeight);
			YAHOO.util.Dom.setStyle(elDiv, 'display', 'none');
			YAHOO.util.Dom.setStyle(elDiv, 'visibility', 'visible');
			YAHOO.util.Event.addListener(keys[i], "mouseover", Show_Teaser);
			YAHOO.util.Event.addListener(keys[i], "mouseout", Hide_Teaser);
		}
		if (YAHOO.util.Dom.inDocument('protoflow'))
		{
			protoFlower = new ProtoFlow($("protoflow"), {
				captions: false, 
				useReflection: false,
				enableOnClickScroll: true,
				startIndex: 4
			});
		}
		
		Window_OnResize();
	}
	
Window_OnResize = 
	function() 
	{
	
		// set the height of the scroller if the window height changes
		
		var elScroll = YAHOO.util.Dom.get('Scroller');
		var elWrapper = YAHOO.util.Dom.get('wrapper');
		var wrapperMargin = parseInt(YAHOO.util.Dom.getStyle(elWrapper, 'marginTop'));
		var rows = new Array('header','nav','subnav','footer');
		var newHeight = YAHOO.util.Dom.getViewportHeight() - wrapperMargin - 3;  // 3 is extra cushion to avoid scroll bar
		for (var i=0; i<rows.length; i++)
		{
			if (YAHOO.util.Dom.inDocument(rows[i]))
			{
				newHeight -= YAHOO.util.Dom.get(rows[i]).offsetHeight;
			}
		}
		
		if (newHeight < 100) newHeight = 100;
		if (noscroller)
		{
			newHeight = parseInt((YAHOO.util.Dom.getViewportHeight() - elWrapper.offsetHeight) / 2);
			if (newHeight < 0) newHeight = 0;
			YAHOO.util.Dom.setStyle(elWrapper, 'marginTop', newHeight + 'px');
			newHeight = elScroll.offsetHeight;
		}
		else
		{
			YAHOO.util.Dom.setStyle(elScroll, 'height', newHeight + 'px');
		}
		
		// set the height of the side panel, if present, to the same height
		
		if (YAHOO.util.Dom.inDocument('SidePanel'))
		{
			YAHOO.util.Dom.setStyle('SidePanel', 'height', newHeight + 'px');
		}
		else
		{
			YAHOO.util.Dom.setStyle(elScroll, 'width', '944px');
		}
		
		// position the social networking and 'featured' links along the bottom
		
		var elFeatured = YAHOO.util.Dom.get('featured');
		var elX = YAHOO.util.Dom.getX(elFeatured);
		var elY = YAHOO.util.Dom.getY(elFeatured);

		if (YAHOO.util.Dom.inDocument('SocialFloater'))
		{
			var elFloater = YAHOO.util.Dom.get('SocialFloater');
			YAHOO.util.Dom.setX(elFloater, elX + 10);
			YAHOO.util.Dom.setY(elFloater, elY - 14);		
		}
		
		if (YAHOO.util.Dom.inDocument('FeaturedFloater'))
		{
			var elFloater = YAHOO.util.Dom.get('FeaturedFloater');
			var offsetX = elScroll.offsetWidth - elFloater.offsetWidth;
			if (!(YAHOO.util.Dom.inDocument('SidePanel')))
			{
				offsetX = parseInt(offsetX/2);
			}
			if (offsetX < 0) offsetX = 0;
			YAHOO.util.Dom.setX(elFloater, elX + offsetX);
			YAHOO.util.Dom.setY(elFloater, elY - 8);
		}
		
		if (YAHOO.util.Dom.inDocument('protoflow'))
		{
			var leftArrow = YAHOO.util.Dom.get('leftArrow');
			var scroller = YAHOO.util.Dom.getElementsByClassName('sliderTrack')[0];
			YAHOO.util.Dom.setX(leftArrow, (YAHOO.util.Dom.getX(scroller) - 16));
			YAHOO.util.Dom.setY(leftArrow, (YAHOO.util.Dom.getY(scroller)));
		
			var rightArrow = YAHOO.util.Dom.get('rightArrow');
			YAHOO.util.Dom.setX(rightArrow, (YAHOO.util.Dom.getX(scroller) + scroller.offsetWidth));
			YAHOO.util.Dom.setY(rightArrow, (YAHOO.util.Dom.getY(scroller)));
		}

	}
	
YAHOO.util.Event.addListener(window, 'load', Window_OnLoad);
YAHOO.util.Event.addListener(window, 'resize', Window_OnResize);
