function doHeaderCartUpdate() {
//alert("this is the headercartupdate");
var ajObj = getAjaxObject();
if (!ajObj)	{
	alert('error, ajax not supported!');
} else {
	var ajaxParams = "";
	var ajaxURL = "ajax/cart.aspx";
	var ajaxResults = "";
	//debug
	//alert(ajaxURL);
	//alert(ajaxParams);	
	ajObj.open("POST", ajaxURL, false);
	ajObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
	ajObj.send(ajaxParams);
	ajaxResults = ajObj.responseText + "";
	if (ajaxResults != "") {
		//parse results here
		//var dsTableCount = getXMLDataSetTableCount("dsBasket", ajaxResults);
		var sumCartQty = 0;
		var dsItemRowCount = getXMLDataTableRowCount("dsBasket", 1, ajaxResults)
		//alert("Total Tables in dsBasket: " + dsTableCount);
		for(var i=0; i<dsItemRowCount; i++)	{
			//alert("QO:" + getXMLDataFieldValue("dsBasket", 1, i, "qtyOrd", ajaxResults));
			sumCartQty += parseInt(getXMLDataFieldValue("dsBasket", 1, i, "qtyOrd", ajaxResults));
			//alert("Total Rows in TableIndex " + i + ": " + getXMLDataTableRowCount("dsBasket", i, ajaxResults));
		}
		//alert("SUM:" + sumCartQty);
		try { document.getElementById('cartSumQty').innerHTML = sumCartQty;	}catch(e){}
		//alert("before adding");
		var cartSumItemsHTML = '<h6 class="pull-0">Just added to your cart:</h6><input class="close push-0" type="submit" value="" onClick="hideElement()"><hr />';
		var cartSumItemsListHTML = '<div id="DIVcartSumItemsList">';
		//alert("RC: " + dsItemRowCount);
		var psumCartQty = 0;
		for(var i=0; i<dsItemRowCount; i++) {
			cartSumItemsListHTML += '<div class="drop-shopcart clear"><ul><li id="Qty">' + getXMLDataFieldValue("dsBasket", 1, i, "QtyOrd", ajaxResults) + '</li>'; 
			cartSumItemsListHTML += '<li id="ItemDescr">' + getXMLDataFieldValue("dsBasket", 1, i, "Descr", ajaxResults);
			var currentBasketID = getXMLDataFieldValue("dsBasket", 1, i, "basketID", ajaxResults);
			var dsBasketExtensionsCount = getXMLDataTableRowCount("dsBasketExtensions", 0, ajaxResults);
			//alert("debug: " + currentBasketID);
			for(var be=0; be<dsBasketExtensionsCount; be++)	{
				//alert("debug: " + currentBasketID + ":" + getXMLDataFieldValue("dsBasketExtensions", 0, be, "basketID", ajaxResults));
				if (currentBasketID == getXMLDataFieldValue("dsBasketExtensions", 0, be, "basketID", ajaxResults))	{
					//alert("debug: adding extension: " + getXMLDataFieldValue("dsBasketExtensions", 0, be, "Descr", ajaxResults));
					cartSumItemsListHTML += '<br/> - ' + getXMLDataFieldValue("dsBasketExtensions", 0, be, "Descr", ajaxResults);
				}
			}
			cartSumItemsListHTML += '</li>';
			cartSumItemsListHTML += '<li id="Price">' + formatCurrency(getXMLDataFieldValue("dsBasket", 1, i, "User5", ajaxResults)) + '</li></ul></div>';			
			var tmpIDTrackArray = idtrack.split(",");
			for(var ct=0; ct<tmpIDTrackArray.length; ct++) {
				if (tmpIDTrackArray[ct] != "")	{
					var ajaxInvtID = getXMLDataFieldValue("dsBasket", 1, i, "InvtID", ajaxResults);
					var ajaxAlternateID = getXMLDataFieldValue("dsBasket", 1, i, "AlternateID", ajaxResults);
					//alert("debug: ajax ID:" + ajaxInvtID + ",alternate:" + ajaxAlternateID + ",track:" + tmpIDTrackArray[ct]);
					if ((ajaxInvtID == tmpIDTrackArray[ct]) || (ajaxAlternateID == tmpIDTrackArray[ct])) {	
						//alert("debug: match found, i is:" + i);
						cartSumItemsHTML += '<div class="item-added clear"><ul>';
						//procedure xct_spGetBasketImagesBySession
						var intBasketImagesRowCount = getXMLDataTableRowCount("dsBasketImages", 0, ajaxResults);
						var bFoundXXImage = false;
						//alert("debug:intBasketImagesRowCount: " + intBasketImagesRowCount);
						for(var bi=0; bi<intBasketImagesRowCount; bi++)	{
							if ((getXMLDataFieldValue("dsBasketImages", 0, bi, "basketID", ajaxResults) == currentBasketID) && (getXMLDataFieldValue("dsBasketImages", 0, bi, "User5", ajaxResults) == "XXSMALL")) {
								//alert("test" + getXMLDataFieldValue("dsBasketImages", 0, bi, "imageURL", ajaxResults));
								cartSumItemsHTML += '<li id="ItemImage"><img src="' + getXMLDataFieldValue("dsBasketImages", 0, bi, "imageURL", ajaxResults) + '" onerror="this.src=\'images/products/xxsmthmb/noxxsmthmb.jpg\';"></li>';
								//alert("the html is" + cartSumItemsHTML);
								//alert("debug:found entry for XXSMALL: " + getXMLDataFieldValue("dsBasketImages", 0, bi, "imageURL", ajaxResults));
								//alert("debug:thumbnail:" + getXMLDataFieldValue("dsBasket", 1, i, "Thumbnail", ajaxResults));
								bFoundXXImage = true;
								bi=intBasketImagesRowCount;
								//cartSumItemsHTML += '<li id="ItemImage"><img src="' + getXMLDataFieldValue("dsBasketImages", 0, bi, "imageURL", ajaxResults) + '" width="100" /></li>';
							}
						}
						if (!bFoundXXImage)	{
							//alert("debug:NO entry for XXSMALL: " + ajaxInvtID);
							cartSumItemsHTML += '<li id="ItemImage"><img src="' + getXMLDataFieldValue("dsBasket", 1, i, "Thumbnail", ajaxResults) + '" onerror="this.src=\'images/products/xxsmthmb/noxxsmthmb.jpg\';" width="100"></li>';
						}
						cartSumItemsHTML += '<li id="ItemDescr">' + getXMLDataFieldValue("dsBasket", 1, i, "Descr", ajaxResults);
						currentBasketID = getXMLDataFieldValue("dsBasket", 1, i, "basketID", ajaxResults);
						var dsBasketExtensionsCount = getXMLDataTableRowCount("dsBasketExtensions", 0, ajaxResults);
						//alert("debug: " + currentBasketID);
						for(var be=0; be<dsBasketExtensionsCount; be++) {
							//alert("debug: " + currentBasketID + ":" + getXMLDataFieldValue("dsBasketExtensions", 0, be, "basketID", ajaxResults));
							if (currentBasketID == getXMLDataFieldValue("dsBasketExtensions", 0, be, "basketID", ajaxResults))	{
								//alert("debug: adding extension: " + getXMLDataFieldValue("dsBasketExtensions", 0, be, "Descr", ajaxResults));
								cartSumItemsHTML += '<br/> - ' + getXMLDataFieldValue("dsBasketExtensions", 0, be, "Descr", ajaxResults);
							}
						}
						cartSumItemsHTML += '<span>Price:' + formatCurrency(getXMLDataFieldValue("dsBasket", 1, i, "User5", ajaxResults)) + '</span>';
						cartSumItemsHTML += '<span>Qty:' + getXMLDataFieldValue("dsBasket", 1, i, "qtyOrd", ajaxResults) + '</span></li>';
						cartSumItemsHTML += '</ul></div></div>';
						}else{}
					}
				}
				psumCartQty += parseInt(getXMLDataFieldValue("dsBasket", 1, i, "qtyOrd", ajaxResults));
			}
			cartSumItemsListHTML += '</div>';
			cartSumItemsListHTML += '<span class="subtotal push-0" id="cartSumCuryTotMerch">Sub-total: ' + formatCurrency(getXMLDataFieldValue("dsBasket", 0, 0, "totalVatMerch", ajaxResults)) + '</span><hr /><a class="pull-0" href="cart.aspx?">View cart details</a><p class="button push-0 xlrg"><a href="step1.aspx?"><span>checkout</span></a></p>';			
			//alert("value of sum" + psumCartQty);
			//alert(cartSumItemsHTML);
			setTimeout("hideElement()",15000);			
			cartSumItemsHTML += '<span class="pull-0" id="pcartSumQty">' + psumCartQty + ' items in your cart</span><span class="subtotal push-0" id="cartSumCuryTotMerch">Sub-total: ' + formatCurrency(getXMLDataFieldValue("dsBasket", 0, 0, "totalVatMerch", ajaxResults)) + '</span><hr /><a class="pull-0" href="cart.aspx?">View cart details</a><p class="button push-0 xlrg"><a href="step1.aspx?"><span>checkout</span></a></p>';
			//alert("1: " + cartSumItemsHTML);
			//alert("2: " + document.getElementById('cartSumItems'));
			document.getElementById('DIVcartSumItemsList').innerHTML = cartSumItemsListHTML;
			document.getElementById('cartSumItems').innerHTML = cartSumItemsHTML;
			//alert("3: " + document.getElementById('cartSumItems').innerHTML);
			document.getElementById('cartSumItems').style.display="";
			document.getElementById('cartSumItems').style.visibility = "visible";
			document.getElementById('no').style.display="none";
			document.getElementById('no').style.visibility="hidden";
		}
	}
}

