
var list = 
{
	divs: Array(),
	current: 0,
	tween: null, 
	init: function()
	{
		this.divs = new Array();
		els = document.getElementsByTagName('td')
		for (var el=0; el<els.length; el++)
		{
			if (els[el].className=='gal'||els[el].className=='gal selected') {
				this.divs.push(els[el])
			}
		}
	},
	isVisible: function(el)
	{
		lx = $.x('outer')  
		rx = lx + $.w('outer')
		return ($.x(el)>=lx && ($.x(el)+$.w(el))<=rx)
	},
	setTabVisible: function()
	{
		this.init();
		for (var i=0; i<this.divs.length; i++)
		{
			if (this.divs[i].className=='gal selected'&&!this.isVisible(this.divs[i]))
			{
				offs = $.w(this.divs[i])-($.x('outer') + $.w('outer') - $.x(this.divs[i]))
				x = $('inner').style.left=='' ? 0 : parseInt($('inner').style.left)
				this.setX(x - offs)
				break;
			}
		}
	},
	next: function()
	{
		this.init();
		for (var i=this.current; i<this.divs.length; i++)
		{
			if (this.isVisible(this.divs[i])) continue;
			else 
			{
				if ($.x(this.divs[i])<$.x('outer')) continue;
				offs = $.w(this.divs[i])-($.x('outer') + $.w('outer') - $.x(this.divs[i]))
				if ($('inner').style.left=='') $('inner').style.left=0 + 'px';
				//this.setX(parseInt($('inner').style.left) - offs )
				new Tween($('inner').style, 'left', Tween.regularEaseOut , parseInt($('inner').style.left), parseInt($('inner').style.left) - offs, 0.25, 'px').start();
				this.current = i
				break
			}	
		}
		
	},
	prev: function()
	{
		this.init();
		for (var i=0; i<this.divs.length; i++)
		{
			if (!this.isVisible(this.divs[i])) continue;
			else 
			{
				i--;
				if (i<0) return;
				offs = ($.x('outer') - $.x(this.divs[i]))
				//this.setX(parseInt($('inner').style.left) + offs )
				new Tween($('inner').style, 'left', Tween.regularEaseOut , parseInt($('inner').style.left), parseInt($('inner').style.left) + offs, 0.40, 'px').start();
				this.current = 0
				break
			}	
		}

	},
	setX: function(x)
	{
		$('inner').style.left = x + 'px' 
	},
	show: function (src)
	{
		var div = document.getElementById('lock')
		div.style.width = $.clientWidth() - getScrollerWidth()
		div.style.height = $.scrollMaxY();
		div.style.display='block'
		if (document.getElementById('flash_viewport'))
		{
			var vp = document.getElementById('flash_viewport')
			vp.style.top = $.scrollY() + 100 + 'px'
			vp.style.left = (($.clientWidth()/2) - (640/2) )+ 'px'
			vp.style.backgroundColor = '#444';
			vp.style.padding = '5px';
			vp.style.height = '510px';
			vp.style.display = 'block';
			var rand =  Math.random();
			vp.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="640" height="510"><param name="wmode" value="opaque" /><param name="allowFullScreen" value="true" /><param name="movie" value="files/Media/FLV/flashPlayer.swf?flv='+src+'&' + rand + '" /><param name="flashvars" value="flv='+src+'"/><embed  flashvars="flv='+src+'" src="files/Media/FLV/flashPlayer.swf?flv='+src+'&'+rand+'" width="640" height="510" allowFullScreen="true" type="application/x-shockwave-flash" ></embed></object>';
			return false;
			
		}
			
		var img = document.getElementById('full_image')
		img.onload = function()
			{
				document.getElementById('lock').style.display='block'
				vp = document.getElementById('full_viewport')
				vp.style.display = 'block';
				vp.style.backgroundColor = '#444';
				vp.style.padding = '5px';
				img = document.getElementById('full_image')
				vp.style.top = $.scrollY() + 30 + 'px'
				vp.style.left = (($.clientWidth()/2) - ($.w(img)/2) )+ 'px'
				vp.style.height = $.h(img) + 'px';
				//addHandler(window, 'scroll', list.scroll )			
			};
		img.src=src
			
	},
	scroll: function()
	{
		if (this.tween!=null) return;
	
		setTimeout( 
				function() 
				{
					list.tween = new Tween($('full_viewport').style, 'top', Tween.strongEaseOut , parseInt($('full_viewport').style.top), $.scrollY() + 100, 1, 'px')
					list.tween.onMotionFinished = function(a) {  list.tween = null };
				    list.tween.start();
				}, 1000)
		
		//$('full_viewport').style.left = (($.clientWidth()/2) - ($.w(img)/2) )+ 'px'
	},
	
	hide: function()
	{
		document.getElementById('lock').style.display = 'none';
		if (document.getElementById('flash_viewport'))
		{
			document.getElementById('flash_viewport').style.display = 'none';
		} else document.getElementById('full_viewport').style.display = 'none';
		//removeHandler(window, 'scroll', list.scroll)
		if (this.tween!=null) 
		{
			this.tween.stop();
			this.tween = null
		}
		
	}
}
