var scroller =
{
	interval : null,
	container : null,
	list : null,
	images : [],
	max : 102,
	start : 20,
	i : 0,
	marginLeft : 0,
	position : null,
	listen : function(e)
	{
		var target = navigator.userAgent.match(/MSIE/) ? event.srcElement : e.target;
		while(target.nodeName.toLowerCase() != 'body' && target.id != 'scroller') target = target.parentNode;
		if(target.nodeName.toLowerCase() == 'body') scroller.i = 0;
	},
	init : function()
	{
		scroller.container = $('scroller');
		if(!scroller.container) return;
		scroller.position = scroller.getPosition(scroller.container);			
		/*
		scroller.container.onmousemove = function(e)
		{
			var x = navigator.userAgent.match(/MSIE/) ? event.clientX+document.documentElement.scrollLeft-scroller.position[0] : e.clientX+document.documentElement.scrollLeft-scroller.position[0];
			var z = parseInt(scroller.container.offsetWidth/5);
			if(x >= 0 && x < z*2)
			{
				scroller.i = x < z ? -2 : -1;
			}
			else if(x >= z*3)
			{
				scroller.i = x < z*4 ? 1 : 2;
			}
			else scroller.i = 0;
		}
		
		addEvent(document.body, 'mousemove', scroller.listen);
		*/
		scroller.container.style.overflow = 'hidden';
		scroller.container.style.whiteSpace = 'nowrap';	
		scroller.list = scroller.container.getElementsByTagName('ul')[0];
			
		/*
		if(!navigator.userAgent.match(/Safari/))
		{
			var images = scroller.container.getElementsByTagName('img');
			for(var i = 0; i < images.length; i++) scroller.imgSetBehaviours(images[i]);
		}
		*/
		scroller.list.style.marginLeft = '0px';							
		scroller.interval = setInterval('scroller.scroll()', 15);
		
	},	
	scroll : function()
	{		
		if(scroller.i > 0)
		{	
			scroller.marginLeft = scroller.marginLeft-scroller.i > -scroller.max ? scroller.marginLeft-scroller.i : 0;
			if(scroller.marginLeft < 0)
			{
				scroller.list.style.marginLeft = scroller.marginLeft + 'px';
			}
			else
			{
				var n = 0;
				var firstChild = scroller.list.childNodes[n];
				while(firstChild.nodeName.toLowerCase() != 'li') firstChild = scroller.list.childNodes[++n];
				scroller.list.removeChild(firstChild);
				scroller.list.appendChild(firstChild);
				scroller.list.style.marginLeft = scroller.marginLeft + 'px';
			}
		}
		else if(scroller.i < 0)
		{
			scroller.marginLeft = scroller.marginLeft-scroller.i < 0 ? scroller.marginLeft-scroller.i : -scroller.max;
			if(scroller.marginLeft > -scroller.max)
			{
				scroller.list.style.marginLeft = scroller.marginLeft + 'px';
			}
			else
			{
				var n = scroller.list.childNodes.length-1;
				var lastChild = scroller.list.childNodes[n];
				while(lastChild.nodeName.toLowerCase() != 'li') lastChild = scroller.list.childNodes[--n];
				scroller.list.removeChild(lastChild);
				var n = 0;
				var firstChild = scroller.list.childNodes[n];
				while(firstChild.nodeName.toLowerCase() != 'li') firstChild = scroller.list.childNodes[++n];
				scroller.list.insertBefore(lastChild, firstChild);
				scroller.list.style.marginLeft = scroller.marginLeft + 'px';
			}
		}
	},
	/*
	imgSetBehaviours : function(img)
	{
		var i = scroller.images.length;
		img.style.padding = scroller.start + 'px';
		var size = scroller.max-(scroller.start*2);
		img.style.width = size + 'px';
		img.style.height = size + 'px';
		scroller.images[i] =
		{
			element : img,
			padding : scroller.start,
			interval : false
		}
		img.onmouseover = function()
		{
			if(scroller.images[i].interval)
			{
				clearInterval(scroller.images[i].interval);
				scroller.images[i].interval = false;
			}
			scroller.images[i].interval = setInterval('scroller.zoom(' + i + ')', 15);
		}
		img.onmouseout = function()
		{
			if(scroller.images[i].interval)
			{
				clearInterval(scroller.images[i].interval);
				scroller.images[i].interval = false;
			}
			scroller.images[i].interval = setInterval('scroller.unzoom(' + i + ')', 15);
		}
	},	
	zoom : function(i)
	{
		if(scroller.images[i].padding == 0)
		{
			clearInterval(scroller.images[i].interval);
			scroller.images[i].interval = false;
			return;
		}
		scroller.images[i].padding--;
		scroller.images[i].element.style.padding = scroller.images[i].padding + 'px';
		var size = scroller.max-(scroller.images[i].padding*2);
		scroller.images[i].element.style.width = size + 'px';
		scroller.images[i].element.style.height = size + 'px';
	},
	unzoom : function(i)
	{
		if(scroller.images[i].padding == scroller.start)
		{
			clearInterval(scroller.images[i].interval);
			scroller.images[i].interval = false;
			return;
		}
		scroller.images[i].padding++;
		scroller.images[i].element.style.padding = scroller.images[i].padding + 'px';
		var size = scroller.max-(scroller.images[i].padding*2);
		scroller.images[i].element.style.width = size + 'px';
		scroller.images[i].element.style.height = size + 'px';
	}
	,*/
	getPosition : function(element)
	{
		var position = [0,0];
		while(element)
		{
			position[0] += element.offsetLeft;
			position[1] += element.offsetTop;
			element = element.offsetParent;
		}
		return position;
	}
}

function $(id)
{
	return document.getElementById(id);
}

function addEvent(o, e, f)
{
	if(typeof(o.addEventListener) != 'undefined') o.addEventListener(e, f, false);
	else if(typeof(o.attachEvent) != 'undefined') o.attachEvent('on' + e, f); 
}

addEvent(window, 'load', scroller.init);

var scroll_pic = {
					
	container : null,
	pic : null,
	interval : null,
	i : -2,
	marginLeft : 0,
						
	init : function ()
	{
		scroll_pic.container = $('scroll_pic');
		if(!scroll_pic.container)
			return;
		scroll_pic.pic = scroll_pic.container.getElementsByTagName('img')[0];
		if(scroll_pic.pic.width <= 310)
			return;
		scroll_pic.pic.style.marginLeft = '0px';						
		scroll_pic.interval = setInterval('scroll_pic.scroll()',25);
	},
	scroll : function ()
	{
		scroll_pic.marginLeft += scroll_pic.i;
		if(scroll_pic.marginLeft < -scroll_pic.pic.offsetWidth+scroll_pic.container.offsetWidth)
		{
			scroll_pic.i = 2;
			clearInterval(scroll_pic.interval);
			setTimeout('scroll_pic.restart()',1000);
		}
		else if(scroll_pic.marginLeft >= 0)
		{
			scroll_pic.i = -2;
			clearInterval(scroll_pic.interval);
			setTimeout('scroll_pic.restart()',1000);
		}				
		scroll_pic.pic.style.marginLeft = scroll_pic.marginLeft + 'px';
	},
	restart : function ()
	{
		scroll_pic.interval = setInterval('scroll_pic.scroll()',25);
	}
}

addEvent(window, 'load', scroll_pic.init);