function AJAXaddToCart(productIndex, popupOverride){
setTimeout("window.scrollTo(0,0)",0);
//	alert("this is the ajaxaddtocart");
var ajObj = getAjaxObject();
	if (!ajObj)	{
		alert('error, ajax not supported!');
	} else {
		//	document.getElementById('ATC' + productIndex).style.display = "none";
		//	document.getElementById('ATC' + productIndex).style.visible = "hidden";
		//	alert("the product index is:" + productIndex);
		var parentItemExtensionIndex = new Array();
		var errorCount = 0;
		var errorMessage = "";
		var productIDArray = "";
		var quantityArray = "";
		var productIDExtensionGroupsArray = "";
		var itemIDExtensionGroupsNamePairs = "";
		var extensionsParams = "";
		var productIDFields = document.getElementById('OCForm1').productID;
		if (productIDFields.length != undefined) {
			productIDArray = productIDFields[productIndex].value;
			quantityArray = document.getElementById('OCForm1').quantity[productIndex].value;
			productIDExtensionGroupsArray = document.getElementById('OCForm1').productIDExtensionGroups[productIndex].value;
			//alert("product index is" + productIndex);
		} else {
			productIDArray = productIDFields.value;
			quantityArray = document.getElementById('OCForm1').quantity.value;
			productIDExtensionGroupsArray = document.getElementById('OCForm1').productIDExtensionGroups.value;
			//document.getElementById('OCForm1').quantity.value=1;
		}	
		//alert(productIndex);
		//alert(productIDArray);
		//POPUP CHECKER	
		var NPItems=null;
		var stopAdding = false;
		if (!popupOverride)	{
			try	{ NPItems=document.getElementById('OCForm1').noPurchase.value.split(','); }catch(e){}	
			if (NPItems != null){
				for(var j=0; j<NPItems.length; j++)	{
					if  (NPItems[j] == productIDArray) {
						//alert(productIndex);
						//indexval = productIndex;
						stopAdding=true;
						newWindow('noPurchase.html?productIndex='+productIndex,430,495);
					}
				}
			}
		}
		//END POPUP CHECKER
		if (!stopAdding) {
			//alert("array" + productIDArray);
			//alert("index" + productIndex);
			//alert("product invtid" + getProductID(productIDArray, productIndex));
			//alert("quantity" + quantityArray);
			if (quantityArray == 0) {
				errorMessage+= (++errorCount) + ". You must enter a quantity.\n";
			}
			var testProductID = getProductID(productIDArray, productIndex);
			if (testProductID.indexOf('SELECT') > -1) {
				errorMessage+= (++errorCount) + ". You must select all options.\n";
			} else {
				idtrack = testProductID;
			}
			var tmpProductIDExtensionGroupsArray = productIDExtensionGroupsArray.split(";");
			for (var i=0; i<tmpProductIDExtensionGroupsArray.length; i++) {
				if (tmpProductIDExtensionGroupsArray[i] != "")	{
					var extensionValue = "";
					try	{
						extensionValue = document.getElementById(productIDArray + tmpProductIDExtensionGroupsArray[i]).options[document.getElementById(productIDArray + tmpProductIDExtensionGroupsArray[i]).options.selectedIndex].value;
						if (extensionValue != "") {
							parentItemExtensionIndex[parentItemExtensionIndex.length] = document.getElementById(productIDArray + tmpProductIDExtensionGroupsArray[i]).options.selectedIndex;
							extensionsParams += "&" + escape(productIDArray + tmpProductIDExtensionGroupsArray[i]) + "=" + escape(document.getElementById(productIDArray + tmpProductIDExtensionGroupsArray[i]).options[document.getElementById(productIDArray + tmpProductIDExtensionGroupsArray[i]).options.selectedIndex].value);
						}
					}catch(e){alert(e.Message);}
				}
			}
			try {
				if (productIDFields[(productIndex+1)].checked) {
					//alert("debug: checked");
					productIDArray += "," + productIDFields[(productIndex+1)].value;
					var checkedItemIDTrack = productIDFields[(productIndex+1)].value;
					//alert("debug: " + productIDArray);
					quantityArray += "," + document.getElementById('OCForm1').quantity[productIndex].value;
					//alert("debug: " + quantityArray);
					productIDExtensionGroupsArray += "," + document.getElementById('OCForm1').productIDExtensionGroups[(productIndex+1)].value;
					//alert("debug: " + productIDExtensionGroupsArray);
			
					//alert(checkedItemIDTrack);
					var tmpProductIDExtensionGroupsArray = document.getElementById('OCForm1').productIDExtensionGroups[(productIndex+1)].value.split(";");
					for (var i=0; i<tmpProductIDExtensionGroupsArray.length; i++) {
					//alert("debug: checkbox extensiongroupsarray: " + i);
						if (tmpProductIDExtensionGroupsArray[i] != "")	{
							var extensionValue = "";
							try	{					
								document.getElementById(productIDFields[(productIndex+1)].value + tmpProductIDExtensionGroupsArray[i]).options.selectedIndex = parentItemExtensionIndex[i];
								extensionValue = document.getElementById(productIDFields[(productIndex+1)].value + tmpProductIDExtensionGroupsArray[i]).options[document.getElementById(productIDFields[(productIndex+1)].value + tmpProductIDExtensionGroupsArray[i]).options.selectedIndex].value;
								if (extensionValue != "") {
									checkedItemIDTrack+=extensionValue;
									//alert("debug tea4: " + extensionValue);
									extensionsParams += "&" + escape(productIDFields[(productIndex+1)].value + tmpProductIDExtensionGroupsArray[i]) + "=" + escape(document.getElementById(productIDFields[(productIndex+1)].value + tmpProductIDExtensionGroupsArray[i]).options[document.getElementById(productIDFields[(productIndex+1)].value + tmpProductIDExtensionGroupsArray[i]).options.selectedIndex].value);
										//alert("debug tea5: " + extensionsParams);
								}
							}catch(e){alert(e.Message);}
						}
					}
					idtrack += "," + checkedItemIDTrack;
				}
			}catch(e){}
			if (productIDFields.length != undefined) {
				document.getElementById('OCForm1').quantity[productIndex].value=1;
			}
			var ajaxParams = "&posting=TRUE&actionType=CARTADD";
			//idtrack = productIDArray.split(",")[0];
			//idtrack = idtrack.split(",")[0];
			//alert("xglobal idtrack is:" + idtrack);
			//idtrack = idtrack.substring(idtrack.indexOf('=')+1);
			//alert("global idtrack is:" + idtrack);
			ajaxParams += "&productID=" + escape(productIDArray);
			ajaxParams += "&quantity=" + escape(quantityArray);
			ajaxParams += "&productIDExtensionGroups=" + escape(productIDExtensionGroupsArray);
			ajaxParams += itemIDExtensionGroupsNamePairs;
			ajaxParams += extensionsParams;
			var ajaxURL = "ajax/cart.aspx";
			var ajaxResults = "";
			//debug
			//alert(ajaxURL);
			//alert(ajaxParams);
			//alert("product index" + productIndex);
			//document.getElementById('ATC' + productIndex).style.display = "";
			//document.getElementById('ATC' + productIndex).style.visible = "visible";
			if (errorCount == 0) {	
				ajObj.open("POST", ajaxURL, false);
				ajObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
				ajObj.send(ajaxParams);
				ajaxResults = ajObj.responseText + "";
				if (ajaxResults != "") {
					var tmpErrorMessage = "";
					try	{
						tmpErrorMessage = /<errorMessage>(\w*)<\/errorMessage>/i.exec(ajaxResults)[1];                
					}catch(e){}
					if (tmpErrorMessage != "") {
						alert(tmpErrorMessage);
					} else	{
						try	{
							document.getElementById("mypopup" + productIDArray).style.display = "none";
							var qshopCounter = 0; 
							while(document.getElementById('qshop' + qshopCounter)!=null) { 
								   document.getElementById('qshop' + qshopCounter).style.visibility="visible"; 
								   document.getElementById('qshop' + qshopCounter).style.display=""; 
								   qshopCounter++; 
							} 
						}catch(e){}
						try	{ doHeaderCartUpdate(); }catch(e){}
					}
				}	
			} else {
				alert(errorMessage);
			}
		}
	}//end check for (!stopAdding)
}
function AJAXaddToRegistry(productIndex) {
//	alert("this is the ajaxaddtoregistry");
var ajObj = getAjaxObject();
	if (!ajObj) {
		alert('error, ajax not supported!');
	} else {	
	//	document.getElementById('ATC' + productIndex).style.display = "none";
	//	document.getElementById('ATC' + productIndex).style.visible = "hidden";
	//	alert("the product index is:" + productIndex);
		var errorCount = 0;
		var errorMessage = "";
		var productIDArray = "";
		var quantityArray = "";
		var productIDExtensionGroupsArray = "";
		var itemIDExtensionGroupsNamePairs = "";
		var extensionsParams = "";
		var productIDFields = document.getElementById('OCForm1').productID;
		if (productIDFields.length != undefined) {
			productIDArray = productIDFields[productIndex].value;
			quantityArray = document.getElementById('OCForm1').quantity[productIndex].value;
			productIDExtensionGroupsArray = document.getElementById('OCForm1').productIDExtensionGroups[productIndex].value;
			//alert("product index is" + productIndex);
			document.getElementById('OCForm1').quantity[productIndex].value=1;
		} else {
			productIDArray = productIDFields.value;
			quantityArray = document.getElementById('OCForm1').quantity.value;
			productIDExtensionGroupsArray = document.getElementById('OCForm1').productIDExtensionGroups.value;
			document.getElementById('OCForm1').quantity.value=1;
		}
		//alert(productIndex);
		//alert(productIDArray);
		//alert(getProductID(productIDArray, productIndex));
		//alert("quantity" + quantityArray);
		if (quantityArray == 0) {
			errorMessage+= (++errorCount) + ". You must enter a quantity.\n";
		}
		var testProductID = getProductID(productIDArray, productIndex);
		if (testProductID.indexOf('SELECT') > -1) {
			errorMessage+= (++errorCount) + ". You must select all options.\n";
		}
		var tmpProductIDExtensionGroupsArray = productIDExtensionGroupsArray.split(";");
		for (var i=0; i<tmpProductIDExtensionGroupsArray.length; i++) {
			if (tmpProductIDExtensionGroupsArray[i] != "") {
				var extensionValue = "";
				try	{
					extensionValue = document.getElementById(productIDArray + tmpProductIDExtensionGroupsArray[i]).options[document.getElementById(productIDArray + tmpProductIDExtensionGroupsArray[i]).options.selectedIndex].value;
					if (extensionValue != "") {
						extensionsParams += "&" + escape(productIDArray + tmpProductIDExtensionGroupsArray[i]) + "=" + escape(document.getElementById(productIDArray + tmpProductIDExtensionGroupsArray[i]).options[document.getElementById(productIDArray + tmpProductIDExtensionGroupsArray[i]).options.selectedIndex].value);
					}
				}catch(e){alert(e.Message);}
			}
		}
		var ajaxParams = "posting=TRUE&actionType=REGISTRYADDITEM";
		var fullext = extensionsParams;
		var fullnew = fullext.substring(fullext.indexOf('=')+1);
		idtrack = productIDArray + fullnew;
		//idtrack = idtrack.substring(idtrack.indexOf('=')+1);
		//idtrack = idtrack.split(",")[0];
		//alert("xglobal idtrack is:" + idtrack);
		ajaxParams += "&productID=" + escape(productIDArray);
		ajaxParams += "&quantity=" + escape(quantityArray);
		ajaxParams += "&productIDExtensionGroups=" + escape(productIDExtensionGroupsArray);
		ajaxParams += itemIDExtensionGroupsNamePairs;
		ajaxParams += extensionsParams;
		var ajaxURL = "ajax/registry.aspx";
		var ajaxResults = "";
		//debug
		//alert(ajaxURL);
		//alert(ajaxParams);
		try{document.getElementById('SPANajaxURL').innerHTML = ajaxURL + "?" + ajaxParams;}catch(e){}
		//alert("product index" + productIndex);
		//document.getElementById('ATC' + productIndex).style.display = "";
		//document.getElementById('ATC' + productIndex).style.visible = "visible";
		if (errorCount == 0) {	
			ajObj.open("POST", ajaxURL, false);
			ajObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
			ajObj.send(ajaxParams);
			ajaxResults = ajObj.responseText + "";
			//alert("debug: " + ajaxResults);

			if (ajaxResults != "") {
				var tmpErrorMessage = "";
				try	{
					if (ajaxResults.indexOf("<errorMessage>") > -1) {
						tmpErrorMessage = ajaxResults.substring(ajaxResults.indexOf("<errorMessage>") + 14, ajaxResults.indexOf("</errorMessage>"));
					}
				}catch(e){alert("debug error: " + e.message);}
				if (tmpErrorMessage != "") {
					alert(tmpErrorMessage);
					if (tmpErrorMessage.toLowerCase().indexOf("must select") > -1) {
						//alert("debug: registryAdmin.aspx?fromPage=" + escape(window.location));
						window.location = "registryAdmin.aspx?selectRegistry=TRUE&nextPage=" + escape(window.location);
					}
					if (tmpErrorMessage.toLowerCase().indexOf("must login") > -1) {
						//alert("debug: registryAdmin.aspx?fromPage=" + escape(window.location));
						window.location = "registrySearch.aspx";
					}
					if (tmpErrorMessage.toLowerCase().indexOf("first create") > -1) {
						//alert("debug: registryAdmin.aspx?&actionType=REGISTRYEVENTADD);
						window.location = "registryAdmin.aspx?&actionType=REGISTRYEVENTADD";
					}
				} else {
					alert("Added");
/*
					try
					{
						document.getElementById("mypopup" + productIDArray).style.display = "none";
					}catch(e){}
					try
					{
						doHeaderCartUpdate();
					}catch(e){}

*/
				}
			}	
		} else {
			alert(errorMessage);
		}
	}
}

