﻿// Create my namespace.
var slider = {};

// Intialize the slider control
slider.init = function(topButtonDivId, botButtonDivId, sliderDivId)
{
	slider.topButSel = "#" + topButtonDivId;
	slider.botButSel = "#" + botButtonDivId;
	slider.sliderSel = "#" + sliderDivId;
	slider.top = 0;
	slider.height = 0;
	slider.slideIntervalId = undefined;
	$(slider.topButSel).hover(
			function()
			{
				$(this).css("background-color", "#555555");
				slider.slideIntervalId = setInterval( function(){slider.slide(3);}, 20);
			},
			function()
			{
				$(this).css("background-color", "#333333");
				if(slider.slideIntervalId!=undefined)
				{
					clearInterval(slider.slideIntervalId);
					slider.slideIntervalId = undefined;
				}
			}
		);
	$(slider.botButSel).hover(
			function()
			{
				$(this).css("background-color", "#555555");
				slider.slideIntervalId = setInterval( function(){slider.slide(-3);}, 20);
			},
			function()
			{
				$(this).css("background-color", "#333333");
				if(slider.slideIntervalId!=undefined)
				{
					clearInterval(slider.slideIntervalId);
					slider.slideIntervalId = undefined;
				}
			}
		);
	$(slider.sliderSel).mousewheel(function(event, delta) {
			slider.slide(30*delta);
          });
}

// Slide the element
slider.slide = function(amount)
{
	slider.top += amount;
	if(slider.top>0)
	{
		slider.top = 0;
		if(slider.slideIntervalid!=undefined)
		{
			clearInterval(slider.slideIntervalId);
			slider.slideIntervalid = undefined;
		}
	}
	else if(slider.top<slider.height)
	{
		slider.top = slider.height;
		if(slider.slideIntervalid!=undefined)
		{
			clearInterval(slider.slideIntervalId);
			slider.slideIntervalid = undefined;
		}
	}
	$(slider.sliderSel).css("top", slider.top + "px").show();
}

// Move the element to the top
slider.moveTop = function()
{
	slider.top = 0;
	$(slider.sliderSel).css("top", slider.top + "px").show();
}

// Set the slider length
slider.setSlideLength = function(length)
{
	slider.height = length;
}
