
var navigation  = {
	hideNav: function(el){
		el.setStyle('visibility','hidden');
	},
	
	showNav: function(el){
		navigation.clearNav();
		el.addClass('active')
		var show = el.getElement('ul');
		show.setStyle('visibility','visible');
		show.addEvent('mouseleave', navigation.clearNav.pass(show))
	},
	clearNav: function(){
		console.log('clearNav fired')
		var cNav = $('primarynav').getElements('.secondarynav');
		cNav.each(function(el){
			el.setStyle('visibility','hidden');
			el.getParent().removeClass('active')
		})
	},
	get: function(){
		var nav = $('primarynav').getElements('.secondarynav').getParent();
		nav.each(function(el){
			var hide = el.getElement('ul');
			hide.setStyle('visibility','hidden');
			el.addEvents({
				'mouseenter': this.showNav.pass(el)
			});
		},this)
	}
}
window.addEvent('domready', function() {
	navigation.get();
}) 


function homeModLayout(){
	if($('frame').hasClass('home')){
		$('header').setStyle('background-image','none');
		$('headerContent').setStyle('background-image','none');
		$('pdpCategory').setStyle('visibility','hidden');
	}
}Onload.add(homeModLayout);

function homeFlash(){
	if($('homeFlash')){
		var flash = new Swiff('./resources/swf/home/base.swf',{
			id:'flashWall',
			width: 1074,
			height: 600,
			vars: {
			},
			params:{
				wmode: 'opaque',
				scale: 'noscale',
				bgcolor: '#121212',
				salign: 't'
			}
		});
		$('homeFlash').empty();
		$('homeFlash').adopt(flash);
	}
}Onload.add(homeFlash);

 function siteSearchButton() {
 	if($('siteSearch') && $('searchForm')){
 		$('siteSearch').addEvent('click',function(e){
 			new Event(e).stop();
 			$('searchForm').getFirst().submit();
 		});
 	}
 }Onload.add(siteSearchButton);
 
 function expandStory() {
 	if($(document.body).getElement('.expandParagraph')){
 		var link = (document.body).getElements('.readMore_link');
 		link.each(function(el){
	 		var expander = el.getPrevious();
	 		var myFx = new Fx.Slide(expander).hide()
 			el.addEvent('click',function(){
				myFx.toggle();
				el.toggleClass('minus');
 			})
 		})
 		
 		
 	}
 }//Onload.add(expandStory);
 
 function submitBtn() { 
 	if($(document.body).getElement('.submit')){
 		var submits = $(document.body).getElements('.submit');
 		submits.each(function(el){
 			el.addEvents({
			    'mouseenter': function(){
			    	el.fade(.5);
			    },
			    'mouseleave': function(){
			    	el.fade('in');
			    }
			});

 		})
 	}
 }Onload.add(submitBtn);

 /*
 function setEnergyLogo() {
 	if($('energyStarLogo')){
		var setHeight = (window.getScrollSize().y)-93;
		var footPos = ($('footer').getPosition().y)-68;
 		$('energyStarLogo').setStyle('top',footPos);
 	}
 }Onload.add(setEnergyLogo);
 */
 
 
 /*
 	function: QUICK LOOK FUNCTIONALITY
 */
 function itemHover() {
 	if($('pw')){
	 	var items = $('pw').getElements('a.item');
	 	items.each(function(item){
 			addQuickLook(item);
	 	});
 	}
 }Onload.add(itemHover);
 
 function addQuickLook(el){
	 addQuickLookEvent(el);
	/* var quickLook = new QuickLook(el,{
		targetElement: 'items',
		onShow: function(el){
				//console.log("CURRENT::");
				//console.log(el);;
			},
		onHide: function(prevQL, prevEl){
				//console.log("PREV QUICK LOOK::");
				//console.log(prevQL);
			}
	});*/
	
 }