// ***productDetail, productGroup, category, &search***
/*added tmetzler 122308 */
	String.prototype.endsWith = function(str) 
	{return (this.match(str+"$")==str)}

	String.prototype.startsWith = function(str) 
	{return (this.match("^"+str)==str)}

	String.prototype.trim = function(){return 
	(this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""))}

	function getAjaxObject()
	{
		var returnValue = false;
		try 
		{
			returnValue = new XMLHttpRequest();
		}
		catch (trymicrosoft) 
		{
			try 
			{
				returnValue = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (othermicrosoft)
			{
				try 
				{
					returnValue = new ActiveXObject("Microsoft.XMLHTTP");
				} 
				catch (failed) 
				{
					alert(failed.message);
					returnValue = false;
				}
			}
		}
		return returnValue;
	}
/*end tmetzler add*/

function checkQty() {
var quantity = document.getElementById('OCForm1').quantity;
var valid=false;
	if (quantity.length != undefined)
	{
	for(var i=0; i<quantity.length; i++)
		{
			if (isNaN(parseInt(quantity[i].value))){
				if (quantity[i].value!="NAP"){ //allow for purchase
					quantity[i].value=1; 
				}
			} else {
				quantity[i].value=parseInt(quantity[i].value);
				if (quantity[i].value>0) { valid=true; }
				else {
				quantity[i].value=1;
				}
			}
		}
	} else {
		if (isNaN(parseInt(quantity.value))){
			if (quantity.value!="NAP"){ //allow for purchase
				quantity.value=1;
			}
		} else {	
			quantity.value=parseInt(quantity.value);
			if (quantity.value>0) { valid=true; }
			else{ 
			quantity.value=1;
			}
		}
	}
	return valid;
}
// *** productGroup, category & search ***

function getProductID(tmpItemID, elementIndex)
{
	var tExtensions = null;
	var returnValue = (tmpItemID)?tmpItemID:document.getElementById('productID').value;
	var indexValue = (elementIndex)?elementIndex:0;
	var tev;
	
	try
	{
		//debug
		//alert("PIG:" + document.getElementById('OCForm1').productIDExtensionGroups[indexValue].value);
		tExtensions = document.getElementById('OCForm1').productIDExtensionGroups[indexValue].value.split(';');
	}catch(e){}
	if (tExtensions == null)
	{
		tExtensions = document.getElementById('OCForm1').productIDExtensionGroups.value.split(';');
	}
	var singleExt = tExtensions[0];	
	//alert("the tExtensions" + tExtensions);
	//debug
	//alert ("product Id to start: " + tmpItemID);
			
	for(i=0; i<tExtensions.length; i++)
	{
		if (tExtensions[i] != '')
		{
				  //alert ("in loop:  tExtensions[i] is " + tExtensions[i]);
			if (tmpItemID){
			//for(var t=0; t<document.getElementById(tmpItemID + tExtensions[i]).options.length; t++)
			//{
			//	alert(document.getElementById(tmpItemID + tExtensions[i]).options[t].value);
			//}
			//alert("debug:true" + tmpItemID + tExtensions[i]);
			//alert("debug:esi: " + document.getElementById(tmpItemID + tExtensions[i]).selectedIndex);
			//alert("debug:eosi: " + document.getElementById(tmpItemID + tExtensions[i]).options.selectedIndex);
			//alert("debug:esol: " + document.getElementById(tmpItemID + tExtensions[i]).options.length);

			tev = document.getElementById(tmpItemID + tExtensions[i]).options[document.getElementById(tmpItemID + tExtensions[i]).selectedIndex].value;
			} else {
			tev = document.getElementById(tExtensions[i]).options[document.getElementById(tExtensions[i]).selectedIndex].value;
			}
			returnValue += tev;			
		}
	} 
	//alert ("the id: " + tmpItemID);
	//alert("the return value is" + returnValue);
	return returnValue;
}

function getCurrentPrice(tmpItemID, elementIndex)
{
	var returnValue = 0;
	var tmpInvtID = (tmpItemID)?getProductID(tmpItemID, elementIndex):getProductID();
	//debug
	//alert("TI:" + tmpInvtID);
	//alert(tmpInvtID);
	try
	{
		returnValue = parseFloat(itemPrices[tmpInvtID]);
		returnValue = returnValue.toFixed(2);		
	}catch(e){}	
	if ((returnValue == 0) || (isNaN(returnValue)))
	{
		returnValue = 0;
		if (tmpItemID){
			try{
				if (document.getElementById('OCForm1').productID.length!= undefined){
					document.getElementById('OCForm1').dynamicProductID[elementIndex].value = "";
				} else {
					document.getElementById('OCForm1').dynamicProductID.value = "";
				}
			} catch(e){}
		}
	}
	else
	{ 
		try
		{
			if (tmpItemID){
				if (document.getElementById('OCForm1').productID.length!= undefined){
					document.getElementById('OCForm1').dynamicProductID[elementIndex].value = tmpInvtID;
				} else {
					document.getElementById('OCForm1').dynamicProductID.value = tmpInvtID;
				}
			}
		}catch(e){}
	}
	//alert("sending item to function bedsize" + tmpInvtID);
	if (tmpInvtID.startsWith("MAR-124")) {
	//alert("wow it does");
	bedsize(tmpInvtID);
	}

	//alert(returnValue);
	return returnValue;	
}

function getoldCurrentPrice(tmpItemID, elementIndex)
{
	var returnValue = 0;
	var tmpInvtID = (tmpItemID)?getProductID(tmpItemID, elementIndex):getProductID();
	//alert("debug: getOldCurrentPrice tmpInvtID: " + tmpInvtID);
	try
	{
		returnValue = parseFloat(itemListPrices[tmpInvtID]);
		returnValue = returnValue.toFixed(2)
	}catch(e){}
	
	if ((returnValue == 0) || (isNaN(returnValue)))
	{
		returnValue = 0;			
	}		
	return returnValue;	
}

// ***productGroup***
function showPrice()
{
	var tmpInvtID = getProductID();//alert(tmpInvtID);
	var tmpPrice = 0;
	var oldPrice = 0;
	tmpPrice = getCurrentPrice();//alert(tmpPrice);
	oldPrice = getoldCurrentPrice();
	if ((tmpPrice != "0") && (oldPrice != "0") && (tmpPrice != oldPrice)){
		document.getElementById('currentPrice').innerHTML="<strike>Price: $" + oldPrice + "</strike><br><span class=\"salePrice\">Sale Price: $" + tmpPrice + "</span>";
		document.getElementById("OCForm1").quantity.value=1;
	} else { 
		if (tmpPrice != "0"){
		document.getElementById('currentPrice').innerHTML="Price: $" + tmpPrice;
		document.getElementById("OCForm1").quantity.value=1;
		}else {
		document.getElementById('currentPrice').innerHTML="Select an Option";
		document.getElementById("OCForm1").quantity.value=1;
		}
	}
}


// ***category & Search***

function doExtensionChange(tmpItemID)
{
	//alert(tmpItemID);
	var productIDs = document.getElementById('OCForm1').productID;
	var elementIndex = 0;
	//alert(productIDs.length);
	if (productIDs.length != undefined) 
	{  // more than one item
		for(var i=0; i<productIDs.length; i++)
		{
			//alert(productIDs[i].value + ":" + tmpItemID);
			if (productIDs[i].value == tmpItemID)
			{
				//alert('match');
				elementIndex = i;
				i=productIDs.length;
			}
		}	
		//debug
		//alert(tmpItemID + ":" + elementIndex);		
		var p = getCurrentPrice(tmpItemID, elementIndex);

		//alert("debug:p:" + p);
		var oldp = getoldCurrentPrice(tmpItemID, elementIndex);
		//alert(document.getElementById('currentPrice' + elementIndex).innerHTML);
		if (document.getElementById('OCForm1').searchUI_changePageNumber!=undefined)	{ //search page
			if (p != "0")
			{
				document.getElementById('currentPrice' + elementIndex).innerHTML= "Price: " + formatCurrency(p);
				if (document.getElementById("OCForm1").quantity[elementIndex].value!="NAP"){ //allow for purchase
					document.getElementById("OCForm1").quantity[elementIndex].value=1;
					document.getElementById("OCForm1").quantity[elementIndex].focus();
				}
			} else {
				document.getElementById('currentPrice' + elementIndex).innerHTML="Price: " + document.getElementById("OCForm1").priceRange[elementIndex].value;
				if (document.getElementById("OCForm1").quantity[elementIndex].value!="NAP"){ //allow for purchase
					document.getElementById("OCForm1").quantity[elementIndex].value=1;
				}
			}			
		} else { 	//category page
			if ((p != "0") && (oldp != "0") && (p != oldp))
			{
				document.getElementById('currentPrice' + elementIndex).innerHTML="<strike>Price: " + formatCurrency(oldp) + "</strike>" + "<br><span class=\"salePrice\">Sale Price: " + formatCurrency(p) + "</span>";
				if (document.getElementById("OCForm1").quantity[elementIndex].value!="NAP")
				{ //allow for purchase
					document.getElementById("OCForm1").quantity[elementIndex].value=1;
				}
			} else { 	
				if (p != "0"){
					document.getElementById('currentPrice' + elementIndex).innerHTML="Price: " + formatCurrency(p);
					if (document.getElementById("OCForm1").quantity[elementIndex].value!="NAP")
					{ //allow for purchase
						document.getElementById("OCForm1").quantity[elementIndex].value=1;
					}
				}else {
					document.getElementById('currentPrice' + elementIndex).innerHTML="Price: " + document.getElementById("OCForm1").priceRange[elementIndex].value;
					if (document.getElementById("OCForm1").quantity[elementIndex].value!="NAP")
					{ //allow for purchase
						document.getElementById("OCForm1").quantity[elementIndex].value=1;
					}
				}
			}			
		}	
	} else {		// one item
		var p = getCurrentPrice(tmpItemID, 0);
		var oldp = getoldCurrentPrice(tmpItemID, 0);
		if (document.getElementById('OCForm1').searchUI_changePageNumber!=undefined)	{ //search page	
			if (p != "0")
			{
				document.getElementById('currentPrice0').innerHTML= "Price: " + formatCurrency(p);
				if (document.getElementById("OCForm1").quantity.value!="NAP"){ //allow for purchase
					document.getElementById("OCForm1").quantity.value=1;
					document.getElementById("OCForm1").quantity.focus();
				}
			} else {
				document.getElementById('currentPrice0').innerHTML= "Price: " + document.getElementById("OCForm1").priceRange.value;
				if (document.getElementById("OCForm1").quantity.value!="NAP"){ //allow for purchase
					document.getElementById("OCForm1").quantity.value=1;
				}
			}
		} else {
			if ((p != "0") && (oldp != "0") && (p != oldp))
			{
				document.getElementById('currentPrice0').innerHTML="<strike>Price: " + formatCurrency(oldp) + "</strike>" + "<br><span class=\"salePrice\">Sale Price: " + formatCurrency(p) + "</span>";
				if (document.getElementById("OCForm1").quantity.value!="NAP"){ //allow for purchase
					document.getElementById("OCForm1").quantity.value=1;
				}

			} else { 	
				if (p != "0"){
					document.getElementById('currentPrice0').innerHTML="Price: " + formatCurrency(p);
					if (document.getElementById("OCForm1").quantity.value!="NAP"){ //allow for purchase
						document.getElementById("OCForm1").quantity.value=1;
					}
				}else {
					document.getElementById('currentPrice0').innerHTML="Select an Option";
					if (document.getElementById("OCForm1").quantity.value!="NAP"){ //allow for purchase
						document.getElementById("OCForm1").quantity.value=1;
					}
				}
			}				
		}
	}
}	

// ***search***

function doSearch()
{
	var searchString = '';
	try
	{
		searchString = document.getElementById('OCForm1').searchUI_tbProductName.value;
	}catch(e){}

	if (searchString != '')
	{
		document.getElementById('OCForm1').actionType.value = "SEARCH";
		document.getElementById('OCForm1').submit();
	}
	else
	{
		alert('Enter a search term');
	}	
}

function checkEnterSearch(myevent)
{
	try
	{	//if they hit the enter key
		if (myevent.keyCode == 13)
		{
			doSearch();
			myevent.keyCode = 8;
			myevent.returnValue = false;
			return false;
		}
		else
		{
			return true;
		}
	}catch( e ){}
	
	return false;
}

function newWindow(page, xVal, yVal)
{
	var newWindow=window.open(page,'theWin','top=100,left=100,toolbar=0,directories=0,status=1,menubar=0,scrollbars=0,resizable=1,copyhistory=0,width='+xVal+',height='+yVal);
	newWindow.focus();
}

function clearInput(x){
document.getElementById(x).value="";
}

function MM_preloadImages() { 
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) {
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { 
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_swapImgRestore() { 
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}


