/**
 * Okanagan Business Examiner - Custom JavaScript
 * @author Guillaume VanderEst <gvanderest@netshiftmedia.com>
 */

homeCarouselIndex = 0;
homeCarouselMaxIndex = 3;
homeCarouselTickDelay = 50;
homeCarouselIncrement = 0.01;
homeCarouselValue = 0;
homeCarouselTimer = false;
homeCarouselActive = false;
 
function homeCarouselTick()
{
    // reset for the next slide
    if (homeCarouselValue > 1)
    {
        homeCarouselNext();
        
    } else {
    
        homeCarouselValue += homeCarouselIncrement;
        percent = Math.min(100, Math.floor(homeCarouselValue * 100));
        $("#homeTopStories .indicatorProgress").css('width', percent + '%');
    }
}

function homeCarouselPause(silent)
{
	if (!silent)
	{
		$("#homeTopStories .controls .pause").hide(); 
		$("#homeTopStories .controls .play").show();
	}
	
	if (homeCarouselActive)
    {
        clearInterval(homeCarouselTimer);
        homeCarouselActive = false;
    }
}

function homeCarouselPlay()
{
	$("#homeTopStories .controls .play").hide(); 
	$("#homeTopStories .controls .pause").show();
    
	if (!homeCarouselActive)
    {
        homeCarouselTimer = setInterval('homeCarouselTick()', homeCarouselTickDelay);
        homeCarouselActive = true;
    }
}

function homeCarouselNext(manual)
{
	if (manual)
	{
		homeCarouselPause();
	}
    homeCarouselIndex = (homeCarouselIndex + 1 > homeCarouselMaxIndex) ? 0 : homeCarouselIndex + 1;
    homeCarouselSwap(homeCarouselIndex);
}

function homeCarouselPrevious(manual)
{
	if (manual)
	{
		homeCarouselPause();
	}
    homeCarouselIndex = (homeCarouselIndex - 1 < 0) ? homeCarouselMaxIndex : homeCarouselIndex - 1;
    homeCarouselSwap(homeCarouselIndex);
}


/**
 * Swap the current home carousel news story with the specified
 * @param int index
 * @return void
 */
function homeCarouselSwap(index)
{
	$("#homeTopStories #featuredStory").stop(true, true);
    
	restart = homeCarouselActive;
    
    homeCarouselPause(true);
    homeCarouselValue = 0;
    
    $("#homeTopStories .story").removeClass('active');
    $("#homeTopStories .story" + index).addClass('active');
    
    $("#homeTopStories #featuredStory").fadeOut(200, function(){ 

        $(this).html($("#homeTopStories .story" + index).html());
        
        $(this).fadeIn();
        if (restart)
        {
            homeCarouselPlay();
        }
    });
}

/**
 * The Events
 */
$(document).ready(function(){

    $("#search_button").html('<input type="image" src="/themes/site/okbusinessexaminer/img/search-icon.png" />');
    
    $("#homeTopStories #featuredStory").html($("#homeTopStories .story0").html());
    homeCarouselPlay();
    
    $("#homeTopStories .controls .previous").click(function(){ homeCarouselPrevious(true); });
    $("#homeTopStories .controls .next").click(function(){ homeCarouselNext(true); });
    $("#homeTopStories .controls .pause").click(function(){ $(this).hide(); homeCarouselPause(); $("#homeTopStories .controls .play").show(); });
    //$("#homeTopStories .controls .pause").css("border", "1px solid red");
    $("#homeTopStories .controls .play").click(function(){ $(this).hide(); homeCarouselPlay(); $("#homeTopStories .controls .pause").show(); });
    $("#homeTopStories .controls .play").hide();
    $("#homeTopStories .story0").addClass('active');
    homeCarouselMaxIndex = $("#homeTopStories .small").length - 1;
    
    $("#homeTopStories .small a").click(function(e){ e.preventDefault(); });
    $("#homeTopStories .story0").click(function(){ homeCarouselSwap(0); });
    $("#homeTopStories .story1").click(function(){ homeCarouselSwap(1); });
    $("#homeTopStories .story2").click(function(){ homeCarouselSwap(2); });
    $("#homeTopStories .story3").click(function(){ homeCarouselSwap(3); });
    
    $("#sidebar #contentSections li .content").hide();
    $("#sidebar #contentSections a.sectionTitle").click(function(e){
    	
    	e.preventDefault();
    	// expand or contract the sections
    	var obj = $(this).parents("#sidebar #contentSections li").find('.content');
    	if (obj)
    	{
    		$("#sidebar #contentSections li .content").slideUp();
	    	if (!obj.is(':visible'))
	    	{
	    		obj.slideDown();
	    	}
    	}
    });
    
    $('a.newWindow').attr('target', '_blank');
    
    // Remove menu text, because it will conflict with the sprites
    $('#menu li a').html('');
    $('#menu li.active a').each(function(){ $(this).css('background-position-y', '-23px'); });
    $('#menu li a').hover(function(){ $(this).css('background-position-y', '-23px'); },function(){ if (!$(this).parent('li').hasClass('active')) { $(this).css('background-position-y', '0px'); } });
    
});