/* ####################################################################### */
 
 
 function pdp_accordion(){
	var accordion = new Accordion('span.atStart', 'div.atStart', {
		duration: 'short',
		display:-1,
		alwaysHide :true,
		opacity: false,
		onActive: function(toggler, element){
			toggler.setStyle('background-position', 'bottom left');
		},
		onBackground: function(toggler, element){
			toggler.setStyle('background-position', 'top left');
		}
	}, $('accordion'));
 }Onload.add(pdp_accordion);
  
 /*
  function buyNow_overlay(){
  	if($('buyNow_btn')){
	  	var button = $('buyNow_btn');
  		function loadContent(){
	  		var closeButton = $('closeButton');
	  		var container = $('buyNowContainer');
			var openEffect = new Fx.Morph(container, {duration: 300, transition: Fx.Transitions.Sine.easeOut});
			openEffect.start('.show');
			
			closeButton.addEvent('click',function(){
				var closeEffect = new Fx.Morph(container, {duration: 300, transition: Fx.Transitions.Sine.easeOut,
			 		onComplete: function(){
						button.addEvent('click', loadContent);
			 		} 
			 	});
				closeEffect.start('.hide');
			})
			button.removeEvent('click', loadContent);
			
  	}
  	button.addEvent('click', loadContent);
  	}
   }Onload.add(buyNow_overlay);
   */
  function tabSystem(){
  	var tab = $(document.body).getElements('.tabs');
	tab.each(function(el){
		el.addEvent('click', function(){
			tab.removeClass('active');
			el.addClass('active');
			var current = this.id.split('tab_');
			current = current[1];
			var hide = $(document.body).getElements('.contentBlock')
			var target = $('content_'+current);
			hide.setStyle('display','none');
			target.setStyle('display','block');
		})
	})
   }Onload.add(tabSystem);
   
   function loadPDPswf() {
   		if($('pdp_flashHolder')){
   			var mediaPlayer = new Swiff('./resources/swf/pdp/base.swf',{
   				id:'recentVideo',
   				width: 670,
   				height: 459,
   				vars: {
   					/* passed from view */
   					sku:pdpSKU,
					backgroundURL: '../images/pdp/background/'+pdpSKU+'.swf',
					color:pdpBgSwfColor,
					viewIndex:pdpViewIndex,
					swatches:pdpSwatches,
					swatchNames:pdpSwatchNames,
					swatchIndex:pdpSwatchIndex
   				},
   				params:{
   					wmode: 'opaque',
   					scale: 'noscale',
   					bgcolor: '#121212'
   				}
   			});
   			$('pdp_flashHolder').empty();
   			$('pdp_flashHolder').adopt(mediaPlayer);
   		}
   }Onload.add(loadPDPswf);
   
   function loadPDSwf_tout() {
   		if($('pdp_tout_flashHolder')){
   			var mediaPlayer = new Swiff('./resources/swf/pdp_flash_tout_fpo.swf',{
   				id:'recentVideo',
   				width: 318,
   				height: 111,
   				params:{
   					wmode: 'opaque',
   					bgcolor: '#121212'
   				}
   			});
   			$('pdp_tout_flashHolder').empty();
   			$('pdp_tout_flashHolder').adopt(mediaPlayer);
   		}
   }Onload.add(loadPDSwf_tout);
   
   function loadMediaPlayer() {
   		if($('videoPlayer')){
   			var mediaPlayer = new Swiff('./resources/swf/mediaPlayer.swf',{
   				id:'recentVideo',
   				width: 304,
   				height: 187,
   				params:{
   					wmode: 'opaque',
   					bgcolor: '#ffffff'
   				}
   			});
   			$('videoPlayer').empty();
   			$('videoPlayer').adopt(mediaPlayer);
   		}
   }Onload.add(loadMediaPlayer);
