var clickedGroup = false;
var clickedClosed = false;
var clickedOpen = false;
var ready = true;

var min = function(x,y){
 	if (x<y) return x;
 	return y;
 }
 
 var max = function(x,y){
 	if (x>y) return x;
 	return y;
 }
 
/* removed until promos are re-inserted. jw 01/22/09
var placePromos = function(){
	var promos = $('promos');
	var content = $('content');
	
	//find the maximum left value
	var maxLeft = content.getSize().x - promos.getSize().x;
	//find the maximum top value
	var maxTop = content.getSize().y - promos.getSize().y;
	
	var minLeft = 172; //Here is where we will set top boundary
	var minTop = 123; // and bottom boundary
	
	// calculate new positions
	var left = max(minLeft,min(maxLeft, window.getSize().x - promos.getSize().x + window.getScroll().x - content.getPosition().x));
	var top = max(minTop,min(maxTop, window.getSize().y - promos.getSize().y + window.getScroll().y - content.getPosition().y));
	
	promos.setStyle('top',top);
	promos.setStyle('left',left);
}*/

var doSifr = function(){
	// sIFR Promo Text Replace
	sIFR.replaceElement(named({
		sSelector:".promo3 h3", 
		sFlashSrc:"<?=$this->baseUrl()?>/sIFR/vaFonts/vaLtBold.swf", 
		sColor:"#FFFFFF",
		sBgColor: "#d50000",
		sCase: "upper",
		sWmode: "transparent"
	}));
	// sIFR Promo Text Replace
	sIFR.replaceElement(named({
		sSelector:".promo1 .dollarIcon, .promo1 #price", 
		sFlashSrc:"<?=$this->baseUrl()?>/sIFR/vaFonts/vaLight.swf", 
		sColor:"#FFFFFF",
		sBgColor: "#d50000",
		sCase: "upper",
		sWmode: "transparent"
	}));
	
	// sIFR SubNav Heading text Replace
	sIFR.replaceElement(named({
		sSelector:".openHeading", 
		sFlashSrc:"<?=$this->baseUrl() ?>/sIFR/vaFonts/vaReg.swf", 
		sColor:"#d50000",  
		sBgColor:"#000000",
		sWmode: "transparent"
		}));
	
	return;
}



window.addEvent('domready',function(){
  	var i=0;
  	 //set top of "extras" div
  	$$('#subNav div.extra').each(function(extra){
		var top = 6.0*i;
		var top = top+"em";
		extra.setStyle('top',top);
		i++;
  	});
  	  	
	$$('#subNav div.group').each(function(group){
		
		// get elements for the open and closed states;
		var open = group.getFirst('div.open');
		var closed = group.getFirst('div.closed');
		closed.addEvent('click',function(e){
			if(open.hasClass('bogus')){
				open.setStyle('display','none');
				open.removeClass('bogus');
			}
			if (ready){
				ready=false;
				if (clickedGroup && clickedGroup!=group){
				 	closeSequence(clickedGroup,clickedOpen,clickedClosed);
				}
				
				openSequence(group,open,closed);
			}
		});
	});
	$$('#subNav div.group div.open ul.moreNav li a.close').each(function(closeBtn){
		closeBtn.addEvent('click', function(){
			closeSequence(clickedGroup,clickedOpen,clickedClosed);
			clickedGroup=false;
			clickedOpen=false;
			clickedClosed=false;
		});
	});
	
	if ($chk($('default_group'))){
		clickedGroup = $('default_group');
		clickedOpen = clickedGroup.getFirst('div.open');
		clickedClosed = clickedGroup.getFirst('div.closed');
		clickedGroup.setStyles({'height':283,'width':541})
		clickedClosed.setStyle('display','none');
		clickedOpen.removeClass('bogus');
		clickedOpen.setStyle('display','block');
		
	}
	//placePromos();
});

//window.addEvent('resize',placePromos);
//window.onscroll = placePromos;


function closeSequence(group,open,closed){
	fadeOutOpen(group,open,closed);
}		 	
var fadeOutOpen = function(group,open,closed){
	open.setStyle('display','none');
	group.setStyle('background','black');
	collapseGroup(group,open,closed);
}

function collapseGroup(group,open,closed){
	var clickedGroupFx = new Fx.Morph(group);
	clickedGroupFx.start({'height':[59],'width':[173]});
	fadeInClosed(group,open,closed);
}

var fadeInClosed = function(group,open,closed){
	var closedDivFx = new Fx.Tween(closed);
	closedDivFx.set('opacity',0);
	closedDivFx.set('display','block');
	closedDivFx.start('opacity',0,1).addEvent('onComplete',function(){group.setStyle('background','transparent');});
}

/* functions for animating OPEN methods of nav menu */
var fadeOutClosed = function(group,open,closed){
	group.setStyle('background','black');
	var closedFx = new Fx.Tween(closed);
	closedFx.start('opacity',1,0).addEvent('onComplete',function(){closed.setStyle('display','none');});
	expandGroup(group,open,closed);
}

var expandGroup = function(group,open,closed){
	var groupFx = new Fx.Morph(group);
	groupFx.set({'background':'black'});
	groupFx.start({'height':[283],'width':[541]}).addEvent('onComplete',function(){groupFx.set({'background':'transparent'});fadeInOpen(group,open,closed);});
}

var fadeInOpen = function(group,open,closed){
 	var openFx = new Fx.Tween(open);
 	openFx.set('display','block');
 	clickedGroup=group;
	clickedOpen=open;
	clickedClosed=closed;
	ready=true;
}

function openSequence(group,open,closed){
	fadeOutClosed(group,open,closed);
}
