// 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.

// 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);}

// Global Vars
var mssFrameContainer,mssframe,mssShowCart,mssHideCart,reloadCart, fcartModal;
var fCartLoadNum=pageLoadNum = 0;
var fCartShow = (true) ? true : false;
var moo = true;

/*	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(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)})}}});


var writeCart = function(){
	var mssFcartVersion = 4.5; // for use with mootools1.2
	var mssAccountId = "phonetx";  
	var showCart = 1;
	var showChechout = 1;
	var cartEl = document.getElementById('mssCartEl');
	var giftEl = document.getElementById('cartFreeGift'); 
  var giftLevel = 500;
  var giftLeft = 0;
  var giftStatement = "<div style='width:356px;'>Congratulations!  You've qualified for FREE UPS Ground Shipping within the continental U.S., enter the coupon code FREEGROUND during checkout.</div>";
  var checkTot = 1;var skipCart = true;
	var frameCart = true; 
	var frameFxTimer = 4500;
	var framecartDraggable = false;
	var mssFrameW = 400;
	var mssCartH = 350;
	var ghostImgOn = true;
	var ghostFxTimer = 1800;
	var showNoItems = true;
	var rightColCart = false;
	
	//don't edit below here
	var eachArray=summary=links=titles=pids=prices=units= new Array();
	var mssCartTotal=numItems=mssCartFrameId=minCartTimer=mssCartTotal=giftLeft=0;
	var total = "$0";
	var cartEl = document.getElementById('mssCartEl');
	var cartURL = "http://order.store.yahoo.net/cgi-bin/wg-order?catalog=" + mssAccountId;
	var myCheckout = "https://order.store.yahoo.net/ymix/MetaController.html?ysco_key_event_id=1&ysco_key_store_id=" + mssAccountId + "&sectionId=ysco.ship-bill";
	var lastCartLoad = false;
	mssframe=(moo)?new Element('div', {'id': 'mssMakeFrame'}):document.getElementById('mssMakeFrame');
	var fcartLoading,mssCartCookie,mssMakeFrame,cartX, cartY, updateFcart, makeGhostEl, modalizer, createAdditionalDivs;
	var fCartHeight = mssActiveCartForm = ghostSource = ghostImg = cartPeriodical = null;
	createCookie('fCartLoadNum',0,1);
	var mssCartCookie=unescape(readCookie('mssFloatingCart'));
	var mssGetCoords = function(el){el=$(el);return el.getPosition();}

	
	mssMakeFrame=function(a){
		if(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 initAddtoCart=function(){
		//if(Browser.Engine.webkit)return 
		mssFrameContainer=new Element('div', {'id': 'mssFrameContainer'})
		mssFrameContainer.injectInside(document.body);
		mssMakeFrame('http://order.store.yahoo.net/cgi-bin/wg-order?catalog=' + mssAccountId);
		
		cartX = mssGetCoords(cartEl).x;
		cartY = mssGetCoords(cartEl).y;
		
		$$('.fcartForm').each(function(f){
			if(skipCart||frameCart)f.target=('mssframe'+mssCartFrameId);
			$$('.ys_primary').each(function(g){
        f.addEvent('submit',function(){
          mssActiveCartForm = f;
				  if (ghostImgOn){
				   if($('itemarea').getElements('img')[0]){
					   ghostImg = $('itemarea').getElements('img')[0].clone();
					   //if(ghostImg.offsetHeight<10)ghostImg=new Element('div').setStyles({'height':'50px','width':'50px','background':'#cccccc'});
					   
					 } else {
					   ghostImg=new Element('div').setStyles({'height':'50px','width':'50px','background':'#cccccc'});
           }	
					 //if(ghostImg.offsetHeight<10)ghostImg=new Element('div').setStyles({'height':'50px','width':'50px','background':'#cccccc'});
				  }
				  mssMakeFrame('http://order.store.yahoo.net/cgi-bin/wg-order?catalog=' + mssAccountId);
				  if(skipCart||frameCart)f.target='mssframe'+mssCartFrameId;
				  reloadCart();
			 })
		  })
		})
	}
	if(moo&&pageLoadNum==0){pageLoadNum=1;initAddtoCart();}
	
	if (!cartEl || cartEl == null)return;
	cartEl.innerHTML='';
	cartEl.style.display='none';
	
	function parseCookie(x){
		mssCartCookie=unescape(readCookie('mssFloatingCart'))
		if(!mssCartCookie && mssCartCookie == "")return;
		eachArray = mssCartCookie.split("^");
		summary=eachArray[0].split("|:|");
		if(!eachArray[1] || eachArray[1]==null)return;
		links=eachArray[1].split("|:|");
		titles=eachArray[2].split("|:|");
		pids=eachArray[3].split("|:|");
		prices=eachArray[4].split("|:|");
		units=eachArray[5].split("|:|");
		total = summary[0];
		mssCartTotal = (total)?(total.substr(1) * 1):0;
		mssCartH =(summary[2])? summary[2] * 1:mssCartH;
		numItems = (links.length > 0) ? links.length - 1:0;
		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 your free gift! <a href=\"javascript:OpenWin ('discount-popup.html');\">What's This?</a>";
			}
		}
	}
	
	function buildCart(){		
		var buildCartContent=function(){
			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];
				}
			}
		}

		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="Items in your Cart: <span>" + numItems + "</span>&nbsp;";
			if(!frameCart){
				var fcartMin = document.createElement('div');
				fcartMin.setAttribute('id','fcartMin');
				fcartMin.style.zoom=1;
				fcartBG.appendChild(fcartMin);
				buildCartContent();
			}
			
			var fcartTotal = document.createElement('div');
		  	fcartTotal.setAttribute('id','fcartTotal');
		  	fcartBG.appendChild(fcartTotal);
			fcartTotal.innerHTML="Sub Total: " + total;
			if (showCart == 1 && !(document.getElementById('fviewCart'))){
				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</a>';	
			}
			if (showChechout == 1 && !(document.getElementById('fcheckout'))){
				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</a></form>';
			}
		}
	}
	
	updateFcart = function(){
		mssframe.setStyle('height',parseCookie(mssCartH)); 
		mssCartCookie = unescape(readCookie('mssFloatingCart'));
		parseCookie();
		initGiftMessage();
		buildCart();
		
    if(checkTot != mssCartTotal){
      checkTot = mssCartTotal;
		  createAdditionalDivs();
		}
	}
	
	if (showNoItems || (mssCartCookie && mssCartCookie != ""))updateFcart();
	
	mssHideCart = function(){
		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({border: 'none',height:1,width:1,overflow: 'hidden',bottom: 0,top: 'auto', background:'#009900'})}
		cartPeriodical = $clear(cartPeriodical);
	}
	
	mssShowCart = function(){
		mssCartH = parseCookie(mssCartH);
		if(mssCartH == null)mssCartH=350;
		createCookie('fCartLoadNum',0,1);
		if (cartEl.offsetTop<1) cartEl.setStyle('display','block');
		var cursor = (framecartDraggable)? 'move':'auto';
		var leftStart = (rightColCart)?cartX-mssFrameW-2:cartX+cartEl.offsetWidth;
		//var leftStart = cartX - mssFrameW + 60;
		var topStart = cartY;
	  //var topStart = cartY+cartEl.offsetHeight;
		mssFrameContainer.setStyles({position:'absolute', overflow: 'hidden',border: '1px solid #000',padding:'18px 0px 5px 0px',bottom: 'auto',top: topStart,left: leftStart,zIndex:1000,cursor: cursor,background:'#009900'});
		if(rightColCart){
			mssFrameContainer.setStyles({width:mssFrameW});
			var fadeCart = new Fx.Morph(mssFrameContainer, {duration: '500'}).start({opacity:[0, 1],height:[1,mssCartH]});
		} else {
			var fadeCart = new Fx.Morph(mssFrameContainer, {duration: '500'}).start({opacity:[0, 1],height:[1,mssCartH], width:[1,mssFrameW]});
		}
		fadeCart.onComplete=function(){
			mssFrameContainer.setStyle('height','auto');
			if(!rightColCart)mssFrameContainer.setStyle('width','auto');
		}

		mssFrameContainer.style.height=mssCartH+'px';
		mssFrameContainer.style.width=410+'px';
		mssframe.setStyles({border: 'none',width: mssFrameW,padding:'0',height: mssCartH,overflow: 'hidden',visibility: 'visible',background:'#009900'});
		
    createAdditionalDivs();
    		
    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();
		
	}
		
	makeGhostEl = function(){
		updateFcart();
		if (cartEl.offsetTop<1) cartEl.setStyle('display','block');
		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);
		ghost.style.position='absolute';
		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();}
		fcartLoading.setStyles({position:'absolute',top:y,left:x,zIndex:'100000',background:'#fff'});
	}
	
	reloadCart=function(inc){
	  
		if (!skipCart)return; 
		if (!inc){
	      minCartTimer = (ghostImgOn)?$time():$time() + ghostFxTimer + 1;
			fcartModal = new Modalizer().modalShow();
			fcartLoading = new Element('div', {'id': 'fCartLoading'}).injectInside(document.body);
			fcartLoading.innerHTML="<img src=\"/lib/phonetx/loading.gif\" />";
         if (ghostImgOn) makeGhostEl(); 
		}
		var stop = function(){
			if(fcartLoading){fcartLoading.dispose();}
			if($('fCartLoading')){$('fCartLoading').dispose();}
			fcartModal.modalHide();
			if(frameCart)mssShowCart();
			createCookie('fCartLoadNum',1,1);
			fCartLoadNum = 0;
			if($('qvOverlay'))$('qvOverlay').dispose();
			if($('qvLoading'))$('qvLoading').dispose();
			if ($('qvShell'))$('qvShell').dispose();
			if($('fCartLoading')){$('fCartLoading').dispose();}
			updateFcart();
		}
		if (fCartShow){
			var loadNum = (readCookie('fCartLoadNum')) ? unescape(readCookie('fCartLoadNum')) * 1 : 0;
			if (loadNum > 0 && $time() > (minCartTimer + ghostFxTimer)){stop();}
			else if (fCartLoadNum > 16){stop();return;}
			else {fCartLoadNum++; setTimeout('reloadCart(1)',500);}
		}
	}
	
	function createAdditionalDivs(){
	/*
    if($chk($('giftMessage')))$('giftMessage').dispose();
  	var giftMessage = new Element('div',{id:'giftMessage'}).inject(mssFrameContainer);
    giftMessage.setStyles({display: 'block',width: '400px',position: 'absolute',top: '0px',textDecoration:'none', left:'0px',background:'#009900', textAlign:'left', color:'#ffffff', padding:'2px 3px 3px 0', height: '30px'});
  	giftLeft = giftLevel - mssCartTotal;
  	if (mssCartTotal > 0){
  		if (mssCartTotal > (giftLevel - .01)){giftMessage.innerHTML=giftStatement;}
  		else { 
  			giftMessage.innerHTML = "<div style='width:356px;'>Add $<b>" + giftLeft.toFixed(2) + "</b> to your cart to qualify for FREE UPS Ground Shipping within the continental U.S.</div>";
  		}
  	}
  */
  	if($chk($('cartClose')))$('cartClose').dispose();
  	var cartClose = new Element('a',{id:'cartClose', href:'javascript:void(0)'}).inject(mssFrameContainer);
  	cartClose.innerHTML="<img src='http://lib.store.yahoo.net/lib/phonetx/close.gif' /> close window";
  	//cartClose.setStyles({display: 'block',width: '50px',position: 'absolute', top: '0px',textDecoration:'none',right:'0px',background:'#009900', textAlign:'right', color:'#ff0000', padding:'2px 3px 3px 0'});
  	cartClose.setStyles({lineHeight: '12px', position: 'absolute', top: '0px',textDecoration:'none',right:'0px',background:'#009900', textAlign:'right', color:'#ffffff', padding:'0px 3px 0px 0'});
  	cartClose.addEvent('click',mssHideCart);
  
  /*
    if($chk($('keepShopping')))$('keepShopping').dispose();
  	var keepShopping = new Element('a',{id:'keepShopping', href:'javascript:void(0)'}).inject(mssFrameContainer);
  	keepShopping.innerHTML="<img src=\"http://site.spytowne.com/mss/keepshopping.gif\" width=\"116\" height=\"25\">";
  	keepShopping.setStyles({display: 'block',width: '116px',position: 'absolute',bottom: '5px',textDecoration:'none',right:'5px',background:'#fff', textAlign:'right', color:'#ffffff', padding:'2px 3px 3px 0'});
  	keepShopping.addEvent('click',mssHideCart);
  	*/
  
  
  }
} // close writeCart function 
if(fCartShow){
   if(!moo){
      writeCart();
   }
   else{
      window.addEvent('domready', function(){
         writeCart()
      })
   }
}