/**
 * pdpDescHeight
 */
 function pdpDescHeight() {
 	if($('pdpImage') && $('pdpDesc')){
 		var imageCoords = $('pdpImage').getCoordinates();
 		var descCoords = $('pdpDesc').getCoordinates();
 		
 		if(imageCoords.height > descCoords.height){
 			var diff = imageCoords.height - descCoords.height;
 			$('pdpDesc').setStyle('margin-top',diff+11);
 		}else{
 			var diff = imageCoords.height - descCoords.height;
 		}
 	}
 }
 window.onload = pdpDescHeight;
 
 function sendYearWins(){
 	if($('years')){
	 	var links = $('years').getElements('li a');
	 	links[0].addClass('current');
	 	links.each(function(el,index,group){
	 		el.addEvent('click', function(event){
		 		new Event(event).stop();
		 		group.each(function(prevEl){
		 			if(prevEl.hasClass('current')) prevEl.removeClass('current');
		 		});
		 		el.addClass('current');
		 		
		 		var year = el.getText().split(' ');
		 		year = year[0];
		 		$('currentYearWinCount').setHTML(year+' WIN COUNT');
				var jsonRequest = new Request.JSON({url: "?event=YearWins.load.ajax&year="+year, onComplete: function(req){
				    var count = req.recordcount;
				    var counter = new Element('span',{
				    	id: 'yearCount'
				    });
				    counter.setHTML(count);
				    counter.inject($('currentYearWinCount'),'bottom');
					var target = $('winCountContent').getElement('.scrollContent');
					target.empty();
				    for(var i=0; i<count; i++) {
				    	if(req.data.WINCATEGORY[i] != req.data.WINCATEGORY[i-1]) {
				    		target.innerHTML += '<strong>' + req.data.WINCATEGORY[i]+'</strong>';
				    	}
						target.innerHTML += '<a href="?event=athlete.view&athleteid='+req.data.ATHLETEID[i]+'">'+req.data.FIRSTNAME[i]+' '+req.data.LASTNAME[i]+' - '+req.data.WINNAME[i]+'</a>';
				    }
				    var scrollbarsExists = winCountScroller.refresh();
				    
			 		if(!scrollbarsExists){
			 			winCountScrollBar();
			 		}else{
			 			winCountScroller.checkSize()
			 		}
				}}).get();
	 		})
	 	});
	}
 }//Onload.add(sendYearWins);
 
/**
 * addToBagButton
 */
 function addToBagButton(){
 	var buttons = $('frame').getElements('.addSelected');
 	buttons = buttons.extend($('frame').getElements('.iAgree'));
 	
 	buttons.each(function(button){
 		button.addEvent('click',function(e){
 			var id = button.id.split('submit_')[1];
 			new Event(e).stop();
	 		if($(id)){
	 			$(id).submit();
	 		}
 		});
 	});
 }Onload.add(addToBagButton);




/**
 *  PDP Thumbnail Click Handling
 */	
 	function setFileDownloadLinks(str){
 		if($(document.body).getElement('.downloadFileSelection')){
	 		$$('.downloadFileSelection').each(function(el){
	 			el.setStyle('display','none');
	 		})
	 		if(str){
		 		$(str).setStyle('display','block');
	 		}else{
		 		$(document.body).getElement('.downloadFileSelection').setStyle('display','block');
	 		}
 		}
 	}Onload.add(setFileDownloadLinks);
 	
	function ThumbClicks() 	{
		/* Only add click events if more than 1 thumbnail */
		if ($$('.section img').length > 1) {
			$$('.section img').setStyle('border','1px solid #fff'); 
			$E('.section img').setStyle('border','1px solid #e4e4e4'); 
			$$('.section img').each(addThumbClick); 
		}
	}
	Onload.add(ThumbClicks);
	
	function addThumbClick(el) 	{
		el.addClass('cursorPointer');
		el.addEvent('click',fireThumbClick.bind(el));	
	}
	
	function fireThumbClick(e){
		var el = this;
		var pdpBigImage = $('pdpBigImage');
		pdpBigImage.src = el.src.replace('/tinyThumbs/', '/pdp/');
		setFileDownloadLinks(this.name);
		$$('.section img').setStyle('border','1px solid #fff'); 
		this.setStyle('border','1px solid #e4e4e4');
		equalizePdpCol.delay(100);
	}

/**
 *  PDP Equalize Col heights
 */	
 function equalizePdpCol(){
 	if(($('pdpImage'))&&($('pdpDesc'))){
 		var leftCol		= $('pdpImage');
 		var rightCol	= $('pdpDesc'); 
 		var leftheight 	= leftCol.getCoordinates().height;
 		var rightheight	= rightCol.getCoordinates().height;
 		var diff = null;
 		
 		if(leftheight > rightheight){
 			diff = leftheight - rightheight;
 			rightCol.getElement('.section').setStyle('margin-top',diff);
 			//rightCol.getFirst().setStyle('padding-top',(leftheight - rightheight))
 		}
 		else if(leftheight < rightheight){
 			/*var cols = Array(leftCol,rightCol)
 			cols.each(function(el){
 				el.setStyle('height',rightheight)
 			})*/
 			diff = rightheight - leftheight;
 			leftCol.getFirst().setStyle('margin-top',diff + 15);
 			
 		}
 	}
 }window.onload = equalizePdpCol;

