// 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 = 2.4;
var storeId = "yhst-28857595278683"; 

var fCartShow = (true) ? true : false;
var skipCart = false;
var moo = false;
var cartMinimize = false; 
// don't edit below here
var fCartLoadNum = 0;
var lastCartLoad = false;
var fcartLoading = (moo) ? new Element('div', {'id': 'fCartLoading'}) : false;
var mssframe = (moo) ? new Element('iframe', {'id': 'mssframe','name': 'mssframe'}) : false;
var fcartModal = null;
createCookie('fCartLoadNum',0,1);
var mssCartCookie = '';
var Modalizer = false;
var fCartHeight = null;

function writeCart(){
	var showCart = 1;
	var showChechout = 1;
	var cartEl = document.getElementById('mssCartEl');
	//don't edit below here
	mssCartCookie = unescape(readCookie('mssFloatingCart'));
	//local hard coded cookie, uncomment for dev only//
	//mssCartCookie = "$78.65|:|3^http://www.cellphoneflasks.com/cegibo.html|:|http://www.cellphoneflasks.com/cephflwica.html|:|http://www.cellphoneflasks.com/mofl.html|:|^The 411 Cell Phone Flask Gift Set|:|Who's Calling Cell Phone Flask|:|Personalized Hip Flask|:|^cegibo|:|cephflwica|:|mofl|:|^$22.95|:|$21.90|:|$11.90|:|$21.90|:|^1|:|1|:|1|:|1|:|^2443895377517228.5";
	var mssCartTotal = 0;
	var 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"

	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>";

	if (!cartEl || cartEl == null)return;
	cartEl.innerHTML='';
	cartEl.style.display='none';
	if (mssCartCookie && mssCartCookie != ""){
		var eachArray = mssCartCookie.split("^");
		if (eachArray[0] && eachArray[0].length > 0){
			var eachElement = eachArray[0].split("|:|");
			total = eachElement[0];
			mssCartTotal = (total.substr(1) * 1);
      		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>";
			}
		}
		if (eachArray[1] && eachArray[1].length > 0) {
			var numItems = eachArray[1].split("|:|").length - 1;
			} else {
				return null; 
		}

		if (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;";
			
		    var fcartMin = document.createElement('div');
		    fcartMin.setAttribute('id','fcartMin');
		    fcartBG.appendChild(fcartMin);

			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('id','fviewCart');
    		    fcartBG.appendChild(fviewCart);
    			fviewCart.innerHTML='<form style="display:inline; margin:0; padding:0;" method="post" action="'+ cartURL +'"><a href="#" onclick="this.parentNode.submit(); return false;">VIEW CART &raquo;</a></form>';
			}
			if (showChechout == 1 ){
    			var fcheckout = document.createElement('div');
    		    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>';
			}
			
			// ### start minimze cart function ###
		  var minControl = document.createElement('div');
		  minControl.setAttribute('id','minControl');
		  floatingCartHeader.appendChild(minControl);
			if (cartMinimize)minControl.innerHTML="-";
			
			var minimizeCart = function(){
				if (!cartMinimize)return;
				var minFx = new Fx.Styles(fcartMin, {duration:800});
				if (fcartMin.className.indexOf('hideCart')>-1){
					$(fcartMin).setStyles({'background':'#ccc'});
					minFx.start({'height':fCartHeight}).chain( function(){$(fcartMin).setStyles({'height':'auto','background':''})});
					$(fcartMin).removeClass('hideCart');
					minControl.innerHTML="-";
				}else{
					fCartHeight = fcartMin.offsetHeight;
					$(fcartMin).setStyles({'height':fCartHeight, 'overflow':'hidden','background':''})
					minFx.start({'height':0});
					$(fcartMin).addClass('hideCart')
					minControl.innerHTML="+";
				}
			}
			floatingCartHeader.onclick=minimizeCart;
			// ### end minimze cart function ###

		} // close test for numItems > 0 
	}// close test for cartCookie 
	
	
	return;
} // close writeCart function 
if (fCartShow) {
	if (!moo){writeCart();}
	else{
		window.addEvent('domready', function(){
			writeCart();
			
			$$('.fcartForm').each(function(f){ 
					f.target='mssframe';
					f.addEvent('submit',function(){reloadCart();})
			})
		/**/
	  	});
	}
}

