/*  ================================
     Sitewide JavaScript
    ================================ */

	// Detected and set from HTML
	var isIE6;
	isIE6 = false;

	var menuObjects;
	var bannerLink;
	
	


	function sitewidePageLoaded()
	{
		var dummy = {style:{backgroundImage:""}};
		var menuAs = document.getElementById("menu").getElementsByTagName("a");
		var menuDivs = document.getElementById("menu").getElementsByTagName("div");
		menuObjects = [{before: dummy, main: menuAs[0], after: menuDivs[0], menuid: "programs"},
						{before: menuDivs[0], main: menuAs[1], after: menuDivs[1], menuid: "association"},
						{before: menuDivs[1], main: menuAs[2], after: menuDivs[2], menuid: "value"},
						{before: menuDivs[2], main: menuAs[3], after: menuDivs[3], menuid: "participate"},
						{before: menuDivs[3], main: menuAs[4], after: menuDivs[4], menuid: "news"}];
						
						  
        var contentHeader = document.getElementById('contentHeader');
        if (contentHeader != null){
        
            if (contentHeader.innerHTML == "&nbsp;"){
                contentHeader.innerHTML = '<img src="/images/masterpage_templates/header.jpg" />';
            }
        }
        						
	}
	
	function menuIn(x)
	{
		menuObjects[x].before.style.backgroundImage = "url(/images/masterpage_templates/clear.gif)";
		menuObjects[x].after.style.backgroundImage = "url(/images/masterpage_templates/clear.gif)";
		menuObjects[x].main.style.backgroundImage = "url(/images/masterpage_templates/"+menuObjects[x].menuid+"-on.gif)";
		document.getElementById(menuObjects[x].menuid).style.display = "block";
	}
	
	function menuOut(x)
	{
		menuObjects[x].before.style.backgroundImage = "url(/images/masterpage_templates/menu-separator.gif)";
		menuObjects[x].after.style.backgroundImage = "url(/images/masterpage_templates/menu-separator.gif)";
		menuObjects[x].main.style.backgroundImage = "url(/images/masterpage_templates/"+menuObjects[x].menuid+"-off.gif)";
		document.getElementById(menuObjects[x].menuid).style.display = "none";
	}

