var articleURL;
var slider = {
	speed			:		400,
	width			:		486,
	slides		:		0,
	current		:		1,
	ids				:		{
		ul			:		'#homeHeroSections ul',
		li			:		'#homeHeroSections li',
		next		:		'#homeHeroNext',
		back		:		'#homeHeroBack'
	}	
}
var promos;

$(function(){
	articleURL = $('#homeFeaturedURL').text();
	promos = $('#homePromos .hPromo');
	
	// handles the hover and click of the featured article promos
	$('#homePromos .hPromo').hover(function(){
		var hovered = $(this);
		var guid = hovered.attr('id').replace('a','');
		var classs = hovered.attr('class').split(' ');
		var num = classs[1].replace('hp','');
		slider.current = num;		
		slideContent();
		hovered.click(function(){
			window.location = articleURL+'?article='+guid;	
		});
	});
	
	
	// the slider
	var slidesHolder = $(slider.ids.li);
	slider.slides = slidesHolder.length;

	// setting the width of the slides
	var theSliderWidth = slider.slides*slider.width;
	$(slider.ids.ul).width(theSliderWidth);
	
	
	$(slider.ids.next).click(function(){
		if(slider.current < slider.slides) {
			slider.current ++;
			slider.current == 1 ? prev = slider.slides : prev = slider.current - 1;
		} else {
			slider.current = 1;
			prev = slider.slides;
		}		
		slideContent();
		return false; 	
	});	
	
	$(slider.ids.back).click(function(){
		if(slider.current > 1) {
			slider.current --;
			slider.current == slider.slides ? prev = slider.slides-1 : prev = slider.current + 1;
		} else {
			slider.current = slider.slides;
			prev = slider.slides-1;
		}
		slideContent();
		return false; 	
	});	
	
});


function slideContent() {
	updatePromo();
	slider.current > 1 ? $(slider.ids.back).css('visibility','visible') : $(slider.ids.back).css('visibility','hidden');
	slider.current < slider.slides ? $(slider.ids.next).css('visibility','visible') : $(slider.ids.next).css('visibility','hidden');
	var margin = (slider.current-1)*slider.width;
	$(slider.ids.ul).clearQueue().animate({'left': '-'+margin },slider.speed);
}


function updatePromo(){
	updatePromoColour($(promos[slider.current-1]));
}

function updatePromoColour(hovered) {
	$('.hpOn').removeClass('hpOn');
	hovered.addClass('hpOn');	
}
