$(document).ready(function(){
    copyImagesForSlider();

        $("#smoothslider").smoothDivScroll({
        autoScroll: "onstart",
        autoScrollDirection: "backandforth",
        autoScrollStep: 1,
        scrollStep:15,
        autoScrollInterval: 15,
        startAtElementId: "itemOriginal",
        visibleHotSpots: "always",
        stopScroll:function(eventObj, data){
            $(".slider").smoothDivScroll("startAutoScroll",{direction:data.direction});
        },
        scrollRightLimitReached: function(eventObj, data){
        	$(".slider").smoothDivScroll('moveToElement','numberEnd',2);
        },
        scrollLeftLimitReached: function(eventObj, data){
        	$(".slider").smoothDivScroll('moveToElement','number',2);
        },
        autoScrollRightLimitReached: function(eventObj, data){
        	$(".slider").smoothDivScroll("startAutoScroll",{direction:'right'});
		},
		autoScrollLeftLimitReached: function(eventObj, data){
        	$(".slider").smoothDivScroll("startAutoScroll",{direction:'left'});
		}
    });

    if(!$('#bgImage').hasClass("changed"))
        $('#bgImage').attr('src',themeBasePath + 'images/background.jpg');

    $('#newsImages .navigation .moveLeft').click(function(){
        moveNewsImages('left');
        return false;
    });
    $('#newsImages .navigation .moveRight').click(function(){
        moveNewsImages('right');
        return false;
    });
    $('#newsImages .navigation .video').click(function(){
        moveNewsImages('first');
        return false;
    });

    $("#smoothslider .scrollableArea a").hover(function(){
        $(".slider").smoothDivScroll("stopAutoScroll");
        $(this).addClass("active");
    },function(){
        $(this).removeClass("active");
        $(".slider").smoothDivScroll("startAutoScroll");
    });
    $('.left_panel .news .navigation a').click(function(){
		newsSlider($(this).attr('rel'));
		return false;
    });

    transparentGradient();
});

function copyImagesForSlider()
{
    var scrollableArea = $("#smoothslider .scrollableArea");
    var content = scrollableArea.html();
    $("#smoothslider .scrollableArea").html(content + content + content);
    $(scrollableArea.find('.item')[1]).attr('id','itemOriginal');
}

function newsSlider(turn)
{
	var speed = 450;
	var elementsParent = $('.left_panel .news .scroller');
	var elements = elementsParent.find('.item');

    $(elementsParent).stop();
	if (elements.length < 3)
	{
		return false;
	}

	var elementWidth = $(elements[0]).css('width');
	elementWidth = parseInt(elementWidth.substr(0,elementWidth.length - 2));
	var elementsLeft = elementsParent.css('margin-left');

	if (elementsLeft.substr(elementsLeft.length - 2) == 'px')
	{
		elementsLeft = parseInt(elementsLeft.substr(0, elementsLeft.length - 2));
	}

	if (turn == 'right')
	{
		if( !( - elementsLeft / elementWidth <  elements.length -1))
		{
			return false;
		}
		elementsLeft -= elementWidth;
		elementsParent.animate({marginLeft:elementsLeft}, speed);
	}
	if (turn == 'left')
	{
		if(elementsLeft+elementWidth-10 >= 0)
		{
            elementsParent.css('margin-left',0);
			return false;
		}
		elementsLeft += elementWidth;
		elementsParent.animate({marginLeft:elementsLeft}, speed);
	}
}

function instructorsScroller(turn, padding)
{
    function getActiveElementPos(elements)
    {
        for(var i=0; i<=elements.length; i++)
        {
            if ($(elements[i]).hasClass('active'))
                return i;
        }
        return false;
    }

    function setActiveInfo(activeElementPos)
    {
        $('.info .item.active').removeClass('active');
        $('.info .item_' + activeElementPos).addClass('active');
    }

    var offset = 2;
    var speed = 450;
    var elementsParent = $('#instrSlider .items');
    var elements = elementsParent.find('.item');
    var activeElementPos = getActiveElementPos(elements);

    $(elementsParent).stop();
    if (elements.length < 3)
    {
        return false;
    }

    var elementWidth = $(elements[0]).css('width');
    elementWidth = parseInt(elementWidth.substr(0,elementWidth.length - 2)) + (padding * 2);


    if (turn == 'right')
    {
        if( activeElementPos > elements.length - 2)
        {
            return false;
        }
        elementsLeft = -(elementWidth * (activeElementPos + 1 - offset));
        setActiveInfo(activeElementPos + 1);
        elementsParent.animate({marginLeft:elementsLeft}, speed, function(){$(elements[activeElementPos + 1]).addClass('active');$(elements[activeElementPos]).removeClass('active');});
    }
    if (turn == 'left')
    {
        if(activeElementPos < 1)
        {
            elementsParent.animate({marginLeft:elementWidth * 2}, speed);
            return false;
        }
        elementsLeft = - (elementWidth * (activeElementPos - 1 - offset));
        setActiveInfo(activeElementPos - 1);
        elementsParent.animate({marginLeft:elementsLeft}, speed,function(){$(elements[activeElementPos - 1]).addClass('active');$(elements[activeElementPos]).removeClass('active');});
    }
}

transparentGradient = function()
{
    var width = 40;
    var bgLeftPosition  = -394;
    var bgTopPosition   = -38;
    var sliderHover = $("#header .slider-hover");
    for(var i = 1; i <= width; i++)
    {
        var p = document.createElement("p");
        var div = document.createElement("div");
        var opacity = Math.ceil((width - i)/width * 100);
        if (opacity == 0)
            break;
        var cssBgPosition = bgLeftPosition - i;
        $(div).css("opacity", opacity / 100).css("-moz-opacity", opacity / 100).css("filter","alpha(opacity = "+ opacity +")");
        $(div).css("background-position",cssBgPosition + "px " + bgTopPosition + "px").append(p);
        sliderHover.append(div);
    }
}

function moveNewsImages(to)
{
    var holder = $('#newsImages');
    var elements    = holder.find('div.item');
    var elementsCount = elements.length;
    var activeElement = holder.find('div.item.active');

    function _getElementPosition(elements, activeElement)
    {
        var i = 0;
        for(var i = 0; i < elements.length; i++)
        {
            if (elements[i] == activeElement[0])
            {
                return i;
            }
        }
        return false;
    }
    var activeElementPosition   = _getElementPosition(elements, activeElement);
    if (to == 'left')
    {
        if (activeElementPosition != 0)
        {
            $(elements[activeElementPosition - 1]).addClass('active');
            $(activeElement).removeClass('active');
        }
    }
    else if (to == 'right')
    {
        if (activeElementPosition < elementsCount - 1 )
        {
            $(elements[activeElementPosition + 1]).addClass('active');
            $(activeElement).removeClass('active');
        }
    }
    else if (to == 'last')
    {
        $(elements[elements.length - 1]).addClass('active');
        $(activeElement).removeClass('active');
    }
    else if (to == 'first')
    {
        $(activeElement).removeClass('active');
        $(elements[0]).addClass('active');
    }
}

