
/*
	--------------------------------------------------------------------------------------------------------------
	@package:  About related functions
	@author:     Michael Walsh
	@date:        08-10-2006
	@version:    1.0
	--------------------------------------------------------------------------------------------------------------
	MSIE 5.5+
	Firefox 1.07+
	Netscape 7.0+
	Opera 8.0+
	--------------------------------------------------------------------------------------------------------------
*/

/*
	@method:   Account toolkit.
	@version:   1.0.
*/
about =
{
	//newsItem:'newsitem1',
	swapNewsItem:function(id,n)
	{
		if (about.newsItem==id) return;
		if (about.newsItem!=null) about.hide.newsItem(about.newsItem);
		about.show.newsItem(id,n);
		about.newsItem = id;
		//var oDiv = get(id);
		//((oDiv.style.display=='none')||(oDiv.style.height=='0px')) ? about.show.newsItem(id,n) : about.hide.newsItem(id);
	},
	show:
	{
		newsItem:function(o,n)
		{
			var oDiv = get(o);
			if (!isBrowserCapable) oDiv.style.display = 'block';
			else
			{
				oDiv.style.display = 'block'; oDiv.style.height = '0px';
				var o = { height: { from: 0, to: (n*25) }, opacity: { to: 1 } };  
				var tween = new YAHOO.util.Anim(oDiv, o, 1, YAHOO.util.Easing.easeOut);
				tween.animate();
			}
		}
	},
	hide:
	{
		newsItem:function(o)
		{
			var oDiv = get(o);
			if (!isBrowserCapable) oDiv.style.display = 'none';
			else
			{
				var o = { height: { to: 1 }, opacity: { to: 0 } };  
				var tween = new YAHOO.util.Anim(oDiv, o, 1, YAHOO.util.Easing.easeOut);
				tween.animate();
				tween.onComplete.subscribe(function(){oDiv.style.display = 'none';})
			}
		}
	}
}

/*
	--------------------------------------------------------------------------------------------------------------
	@package:  Account related functions
	@author:     Michael Walsh
	@date:        08-10-2006
	@version:    1.0
	--------------------------------------------------------------------------------------------------------------
	MSIE 5.5+
	Firefox 1.07+
	Netscape 7.0+
	Opera 8.0+
	--------------------------------------------------------------------------------------------------------------
*/

