// ** Photoshop Lab Homepage Javascript ** //


// --- Feature Slideshow --- //
var feat = {
	autotime : null,
	timer : null,
	buttons : null,
	pbutton : null,
	sbutton : null,
	pl : 2,
	ma : 4,
	l1 : 0,
	l2 : 1,
	l3 : 1,
	l4 : 1,
	r4 : 358,
	r3 : 358,
	r2 : 358,
	init : function() {
		var buttons = $('#features > li');
//		$(buttons).hover(feat.start, feat.halt);
		var navi = $('#feature_nav > li > a');
		$(navi).hover(feat.start, feat.halt);
		var links = $('#features > li > a.button');
		$(links).css({'opacity':'0.5'});
		feat.sbutton = $('#autostop');
		feat.pbutton = $('#autostart');
		$(feat.sbutton).click(feat.autohalt);
		$(feat.pbutton).click(feat.auto);
	},
	start : function() {
		//var e = this;
		
		var e = $('#'+this.rel);
		feat.autohalt();
		feat.timer = setTimeout( function(){ feat.slide(e); }, 100);
	},
	halt : function() {
		feat.timer = clearTimeout(feat.timer);
	},
	auto : function() {
		$(feat.pbutton).css({'font-weight':'bold'});
		$(feat.pbutton).click(function(){ return false; });
		$(feat.sbutton).css({'font-weight':'normal'});
		
		var num = feat.pl - 1;
		var e = $('#features > li:eq(' + num + ')');
		feat.autotime = setTimeout( 
			function(){ 
				feat.pl++; 
				if( feat.pl > feat.ma ) feat.pl = 1;
				feat.auto(); 
				feat.slide(e); 
			}, 5000);
	},
	autohalt : function() {
		$(feat.pbutton).css({'font-weight':'normal'});
		$(feat.sbutton).click(function(){ return false; });
		$(feat.sbutton).css({'font-weight':'bold'});
		
		feat.autotime = clearTimeout(feat.autotime);
	},
	slide : function( e ) {
		
		$('#feature_nav > li > a').removeClass('active');
		
		var id = $(e).attr('id');
		switch( id ) {
			case 'f1' :	var anim2 = feat.r2, anim3 = feat.r3, anim4 = feat.r4; $('#feature_nav > li > a[@rel=f1]').addClass('active'); break;
			case 'f2' :	var anim2 = feat.l2, anim3 = feat.r3, anim4 = feat.r4; $('#feature_nav > li > a[@rel=f2]').addClass('active'); break;
			case 'f3' :	var anim2 = feat.l2, anim3 = feat.l3, anim4 = feat.r4; $('#feature_nav > li > a[@rel=f3]').addClass('active'); break;
			case 'f4' :	var anim2 = feat.l2, anim3 = feat.l3, anim4 = feat.l4; $('#feature_nav > li > a[@rel=f4]').addClass('active'); break;
		}
		$('#f2').animate({left:anim2},'fast','swing');
		$('#f3').animate({left:anim3},'fast','swing');
		$('#f4').animate({left:anim4},'fast','swing');
		
		return false;
	}
}
$(document).ready(feat.init);
$(document).ready(feat.auto);


// --- Category Slider --- //
var cat = {
	t1 : null,
	buttons : null,
	sliders : null,
	init : function() {
		cat.sliders = $('#categories > li > ul');
		cat.buttons = $(cat.sliders).parent();
		
		setTimeout( function(){ 
			$(cat.sliders).not(':last').slideUp('normal');
		}, 2000);
		$(cat.buttons).hover(cat.start, cat.halt);
	},
	start : function() {
		var e = this;
		cat.t1 = setTimeout( function(){ cat.slide(e) }, 150);
		$(cat.buttons).children('h4').removeClass('active');
		$(this).children('h4').addClass('active');
	},
	halt : function() {
		cat.t1 = clearTimeout(cat.t1);
	},
	slide : function(e) {
		var slider = $(e).children('ul');
		if( $(slider).is(':visible') ) return false;
		
		var oButtons = $(cat.buttons).not(e);
		var oSliders = $(cat.sliders).not(slider);
		
		$(oButtons).unbind();
		
		$(oSliders).each( function() {
			if( $(this).is(':visible') )
				$(this).slideUp('fast');
		} );
		
		$(slider).slideDown('fast', function() {
			$(oButtons).hover(cat.start, cat.halt);
		} );
		cat.halt();
	}
}
$(document).ready(cat.init);

// --- Zebra Striping --- //
var zebra = {
	init : function() {
		$('#articles > li:even').addClass('odd');
	}
}
$(document).ready(zebra.init);