
$(document).ready(function() {

		VerticalScroller.Initialize();
});

/////////////////////////////////////////////////////////////////////////////////////////////////////

var VerticalScroller = {};
VerticalScroller.ListSelector = '.car_list';
VerticalScroller.ScrollWidgetSelector = "#none";
VerticalScroller.Slots = 5;
VerticalScroller.Timeout = 5000;
VerticalScroller.Duration = 1250;
VerticalScroller.CurrentIndex = 0;
VerticalScroller.Paused = false;
VerticalScroller.Animating = false;

VerticalScroller.Initialize = function()
{
	var list = $(VerticalScroller.ListSelector);

	if (list.length == 1)
	{
		var items = list.children();

		if (items.length > VerticalScroller.Slots)
		{
			for (i = 0; i < VerticalScroller.Slots; i++)
			{
				items.eq( i ).clone().appendTo(list);
			}

			var lastIndex = Template.GetCookie("Template.VerticalScroller");
			lastIndex = lastIndex == "" ? 0 : lastIndex;
			if (lastIndex > 0)
			{
				VerticalScroller.CurrentIndex = lastIndex;
				var topCss = "-" + (lastIndex * 58) + "px";
				list.css("top", topCss);
			}

			window.setTimeout("VerticalScroller.AutoScroll();", VerticalScroller.Timeout);
		}

		list.hover(function() {VerticalScroller.Paused = true;}, function() {VerticalScroller.Paused = false;});	
		$(VerticalScroller.ScrollWidgetSelector).hover(function() {VerticalScroller.Paused = true;}, function() {VerticalScroller.Paused = false;});	
	}
}

VerticalScroller.AutoScroll = function()
{
	if (!VerticalScroller.Paused)
	{
		VerticalScroller.Scroll();
	}

	window.setTimeout("VerticalScroller.AutoScroll();", VerticalScroller.Timeout);
}

VerticalScroller.Scroll = function(faster)
{	
	if (VerticalScroller.Animating)
	{
		return;
	}

	if (VerticalScroller.CurrentIndex >= ($(VerticalScroller.ListSelector).children().length - VerticalScroller.Slots) )
	{
		$(VerticalScroller.ListSelector).css("top", "0px");
		VerticalScroller.CurrentIndex = 0;
	}

	VerticalScroller.CurrentIndex++;
	Template.SetCookie("Template.VerticalScroller", VerticalScroller.CurrentIndex, 1);

	VerticalScroller.Animating = true;
	$(VerticalScroller.ListSelector).animate(
	{
		top: '-=58px'
	}, faster ? 500 : VerticalScroller.Duration, function() 
		{
			VerticalScroller.Animating = false;
		}
	);
	
}
/////////////////////////////////////////////////////////////////////////////////////////////////////

Template = {};
Template.SetCookie = function (c_name,value,expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

Template.GetCookie = function (c_name)
{
    if (document.cookie.length>0)
    {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1)
        {
            c_start=c_start + c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        }
    }
    return "";
}

