var Slide_Index = 0;
var Interval = 0;
var Total_Slides = 0;
var Slide_Duration = 0;
var Fade_Duration = 1;
var Is_Playing = true;

setupHero = function(_slide_duration,_fade_duration,_auto_play)
{
    Slide_Duration = _slide_duration * 1000;
    Fade_Duration = _fade_duration * 1000;
    
    $("#hero div.slide").css("display","none");
    $("#slides").css("display","block").css("height","375px");
    Total_Slides = $("#hero div.slide").length;
    Is_Playing = _auto_play;
    setupControls();    
    showSlide();
    
    if (_auto_play)
    {
        Interval = setInterval("nextSlide()", Slide_Duration + (Fade_Duration * 2));
    }
}

setupControls = function()
{
    if (Total_Slides > 1)
    {
        $("#slide-controls").append("<ul id='controls'></ul>");
                
        for (var i = 0; i < Total_Slides; i++)
        {
            $("#slide-controls #controls").append("<li><a id='a-slide-" + i + "' href='#slide-" + i + "'>Slide " + i + "</a></li>");
        }
        
        $("#slide-controls #controls").append("<li class='previous'><a href='#back'>Back</a></li>");
        
        if (Is_Playing)
            $("#slide-controls #controls").append("<li class='play-pause'><a id='play-pause' href='#play-pause'>Pause</a></li>");
        else
            $("#slide-controls #controls").append("<li class='play-pause'><a id='play-pause' href='#play-pause'>Play</a></li>");
            
        $("#slide-controls #controls").append("<li class='next'><a href='#next'>Next</a></li>");
    }
    
    $("#slide-controls #controls a").click(function()
    {
        var href = $(this).attr('href');
        //href = href.substring(1, href.length);
        
        var href_split = href.split("#");
        
        switch (href_split[1])
        {
            case "back":
                if (Slide_Index == 0)
                    Slide_Index = Total_Slides - 1;
                else
                    Slide_Index--;
                break;
                
            case "play-pause":
                Is_Playing = !Is_Playing;
                
                break;
                
            case "next":
                if (Slide_Index == (Total_Slides - 1))                
                    Slide_Index = 0;
                else
                    Slide_Index++;
                
                break;
                
            default:
                var index = parseInt(href.replace("slide-", ""));
                Slide_Index = index;
                break;
        }
        
        clearInterval(Interval);
        
        if (href != "play-pause")
        {
            showSlide();
            
        }
        if (Is_Playing)
        {
            $("#play-pause")[0].innerHTML = "Pause";
            Interval = setInterval("nextSlide()", Slide_Duration + (Fade_Duration * 2));
            $("#play-pause").removeClass("is-paused");
        }
        else
        {
            $("#play-pause")[0].innerHTML = "Play";
            $("#play-pause").addClass("is-paused");
        }
        return false;
    });
}

nextSlide = function ()
{
    if (Slide_Index == (Total_Slides - 1))
    {
        Slide_Index = 0;
    }
    else
    {
        Slide_Index++;
    }
    
    showSlide();
}


showSlide = function ()
{    
    $("div.slide").each(function(index)
    {
        if (index == Slide_Index)
        {
            $("#a-slide-" + index).addClass("selected");
            $(this).pause(Fade_Duration / 2).fadeIn(Fade_Duration);
        }
        else
        {
            $("#a-slide-" + index).removeClass("selected");
            $(this).fadeOut(Fade_Duration);
        }
    });
}

$.fn.pause = function(duration)
{
	$(this).animate(
	{
		dummy: 1
	},
	duration);
    return this;
};