var xmlLoc = "";
var swfLoc = "";
var scriptFlip = "";
var filteredProducts = new Array();
var productPage = 1;
var brandsPage = 1;
var init = 1;
var myConn = new XHConn();
if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");

// filter brand or category
function filterProduct(id) {
	var filterArea = document.getElementById("filtersContainer").getElementsByTagName("span");
	var count = 0;
	for (i=0; i<filterArea.length; i++) {
		filterArea[i].style.color = '#000000';
	}
	var filterText = document.getElementById("filterText"+id);
	filterText.style.color = '#00a2ff';
	
	var products = document.getElementById("filteredProducts");
	products = products.getElementsByTagName("div");
	var pattern = new RegExp("(^|\\s)"+"productCat"+id+"(\\s|$)");
	var productCatPattern = new RegExp("(^|\\s)"+"productBit"+"(\\s|$)");
	for (i = 0; i < products.length; i++) {	
		if (pattern.test(products[i].className)) {
			filteredProducts[count] = false;		
		} else {
			filteredProducts[count] = true;
		}
		if (productCatPattern.test(products[i].className)) {
			count++;
		}
	}
	refreshProducts();
}

function showAllProducts() {
	var filterArea = document.getElementById("filtersContainer").getElementsByTagName("span");
	for (i=0; i<filterArea.length; i++) {
		filterArea[i].style.color = '#000000';
	}
	for (i = 0; i < filteredProducts.length; i++) {
		filteredProducts[i] = false;		
	}
	refreshProducts();
}

function initProductsArray() {
	var products = document.getElementById("filteredProducts");
	if (products != null) {
		products = products.getElementsByTagName("img");
		for(i=0; i<products.length; i++) {
			filteredProducts[i] = false;
		}
	}
}

function nextPage() {
	productPage++;
	refreshProducts();
}

function prevPage() {
	productPage--;
	refreshProducts();
}

function refreshProducts() {	
	var unfilteredProductCount = 0;
	var bitCount = 0;
	for(i=0; i<filteredProducts.length; i++) {
		if (filteredProducts[i] == false) {
			unfilteredProductCount++;
		}
	}	
	
	var count = 0;
	var shownProducts = 0;
	var products = document.getElementById("filteredProducts");
	products = products.getElementsByTagName("div");
	var productCatPattern = new RegExp("(^|\\s)"+"productBit"+"(\\s|$)");
	for(i=0; i<products.length; i++) {
		if (productCatPattern.test(products[i].className)) {
			if (filteredProducts[bitCount] == false) {
				products[i].style.display = "inline";
				shownProducts++;
				count++;
			} else {
				products[i].style.display = "none";
			}
			bitCount++;
		}
	}
}

function moveDown() {
	var blah = document.getElementById("footerContainer");
	blah.style.zIndex = 1;
}

function moveUp() {
	var blah = document.getElementById("footerContainer");
	blah.style.zIndex = 3;
}

