var isIE = false;
var req;
var passurl;
var SendResultsTo;





function loadXMLDoc() {
	// alert("Here is the URL:" + passurl);
	// passurl = url;
	var urlread;
	var now=new Date();
	// readurl = passurl + '&spoiler=' + (now.getSeconds());
	// readurl = passurl + '&spoiler=' + now;
	readurl = passurl;
	// alert("Here is the URL:" + readurl);
  		
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", readurl, true);
        req.send(null);
    } 
	else if (window.ActiveXObject) {
    	isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
        	req.onreadystatechange = processReqChange;
			req.open("GET", readurl, true);
            req.send();
        }
    } 
}

function processReqChange() {
	if (req.readyState == 4) {
    	if (req.status == 200) {
			if (SendResultsTo == 'start') { PopStart() }
			else { displayresult() };
		} 
		else {
        	alert("There was a problem retrieving the XML data:" + req.statusText);
        }
    }
}

function displayresult() {
	div = document.getElementById("prodpop");
	// With date
	// div.innerHTML = '<b>' + (new Date).toLocaleString() + '</b><br>' + req.responseText;
	// Without date
	div.innerHTML = req.responseText;
	// document.getElementById('greyout').style.visibility='visible';
	// document.getElementById('prodpop').style.visibility='visible';
	document.getElementById('greyout').style.display='';
	document.getElementById('prodpop').style.display='';
	// document.body.scroll='no';
	scroll(0,0);
	// window.moveTo(0,0);
}

function PopStart() {
	div = document.getElementById("start");
	div.innerHTML = req.responseText;
	scroll(0,0);
}


function getprodpop(url) {
// alert("Url : " + url);
	// alert("Overflow : " + document.body.style.overflow);
	// parent.document.body.style.overflow='hidden';  // was used to turn off scroll bars
	// alert("Overflow : " + document.body.style.overflow);
	SendResultsTo = '';
	passurl = url;
	loadXMLDoc();
	// alert ("URL: " + passurl);
	// passurl = url + "&sqft=" + document.getElementById("sqft");
	// setInterval("loadXMLDoc()", 2*1000 );
}


