// This script is the sole property of 4D Internet Solutions. Copyright 2007, 4D Internet Solutions, Inc. All rights reserved. Neither this script nor any part thereof may be used, copied or otherwise utilized without the express writen approval of 4D Internet Solutions, Inc.  This script has been licensed for use on a single Yahoo! Store for the benefit of the purchaser. Any other use of this script is a violation of this copyright.
var version = 4.1; // for use with mootools1.2
var storeId = "yhst-26107676908091";  
var fCartShow = (true) ? true : false;
var skipCart = false;
var moo = false;
var cartMinimize =false;
var frameCart = false; 
var frameFxTimer = 4500;
var framecartDraggable = false;
var mssFrameW = 300;
var cartH = 100;
var ghostImgOn = false;
var ghostFxTimer = 1800;
var showNoItems = false;
// don't edit below here
var lastCartLoad = false;
var fcartLoading = (moo) ? new Element('div', {'id': 'fCartLoading'}) : false;
var mssframe;
var mssFrameContainer = document.createElement('div');
mssFrameContainer.setAttribute('id','mssFrameContainer');
var fcartModal = fCartHeight = mssActiveCartForm = mooCartEl = ghostSource = ghostImg = cartPeriodical = null;
createCookie('fCartLoadNum',0,1);
var mssCartCookie = '';
var Modalizer = false;
var fCartLoadNum = mssCartFrameId = minCartTimer = 0;