/**
 * dropDownMenus
 */
 function dropDownMenus() {
 	var links = $(document.body).getElements('ul.ddMenu li');
 	links.each(function(link,index,group){
 		link.addEvents({
		    'mouseenter': showMenu.pass(link),
		    'mouseleave': hideMenu.pass(link)
		});	
 	});
 }Onload.add(dropDownMenus);

/**
 * showMenu
 * @param {parentEl} Parent element to the UL item to show
 */
 function showMenu(parentEl) {
 	var event = null;
 	if($type(parentEl) == 'event'){
	 	event = parentEl;
 		parentEl = event.target.getParent();
 	}
 	
 	if(parentEl.getElement('ul')){
	 	if(event) new Event(event).stop();
 		if(Browser.Engine.trident4){
 			parentEl.addClass('subHover');
 		}
 		parentEl.getElement('ul').fade('in');
 	}
 }
 
/**
 * hideMenu
 * @param {parentEl} Parent element to the UL item to show
 */
 function hideMenu(parentEl) {
 	if(parentEl.getElement('ul')){
 		if(Browser.Engine.trident4){
 			parentEl.removeClass('subHover');
 		}
 		parentEl.getElement('ul').fade('out');
 	}
 }
 
 /**
  * homePageSlideShow
  */
 var imageNames = [];
 function populateImageNames(){
 	imageNames = ['marquee1.png','marquee2.png','marquee3.png','marquee4.png'];
 	imageNames.each(function(el){
 		var path = './resources/images/marquee/'+el;
 		var img = new Asset.image(path);
 		
 	});
 }
 
 function loadDealerLocator() {
 	if($('mapContainer') && $('resultsContainer')){
	 	var appKey = 'ABQIAAAAP_06CPCgKhoMRFwxSuSWUhT5nhAO6ZCwXooy25GOpVGcavvgIhSblVWu-Qzsxt-whOqttnwl-LK6OQ'; // appKey would be obtained through google and is domain specific. the default value is for summitprojects.com domains only.
	 	var dealerLocator = new DealerLocator($('mapContainer'),$('results'),$('locatorForm'),$('locatorSubmitBtn'),appKey,{
			onSubmitBegin:function(instance){
				//instance is the only parameter passed into this function onRequest of ajax request. 
				//instance is the request object
				//console.log(instance);
			},
			onSubmitFail:function(instance){
				//console.log(instance);
			},
			onSubmitComplete:function(){
				//$('resultsWrapper').removeClass('hide');
				//$('resultsBottom').removeClass('hide');
			},
			noResults: '<h1>No Results Found</h1>',
			defaultLocation: 'Portland, Oregon US'
		});
 	}
 }Onload.add(loadDealerLocator);
 

 /*Create Overlay Event Functions*/
