$(function() {
    
    position = 0;
    busy = false;
    timer = false;
    
    function slide(to) {
        busy = true;
        clearTimeout(timer);
        if(position > 0) {
            $("#projects article:nth-child("+position+")").find("h2").css("visibility", "hidden");
            $("#projects article:nth-child("+position+")").fadeOut(100, function() {
                //$(this).find(".project-description").css("left", "350px");
                $(this).find(".project-description").hide();
                if(to == "next") {
                    position = (position == $("#projects article").length) ? 1 : (position + 1);
                }
                else if(isInt(to)) {
                    position = parseInt(to); 
                }
                else { // previous
                    position = (position == 1) ? $("#projects article").length : (position - 1);
                }
                $("#projects article:nth-child("+position+")").find("h2").css("visibility", "visible");
                $("#projects article:nth-child("+position+")").fadeIn(200, function() {
                    $(this).find(".project-description").show();
                    busy = false;
                })                
            });
        }
        else {
            $("#projects article:nth-child("+position+")").find("h2").css("visibility", "hidden");
            if(to == "next") {
                position = (position == $("#projects article").length) ? 1 : (position + 1);
            }
            else if(isInt(to)) {
                position = parseInt(to);
            }
            else { // previous
                position = (position == 1) ? $("#projects article").length : (position - 1);
            }
            $("#projects article:nth-child("+position+")").find("h2").css("visibility", "visible");
            $("#projects article:nth-child("+position+")").fadeIn(200, function() {
                $(this).find(".project-description").show();
                busy = false;
            })
        }
        if($("#projects").hasClass("auto-slide")) {
            timer = setTimeout(function() {
                slide('next');
            }, 6000);
        }
    }

    timer = setTimeout(function() {
        slide('next');
    }, 500);
    
    $("#next").click(function() { 
        if(!busy) {
            slide('next');
        }
        return false;
    });
        
    $("#previous").click(function() { 
        if(!busy) {
            slide('previous');
        }
        return false;
    });
    
    $("#project-pagination a").click(function() { 
        if(!$(this).parent().hasClass("current") && !busy) {
            slide($(this).attr("rel"));
            $("#project-pagination .current").removeClass("current");
            $(this).parent().addClass("current");
        }
        return false;
    });
    
    function isInt(value){ 
        if((parseFloat(value) == parseInt(value)) && !isNaN(value)){
            return true;
        }
        else { 
            return false;
        } 
    }
    
});