/*  ================================
     Template 1 JavaScript
    ================================ */

	function template1Loaded()
	{
		// Per template on load
		sitewidePageLoaded();
	}
	
	function setBanner(x)
	{
	    if(document.getElementById("banner")){
		    var theLIs = document.getElementById("banner").getElementsByTagName("ul")[0].getElementsByTagName("li");
		    for(var i = 0; i < theLIs.length; i++)
		    {
			    theLIs[i].className = "";
		    }
		    theLIs[x-1].className = "selected";
		  	document.getElementById("block").src = "images/banner/"+x+"A.jpg";
		    Project.currentBanner = x - 1;
		    clearTimeout(Project.bannerTimer);
		    Project.doBannerTimer();
			
			//set clickability of banner, only on the first image for now
			var theBlock = $('#block');
			if( x == 1 )
			{
				theBlock.click( handleBannerClick );
				theBlock.css({'cursor':'pointer'});
			}
			else
			{
				theBlock.unbind( 'click', handleBannerClick );
				theBlock.css({'cursor':'default'});
			}
		}
		
		//document.getElementById("spill").src = "images/banner/"+x+"B.jpg";
	}
	
	function handleBannerClick( event )
	{
		window.location.href = "http://www.sourcingoffice.org/association_partnerships.aspx";
	}
	
	function timerSetBanner(x)
	{
	      if(document.getElementById("banner")){
		    var theLIs = document.getElementById("banner").getElementsByTagName("ul")[0].getElementsByTagName("li");
		    for(var i = 0; i < theLIs.length; i++)
		    {
			    theLIs[i].className = "";
		    }
		    theLIs[x-1].className = "selected";
		    document.getElementById("block").src = "images/banner/"+x+"A.jpg";
		    Project.currentBanner = x;
			
			var theBlock = $('#block');
			if( x == 1 )
			{
				theBlock.click( handleBannerClick );
				theBlock.css({'cursor':'pointer'});
			}
			else
			{
				theBlock.unbind( 'click', handleBannerClick );
				theBlock.css({'cursor':'default'});
			}
			
		 }
		//clearTimeout(Project.bannerTimer);
		//document.getElementById("spill").src = "images/banner/"+x+"B.jpg";
	}
	

	function goNavOver()
	{
		
	}
	
	var Project = {};
	
	Project.scrollPosition = 0;
	Project.scrollOffset = 1;
	Project.scrollEnabled = true;
	Project.timerDelay = 33;//33 is approx 30fps
	Project.timerDelayMin = 33;
	Project.timerDelayMax = 30;
	Project.timer;
	Project.scrollWindow;
	Project.scrollWindowWidth = 0;
	Project.currentBanner = 0;
	Project.bannerTimer;
	
	Project.init = function()
	{
		
		Project.scrollWindow = $('.logo-scroller');
		
		//create copies of logos at end of scroller, for looping
		var logos = $('.logo-item');
		var i;
		for( i = 0; i < logos.size() ; i ++ )
		{
			var copy = $(logos[i]).clone();
			$('.logo-scroller').append( copy );
		}
		
		//reposition logos inside scroller
		$('.logo-item').each(function(){
			Project.scrollWindowWidth += 20 + parseInt(($(this).attr('imageWidth')));
		
		});
		$('.logo-scroller').css({'width':Project.scrollWindowWidth});
		$('.left-arrow').mouseover(Project.handleArrow).mouseleave(Project.handleArrow);
		$('.right-arrow').mouseover(Project.handleArrow).mouseleave(Project.handleArrow);
		$('.logo-item').mouseover(Project.handleMouseLogo).mouseleave(Project.handleMouseLogo);
		$('.banner-tabs').children().mouseover(Project.handleMouseTab).mouseleave(Project.handleMouseTab);
		//add clearer
		$('.logo-scroller').append( "<div class='clearer'></div>" );
		
		//start scroll
		Project.startTimer();
		Project.doBannerTimer();
	}
	
	Project.resetBannerTimer = function()
	{
		alert( 'k');	
	}
	
	Project.doBannerTimer = function()
	{
		if(Project.currentBanner < 4)
		{
			Project.currentBanner ++;
		}
		else
		{
			Project.currentBanner = 1;	
		}
		timerSetBanner(Project.currentBanner);
		
		Project.bannerTimer = setTimeout("Project.doBannerTimer()", 4000);
	}
	
	Project.timerTick = function()
	{
		Project.scrollPosition -= Project.scrollOffset;
		Project.updateScroll();
		Project.timer = setTimeout("Project.timerTick()", Project.timerDelay)
	}
	
	Project.startTimer = function()
	{
		Project.timerTick();
		Project.scrollEnabled = true;
		
	}
	
	Project.stopTimer = function()
	{
		clearTimeout(Project.timer);
		Project.scrollEnabled = false;
	}
	
	Project.updateScroll = function()
	{
		var newLeft = Project.scrollPosition.toString() + 'px';
		
		if( Project.scrollOffset > 0 )
		{
			if( Project.scrollPosition <= ( Project.scrollWindowWidth / -2 ) )
			{ 
				Project.scrollPosition -= ( Project.scrollWindowWidth / -2 ); 
				newLeft -= ( Project.scrollWindowWidth / -2 ); 
			}
		}
		else
		{
			if( Project.scrollPosition >= 0 )
			{ 
				Project.scrollPosition += ( Project.scrollWindowWidth / -2 ); 
				newLeft += ( Project.scrollWindowWidth / -2 ); 
			}
		}
		
		Project.scrollWindow.css({ 'left' : newLeft });
	}
	
	Project.handleArrow = function( event )
	{
		if( event.type == "mouseover" )
		{
			
			if( $(this).hasClass("right-arrow") )
			{
				Project.timerDelay = Project.timerDelayMax;
				Project.scrollOffset = 3;
			}
			else
			{
				Project.timerDelay = Project.timerDelayMax;
				Project.scrollOffset = -3;
				
			}
		}
		else
		{
			//if( Project.scrollOffset < 0 ){Project.scrollOffset *= -1;}
			if( $(this).hasClass("left-arrow") )
			{
				Project.timerDelay = Project.timerDelayMin;
				Project.scrollOffset = 1;
			}
			else
			{
				Project.timerDelay = Project.timerDelayMin;
				Project.scrollOffset = 1;
			}
		}
	}
	
	Project.handleMouseLogo = function( event )
	{
		if( event.type == "mouseover" )
		{
			Project.stopTimer();
		}
		else
		{
			Project.startTimer();
		}
	}
	
	Project.handleMouseTab = function( event )
	{
		if( !$(this).hasClass('selected') )
		{
			if( event.type == "mouseover" )
			{
				$(this).addClass('over');	
			}
			else
			{
				$(this).removeClass('over');	
			}
		}
	}
	
	    $(document).ready(function() {
        // put all your jQuery goodness in here.
        Project.init();
        });


	

