// create cookie assigning name, value and expiration days
function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else var expires = ""; document.cookie = name+"="+value+expires+"; path=/";}

// read cookie by name and list value
function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

// delete cookie by name
function eraseCookie(name) { createCookie(name,"",-1); }


/*	Script: modalizer.js Author: Aaron Newton (aaron [dot] newton [at] cnet [dot] com) */
var Modalizer=new Class({
   defaultModalStyle:{display:'block',position:'absolute',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(mssBrowser.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(mssBrowser.Engine.trident4||(mssBrowser.Engine.gecko&&mssBrowser.Platform.mac)){$$(this.modalOptions.elementsToHide).each(function(sel){sel.setStyle('opacity',opacity)})}}
});

// This script is the sole property of 4D Internet Solutions. Copyright 2009, 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.
// Global Vars
var mssCartFrame,mssActiveCartForm,mssShowCart,mssHideCart,reloadCart,fcartModal;
var fCartLoadNum=mssFrameNum=0;
var iniFrame=false;
try{if (top.document.domain != self.document.domain){iniFrame=false}}catch(e){iniFrame=true}
var fCartShow = (!iniFrame) ? true : false;
var moo = true;
var writeCart = function(qv){
   var mssTesting = false; // If we are not live with the product
	
	//var mssFcartVersion = 4.9; // for use with mootools1.2
	var mssAccountId="yhst-68097530416616";  
	var showCart=1;
	var showCheckout=1;
	var giftLevel=75;
	var giftStatement="<div style='width:356px;'>Congratulations!  You've qualified for FREE UPS Ground Shipping within the continental U.S.</div>";
	var checkTot=1;
	var skipCart=true;
	var frameCart=true; 
	var frameFxTimer=9000;
	var framecartDraggable=false;
	var mssFrameW=312;
	var mssCartH=150;
	var minCartH=60;
	var ghostImgOn=false;
	var ghostFxTimer=1500;
	var showNoItems=true;
	var rightColCart=true;
	
	//don't edit below here
	var cartEl=$('mssCartEl');
	var mssFrameContainer=$('mssFrameContainer');
	mssCartFrame=($chk(mssCartFrame))?mssCartFrame:$('mssCartFrame0');
	var fcartBG=$('fcartBG');
	var floatingCartHeader=$('floatingCartHeader');
	var fcartTotal=$('fcartTotal'); 
	var fviewCart=$('fviewCart');
	var fcheckout=$('fcheckout');
	var viewCartForm=$('mssViewCartForm');
	var viewCartLink=$('viewCartLink');
	var cartClose=$('cartClose');
	var giftEl=$('cartFreeGift'); 
	
	var eachArray=summary=links=titles=pids=prices=units=new Array();
	var mssCartTotal=0;
	var numItems=0;
	var minCartTimer=0;
	var mssCartTotal=0;
	var giftLeft=0;
	var total="$0";	
	var mssCartOldTotal=0;
	var mssGetCoords = function(el){el=$(el);return el.getPosition();}
	
	
	if(!readCookie('mssFloatingCart') && !readCookie('fCartLoadNum') && !mssTesting){
      createCookie('fCartLoadNum',0,0);
      setUpCart();
      initAddtoCart();
   } else if(!readCookie('mssFloatingCart') && !mssTesting){
      cartEl.setStyle('display','none');
      fcartBG.setStyle('display','none');
      return;
   }
	
	var fcartLoading,mssCartCookie,cartX, cartY, updateFcart, makeGhostEl, modalizer, createAdditionalDivs;
	var fCartHeight = mssActiveCartForm = ghostSource = ghostImg = cartPeriodical = null;
	createCookie('fCartLoadNum',0,0);
	var mssCartCookie = (!mssTesting)?unescape(readCookie('mssFloatingCart')):unescape('%2451.78%7C%3A%7C0%7C%3A%7C200%5E%5E%5E%5E%2425.89%20%7C%3A%7C%5E2%7C%3A%7C%5E1354577160752589.8');
	
   
		
	if(!mssCartFrame || mssCartFrame==null) return;
	if(!cartEl || cartEl == null)return;
	
	function removeIframe(num){
		var lastNum = num-1;
		$('mssCartFrame'+lastNum).dispose();
		mssCartFrame=$('mssCartFrame'+num);
		mssCartFrame.setStyle('display','block');
	   	$('viewCartLink').setProperty('target',mssCartFrame.name);
	}
	
	function makeFormActive(form){ mssActiveCartForm = $(form); }
	
	function setFormEvent(form){
		form.onsubmit=null;
		form.addEvent('submit',function(){
         	makeFormActive(form);
			mssFrameNum++;
			form.target='mssCartFrame'+mssFrameNum;
			viewCartLink.setAttribute('target','mssCartFrame'+mssFrameNum);
	   		removeIframe(mssFrameNum);
			if (ghostImgOn){
				if($('image1')) ghostImg = $('image1').getElements('img')[0].clone();
				else if($(form.vwitem.value)) ghostImg = $(form.vwitem.value).clone();		
				else if(ghostImg.offsetHeight<10)ghostImg=new Element('div').setStyles({'height':'50px','width':'50px','background':'#cccccc'});
			}
			reloadCart(); 
		});
	}
	
	function initAddtoCart(){
		cartX = mssGetCoords(cartEl).x;
		cartY = mssGetCoords(cartEl).y;
		viewCartLink.setAttribute('target','mssCartFrame'+mssFrameNum);
		$(fcartBG).injectInside(cartEl);
		fcartBG.setStyle('position','absolute');
	}
	
	function checkLoadNum(){
		var loadNum=(readCookie('fCartLoadNum'))?unescape(readCookie('fCartLoadNum'))*1:0; 
		var loadNum = 1;
		return loadNum;
	}
	
	function parseCookie(x){ 
		if(!mssTesting)mssCartCookie=unescape(readCookie('mssFloatingCart'));
		if(!mssCartCookie && mssCartCookie == "")return;
      	eachArray = mssCartCookie.split("^");
		summary=eachArray[0].split("|:|");
		total = summary[0];
		mssCartTotal = (total)?(total.substr(1) * 1):0;
		var cookieH = (summary[2])? summary[2] * 1:0;
		var h2 = Math.max(cookieH +15,minCartH);
		//if(mssBrowser.Engine.trident){h2+=10;}
		//if(mssBrowser.Engine.gecko ){h2-=10;}
		mssCartH = h2;
		if(mssBrowser.Engine.trident){
         mssCartH += 10;
      }
		
		if(!eachArray[1] || eachArray[1]==null || eachArray[1]==""){
			numItems=0;
			total="$0";
			return;
		}
		links=eachArray[1].split("|:|");
		numItems = summary[1];
		titles=eachArray[2].split("|:|");
		pids=eachArray[3].split("|:|");
		prices=eachArray[4].split("|:|");
		units=eachArray[5].split("|:|");
		if(x)return x;
	}
	
	function initGiftMessage(){
		giftLeft = giftLevel - mssCartTotal;
		if (giftEl && mssCartTotal > 0){
			if (mssCartTotal > (giftLevel - .01)){giftEl.innerHTML=giftStatement;}
			else { 
				giftEl.innerHTML = "&nbsp; Add $" + giftLeft.toFixed(2) + " more to your cart for FREE SHIPPING.";
			}
		}
	}
	
	function setUpCart(){		
		if (showNoItems || numItems >= 0 ){
			floatingCartHeader.innerHTML="Items: <span>" + numItems + "</span> ";
			fcartTotal.innerHTML="Subtotal: <span>" + total + "</span>";
			$(viewCartLink).addEvent('click',function(){mssShowCart()});	
		}
	}
	
	var resetHeight=function(){
		parseCookie();
		setTimeout(function(){
			mssCartFrame.setStyle('height',mssCartH);
			mssFrameContainer.setStyle('height',mssCartH); 
			setUpCart();			
			if(mssCartOldTotal != mssCartTotal){
			   mssCartOldTotal=mssCartTotal;
			   createAdditionalDivs();
			}

		},200);
	}
	
	updateFcart = function(){
		parseCookie();
		setUpCart();
		initGiftMessage();
    	if(checkTot != mssCartTotal){
      		checkTot = mssCartTotal;
		  	createAdditionalDivs();
		}
	}
	
	showClose = function(){
		cartClose.setStyles({display: 'block',width: '75px',position: 'absolute',textDecoration:'none',left:'0px'});
		cartClose.addEvent('click',mssHideCart);
	}

	mssHideCart = function(){ 
		cartClose.style.display='none';
		var fadeCart = new Fx.Morph(mssFrameContainer, {duration: '600'});
		if(rightColCart){
			fadeCart.start({opacity:[1,0],'height': [mssFrameContainer.offsetHeight, 1]});
		}else{
			fadeCart.start({opacity:[1,0],'height': [mssFrameContainer.offsetHeight, 1], 'width': [mssFrameContainer.offsetWidth, 1] });
		}
		fadeCart.onComplete=function(){ mssFrameContainer.setStyles({height:1, padding:0})}
		$('fviewCart').style.display='block';
	//	$('fcheckout').style.display='block';
		$('fcheckout').removeClass('incart');
		cartPeriodical = $clear(cartPeriodical);
	}
	
	mssShowCart = function(){
		createCookie('fCartLoadNum',0,0); 
		$('fviewCart').style.display='none';
		//$('fcheckout').style.display='none';
		$('fcheckout').addClass('incart');
		showClose();
		mssFrameContainer.setStyles({padding:'5px 0px 0px 0px'});
		var fadeCart = new Fx.Morph(mssFrameContainer, {duration: '500'}).start({opacity:[0, 1],height:[1,mssCartH]});
		//fadeCart.onComplete=function(){  mssFrameContainer.setStyles({height: '',width: ''}); }
		
		var cartTimer = (frameFxTimer)? setTimeout('mssHideCart()',frameFxTimer):null;
		mssFrameContainer.addEvent('mouseenter',function(){clearTimeout(cartTimer)});
		cartPeriodical = $clear(cartPeriodical);
		cartPeriodical = resetHeight.periodical(800);
		//createAdditionalDivs();
		if(framecartDraggable)mssFrameContainer.makeDraggable();
	}
		
	makeGhostEl = function(){
		if(!$chk(mssActiveCartForm))return;
		if (cartEl.offsetTop<1) cartEl.setStyle('display','block');
		var submitBtn = mssActiveCartForm.getElement('.addtocartImg');
		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.setStyles({ height:50, width:50*ratio, top:y, left:x });
		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();}
	}
	
	reloadCart=function(inc){ 
		if (!skipCart)return; 
		if (!inc){
			createCookie('fCartLoadNum',0,0); 
			minCartTimer = (ghostImgOn)?$time():$time() + ghostFxTimer + 1;
			if (ghostImgOn) makeGhostEl();    	
			fcartModal = new Modalizer().modalShow();
			fcartLoading = new Element('div', {'id': 'fCartLoading'}).injectInside(document.body);
			fcartLoading.innerHTML="<img src=\"/lib/"+mssAccountId+"/loading.gif\" alt=\"loading\" /><br>Please wait. Your cart is being updated.";
         var x = mssGetCoords($('fviewCart')).x - 300;	
         fcartLoading.setStyle('left',x+'px');
		}
		var stop = function(){
			if(fcartLoading)fcartLoading.dispose();
			fcartModal.modalHide();
			updateFcart();
			if(frameCart)mssShowCart();
			createCookie('fCartLoadNum',1,1); 
			fCartLoadNum = 0;
			if($('qvOverlay'))$('qvOverlay').dispose();
			if($('qvLoading'))$('qvLoading').dispose();
			if ($('qvShell'))$('qvShell').dispose();
		}
		var retry=function(){
			if (checkLoadNum() > 0 && $time() > (minCartTimer + ghostFxTimer)){stop();} 
			else if (fCartLoadNum > 16){ stop();return; }
			else {fCartLoadNum++; setTimeout('reloadCart(1)',500);}
		}
		retry();
	}
	
	function createAdditionalDivs(){}
	
   setUpCart();
   initAddtoCart();
	if (showNoItems || (mssCartCookie && mssCartCookie != ""))updateFcart();
	if(!qv){$$('.fcartForm').each(function(f){ setFormEvent(f)});}
	else{setFormEvent(qv);}
	
} // close writeCart function 
if(fCartShow){if(!moo){writeCart();}else{window.addEvent('domready', function(){writeCart();});}}
