// <![CDATA[
window.onload = function()
{
	Shirts.init();
}

Shirts = {
	init : function()
	{
		this.getById();
	},

	currentScroll : 0,

	getById : function()
	{
		var element;
		for (var i in this.idMap)
		{
			if (element = $(i))
			{
				this.idMap[i](element);
			}
		}
	},

	idMap : {
		'shirts-gallery' : function(element)
		{
			_root = Shirts;
			_root.shirtsGallery = element.getElementsByTagName("table")[0];
			_root.shirtsGallery.style.left = "0";
			var row = _root.shirtsGallery.tBodies[0].rows[0].cells;
			_root.galleryCells = [];
			_root.galleryCells[0] = 0;
			for (var i=0; i<(row.length-1); i++)
			{
				_root.galleryCells[_root.galleryCells.length] = _root.galleryCells[_root.galleryCells.length - 1] - row[i].offsetWidth;
			}
			_root.galScrollTo(parseInt(__cookie.read("shirtsGalleryIndex")) || 0);
		}
	},

	scrollLeft : function()
	{
		this.galScrollTo(this.currentScroll - 1);
	},

	galScrollTo : function(i)
	{
		this.currentScroll = parseInt(i) < 0 ? 0 : parseInt(i) > (this.galleryCells.length - 2) ? this.galleryCells.length - 2 : parseInt(i);
		this.shirtsGallery.style.left = this.galleryCells[this.currentScroll] +"px";
		__cookie.write("shirtsGalleryIndex", this.currentScroll);
	},

	scrollRight : function()
	{
		this.galScrollTo(this.currentScroll + 1);
	},

	scrollOver : function(element)
	{
		element.onmouseover = function(){ _aclass(this, "arrow-hover"); };
		element.onmouseout = function(){ _rclass(this, "arrow-hover"); };
		element.onmouseover();
	}
};

function $(element, id)
{
	return (element ? (id && element.getElementsByTagName(id) || document.getElementById(element)) : null);
}

var _u;
// RegExp escape
String.prototype.regEsc = function(){ return this.replace(_x("/([\\/\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}\\\\])/g"), "\\$1"); }
// eval
function _x(string) { try { return new Function("return "+ string)(); } catch(e){ _x._error = e; return null } }
// add class
function _aclass(element, className) { !_tclass(element, className) && (element.className = element.className +" "+ className) }
// remove class
function _rclass(element, className) { _tclass(element, className) && (element.className = element.className.replace(_x("/\\s*"+ className.regEsc() +"/g"), "")) }
// test class
function _tclass(element, className) { return _x("/\\s*"+ className.regEsc() +"/").test(element.className) }

// cookies
__cookie = {
	all : function()
	{
		var a = document.cookie.split(_x("/[=;]/")), i = 0, o = new Object;
		for (;i<a.length;i+=2)
		{
			o[a[i]] = unescape(a[i+1]);
		}
		return o;
	},

	read : function(name)
	{
		var a = document.cookie.match(_x("/\\b"+ name.regEsc() +"=([^;]*)/"));
		return a ? unescape(a[1]) : a;
	},

	write : function(name, value, days)
	{
		document.cookie = name +'='+ escape(value) + date(days) +"; path=/";

		function date(days)
		{
			if (!days) return '';
			var date = new Date();
			date.setTime(date.getTime() + (days * 86400000));
			return "; expires="+ date.toGMTString();
		}
	},

	remove : function(name)
	{
		this.write(name, '', -1);
	}
};


// ]]>
