$(function(){
	
	// --------------- Global Variables --------------- //
	
	var filmstripSpeed = 500;
	var showHideSpeed = 250;
	
	// --------------- Global Functions --------------- //
	
	function toggleNextPrevious(p,n,curr,total){
		if(curr != 0) p.css('cursor','pointer');
		else p.css('cursor','default');
		if(-curr != total) n.css('cursor','pointer');
		else n.css('cursor','default');
	}
	function toggleShowHide(){
		var state = rvShowHideBtn.text();
		if(state == 'Show') state = 'Hide';
		else state = 'Show';
		rvShowHideBtn.text(state);
//		rvShowHideBtn.find('a').innerHTML = rvShowHideState;
		setCookie('rvState',state,365);
	}	
	function setCookie(NameOfCookie, value, expiredays) {
		var ExpireDate = new Date();
		ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
		document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());
	}
	
	// --------------- Standard Filmstrip --------------- //

	var currentPaneSet = 0,
	    div = $('#filmstrip'), 
	    nextBtn = $('#filmstripBtns > a.nextBtn'), 
	    paneWidth = 73,
	    paneMargin = 5, 
	    panesShown = 5,
	    prevBtn = $('#filmstripBtns > a.prevBtn'),
	    ul = $('#panes');
	    	
	var distance = (paneWidth+paneMargin)*panesShown,
	    lastLi = ul.find('li:last-child'),
	    paneSets = Math.floor(ul.find('li').size()/panesShown);

	div.css('overflow','hidden');
	ul.css('padding','0px');
	ul.find('li').css('padding-right',paneMargin);
	toggleNextPrevious(prevBtn,nextBtn,currentPaneSet,paneSets);
	
	prevBtn.click(function(e){
		if(-currentPaneSet > 0) {
			ul.animate({ marginLeft:'+='+distance+'px' },filmstripSpeed);
			currentPaneSet+=1;
			toggleNextPrevious(prevBtn,nextBtn,currentPaneSet,paneSets);
		}
		e.preventDefault();
	});
	nextBtn.click(function(e){
		if(-currentPaneSet < paneSets){
			ul.animate({ marginLeft:'-='+distance+'px' },filmstripSpeed);
			currentPaneSet-=1;
			toggleNextPrevious(prevBtn,nextBtn,currentPaneSet,paneSets);
		}
		e.preventDefault();
	});
	
	// --------------- Recently Viewed --------------- //
		
	var rvCurrentPaneSet = 0,
		rvContainer = $('#recentlyViewed'), 
		rvDiv = $('#rvFilmstrip'), 
		rvNextBtn = $('#rvFilmstripBtns > a.nextBtn'), 
		rvPaneWidth = 109,
		rvPaneMargin = 19, 
		rvPanesShown = 3,
		rvPrevBtn = $('#rvFilmstripBtns > a.prevBtn'),
		rvUl = $('#rvPanes');
		
	var rvShowHideBtn = $('#rvShowHideBtn');    	
	
	var rvDistance = (rvPaneWidth+rvPaneMargin)*rvPanesShown,
		rvLastLi = rvUl.find('li:last-child'),
		rvPaneSets = Math.floor(rvUl.find('li').size()/rvPanesShown);
//		rvShowHideState = rvShowHideBtn.find('a').text();

	rvDiv.css('overflow','hidden');
	rvUl.css('padding','0px');
	rvUl.find('li').css('padding-right',rvPaneMargin);
	
	// (SDC 2011-06-23) Added fix for width differential error
	rvUl.css('border-left','1px solid white');
	
	toggleNextPrevious(rvPrevBtn,rvNextBtn,rvCurrentPaneSet,rvPaneSets);

	rvPrevBtn.click(function(e){
		if(-rvCurrentPaneSet > 0) {
			rvUl.animate({ marginLeft:'+='+rvDistance+'px' },filmstripSpeed);
			rvCurrentPaneSet+=1;
			toggleNextPrevious(rvPrevBtn,rvNextBtn,rvCurrentPaneSet,rvPaneSets);
		}
		e.preventDefault();
	});
	rvNextBtn.click(function(e){
		if(-rvCurrentPaneSet < rvPaneSets){
			rvUl.animate({ marginLeft:'-='+rvDistance+'px' },filmstripSpeed);
			rvCurrentPaneSet-=1;
			toggleNextPrevious(rvPrevBtn,rvNextBtn,rvCurrentPaneSet,rvPaneSets);
		}
		e.preventDefault();
	});
	
	rvShowHideBtn.css('cursor','pointer');
	rvShowHideBtn.click(function(e){
		rvContainer.animate({
            height: "toggle",
            opacity:"toggle"
          }, showHideSpeed); 
//		rvContainer.slideToggle(200);
		toggleShowHide();
//		e.preventDefault();
	});
});

