/*************************
 *= Cart Page Functionality
 **************************/
var processImg = new Image();
processImg.src = "/images/buttons/processing.jpg";
var processImg2 = new Image();
processImg2.src = "/images/buttons/processing_payment.jpg";

function updateCart(){
	var modified = "false";
	for(var i=0; i < cartFormObj.elements.length; i++) {
		if(cartFormObj.elements[i].name != "act"){
			if(cartArrObj[i] != cartFormObj.elements[i].value){
				modified = "true";
			}
		}
	}
	if(modified == "true"){
		document['checkoutbtn'].src = '/images/buttons/update.jpg';
		cartFormObj.elements['act'].value = 'update';
	} else {
		document['checkoutbtn'].src = '/images/buttons/checkout.jpg';
		cartFormObj.elements['act'].value = 'checkout';
	}
}

function processData(){
	if (document.layers){
		document.layers['checkout_img'].innerHTML = "<img src='"+processImg.src+"' name='overItems' id='overItems' border='0'>";
	} else if (document.getElementById){
		document.getElementById('checkout_img').innerHTML = "<img src='"+processImg.src+"' name='overItems' id='overItems' border='0'>";
	} else if (document.all){
		document.all['checkout_img'].innerHTML = "<img src='"+processImg.src+"' name='overItems' id='overItems' border='0'>";
	}
	cartFormObj.submit();
}

function processPayment(){
	if (document.layers){
		document.layers['checkout_img'].innerHTML = "<img src='"+processImg2.src+"' name='overItems' id='overItems' border='0'>";
	} else if (document.getElementById){
		document.getElementById('checkout_img').innerHTML = "<img src='"+processImg2.src+"' name='overItems' id='overItems' border='0'>";
	} else if (document.all){
		document.all['checkout_img'].innerHTML = "<img src='"+processImg2.src+"' name='overItems' id='overItems' border='0'>";
	}
	document.form1.submit();
}

/*************************
 *= XH Connection and Cart functionality globally
 **************************/
var conn = new XHConn();
var addItem = false;
var created = false;

// Pop up zoom window
function zoom(img,width,height) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open('/popups/zoom.php?url="+img+"', '"+id+"', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width="+width+",height="+height+"');");
}

function gallery(style_id, width, height) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open('/popups/gallery.php?id="+style_id+"', '"+id+"', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width="+width+",height="+height+"');");
}

// Add to cart function
function addToCart(){
	var stock_id, qty, vars;
	stock_id = document.getElementById("stock_id").value
	qty = document.getElementById("qty").value
	vars = "act=add&stock_id="+stock_id+"&qty="+qty;
	conn.connect("/xmlhttp.php", "POST", vars, updatePage);
	return false;
}

function createCart(){
	var addItem = false;
	conn.connect("/xmlhttp.php", "POST", 'act=make', updatePage);
	return false;
}

// Displays msg to user that item has been sucessfully added to cart
function updatePage(xmlhttp) {	
	created = true;
	var xmlstring = xmlhttp.responseText;
	var xmlobject = (new DOMParser()).parseFromString(xmlstring, "text/xml");
	var root = xmlobject.getElementsByTagName('shoppingcart')[0];
	var cart_cost = root.getAttribute("total");
	var item_count = root.getAttribute("item_count");
	//document.getElementById("cart_count").innerHTML = item_count;
	//document.getElementById("cart_cost").innerHTML = cart_cost;
	if(item_count > 0){
		var items = root.getElementsByTagName("item");
		var htmlForFloat = "<table width=\"230\" cellspacing=\"3\" cellpadding=\"2\">";
		for (var i=0; i < items.length; i++) {
			var item = items[i];
			var title = item.getElementsByTagName("title")[0].firstChild.nodeValue;
			var style = item.getElementsByTagName("style")[0].firstChild.nodeValue;
			var size = item.getElementsByTagName("size")[0].firstChild.nodeValue;
			var color = item.getElementsByTagName("color")[0].firstChild.nodeValue;
			var qty = item.getElementsByTagName("qty")[0].firstChild.nodeValue;
			var price = item.getElementsByTagName("price")[0].firstChild.nodeValue;
			htmlForFloat += "<tr>";
			htmlForFloat += "<td align=\"left\"><b>"+title+"</b><br/><em>"+style+", "+color+", "+size+"</td><td>"+qty+"x</td><td align=\"right\">$"+price+"</td>";
			htmlForFloat += "</tr>";
		}	
		htmlForFloat += "<tr><td colspan=\"3\" style=\"border-top: 1px solid #000; text-align:right\"><strong>Total: $"+cart_cost+"</strong></td></tr>";
		htmlForFloat += "</table>";
		document.getElementById("cartTable").innerHTML = htmlForFloat;
		
		htmlForLink = '<a href="/cart/" onMouseOver="showCart();" onMouseOut="ypSlideOutMenu.hideMenu(\'cart\')">';
		htmlForLink += 'My cart contains <span id="cart_count">'+item_count+'</span> items: $<span id="cart_cost">';
		htmlForLink += cart_cost+ '</span></a>';
		document.getElementById("cart_link").innerHTML = htmlForLink;
		
		// if(addItem)
		// document.forms[0].reset();
		addItem = true;
		ypSlideOutMenu.showMenu('cart');
		setTimeout("hideAdd()", 2000);
	}
}

function hideAdd(){
	if (addItem){
		ypSlideOutMenu.hideMenu('cart');
		addItem = false;
	}
}

function hideCart(){
	addItem = false;
	ypSlideOutMenu.hideMenu('cart');
}

function showCart(){
	if(created){
		addItem = false;
		ypSlideOutMenu.showMenu('cart');
	} else {
		createCart();
	}
}

function setContent(id,content){
	if (document.all){
		document.all[id].innerHTML = content;
	} else if (document.layers){
		document.layers[id].innerHTML = content;
	} else if (document.getElementById){
		document.getElementById(id).innerHTML = content;
	}
}

/********************************
*= If a browser doesn't support DOMParser
*********************************/
if (typeof DOMParser == "undefined") {
   DOMParser = function () {}
   DOMParser.prototype.parseFromString = function (str, contentType) {
      if (typeof ActiveXObject != "undefined") {
         var d = new ActiveXObject("MSXML.DomDocument");
         d.loadXML(str);
         return d;
      } else if (typeof XMLHttpRequest != "undefined") {
         var req = new XMLHttpRequest;
         req.open("GET", "data:" + (contentType || "application/xml") +
                         ";charset=utf-8," + encodeURIComponent(str), false);
         if (req.overrideMimeType) {
            req.overrideMimeType(contentType);
         }
         req.send(null);
         return req.responseXML;
      }
   }
}

/*************************
*= Refresh the states
***************************/
function refreshStates(page){
	var id = document.form1.country.options[document.form1.country.selectedIndex].value;
	window.location = '/'+page+'/?country='+id;	
}

