// This script is the sole property of 4D Internet Solutions. Copyright 2007, 4D Internet Solutions, Inc. All rights reserved.

var storeId = "yhst-78157403116541"; 
var fCartShow = (true) ? true : false;
var skipCart = true;
var moo = true;
// don't edit below here
var fCartLoadNum = 0;
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 = '';

function writeCart(){ 
	mssCartCookie = unescape(readCookie('mssFloatingCart'));
	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 showCart = 1; // 1 = yes; 0 = no;
	var showChechout = 1; // 1 = yes; 0 = no;

	//these variables are for the optional gift message module
	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.innerHTML='';
	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; 
		}

		// write floating cart header and number of items in cart	
		if (numItems > 0 ){
		    cartEl.innerHTML='';
		    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;";

			// loop through each array from cookie
			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.className='fcart';
					fcartBG.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 &gt;&gt;</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 &gt;&gt;</a></form>';
			}

		} // close test for numItems > 0 
	}// close test for cartCookie 
} // close writeCart function 

if (fCartShow){
	if(moo){
		window.addEvent('domready',function(){
			writeCart();
			/*
			if (!skipCart)return;
			var forms = $$('form');
			for (i=0; i<forms.length;i++){
				if (forms[i].action.indexOf('wg-order')>-1){
					forms[i].addEvent('submit',function(){reloadCart();})
				} 
			}
			*/
		});
	} else {writeCart();}
} 

/*	Script: modalizer.js
		Author:
		Aaron Newton (aaron [dot] newton [at] cnet [dot] com)
	*/
var Modalizer = new Class({
	defaultModalStyle: {
		display:'block',
		position:'fixed',
		top:'0px',
		left:'0px',	
		'z-index':10000,
		'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 (!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(){
		createCookie('fCartLoadNum',0,1);
		if(fcartLoading)fcartLoading.remove();
		if(mssframe)mssframe.remove();
		fcartModal.modalHide();
		fCartLoadNum = 0;
		if($('qvOverlay') && $('qvOverlay')!=null)$('qvOverlay').remove();
		if($('qvLoading') && $('qvLoading')!=null) $('qvLoading').remove();
		if ($('qvShell') && $('qvShell')!=null)$('qvShell').remove(); 
		mssCartCookie = '';
		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);}
	}
}