var loadCartContents = function (oXML) {
	var cart = document.getElementById("cartContents");
	cart.innerHTML = "<table><tr><td class=\"cartProductName\">Your cart is empty.</td></tr></table>";
		
	var xmldoc = oXML.responseXML;
		if (xmldoc != null) {
			var productNode = xmldoc.getElementsByTagName('item');
			var total = xmldoc.getElementsByTagName('total');
			var totalNumOfProducts = 0;
			var pageCount = 1;
			var productCount = 1;
			var cartContent = "<div id=\"cartPage"+pageCount+"\" class=\"cartTable\" style=\"display: none\"><table>";
			for (i=0; i<productNode.length; i++) {
				var detailNode = productNode[i].childNodes;
				var quantity = 0;
				var name = "";
				var details = "";
				var price = "";
				var id = 0;
				for (j=0; j<detailNode.length; j++) {
				
				switch (detailNode[j].nodeName) {
					case "quantity":
						quantity = detailNode[j].firstChild.nodeValue;
						break;
					case "name":
						name = detailNode[j].firstChild.nodeValue;
						break;
					case "details":
						details = detailNode[j].firstChild.nodeValue;
						break;
					case "price":
						price = detailNode[j].firstChild.nodeValue;
						break;
					case "id":
						id = detailNode[j].firstChild.nodeValue;
						break;
				}
			}
			
			if (productCount > 6) {
				
				cartContent += "<tr><td colspan=\"2\" class=\"cartProductMore\">";
				
				if (pageCount == 1) {
					cartContent += "<img src=\"../../images/upButton.gif\" alt=\"up\" class=\"disabled\" />";
				} else {
					cartContent += "<img src=\"../../images/upButton.gif\" alt=\"up\" onclick=\"prevCartPage("+pageCount+");\" />";
				}
				cartContent += "<img src=\"../../images/downButton.gif\" alt=\"down\" onclick=\"nextCartPage("+pageCount+");\" />";
				cartContent += "page "+pageCount+" of "+(Math.floor(productNode.length/6)+1)+"</td></tr></table></div>";
				pageCount++;
				cartContent += "<div id=\"cartPage"+pageCount+"\" class=\"cartTable\" style=\"display: none\"><table>";
				productCount = 1;
			}
			
			
			if (details != "") {
			cartContent += "<tr><td><a href=\"javascript:removeProduct("+productCount+");\"><img src=\"../../images/x.gif\"></a></td><td><table>";
			cartContent += "<tr><td class=\"cartProductName\"><a href=\"viewCart.asp\">"+quantity+"</a> x <a href=\"../../store/pc/viewPrd.asp?idProduct="+id+"\">"+name+"</a></td><td class=\"cartProductPrice\">"+price+"</td></tr>";
			cartContent += "<tr><td colspan=\"2\" class=\"cartProductDetails\">"+details+" (<a href=\"../../store/pc/viewPrd.asp?idproduct="+id+"&index="+(i+1)+"&imode=updOrd\">edit</a>)</td></tr>";
			cartContent += "</table></td></tr>";
			} else {
			cartContent += "<tr><td><a href=\"javascript:removeProduct("+productCount+");\"><img src=\"../../images/x.gif\"></a></td><td><table>";
			cartContent += "<tr><td class=\"cartProductName noDetail\" valign=\"middle\"><a href=\"../../store/pc/viewCart.asp\">"+quantity+"</a> x <a href=\"../../store/pc/viewPrd.asp?idProduct="+id+"\">"+name+"</a></td><td class=\"cartProductPrice noDetail\">"+price+"</td></tr>";
			cartContent += "</table></td></tr>";
			}
			productCount++;
			totalNumOfProducts += parseInt(quantity);
		}
		
		while (productCount < 7 && pageCount > 1) {
			cartContent += "<tr><td colspan=\"2\" class=\"blank\">&nbsp;</td></tr>";
			if (productCount == 6) {
				cartContent += "<tr><td colspan=\"2\" class=\"cartProductMore\">";
				cartContent += "<img src=\"../../images/upButton.gif\" alt=\"up\" onclick=\"prevCartPage("+pageCount+");\" />";
				cartContent += "<img src=\"../../images/downButton.gif\" alt=\"down\" class=\"disabled\" />";
				cartContent += "page "+pageCount+" of "+(Math.floor(productNode.length/6)+1)+"</td></tr>";
			}		
			productCount++;
		}
		
		cartContent += "</table></div>";
		var cart = document.getElementById("cartContents");
		cart.innerHTML = cartContent;
		if (total[0] != null) {
			var cartTotal = document.getElementById("cartTotal");
			cartTotal.innerHTML = "<table><tr><td>TOTAL</td><td align=\"right\">"+total[0].firstChild.nodeValue+"</td><td align=\"right\"><a href=\"../../store/pc/viewcart.asp\"><img src=\"../../images/miniCartCheckout.gif\"></a></td></tr></table>";
		} else {
			var cartTotal = document.getElementById("cartTotal");
			cartTotal.innerHTML = "";
		}
		document.getElementById("cartPage"+pageCount).style.display = "block";
		document.getElementById("tensDigit").src = "../../images/digits/left"+Math.floor(totalNumOfProducts/10)+".gif";
		document.getElementById("onesDigit").src = "../../images/digits/right"+totalNumOfProducts%10+".gif";
		}
	};
	
	function nextCartPage(curPage) {
		document.getElementById("cartPage"+curPage).style.display = "none";
		document.getElementById("cartPage"+(curPage+1)).style.display = "block";
	}
	
	function prevCartPage(curPage) {
		document.getElementById("cartPage"+curPage).style.display = "none";
		document.getElementById("cartPage"+(curPage-1)).style.display = "block";
	}
	
	function removeProduct(rowNum) {
		var windowHref = window.location.href;
		if (windowHref.indexOf("viewcart.asp") > 0) {
			window.location = "../../store/pc/cRemv.asp?pcCartIndex="+rowNum;
		} else {
			myConn.connect("../../store/pc/cRemv.asp", "POST", "outputXml=1"+"&pcCartIndex="+rowNum, loadCartContents);
		}		
	}
	
	function toggleCart() {
		if (document.getElementById("cartRollOver").style.display != "none") {
			new Effect.CartUp('cartRollOver');
		} else {
			new Effect.CartDown('cartRollOver');
		}
	}
	
	function openLabels() {
		//new Effect.Appear('popupContainer', {duration:.2});
		//document.getElementById('popupContainer').style.opacity = "1.0";
		document.getElementById('popupContainer').style.display = "block";
	}
	
	function closeLabels() {
		//new Effect.DropOut('popupContainer');
		//document.getElementById('popupContainer').style.opacity = "1.0";
		document.getElementById('popupContainer').style.display = "none";
	}
	
	function brandsNextPage(curPage) {
		document.getElementById("labelsPage"+curPage).style.display = "none";
		document.getElementById("labelsPage"+(curPage+1)).style.display = "block";
	}
	
	function brandsPrevPage(curPage) {
		document.getElementById("labelsPage"+curPage).style.display = "none";
		document.getElementById("labelsPage"+(curPage-1)).style.display = "block";
	}

	function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
	this.obj = getObjNN4(document,name);
	this.style = this.obj;
  }
}

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

