//Disable selection
jQuery.fn.disableTextSelection = function()
{
    return this.each(function()
    {
        if (typeof this.onselectstart != "undefined") // IE
        {
            this.onselectstart = function() { return false; };
        }
        else if (typeof this.style.MozUserSelect != "undefined") // Firefox
        {
            this.style.MozUserSelect = "none";
        }
        else // All others
        {
            this.onmousedown = function() { return false; };
            this.style.cursor = "default";
        }
    });
};

var slider_effect = 'scroll';
var slider_thumb_current_pos = 0;
var slider_effect_delay = 1000;
var slider_autorotate_delay = 6000;
var slider_interval;
var slider_images = new Array();
var slider_images_pos_width = new Array();

function startInterval()
{
    slider_interval = setInterval("SliderAutorotate();", slider_autorotate_delay);
}

function stopInterval()
{
    clearInterval(slider_interval);
    slider_interval = false;
}

function SliderCalculateImagesWidth()
{
	var w = 0;
	var i = 0;
	$('#SliderImageContainer img').each(function(){
		slider_images_pos_width[i] = w;
		w = $(this).width()+w;
		i++;
	});
	$('#SliderMaxThumbs').html(i);

	$('#SliderImageContainer').animate({
		'marginLeft' : '-' + slider_images_pos_width[slider_thumb_current_pos] + 'px'
	}, 10);
}


$(function(){

	$('#SliderImageContainer').disableTextSelection();

	$(window).load(function(){
		SliderCalculateImagesWidth();
		SliderStartAutoPlay();
	});

	$("#Slider").mouseover(function(){
		$(this).find('.Navigation').fadeIn();
		stopInterval()
	});

	$("#Slider").mouseleave(function(){
		$(this).find('.Navigation').fadeOut();
		startInterval();
	});

	if( slider_effect == 'fade' )
	{
		$('#Slider .Navigation ul li').each(function(){
			var c_name = ( $(this).index() == 0 ) ? ' current' : '';
			if($(this).attr('link'))
			{
				$('#SliderImageContainer').prepend('<a href="'+$(this).attr('link')+'"><img src="' + $(this).attr('url') + '" class="fadeEffect' + c_name + '"></a>');
			}
			else
			{
				$('#SliderImageContainer').prepend('<img src="' + $(this).attr('url') + '" class="fadeEffect' + c_name + '">');
			}
		});
	}
	else if( slider_effect == 'scroll' )
	{
		$('#Slider .Navigation ul li').each(function(){
			var c_name = ( $(this).index() == 0 ) ? ' current' : '';
			if($(this).attr('link'))
			{
				$('#SliderImageContainer').prepend('<a href="'+$(this).attr('link')+'"><img src="' + $(this).attr('url') + '" class="scrollEffect' + c_name + '"></a>');
			}
			else
			{
				$('#SliderImageContainer').append('<img src="' + $(this).attr('url') + '" class="scrollEffect' + c_name + '">');
			}
			
		});
	}

	$('#SliderCurrentThumbPos').html(1);

	$('#Slider li').click(function(){
		if( $(this).attr('class') != 'current' )
		{
			SliderRemoveCurrentClass();
			$(this).addClass('current');
			slider_thumb_current_pos = $(this).index();
			SliderSetImage($(this).attr('url'));
		}
		SliderActions();
	});

});

function SliderStartAutoPlay()
{
	SliderAutoPlay();
}

function SliderStopAutoPlay()
{
	stopInterval();
}

function SliderActions()
{
	$('#SliderCurrentThumbPos').html(slider_thumb_current_pos+1);
}

function SliderSetImage(Img)
{
	var Autoplay = false;
	if( typeof(slider_interval) == 'number' )
	{
		stopInterval();
		Autoplay = true;
	}

	if( slider_effect == 'fade' )
	{
		var i = new Image();
		i.src = Img;
		i.style.display = 'none';
		i.className = 'fadeEffect';
		i.onload = function(){
			$('#SliderImageContainer img:last').fadeIn(slider_effect_delay, function(){
				if( Autoplay )
				{
					startInterval();
				}
				$('#SliderImageContainer img:first').remove();
			});
		}
		$('#SliderImageContainer').append(i);
	}
	else if( slider_effect == 'scroll' )
	{
		$('#SliderImageContainer').animate({
			'marginLeft' : '-' + slider_images_pos_width[slider_thumb_current_pos] + 'px'
		}, 1000, function(){
			if( Autoplay )
			{
				startInterval();
			}
		});
	}
}

function SliderRemoveCurrentClass()
{
	$('#Slider li.current').removeClass('current');
}

function SliderAutoPlay()
{
	startInterval();
}

function SliderAutorotate()
{
	SliderRotateRight();
	SliderActions();
}

function SliderRotateLeft()
{
	var li = $('#Slider li:eq('+(parseInt(slider_thumb_current_pos)-1)+')');
	var Image = li.attr('url');
	if( Image )
	{
		SliderRemoveCurrentClass();
		li.addClass('current');
		slider_thumb_current_pos--;
		SliderSetImage(Image);
	}
	else
	{
		SliderSetLastPosition();
	}
}

function SliderRotateRight()
{
	var li = $('#Slider li:eq('+(parseInt(slider_thumb_current_pos)+1)+')');
	var Image = li.attr('url');
	if( Image )
	{
		SliderRemoveCurrentClass();
		li.addClass('current');
		slider_thumb_current_pos++;
		SliderSetImage(Image);
	}
	else
	{
		SliderSetFirstPosition();
	}
}

function SliderSetFirstPosition()
{
	SliderRemoveCurrentClass();
	var Image = $('#Slider li:first').addClass('current').attr('url');
	slider_thumb_current_pos = 0;
	SliderSetImage(Image);
}

function SliderSetLastPosition()
{
	SliderRemoveCurrentClass();
	var Image = $('#Slider li:last').addClass('current').attr('url');
	slider_thumb_current_pos = slider_count_thumbs-1;
	SliderSetImage(Image);
}