/*
	@method:   Account toolkit.
	@version:   1.0.
*/
account = 
{
	swapControls:function(o1,o2,h1,h2)
	{
		var oIcon1 = get(o1+"_icon"), oIcon2 = get(o2+"_icon");
		switch (oIcon1.className)
		{
			case "on":
				account.show.detailContainer(o2+"_box",h2); oIcon2.className = "on";
				account.hide.detailContainer(o1+"_box"); oIcon1.className = "";
				break;
			case "":
				account.show.detailContainer(o1+"_box",h1); oIcon1.className = "on";
				account.hide.detailContainer(o2+"_box"); oIcon2.className = "";
				break;
		}
	},
	show:
	{
		detailContainer:function(o,h)
		{
			var oDiv = get(o);
			if (!isBrowserCapable) { oDiv.style.display = 'block'; oDiv.style.height = h+'px'; }
			else
			{
				var o = { height: { to: h }, opacity: { to: 1 } };  
				var tween = new YAHOO.util.Anim(oDiv, o, 1, YAHOO.util.Easing.easeOut);
				tween.animate();
			}
		},
		forgottenPasswordMessage:function()
		{
			var oDiv = get(oValidation.hud.element);
			if (!isBrowserCapable) { oDiv.style.display = 'block'; oDiv.style.height = '20px'; }
			else
			{
				_DOM.setStyle(oDiv,"display","block");
				var a = (arguments.length) ? ((typeof arguments[0]=='number')? arguments[0] : arguments[0].length) : [''];
				var o = { height: { to: (a*15)+((_browser=='msie')?20:15) }, opacity: { to: 1 } };  
				var tween = new YAHOO.util.Anim(oDiv, o, 1, YAHOO.util.Easing.backOut);
				tween.animate();
			}
		},
		loginMessage:function()
		{
			var oDiv = get(oLoginValidation.hud.element);
			if (!isBrowserCapable) { oDiv.style.display = 'block'; oDiv.style.height = '50px'; }
			else
			{
				_DOM.setStyle(oDiv,"display","block");
				var a = (arguments.length) ? ((typeof arguments[0]=='number')? arguments[0] : arguments[0].length) : [''];
				var o = { height: { to: (a*15)+((_browser=='msie')?40:15) }, opacity: { to: 1 } };  
				var tween = new YAHOO.util.Anim(oDiv, o, 1, YAHOO.util.Easing.backOut);
				tween.animate();
			}
		},
		mailListMessage:function()
		{
			var oDiv = get(oValidation.hud.element);
			if (!isBrowserCapable) { oDiv.style.display = 'block'; oDiv.style.height = '35px'; }
			else
			{
				_DOM.setStyle(oDiv,"display","block");
				var a = (arguments.length) ? ((typeof arguments[0]=='number')? arguments[0] : arguments[0].length) : [''];
				var o = { height: { to: (a*10)+((_browser=='msie')?30:15) }, opacity: { to: 1 } };  
				var tween = new YAHOO.util.Anim(oDiv, o, 1, YAHOO.util.Easing.backOut);
				tween.animate();
			}
		},
		registerMessage:function()
		{
			var oDiv = get(oRegisterValidation.hud.element);
			if (!isBrowserCapable) { oDiv.style.display = 'block'; oDiv.style.height = '80px'; }
			else
			{
				_DOM.setStyle(oDiv,"display","block");
				var a = (arguments.length) ? ((typeof arguments[0]=='number')? arguments[0] : arguments[0].length) : [''];
				var o = { height: { to: (a*15)+((_browser=='msie')?40:15) }, opacity: { to: 1 } };  
				var tween = new YAHOO.util.Anim(oDiv, o, 1, YAHOO.util.Easing.backOut);
				tween.animate();
			}
		},
		updateMessage:function()
		{
			var oDiv = get(oValidationConstruct.hud.element);
			if (!isBrowserCapable) { oDiv.style.display = 'block'; oDiv.style.height = '78px'; }
			else
			{
				_DOM.setStyle(oDiv,"display","block");
				var a = (arguments.length) ? ((typeof arguments[0]=='number')? arguments[0] : arguments[0].length) : [''];
				var o = { height: { to: (a*15)+((_browser=='msie')?40:15) }, opacity: { to: 1 } };  
				var tween = new YAHOO.util.Anim(oDiv, o, 1, YAHOO.util.Easing.backOut);
				tween.animate();
			}
		}
	},
	hide:
	{
		detailContainer:function(o)
		{
			var oDiv = get(o);
			if (!isBrowserCapable) { oDiv.style.display = 'none'; oDiv.style.height = '0px'; }
			else
			{
				var o = { height: { to: 0 }, opacity: { to: 1 } };  
				var tween = new YAHOO.util.Anim(oDiv, o, 1, YAHOO.util.Easing.easeOut);
				tween.animate();
			}
		}
	},
	submit:
	{
		customerLoginForm:function()
		{
			get('loginform').submit();
		},
		customerRegisterForm:function()
		{
			get('registerform').submit();
		},
		customerEditForm:function()
		{
			get('editform').submit();
		},
		forgottenPassword:function()
		{
			get('forgottenform').submit();
		},
		mailList:function()
		{
			get('joinform').submit();
		}
	}
};



/*
	--------------------------------------------------------------------------------------------------------------
	@package:  Cart related functions
	@author:     Michael Walsh
	@date:        08-10-2006
	@version:    1.0
	--------------------------------------------------------------------------------------------------------------
	MSIE 5.5+
	Firefox 1.07+
	Netscape 7.0+
	Opera 8.0+
	--------------------------------------------------------------------------------------------------------------
*/