var writeCart = function(minMax){
	var showCart = 1;
	var showChechout = 1;
	var cartEl = document.getElementById('mssCartEl');
	var giftEl = document.getElementById('cartFreeGift'); 
	var giftLevel = 300; 
	var giftStatement = "Congratulations!  You've qualified for a free gift with your purchase! <a href=\"javascript:OpenWin ('discount-popup.html');\">What's This?</a>";
	//don't edit below here
	mooCartEl = cartEl;mssCartCookie = unescape(readCookie('mssFloatingCart'));
	var mssCartTotal = giftLeft = 0;var links = new Array();var titles = new Array();var pids = new Array();var prices = new Array();var units = new Array();var total = "";var cartEl = document.getElementById('mssCartEl');var cartURL = "http://order.store.yahoo.net/cgi-bin/wg-order?catalog=" + storeId;var myCheckout = "https://order.store.yahoo.net/ymix/MetaController.html?ysco_key_event_id=1&ysco_key_store_id=" + storeId + "&sectionId=ysco.ship-bill";
	
	if (!cartEl || cartEl == null)return;
	cartEl.innerHTML='';cartEl.style.display='none';
	if (showNoItems || (mssCartCookie && mssCartCookie != "")){
		var eachArray = mssCartCookie.split("^");
		var hasItems = (eachArray[0] && eachArray[0].length > 0)?true:false;
		var eachElement = (hasItems)?eachArray[0].split("|:|"):0;
		total = (eachElement[0].indexOf('$')>-1)?eachElement[0]:"$0";
		mssCartTotal = (eachElement[0])?(total.substr(1) * 1):0;
		giftLeft = giftLevel - mssCartTotal;
		cartH = eachElement[2] * 1;
		if (giftEl && mssCartTotal > 0){
			if (mssCartTotal > (giftLevel - .01)){giftEl.innerHTML=giftStatement;}
			else { 
				giftEl.innerHTML = "&nbsp; Add $" + giftLeft.toFixed(2) + " more to your cart for your free gift! <a href=\"javascript:OpenWin ('discount-popup.html');\">What's This?</a>";
			}
		}
		var numItems = (eachArray[1] && eachArray[1].length > 0) ? eachArray[1].split("|:|").length - 1:0;
		mssNumItems = numItems;
		if (showNoItems || numItems > 0 ){ 
			cartEl.innerHTML='';
			cartEl.style.display='block';
			var fcartBG = document.createElement('div');
			fcartBG.setAttribute('id','fcartBG');
			cartEl.appendChild(fcartBG);
			var floatingCartHeader = document.createElement('div');
			floatingCartHeader.setAttribute('id','floatingCartHeader');
			fcartBG.appendChild(floatingCartHeader);
			floatingCartHeader.innerHTML="<img src=\"http://lib.store.yahoo.net/lib/yhst-26107676908091/cart-icon.gif\">&nbsp;&nbsp;Items in your Cart: <span>" + numItems + "</span>&nbsp;";
			var fcartMin = document.createElement('div');
			fcartMin.setAttribute('id','fcartMin');
			fcartMin.style.zoom=1;
			fcartBG.appendChild(fcartMin);
			if (frameCart)fcartMin.style.display='none';

			for (i = 0; i < eachArray.length -1; i++){
				if (eachArray[i] && eachArray[i] != ""){
					var eachElement = eachArray[i].split("|:|");	
					var x = 0;
					for (j = 0; j < eachElement.length; j++){
						if (eachElement[j] && eachElement[j] != ""){
							if (i == 1){links[x] = eachElement[j]}
							if (i == 2){titles[x] = eachElement[j];}
							if (i == 3){pids[x] = eachElement[j];}
							if (i == 4){prices[x] = eachElement[j];}
							if (i == 5){units[x] = eachElement[j];}
							x = x + 1;
							}
						}
					}
				}
			for (i = 0; i < numItems; i++){
				if (links[i] && links[i] != ""){
					var fcart = document.createElement('div');
					fcart.setAttribute('id','fcart' + i);
					fcart.className='fcart';
					fcartMin.appendChild(fcart);
					var fcartName = document.createElement('div');
					fcartName.className='fcartName';
					fcart.appendChild(fcartName);
					fcartName.innerHTML="<a href=\"" + links[i].toLowerCase() + "\">" + titles[i] + "</a>";
					var fcartPrice = document.createElement('div');
					fcartPrice.className='fcartPrice';
					fcart.appendChild(fcartPrice);
					fcartPrice.innerHTML="Price: " + prices[i];
					var fcartQty = document.createElement('div');
					fcartQty.className='fcartQty';
					fcart.appendChild(fcartQty);
					fcartQty.innerHTML=" Qty: " + units[i];
					}
				}

			// write subtotal	
			var fcartTotal = document.createElement('div');
		  fcartTotal.setAttribute('id','fcartTotal');
		  fcartBG.appendChild(fcartTotal);
			fcartTotal.innerHTML="Sub Total: " + total;
			if (showCart == 1 ){
				var fviewCart = document.createElement('div');
				fviewCart.setAttribute('class','cartLinks');
				fviewCart.setAttribute('id','fviewCart');
				fcartBG.appendChild(fviewCart);
				var viewCartForm = document.createElement('form');
				viewCartForm.setAttribute('id','mssViewCartForm');
				viewCartForm.setAttribute('method','post');
				viewCartForm.setAttribute('action',cartURL);
				if(frameCart) viewCartForm.setAttribute('target','mssframe'+mssCartFrameId);
				viewCartForm.style.display='inline';
				viewCartForm.style.margin=0;
				viewCartForm.style.padding=0;
				fviewCart.appendChild(viewCartForm);
				var cartClick = (frameCart) ? 'onclick="mssShowCart();' : 'onclick="this.parentNode.submit();';
				viewCartForm.innerHTML='<a href="#" '+cartClick+' return false;">View Cart &raquo;</a>';	
			}
			if (showChechout == 1 ){
				var fcheckout = document.createElement('div');
				fcheckout.setAttribute('class','cartLinks');
				fcheckout.setAttribute('id','fcheckout');
				fcartBG.appendChild(fcheckout);
    		fcheckout.innerHTML='<form style="display:inline; margin:0; padding:0;" method="post" action="'+ myCheckout +'"><a href="#" onclick="this.parentNode.submit(); return false;">Checkout Now &raquo;</a></form>';
			}
			
		} 
	} 
	return;
} // close writeCart function 
if (fCartShow) {
	if (!moo){writeCart();}
	else{
		window.addEvent('domready', function(){
			//if(Browser.Engine.webkit)return
			mssFrameContainer=$(mssFrameContainer);
			mssFrameContainer.injectInside(document.body);
			mssMakeFrame('http://order.store.yahoo.net/cgi-bin/wg-order?catalog=' + storeId);
			writeCart();
			$$('.fcartForm').each(function(f){ 
					if(skipCart||frameCart)f.target='mssframe';
					f.addEvent('submit',function(){
						mssActiveCartForm = f;
						ghostImg = $('itemarea').getElements('img')[0].clone();
						mssMakeFrame();
						if(skipCart||frameCart)this.target='mssframe'+mssCartFrameId;
						reloadCart(); 
					})
			})
	  });
	}
}