function CheckIt(TypePost) {
// alert ('Running check');
var StepNum;
var DispItems;
var DispQty;
var DispVar;
var ItemAry;
var TotalPrice = 0.00;
var TotalPoints = 0;
// var BasketPointsMin = 5;
// var BasketPointsMax = 15;
var TmpExtPrice = 0.00;
var TmpExtPoints = 0;
var TmpItemCnt = 0;
var DispWrite="";
var HideQty="";
// var TempVar ="<table width=300><th>Items</th><th>descrip</th><th>qty</th><th>action</th><br>";
var TempVar ="<table width=300>";
RunSpan = document.getElementById("runitems");
// var CurProdId = "";

StepNum = document.getElementById("step").value;
// alert("Step Number : " + StepNum + "*****" + document.getElementById("basket").checked);
if(StepNum == 1 ) {
	DispBaskets = document.getElementsByName("basket");
	var BChecked = "";
	for(var i=0; i < DispBaskets.length; i++) {
		// alert ("Count : " + i + " *** Checked : " + DispBaskets[i].checked);
		if(DispBaskets[i].checked == true) { BChecked = true; } 
	} // end of 
	// BasketCheck = document.getElementById("basket").checked;
	if (BChecked == true) { document.bbform.submit(); }
	else { alert ("You must pick a basket before proceeding"); }
} // end of if(StepNum == 1 );


if (StepNum >= 2) {
	// document.getElementById(curprodid).checked = true;
	DispItems = document.getElementsByName("items");
	// alert ("DispItems : " + DispItems);
	Qtys = document.getElementsByName("qtyary");
	// alert ('Qty Ary Length : ' + Qtys.length);
	TotalPrice = document.getElementById("BsktCst").value * 1;
	for(var i=0; i < DispItems.length; i++) {
		DispWrite += "<tr><td>" + DispItems[i].value + "</td><td>" +  Qtys[i].value + "</td></tr>";
		// alert ('DispItems :' + DispItems[i].value);
		// alert ('Qtys :' + i + ') ' + Qtys[i].value);
		// DispVar = DispVar + "Checkbox : " + DispItems[i].checked + "";
		var Checked = "";
		
		if(DispItems[i].checked == true) { 
			// Checked = "checked"
			// alert("Checked : " + DispItems[i].value);
			myString = DispItems[i].value; 
			ItemAry = myString.split("|");
			Points = ItemAry[1];
			TmpQty = Qtys[i].value;
			// alert ("Item :" + ItemAry[0] + " * "+ ItemAry[1] + " * "+ TmpQty + " * "+ ItemAry[3]); 
			if (HideQty) { HideQty = HideQty + "," + TmpQty; }
			else {HideQty = TmpQty; }
			
			// alert("TmpQty :" + i + ') ' + Qtys[i].value);
			TmpItemCnt = TmpItemCnt + (TmpQty * 1);
			TmpPrice = ItemAry[3];
			TmpExtPrice = TmpQty * TmpPrice;
			TmpExtPoints = Points * TmpQty;
			TmpExtPoints = TmpExtPoints * 1; 
			TotalPrice += TmpExtPrice;
			
			// alert("Total Price :" + TotalPrice);
			// alert("Total Qty :" + TmpQty);
			TotalPoints += TmpExtPoints * 1;
			document.getElementById("kitpoints").value = TotalPoints * 1;
			// document.getElementById("MaxBktPts").value = BasketPointsMax;
			document.getElementById("KitCost").value = formatCurrency(TotalPrice);
			span = document.getElementById("DispPrice");
			span.innerHTML = '$' + document.getElementById("KitCost").value;
			
			document.getElementById('ItmCnt').value = TmpItemCnt * 1;  
			
			/////// Put into running item box
			document.getElementById('ItmCnt').value
			
			// div.innerHTML = '<b>' + (new Date).toLocaleString() + '</b><br>' + req.responseText;
			var SplitIDAry = DispItems[i].id.split("-");
			var ImageVar = SplitIDAry[0] + "_sm.jpg";
			// var ImageVar = DispItems[i].id + "_sm.jpg";
			// alert ("Image ID " + ImageVar);
			if (Qtys[i].value > 0 ) {
				TempVar += '<tr><td><img src = "http://k9bytes.com/giftbasket/products/' + ImageVar + '" width=50 height=50"></td>';
				TempVar += '<td>Qty : ' + Qtys[i].value
				if (StepNum == 2) {
					TempVar += '</td><td><input type=button value=edit onclick="getprodpop(\'http://www.k9bytes.com/giftbasket/cgi-bin/s-mart.pl?command=prodpop&type=edit&qty=' + Qtys[i].value + '&itemid=' + DispItems[i].id + '\')">';
				}	
				TempVar += '</td></tr>';
				// alert ("TempVar :" + TempVar);
				// TempVar += '<input type=button value=edit><br>';
				RunSpan.innerHTML = TempVar;
			}
			else { DispItems[i].checked = false; }
			
			
			
			// alert("Total Points: " + Points + " $" + TmpExtPrice);
			// alert("Temp Ext Price: " + TmpQty + " " + TmpPrice + "Ext Price :" + TmpExtPrice + "Total Price :" + TotalPrice);
		} // end of if(DispItems[i].checked == true)
		// DispVar = DispVar + DispItems[i].value + "  " + Checked + "<br>";
		// DispVar = DispVar + "Values : " + Qtys[i].value + "<br><br><br>";
	} // end of for(var i=0; i < DispItems.length; i++)
	var Success = true;
	BasketPointsMax = document.getElementById("MaxBktPts").value;
	BasketPointsMin = document.getElementById("MinBktPts").value;
	if (TotalPoints > BasketPointsMax) { alert("Points exceed maximum for this basket"); Success=false; }
	if (TypePost != 'check') { 
		document.getElementById("hideqty").value = HideQty;
		// alert ("Hide Qty : " + document.getElementById("hideqty").value);
		// if (TotalPoints > BasketPointsMax) { alert("Points exceed maximum for this basket"); Success=false; }
		if (TotalPoints < BasketPointsMin) { alert("Points Do Not Reach This Baskets Minimum"); Success=false; }
		if (TotalPoints > BasketPointsMax) { Success=false; }
			if (Success == true) { 
			if (TypePost == 'check' || TypePost == 'qty') {} // Do not post
			else { document.bbform.submit(); }
		} // Post the form named itemsform here. 
	} // end of if(TypePost != 'check')
} // end of if(StepNum == 2 );
} // end of function CheckIt()