function initScrollArea()
{
	DHTML = (document.getElementById || document.all || document.layers)
	if (!DHTML) return;
	var x = new getObj('scrollArea');
	if (document.layers)
	{
		lyrheight = x.style.clip.bottom;
		lyrheight += 20;
		x.style.clip.top = clipTop;
		x.style.clip.left = 0;
		x.style.clip.right = clipWidth;
		x.style.clip.bottom = clipBottom;
	}
	else if (document.getElementById || document.all)
	{
		lyrheight = x.obj.offsetHeight;
		x.style.clip = 'rect('+clipTop+'px,'+clipWidth+'px,'+clipBottom+'px,0)';
	}
}

function scrollayer(layername,amt,tim)
{
	if (!DHTML) return;
	thelayer = new getObj(layername);
	if (!thelayer) return;
	amount = amt;
	theTime = tim;
	realscroll();
}

function realscroll()
{
	if (!DHTML) return;
	clipTop += amount;
	clipBottom += amount;
	topper -= amount;
	if (clipTop < 0 || clipBottom > lyrheight)
	{
		clipTop -= amount;
		clipBottom -= amount;
		topper += amount;
		return;
	}
	if (document.getElementById || document.all)
	{
		clipstring = 'rect('+clipTop+'px,'+clipWidth+'px,'+clipBottom+'px,0)';
		thelayer.style.clip = clipstring;
		thelayer.style.top = topper + 'px';
	}
	else if (document.layers)
	{
		thelayer.style.clip.top = clipTop;
		thelayer.style.clip.bottom = clipBottom;
		thelayer.style.top = topper;
	}
	time = setTimeout('realscroll()',theTime);
}

function stopscroll()
{
	if (time) clearTimeout(time);
}

function echeck(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false
	}

	if (str.indexOf(at,(lat+1))!=-1){
	 	return false
	}

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return false
	}

	if (str.indexOf(dot,(lat+2))==-1){
	    return false
	}
		
	if (str.indexOf(" ")!=-1){
	    return false
	}

 	return true					
}

function subscribe(email) {
	if (echeck(email)) {
		myConn.connect("../../store/pc/xml_subscribe.asp", "POST", "email="+email, loadCartContents);
	}
}
