/**************************/
/* EPAM SYSTEMS 2010-2011 */
/*   by Gabor Szilagyi    */
/**************************/

//newsbox slide variables
var totalSlides = 0;
var currentSlide = 0;
var nextSlide = 0;
var contentSlides = "";

//opening slideshow variables
var actSl = 0;
var opSlideNum = 0;

$(document).ready(function () {
    $(".toolbox.closed #dnn_toolboxcontainer").css("opacity", "0");
    /*********************/
    /* newsbox slideshow */
    /*********************/
    //set up button clicks
    $(".newsbox .back").click(showPreviousSlide);
    $(".newsbox .next").click(showNextSlide);
    $(".newsbox .stop").click(function () { stopSliding(); });
    //iterate through the news elements
    contentSlides = $(".newscontainer");
    contentSlides.each(function (i) {
        //count the slides
        totalSlides++;
        //add slide links
        $("#slidenums").append('<div id="slidenum' + i + '" onclick="showSlide(' + i + ')">' + totalSlides + '</div>');
        //hide all slides except the first and set up the actual class for the first number
        if (i != 0) { $("img", this).css("display", "none"); $("span", this).css("display", "none"); }
        else { $("#slidenums #slidenum" + i).addClass("actual"); }
    });
    //automate if more than one slide
    if (totalSlides > 1) {
        startSliding();
    }

    /*********************/
    /* opening slideshow */
    /*********************/
    openSlides = $(".openerimage");
    //iterate through opener images
    openSlides.each(function (i) {
        $("div", this).css("z-index", i);
        //hide all slides except the first
        if (i != 0) { $("img", this).css("display", "none"); $("div", this).css("display", "none"); }
        //set up order position
        $(this).attr("pos", i);
        opSlideNum++;
    });
    //start sliding if more than one slide
    if (opSlideNum > 1) {
        //slideNext();
        slideTimer = setInterval(slideNext, 4000);
    }

    /*************************/
    /* pushdown starter anim */
    /*************************/
    if (typeof(firstdelay)=='undefined' || isNaN(firstdelay)) { firstdelay = 5000; }
    if (typeof(seconddelay) == 'undefined' || isNaN(seconddelay)) { seconddelay = 30000; }
    if (typeof(thirddelay) == 'undefined' || isNaN(thirddelay)) { thirddelay = 10000; }
    $("#dnn_pushdown.anim #buttonholder").delay(firstdelay).slideToggle(700, function () {
        $("#dnn_pushdown.anim #buttonholder").delay(seconddelay).slideToggle(500, function () {
            $("#pushdown #maintitle").slideToggle(500);
            $("#pushdown #openertitle").toggleClass('hidden shown');
            $("#pushdown").toggleClass("bordered");
            $("#pushdown #opener").toggleClass('opened closed').fadeIn().click(pushToggle);
            setTimeout('toolboxtoggle()', thirddelay);
        });
    });
    $("#dnn_pushdown.closed #pushdown #openertitle").toggleClass('hidden shown');
    $("#dnn_pushdown.closed #pushdown").toggleClass("bordered");
    $("#dnn_pushdown.closed #pushdown #opener").toggleClass('opened closed').fadeIn().click(pushToggle);

});

//pushdown functions
function pushToggle() {
    $("#pushdown #buttonholder").slideToggle(500);
    $("#pushdown #maintitle").slideToggle(500);
    $("#pushdown #openertitle").toggleClass('hidden shown');
    $("#pushdown").toggleClass("bordered");
    $("#pushdown #opener").toggleClass('opened closed');
}

//opening slideshow functions
function slideNext() {
    //nextSl = actSl + 1;
    //if (nextSl > opSlideNum - 1) { nextSl = 0; }
    //$(".openerimage[pos=" + actSl + "] img").fadeOut(2000);
    //$(".openerimage[pos=" + actSl + "] div").animate({ width: 'toggle' }, 800, 'easeInCirc');
    //$(".openerimage[pos=" + nextSl + "] img").fadeIn(2000);
    //$(".openerimage[pos=" + nextSl + "] div").delay(1600).animate({ width: 'toggle' }, 800, 'easeOutCirc');
    //actSl = nextSl;

    nextSl = actSl + 1;
    if (nextSl > opSlideNum - 1) { nextSl = 0; }
    $(".openerimage[pos=" + actSl + "] img").fadeOut(2000);
    $(".openerimage[pos=" + actSl + "] div").animate({ width: 'toggle' }, 10, 'easeInCirc');
    $(".openerimage[pos=" + nextSl + "] img").fadeIn(2000);
    $(".openerimage[pos=" + nextSl + "] div").delay(0).animate({ width: 'toggle' }, 4000, 'easeOutCirc');
    actSl = nextSl;
}

// newsbox sliding functions
function startSliding() {
    $(".newsbox .stop").removeClass("stopped");
    timerId = setInterval(showNextSlide, 3000);
}

function stopSliding() {
    stopbut = $(".newsbox .stop");
    if (stopbut.hasClass("stopped")) { startSliding(); }
    else {
        stopbut.addClass("stopped");
        clearInterval(timerId);
    }
}

function showPreviousSlide() {
    nextSlide = currentSlide - 1;
    if (currentSlide == 0) { nextSlide = totalSlides - 1; }
    updateContentHolder();
}

function showNextSlide() {
    nextSlide = currentSlide + 1;
    if (currentSlide == totalSlides - 1) { nextSlide = 0; }
    updateContentHolder();
}

function showSlide(num) {
    nextSlide = num;
    updateContentHolder();
}

function updateContentHolder() {
    contentSlides.each(function (i) {
        if (currentSlide == i) {
            $("img", this).fadeOut(500);
            $("span", this).animate({ height: 'toggle' }, 400);
        }
        if (nextSlide == i) {
            $("img", this).fadeIn(500);
            $("span", this).animate({ height: 'toggle' }, 400);
        }
    });
    $("#slidenums #slidenum" + currentSlide).removeClass("actual");
    $("#slidenums #slidenum" + nextSlide).addClass("actual");
    currentSlide = nextSlide;
}

//toolbox opener
function toolboxtoggle() {
    if ($("#toolbox").hasClass("closed")) {
        $("#toolbox").animate({
            width: 260
        }, 500, 'easeOutCirc', function (){
            $("#dnn_toolboxcontainer").animate({opacity: 1}, 1000, 'easeOutCirc');
        });
        
        $("#toolbox").removeClass("closed");
    }
    else {
        $("#dnn_toolboxcontainer").animate({
            opacity: 0
        }, 300, 'easeOutCirc', function () {
            $("#toolbox").animate({ width: 25 }, 500, 'easeOutCirc');
            $("#toolbox").addClass("closed");
        });
    }
}