var mssMakeFrame=function(a){
	if($chk(mssframe))mssframe.dispose();
	mssCartFrameId++;
	var src = (a)?a:'';
	mssframe = new Element('iframe', {'id': 'mssframe'+mssCartFrameId,'name': 'mssframe'+mssCartFrameId,'scrolling': 'no','frameborder': 0,'src':src}).injectInside(mssFrameContainer);
	mssframe.setStyles({height:'1px',visibility:'hidden'});
}

var updateFcart = function(){
	var loadNum=(readCookie('fCartLoadNum'))?unescape(readCookie('fCartLoadNum'))*1:0;
	if(loadNum>0){writeCart();mssframe.setStyle('height',cartH);}
}

// ##### BELOW THIS LINE IS FOR SKIP CART INSTALLATIONS ONLY
/*	Script: modalizer.js Author: Aaron Newton (aaron [dot] newton [at] cnet [dot] com) 
var Modalizer=new Class({defaultModalStyle:{display:'block',position:'fixed',top:0,left:0,'z-index':5000,'background-color':'#333',opacity:0.15},setModalOptions:function(options){this.modalOptions=$merge({width:(window.getScrollSize().x+0),height:(window.getScrollSize().y+0),elementsToHide:'select',hideOnClick:true,modalStyle:{},updateOnResize:true,layerId:'modalOverlay',onModalHide:$empty,onModalShow:$empty},this.modalOptions,options);return this},toElement:function(){if(!this.modalOptions.layerId)this.setModalOptions();return $(this.modalOptions.layerId)||new Element('div',{id:this.modalOptions.layerId}).inject(document.body)},resize:function(){if($(this)){$(this).setStyles({width:(window.getScrollSize().x+300),height:(window.getScrollSize().y+300)})}},setModalStyle:function(styleObject){this.modalOptions.modalStyle=styleObject;this.modalStyle=$merge(this.defaultModalStyle,{width:this.modalOptions.width,height:this.modalOptions.height},styleObject);if($(this))$(this).setStyles(this.modalStyle);return(this.modalStyle)},modalShow:function(options){this.setModalOptions(options);$(this).setStyles(this.setModalStyle(this.modalOptions.modalStyle));if(Browser.Engine.trident4)$(this).setStyle('position','absolute');$(this).removeEvents('click').addEvent('click',function(){this.modalHide(this.modalOptions.hideOnClick)}.bind(this));this.bound=this.bound||{};if(!this.bound.resize&&this.modalOptions.updateOnResize){this.bound.resize=this.resize.bind(this);window.addEvent('resize',this.bound.resize)}if($type(this.modalOptions.onModalShow)=="function")this.modalOptions.onModalShow();this.togglePopThroughElements(0);$(this).setStyle('display','block');return this},modalHide:function(override){if(override===false)return false;this.togglePopThroughElements(1);if($type(this.modalOptions.onModalHide)=="function")this.modalOptions.onModalHide();$(this).setStyle('display','none');if(this.modalOptions.updateOnResize){this.bound=this.bound||{};if(!this.bound.resize)this.bound.resize=this.resize.bind(this);window.removeEvent('resize',this.bound.resize)}return this},togglePopThroughElements:function(opacity){if(Browser.Engine.trident4||(Browser.Engine.gecko&&Browser.Platform.mac)){$$(this.modalOptions.elementsToHide).each(function(sel){sel.setStyle('opacity',opacity)})}}});
*/

function reloadCart(inc){
	if (!skipCart)return; 
	if (!inc){
		minCartTimer = (ghostImgOn)?$time():$time() + ghostFxTimer + 1;
		if (ghostImgOn) makeGhostEl();
    fcartModal = new Modalizer().modalShow();
    fcartLoading = new Element('div', {'id': 'fCartLoading'}).injectInside(document.body);
		fcartLoading.innerHTML="Please wait. Your cart is being updated.";	
	}
	var stop = function(){
		if(fcartLoading)fcartLoading.dispose();
   	fcartModal.modalHide();
		if(frameCart)mssShowCart();
    createCookie('fCartLoadNum',0,1);
		fCartLoadNum = 0;
		if($('qvOverlay'))$('qvOverlay').dispose();
		if($('qvLoading'))$('qvLoading').dispose();
		if ($('qvShell'))$('qvShell').dispose();
		mssCartCookie = '';
	}
	if (fCartShow){
		var loadNum = (readCookie('fCartLoadNum')) ? unescape(readCookie('fCartLoadNum')) * 1 : 0;
		if (loadNum > 0 && $time() > (minCartTimer + ghostFxTimer)){writeCart();stop();
	}
	else if (fCartLoadNum > 18){stop();return;}
	else {fCartLoadNum++; setTimeout('reloadCart(1)',500);}
	}
}