/*
	@method:   Cart toolkit.
	@version:   1.0.
*/
cart =
{
	cartId:'shopbag_panel',
	cartTagId:'shopbag_feedback',
	cartMiniId:'shopbag_mini',
	cartTagDelay:10,
	cartTagTimer:0,
	isCartTagOpen:false,
	isCartTagAnimating:false,
	hide:
	{
		cartTag:function()
		{
			if (!isBrowserCapable) { var oDiv = get(cart.cartTagId); oDiv.style.height = '0px'; oDiv.style.display = 'none'; }
			else
			{
				clearTimeout(cart.cartTagTimer);
				cart.isCartTagAnimating = true;
				if (cart.isCartTagOpen)
				{
					var o = { height: { to: 0 } }; 
					var tween = new _ANIM(cart.cartTagId, o, ((_browser=='msie')?1:0.5), _EASING.easeOut);
					tween.animate();
					tween.onComplete.subscribe(function(){cart.isCartTagAnimating=false;cart.isCartTagOpen = false;})
					if (arguments.length&&typeof arguments[0]=='string') tween.onComplete.subscribe(eval(arguments[0]));
				}
			}
		},
		checkoutEditControls:function(id)
		{
			if (!cart.isCheckoutControlsOpen) return false;
			var oDiv = get(id);
			if (!isBrowserCapable) oDiv.style.display = 'none';
			else
			{
				var o = { height: { to: 0} };
				var tween = new _ANIM(id, o, 0.5, _EASING.easeOut);
				tween.animate();
				cart.isCheckoutControlsOpen = false;
			}
		}
	},
	render:
	{
		cart:function()
		{
			var oDiv = _DOM.get(cart.cartId);
			oDiv.innerHTML = product.data.CARTMSG;
		},
		cartTag:function()
		{
			var oDiv = _DOM.get(cart.cartTagId);
			oDiv.innerHTML = product.data.TAGMSG;
		},
		cartMini:function()
		{
			var oDiv = _DOM.get(cart.cartMiniId);
			oDiv.innerHTML = product.data.ITEMS;
		},
		connectFailureTag:function()
		{
			var oDiv = _DOM.get(cart.cartTagId);
			oDiv.innerHTML = '<b>Item not added.</b>';
		}
	},
	show:
	{
		cartTag:function()
		{
			if (!isBrowserCapable) { var oDiv = get(cart.cartTagId); oDiv.style.display = 'block'; oDiv.style.height = '110px'; }
			else
			{
				if (cart.isCartTagOpen||cart.isCartTagAnimating) { cart.hide.cartTag('cart.show.cartTag'); return false; }
				cart.isCartTagAnimating = true;
				_DOM.setStyle(cart.cartTagId,"display","block");
				var o = { height: { to: (4*15)+((_browser=='msie')?50:50) } };
				var tween = new _ANIM(cart.cartTagId, o, 1, _EASING.easeOut);
				tween.animate(); 
				tween.onComplete.subscribe(function(){cart.isCartTagAnimating = false;cart.isCartTagOpen = true;});
			}
		}
	}
};



/*
	--------------------------------------------------------------------------------------------------------------
	@package:  Checkout related functions
	@author:     Michael Walsh
	@date:        08-10-2006
	@version:    1.0
	--------------------------------------------------------------------------------------------------------------
	MSIE 5.5+
	Firefox 1.07+
	Netscape 7.0+
	Opera 8.0+
	--------------------------------------------------------------------------------------------------------------
*/

/*
	@method:   Checkout toolkit.
	@version:   1.0.
*/
checkout =
{
	isCheckoutControlsOpen:false,
	hide:
	{
		checkoutEditControls:function(id)
		{
			if (!checkout.isCheckoutControlsOpen) return false;
			var oDiv = get(id);
			if (!isBrowserCapable) oDiv.style.display = 'none';
			else
			{
				var o = { height: { to: 0} };
				var tween = new _ANIM(id, o, 0.5, _EASING.easeOut);
				tween.animate();
				checkout.isCheckoutControlsOpen = false;
			}
		}
	},
	show:
	{
		checkoutEditControls:function(id)
		{
			if (checkout.isCheckoutControlsOpen) return false;
			var oDiv = get(id);
			if (!isBrowserCapable) oDiv.style.display = 'block';
			else
			{
				_DOM.setStyle(id,"display","block");
				var o = { height: { from: 0, to: 50} };
				var tween = new _ANIM(id, o, 0.5, _EASING.easeOut);
				tween.animate();
				checkout.isCheckoutControlsOpen = true;
			}
		},
		cardMessage:function()
		{
			var oDiv = get(oValidationConstruct.hud.element);
			if (!isBrowserCapable) { oDiv.style.display = 'block'; oDiv.style.height = '45px'; }
			else
			{
				_DOM.setStyle(oDiv,"display","block");
				var a = (arguments.length) ? ((typeof arguments[0]=='number')? arguments[0] : arguments[0].length) : [''];
				var o = { height: { to: (a*15)+((_browser=='msie')?40:15) }, opacity: { to: 1 } };  
				var tween = new YAHOO.util.Anim(oDiv, o, 1, YAHOO.util.Easing.backOut);
				tween.animate();
			}
		}
	},
	submit:
	{
		order:function()
		{
			var oBtn = get('forward');
            oBtn.onclick = function() { null; }
            oBtn.onmouseover = function() { null; }
			get('orderform').submit();
		}
	}
};



/*
	--------------------------------------------------------------------------------------------------------------
	@package:  Wishlist related functions
	@author:     Michael Walsh
	@date:        08-10-2006
	@version:    1.0
	--------------------------------------------------------------------------------------------------------------
	MSIE 5.5+
	Firefox 1.07+
	Netscape 7.0+
	Opera 8.0+
	--------------------------------------------------------------------------------------------------------------
*/

/*
	@method:   Wishlist toolkit.
	@version:   1.0.
*/
wishlist =
{
	submit:
	{
		removeItem:function(id)
		{
			var oForm = get(id);
			Forms.submitToUrl(id, oForm.action+'&wishlist=remove');
		},
		transferItem:function(id)
		{
			var oForm = get(id);
			Forms.submitToUrl(id, oForm.action+'&wishlist=transfer');
		}
	}
};