function DispProds(ShowProd){
	// document.getElementById('greyout').style.display = '';
	DispItems = document.getElementsByTagName("div");
	// alert("showProd :" + ShowProd + "--" + DispItems.length);
	for(var i=0; i < DispItems.length; i++) {
		CurentItemName = DispItems[i].getAttribute('name');
		// alert ("Numb Returned : " + DispItems.length);
		if (CurentItemName == "BsktCat") {
			// alert (i + ")" + DispItems[i].getAttribute('name'));
			// CurentItemId = DispItems[i].value;
			// alert("CurrentItemID" + CurentItemId);
			CurentItemId = DispItems[i].getAttribute('id');
			// alert (i + ")" + CurentItemId + "---" + ShowProd);
			if (CurentItemId == ShowProd) { document.getElementById(CurentItemId).style.display= ''; } 
			else { document.getElementById(CurentItemId).style.display = 'none'; }
		} // end of if (CurentItemName == "BsktCat")
	} // end of	for(var i=0; i < DispItems.length; i++) {
	return false;
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	// return (((sign)?'':'-') + '$' + num + '.' + cents);
	return (((sign)?'':'-') + num + '.' + cents);
}


function PostProduct(ItmID) {
	//var ItemCheck = "";
	// alert('Item Id' + ItmID);
	QtyID = ItmID + "_qty";
	document.getElementById(ItmID).checked=true;
	document.getElementById(QtyID).value = (document.getElementById(QtyID).value * 1) + 1;
	document.getElementById('greyout').style.display='none';
	document.getElementById('prodpop').style.display='none';
	CheckIt('check')
}

var ItmID;
var UpType;

function UpdateProd(ItmID,UpType,ProdAvail) {
var QtyID = ItmID + "_qty";
// Clear out the basket item holder;
RunSpan = document.getElementById("runitems");
TempVar = "";
RunSpan.innerHTML = TempVar;
if (UpType == "rem") {
	document.getElementById(ItmID).checked=false;
	document.getElementById(QtyID).value=0;
	document.getElementById('greyout').style.display='none';
	document.getElementById('prodpop').style.display='none';
	CheckIt('check');
}
if (UpType == "up") {
	if (ProdAvail < document.getElementById('popqty').value) { alert ('Only 1 in stock'); return true; }
	else {
		document.getElementById(QtyID).value = document.getElementById('popqty').value;
		document.getElementById('greyout').style.display='none';
		document.getElementById('prodpop').style.display='none';
		CheckIt('check');
	}	
}
}

function SearchFunct(url) {
var color = "";
var costrng = "";
var costlo = "";
var costhi = "";

// Get Data from page	
colorindx = document.getElementById('color').selectedIndex;
color = document.bbform.color.options[colorindx].value;
costindx = document.getElementById('cost').selectedIndex;
costrng = document.getElementById('cost').value;
CostArray = costrng.split("-");
passurl = url;
if (color) { passurl = passurl + '&color=' + color}
if (costrng) { passurl = passurl + '&costlo=' + CostArray[0] + '&costhi=' +  CostArray[1]}
// alert('PassUrl : ' + passurl);
// return false;

// Populate start
SendResultsTo = 'start';
// passurl = url;
loadXMLDoc();
// show the start div
DispProds('start');
//SendResultsTo = '';
}
	
