// Needs the skuRequest and skus global variables!
function handleSkuData()
{
	var skudata, childSkus, rdata;
	var lskus

	if((skuRequest.readyState == 4) && (skuRequest.status == 200)) {
		lskus = new Array();
		skudata = skuRequest.responseXML.documentElement; // root node
		childSkus = skudata.childNodes;
		for(var i = 0; i < childSkus.length; i++) {
			if(childSkus[i].nodeType == 1) {
				rdata = handleSku(childSkus[i]);
				lskus[rdata["skuId"]] = rdata["data"];
			}
		}
		skus = lskus
		rebuildSkuList(lskus);
	}
}

function handleSku(skuNode)
{
	var ret = new Array();
	var dat = new Array();
	var children = skuNode.childNodes;

	for(var i = 0; i < children.length; i++) {
		if(children[i].nodeType == 1) {
			switch(children[i].nodeName) {
				case 'id':
					ret["skuId"] = getNodeData(children[i]);
					break;
				case 'name':
					dat["name"] = getNodeData(children[i]);
					break;
				case 'name-type':
					dat["name-type"] = getNodeData(children[i]);
					break;
				case 'nla':
					dat["nla"] = getNodeData(children[i]);
					break;
				case 'inventory':
					dat["qtyOnHand"] = getNodeData(children[i]);
					break;
				case 'listprice':
				    var listPrice = getNodeData(children[i]);
				    	listPrice += "";
					if(listPrice.indexOf(".") == -1)
						listPrice += ".00";
					else if(listPrice.indexOf(".") == listPrice.length - 1)
						listPrice += "00";
					else if(listPrice.indexOf(".") == listPrice.length - 2)
						listPrice += "0";
					dat["listprice"] = listPrice;
					break;
				case 'saleprice':
					var salePrice = getNodeData(children[i]);
				    	salePrice += "";
					if(salePrice.indexOf(".") == -1)
						salePrice += ".00";
					else if(salePrice.indexOf(".") == salePrice.length - 1)
						salePrice += "00";
					else if(salePrice.indexOf(".") == salePrice.length - 2)
						salePrice += "0";
					dat["saleprice"] = salePrice;
					break;
				case 'effectiveprice':
					var effectivePrice = getNodeData(children[i]);
				    	effectivePrice += "";
					if(effectivePrice.indexOf(".") == -1)
						effectivePrice += ".00";
					else if(effectivePrice.indexOf(".") == effectivePrice.length - 1)
						effectivePrice += "00";
					else if(effectivePrice.indexOf(".") == effectivePrice.length - 2)
						effectivePrice += "0";
					dat["price"] = effectivePrice;
					break;
				case 'alternateid':
					dat["mfgId"] = getNodeData(children[i]);
					break;
				case 'selected':
					dat["selected"] = true;
					break;
				case 'sale':
					dat["sale"] = getNodeData(children[i]);
					break;
				case 'new':
					dat["new"] = getNodeData(children[i]);
					break;
				case 'mmy':
					dat["mmy"] = getNodeData(children[i]);
					break;
				case 'img':
					dat["img"] = getNodeData(children[i]);
					break;
				case 'restricted':
					dat["restricted"] = getNodeData(children[i]);
					break;
				case 'display-name':
					dat["displayName"] = getNodeData(children[i]);
					break;
			}
		}
	}

	ret["data"] = dat;

	return ret;
}

function getNodeData(node)
{
	var children = node.childNodes;
	var ret;

	for(var i = 0; i < children.length; i++) {
		if(children[i].nodeType == 3) {
			ret = children[i].nodeValue;
			break;
		}
	}

	return ret;
}