function createOverlay(){
	var triggers = $(document.body).getElements('.launchOverlay');
	if(triggers){
		triggers.each(triggerOverlayEvent);
	}
}Onload.add(createOverlay);
function triggerOverlayEvent(el,index,group){
	el.addEvent('click',launchOverlay.bindWithEvent(el));
}
function launchOverlay(event){
	if(typeof event !="undefined") new Event(event).stop();
	var path = this.href;
	var content = new Request.HTML({url:path,onComplete:showOverlay});
	content.get();
}
function showOverlay(responseTree,responsElements,responseHTML,responseJS){
	var dimmer = createDimmer();
	dimmer.inject($(document.body),'bottom');
	dimmer.setStyle('opacity',0);
	dimmer.set('tween', {duration: 'short'});
	
	var overlayContent = createOverlayContent(responsElements,responseHTML);
	
	overlayContent.inject($(document.body),'bottom');
	overlayContent.setStyle('opacity',0);
	overlayContent.set('tween', {duration: 'short'});
	centerElement(overlayContent.getFirst());
	dimmer.tween('opacity', .5);
	overlayContent.tween('opacity', 1);
	
	var closeBtn = $(document.body).getElement('.close');
	if(closeBtn){
		closeBtn.addEvent('click',removeOverlay.bindWithEvent([overlayContent,dimmer]));
	}
	dimmer.addEvent('click',removeOverlay.bindWithEvent([overlayContent,dimmer]));
	/*
	 * WE will need to show and hide select boxes in IE6 and also the mapContainer for the yahooMap API in all browsers.
	 */
	 
	window.addEvent('resize',function(){
		centerElement(overlayContent.getFirst());
	});
}
function createDimmer(){
	var windowSize = window.getScrollSize();
	var dimmer = new Element('div',{id:"dimmer"});
	dimmer.setStyles({
		width: windowSize.x,	
		height: windowSize.y,
		opacity: .5
	});
	window.addEvent('resize',function(){
		windowSize = window.getScrollSize();
		dimmer.setStyles({
			width: windowSize.x,	
			height: windowSize.y,
			opacity: .5
		});
	});
	return dimmer;
}
function createOverlayContent(nodes,html){
	var overlayContentContainer = new Element('div',{id:'overlayContentContainer'});
	overlayContentContainer.set('html',html);
	return overlayContentContainer;
}
function centerElement(el){
	el = $(el);
	if(el){
		var elDemensions = el.getSize();
		var windowDemensions = window.getSize();
		var topDiff = (windowDemensions.y - elDemensions.y)/2;
		var leftDiff = (windowDemensions.x - elDemensions.x)/2;
		var scrollTop = window.getScroll().y;
		if(topDiff < 0) topDiff = 0;
		if(leftDiff < 0) leftDiff = 0;
		el.setStyles({
			top: topDiff+scrollTop,
			left: leftDiff
		});
	}
}
function removeOverlay(event){
	new Event(event).stop();
	this.each(function(el){
		remove = el.dispose(); 
	});	
}


if(typeof(console) == 'undefined'){
	console = {};
	console.log = function(contents){
		//alert(contents);
	}
}
/* *** GET BROWSER ************************************************************************************* */
function getSystem(){ //BROWSER CHECK TO GET AROUND SAFARI AND FF MAC BUGS
	var os;
	var browser;
	if(Browser.Platform.mac) {
		os = 'mac'
	}else if(Browser.Platform.win) {
		os = 'pc'
	}	
	if(Browser.Engine.webkit){
		browser = 'safari';
	}else if(Browser.Engine.trident){
		browser = 'ie';
	}else if(Browser.Engine.gecko){
		browser = 'ff';
	}else {
		os = 'pc';
		browser = 'ie';
	}
	return os+'_'+browser;
}
function injectVid(){
	mHeight = 300;
	mWidth = 400;
	var moviePath = '../resources/video/END-ouput-3-55mb.mov'
	var movieContent = new Element('div'); 
	if(getSystem() == "mac_safari" || getSystem() == "pc_safari"){
    	movieContent.innerHTML = '<object width="'+mWidth+'" height="'+mHeight+'" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"> <param name="src" value="'+moviePath+'"> <param name="autoplay" value="true"> <param name="controller" value="false"> <embed src="'+path+'" width="'+mWidth+'" height="'+mHeight+'" autoplay="true" controller="false" pluginspage="http://www.apple.com/quicktime/download/"> </embed> </object>';
    	movieContent.addParam("wmode", "transparent ");
	}else{
	    value = '<object CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="'+mWidth+'" height="'+mHeight+'" CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab">';
	    value += '<param name="src" value="'+moviePath+'">';
	    value += '<param name="autoplay" value="true">';
	    value += '<param name="controller" value="false">';
	    value += '<embed src="'+moviePath+'" width="'+mWidth+'" height="'+mHeight+'" autoplay="true" controller="true" pluginspage="http://www.apple.com/quicktime/"></embed>';
	    value += '</object>';
	    movieContent.innerHTML = value; 
	}
	movieContent.inject($('movieContainer'));
}