/*
	--------------------------------------------------------------------------------------------------------------
	@package:  Product related functions
	@author:     Michael Walsh
	@date:        08-10-2006
	@version:    1.0
	--------------------------------------------------------------------------------------------------------------
	MSIE 5.5+
	Firefox 1.07+
	Netscape 7.0+
	Opera 8.0+
	--------------------------------------------------------------------------------------------------------------
*/

/*
	@method:   Product toolkit.
	@version:   1.0.
*/
product =
{
	key:null,
	data:null,
	init:function()
	{
		product.key = Cookies.getCookie("TOKENKEY");
		return true;
	},
	addToBagSuccess:function(o)
	{
		var wddx = new WddxDeserializer(); product.data = wddx.deserialize(o.responseText);
		var oBtn = get('Daddbag'); oBtn.src = 'images/but-add-bag-off.gif'; oBtn.onmouseover = function() { MM_swapImage('Daddbag','','images/but-add-bag-ro.gif',1); }; oBtn.onmouseout = function() { MM_swapImgRestore(); };
		if (product.data!=undefined&&product.data.SUCCESS=='true')
		{
			cart.render.cart();
			cart.render.cartMini();
		}
		cart.render.cartTag();
		cart.show.cartTag();
		cart.cartTagTimer = setTimeout(cart.hide.cartTag,cart.cartTagDelay*1000);
	},
	connectionFailure:function(o)
	{
		cart.render.connectFailureTag();
		cart.show.cartTag();
	},
    hide:
    {
        swatchThumbnail:function()
        {
            get('largeColor').style.display = "none";
        }
    },
	show:
	{
        swatchThumbnail:function(o,image,title)
        {
            get('largeColor').style.top = (findPos(o)[1]-90)+"px";
            get('largeColor').style.display = "block";
            get('swatchImage').innerHTML = "<img src='"+image+"' />";
            get('swatchTitle').innerHTML = title;
        },
		emailFriendMessage:function()
		{
			var oDiv = get(oValidation.hud.element);
			if (!isBrowserCapable) { oDiv.style.display = 'block'; oDiv.style.height = '20px'; }
			else
			{
				_DOM.setStyle(oDiv,"display","block");
				var a = (arguments.length) ? ((typeof arguments[0]=='number')? arguments[0] : arguments[0].length) : [''];
				var o = { height: { to: (a*15)+((_browser=='msie')?40:15) }, opacity: { to: 1 } };  
				var tween = new YAHOO.util.Anim(oDiv, o, 1, YAHOO.util.Easing.backOut);
				tween.animate();
			}
		}
	},
	rollover:
	{
		addToBagOver:function(id)
		{
			MM_swapImage(id,'','images/but-add-bag-ro.gif',1);
		},
		addToBagOut:function()
		{
			MM_swapImgRestore();
		}
	},
	submit:
	{
        addCode:function(id)
        {
			var oForm = get(id);
			Forms.submitToUrl(id,'my-bag.html?cart=addcode');
        },
        deleteCode:function(id)
        {
			var oForm = get(id);
			Forms.submitToUrl(id,'my-bag.html?cart=deletecode');
        },
		addToBag:function(id,btnid)
		{
			product.init();
			var oForm = get(id);
			if (!isBrowserAjax) Forms.submitToUrl(id, oForm.action+'&cart=add');
			else
			{
				if (cart.isCartTagAnimating) return true;
				if (cart.isCartTagOpen) cart.hide.cartTag();
				var oBtn = get(btnid); oBtn.onmouseover = null; oBtn.onmouseout = null; oBtn.src = 'images/but-add-bag-disabled.gif';
				var oParams = {success:product.addToBagSuccess,failure:product.connectionFailure}, transaction, wddx = new WddxSerializer(), data = wddx.serialize(Forms.collateForm(oForm));
				transaction = _CON.asyncRequest('POST', 'index.html?action=checkout.add', oParams, 'key='+product.key+'&data='+data);
			}
		},
		addToWishlist:function(id)
		{
			var oForm = get(id);
			Forms.submitToUrl(id, oForm.action+'&wishlist=add');
		},
		deleteFromBag:function(id)
		{
			var oForm = get(id);
			Forms.submitToUrl(id,'my-bag3e2c.html?cart=delete');
		},
		emailFriend:function()
		{
			get('joinform').submit();
			return false;
		},
		updateBag:function(id)
		{
			var oForm = get(id);
			Forms.submitToUrl(id,'my-bagc8b0.html?cart=update');
		}
	}
};