var mssGetCoords = function(el){el=$(el);return el.getPosition();}
var makeGhostEl = function(){
	writeCart(1);
	if (mooCartEl.offsetTop<1) mooCartEl.setStyle('display','block');
	var cartX = mssGetCoords(mooCartEl).x;
	var cartY = mssGetCoords(mooCartEl).y;
	var submitBtn = mssActiveCartForm.getElements('input[type=submit]')[0];
	if (!$chk(submitBtn))submitBtn = mssActiveCartForm.getElements('.addtocartImg')[0];
	var x = mssGetCoords(submitBtn).x;
	var y =	mssGetCoords(submitBtn).y;
	var ghost = new Element('div', {'id': 'mssGhost'}).injectInside(document.body);
	ghostImg.injectInside(ghost);
	var ratio=ghost.offsetWidth/ghost.offsetHeight;
	ghostImg.style.height='50px';
	ghostImg.style.width=ghost.offsetHeight*2+'px';
	var container = $('container');
	var ghostFx=new Fx.Morph('mssGhost', {duration: ghostFxTimer});
	ghostFx.start({'top': [y, cartY],'left': [x, cartX], 'opacity': [.4, .7]});
	ghostFx.onComplete=function(){ghostImg.dispose();ghost.dispose();}
}

var mssShowCart = function(){
  createCookie('fCartLoadNum',0,1);
	if (mooCartEl.offsetTop<1) mooCartEl.setStyle('display','block');
	var cartX = mssGetCoords(mooCartEl).x;
	var cartY = mssGetCoords(mooCartEl).y;
	var cursor = (framecartDraggable)? 'move':'auto';
	mssFrameContainer.setStyles({overflow: 'hidden',border: '1px solid #000',padding:'15px 0px 0px 0px',bottom: 'auto',top: cartY,left: cartX + mooCartEl.offsetWidth,zIndex:1000,cursor: cursor,background:'#ccc'})
	var fadeCart = new Fx.Morph(mssFrameContainer, {duration: '500'}).start({opacity:[0, 1],height:[1,150], width:[1,mssFrameW]});
	fadeCart.onComplete=function(){ mssFrameContainer.setStyles({height: 'auto',width: 'auto'})}
	
	mssframe.setStyles({border: 'none',width: mssFrameW,padding:'0 5px',height: cartH,overflow: 'hidden',visibility: 'visible',background:'#fff'});
	if($chk(cartClose))cartClose.dispose();
	var cartClose = new Element('a',{id:'cartClose', href:'javascript:void(0)'}).inject(mssFrameContainer);
	cartClose.innerHTML="x close";
	cartClose.setStyles({display: 'block',width: '50px',position: 'absolute',top: '2px',textDecoration:'none',right:'3px'});
	cartClose.addEvent('click',mssHideCart);
	var cartTimer = (frameFxTimer)? setTimeout('mssHideCart()',frameFxTimer):null;
	cartPeriodical = $clear(cartPeriodical);
	cartPeriodical = updateFcart.periodical(800);
	updateFcart();
	
	mssFrameContainer.addEvent('mouseenter',function(){clearTimeout(cartTimer)});
	if(framecartDraggable)mssFrameContainer.makeDraggable();
}
var mssHideCart = function(){
	var fadeCart = new Fx.Morph(mssFrameContainer, {duration: '600'});
	fadeCart.start({opacity:[1,0],'height': [mssFrameContainer.offsetHeight, 1], 'width': [mssFrameContainer.offsetWidth, 1] });
	fadeCart.onComplete=function(){ mssFrameContainer.setStyles({border: 'none',height:1,width:1,overflow: 'hidden',bottom: 0,top: 'auto',background:'transparent'})}
	cartPeriodical = $clear(cartPeriodical);
}