// ##### BELOW THIS LINE IS FOR SKIP CART INSTALLATIONS ONLY

/*	Script: modalizer.js
		Author:
		Aaron Newton (aaron [dot] newton [at] cnet [dot] com)
	*/
if (skipCart) Modalizer = new Class({
	defaultModalStyle: {
		display:'block',
		position:'fixed',
		top:'0px',
		left:'0px',	
		'z-index':5000,
		'background-color':'#333',
		opacity:0.6
	},
	
	setModalOptions: function(options){

		this.modalOptions = $merge({
			width:(window.getScrollWidth()+300)+'px',
			height:(window.getScrollHeight()+300)+'px',
			elementsToHide: 'select',
			onModalHide: Class.empty,
			onModalShow: Class.empty,
			hideOnClick: true,
			modalStyle: {},
			updateOnResize: true
		}, this.modalOptions, options || {});
	},
	resize: function(){
		if($('modalOverlay')) {
			$('modalOverlay').setStyles({
				width:(window.getScrollWidth()+300)+'px',
				height:(window.getScrollHeight()+300)+'px'
			});
		}
	},
	
	setModalStyle: function (styleObject){
		this.modalOptions.modalStyle = styleObject;
		this.modalStyle = $merge(this.defaultModalStyle, {
			width:this.modalOptions.width,
			height:this.modalOptions.height
		}, styleObject);
		if($('modalOverlay'))$('modalOverlay').setStyles(this.modalStyle);
		return(this.modalStyle);
	},
	modalShow: function(options){
		this.setModalOptions(options||{});
		var overlay = null;
		if($('modalOverlay')) overlay = $('modalOverlay');
		if(!overlay) overlay = new Element('div').setProperty('id','modalOverlay').injectInside(document.body);
		overlay.setStyles(this.setModalStyle(this.modalOptions.modalStyle));
		if(window.ie6) overlay.setStyle('position','absolute');
		$('modalOverlay').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);
		}
		this.modalOptions.onModalShow();
		this.togglePopThroughElements(0);
		overlay.setStyle('display','block');
		return this;
	},
	modalHide: function(override){
		if(override === false) return false; 
		this.togglePopThroughElements(1);
		this.modalOptions.onModalHide();
		if($('modalOverlay'))$('modalOverlay').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((window.ie6 || (window.gecko && navigator.userAgent.test('mac', 'i')))) {
			$$(this.modalOptions.elementsToHide).each(function(sel){
				sel.setStyle('opacity', opacity);
			});
		}
	}
});

function reloadCart(inc){
	if (!skipCart)return;
	if (lastCartLoad){lastCartLoad=false; return;}
	if (!inc){ 
		mssframe.injectInside(document.body);
		fcartModal = new Modalizer().modalShow();	
		fcartLoading.injectInside(document.body);
		fcartLoading.innerHTML="Please wait. Your cart is being updated.";	
	}
	
	var stop = function(){
		lastCartLoad = true;
		mssCartCookie = '';
		fCartLoadNum = 0;
		createCookie('fCartLoadNum',0,1);
		fcartModal.modalHide();
		if($type(fcartLoading)=='element')fcartLoading.remove();
		if($type(mssframe)=='element')mssframe.remove();
		if($type($('qvOverlay'))=='element')$('qvOverlay').remove();
		if($type($('qvLoading'))=='element') $('qvLoading').remove();
		if ($type($('qvShell'))=='element')$('qvShell').remove();
		return;
	}
	
	if (fCartShow){
		var loadNum=(readCookie('fCartLoadNum'))?unescape(readCookie('fCartLoadNum')) * 1 : 0;
		if (loadNum > 0){writeCart();stop();}
		else if (fCartLoadNum > 18){stop();}
		else {fCartLoadNum++;setTimeout('reloadCart(1)',500);}
	}
}

