<!--script type="text/javascript"-->
var debug = 0; // 0 -> quiet, >0 noiser

function updateCartFromCookie() {
	var kv_array = parseCartCookie();
	// for each form row
	for ( var row=1; row<=document.getElementById("num_items").value; row++ ) {
		var seq = document.getElementById("seq_"+row).value;
		// see if the seq number is in the cart
		for ( var i=0; i<kv_array.length; i+=5 ) {
			if ( seq == getSeqFromCookie(kv_array[i]) ) {
				// update the form row
				document.getElementById("sku_"+row).value = kv_array[i];
				document.getElementById("qty_"+row).value = kv_array[i+1];
				document.getElementById("catno_"+row).innerHTML = kv_array[i];
			}
		}
	}
}

function updateCart() {
	var qty = 0;
	for ( var row=1; row<=document.getElementById("num_items").value; row++ ) {
		if ( document.getElementById("qty_"+row).value > 0 ) qty += updateCartRow(row);
	}
	if ( qty > 1 ) {
		document.getElementById("num_items_added").innerHTML = qty + " items selected";
	} else if ( qty == 1 ) {
		document.getElementById("num_items_added").innerHTML = "1 item selected";
	} else {
		document.getElementById("num_items_added").innerHTML = "";
	}
}

function updateCartRow(row) {
	var sku   = document.getElementById("sku_"+row).value;
	var qty   = document.getElementById("qty_"+row).value;
	var price = document.getElementById("price_"+row).value;
	var seq   = document.getElementById("seq_"+row).value;
	var wt    = document.getElementById("weight_"+row).value;
	if ( qty > 1 && sku != "" ) {
//		document.getElementById("num_items_added").innerHTML = qty + " " + sku + " items added";
	} else if ( qty == 1 && sku != "" ) {
//		document.getElementById("num_items_added").innerHTML = qty + " " + sku + " item added";
	} else if ( qty == "" && sku != "" ) {
		qty = 0;
		alert("Enter quantity you need, then click the add to cart icon");
	} else {
//		document.getElementById("num_items_added").innerHTML = "";
		qty = 0;
		alert("Select pin length and enter quantity you need, then click the add to cart icon.");
	}
	if ( qty > 0 && sku != "" ) setQtyAndPriceInCart(sku,qty,price,seq,wt);
	else removeSkuFromCart(sku);

	return parseInt(qty);
}

function setCatNum(row) {
	// get selected pin length, "-Lxx-"
	pinlen = "-L"+document.getElementById("pinlength_"+row).options[document.getElementById("pinlength_"+row).selectedIndex].value+"-";
	// display the new catalog number
	document.getElementById("catno_"+row).innerHTML = document.getElementById("catno_"+row).innerHTML.replace(/-L.*-/, pinlen);
	// save as the SKU in the hidden form field
	document.getElementById("sku_"+row).value = document.getElementById("catno_"+row).innerHTML;
}

function setBaseCatNum(row) {
	// get selected base style, "-Bxx-"
	pinlen = "-"+document.getElementById("pinlength_"+row).options[document.getElementById("pinlength_"+row).selectedIndex].value+"-";
	// display the new catalog number
	document.getElementById("catno_"+row).innerHTML = document.getElementById("catno_"+row).innerHTML.replace(/-B.*-/, pinlen);
	// save as the SKU in the hidden form field
	document.getElementById("sku_"+row).value = document.getElementById("catno_"+row).innerHTML;

	

}

function setAssemblyCatNum(row) {
	// get selected aperture style, "-xx-"
	pinlen = "A-"+document.getElementById("pinlength_"+row).options[document.getElementById("pinlength_"+row).selectedIndex].value;
        basestyle = "-"+document.getElementById("basestyle_"+row).options[document.getElementById("basestyle_"+row).selectedIndex].value;
        // display the new catalog number
	document.getElementById("catno_"+row).innerHTML =pinlen+basestyle;
	// save as the SKU in the hidden form field
	document.getElementById("sku_"+row).value = document.getElementById("catno_"+row).innerHTML;
}
function setHTAssemblyCatNum(row) {
	// get selected aperture style, "-xx-"
	pinlen = "HTA-"+document.getElementById("pinlength_"+row).options[document.getElementById("pinlength_"+row).selectedIndex].value;
        basestyle = "-"+document.getElementById("basestyle_"+row).options[document.getElementById("basestyle_"+row).selectedIndex].value;
        // display the new catalog number
	document.getElementById("catno_"+row).innerHTML =pinlen+basestyle;
	// save as the SKU in the hidden form field
	document.getElementById("sku_"+row).value = document.getElementById("catno_"+row).innerHTML;

}

function setLoaderCatNum(row) {
	// get selected loader style, "-gggg"
	pinlen = "1-"+document.getElementById("pinlength_"+row).options[document.getElementById("pinlength_"+row).selectedIndex].value;
	// display the new catalog number
	document.getElementById("catno_"+row).innerHTML = document.getElementById("catno_"+row).innerHTML.replace(/1-.*/, pinlen);
	// save as the SKU in the hidden form field
	document.getElementById("sku_"+row).value = document.getElementById("catno_"+row).innerHTML;





}

function viewSelections() {
	var sel = "";
	var price = 0;
	for ( var row=1; row<=document.getElementById("num_items").value; row++ ) {
		var qty = document.getElementById("qty_"+row).value;
		var sku = document.getElementById("sku_"+row).value;
		if ( qty > 0 ) {
			price += parseFloat(document.getElementById("price_"+row).value)*parseFloat(qty);
			sel += qty + " of " + sku + "\n";
		}
	}
	if ( sel != "" ) alert("Selections from this page:\n" + sel + "\nTotal: $" + 100*price/100);
	else alert("No selections yet from this page.");
}

function clearSelections() {
	document.getElementById("num_items_added").innerHTML = "";
	for ( var row=1; row<=document.getElementById("num_items").value; row++ ) {
		var sku = document.getElementById("sku_"+row).value;
		removeSkuFromCart(sku);
	}
	document.orderform.reset();
}

function getCartCookie() {
	var cart = ""; // default cart
	var allcookies = document.cookie;
	var start = allcookies.indexOf("cart=");
	if ( start != -1 ) {
		// find end of cart
		end = allcookies.indexOf(";", start+5);
		if ( end == -1 ) end = allcookies.length;
		cart = allcookies.substring(start+5,end);
	}
	if ( debug > 0 ) alert("getCartCookie():"+cart);
	return cart;
}

function parseCartCookie() {
	var cart = getCartCookie();
	var kv_array = new Array;
	// only split on | if we know it's there, otherwise get undefined entries in kv_array
	if ( cart.indexOf("|") != -1 ) {
		tmp = cart.split("|");
		for ( var i=0; i<tmp.length; i+=5 ) {
			if ( tmp[i] !== undefined && tmp[i+1] !== undefined && tmp[i+2] !== undefined && tmp[i+3] !== undefined && tmp[i+4] !== undefined ) {
				kv_array.push(tmp[i],tmp[i+1],tmp[i+2],tmp[i+3],tmp[i+4]);
			}
		}
		if ( debug > 0 ) {
			var kv = "";
			for ( var i=0; i<kv_array.length; i+=5 ) {
				kv += kv_array[i] + "," + kv_array[i+1] + "," + kv_array[i+2] + "," + kv_array[i+3] + "," + kv_array[i+4] + "; ";
			}
			alert("parseCartCookie(): "+kv);
		}
	}
	return kv_array; // array contains sku, val pairs
}

function getQtyFromCookie(sku) {
	var kv_array = parseCartCookie();
	for ( var i=0; i<kv_array.length; i+=5 ) {
		if ( kv_array[i] == sku ) {
			return kv_array[i+1];
		}
	}
	return;
}

function getSeqFromCookie(sku) {
	var kv_array = parseCartCookie();
	for ( var i=0; i<kv_array.length; i+=5 ) {
		if ( kv_array[i] == sku ) {
			return kv_array[i+2];
		}
	}
	return;
}

function setQtyAndPriceInCart(sku,qty,price,seq,wt) {
	var exists = false;
	var cart = "cart=";
	var kv_array = parseCartCookie();
	
	// if already in list, update the quantity
	for ( var i=0; i<kv_array.length; i+=5 ) {
		if ( kv_array[i] == sku ) {
			// update values
			exists = true;
			cart += sku + "|" + qty + "|" + seq + "|" + price + "|" + wt + "|";
		} else {
			// keep existing values
			cart += kv_array[i] + "|" + kv_array[i+1] + "|" + kv_array[i+2] + "|" + kv_array[i+3] + "|" + kv_array[i+4] + "|";
		}
	}
	// else add the item and quantity
	if ( ! exists ) cart += sku + "|" + qty + "|" + seq + "|" + price + "|" + wt + "|";
	cart += ";"
	document.cookie = cart;
	if ( debug > 0 ) alert("setQtyAndPriceInCart():"+cart+"\n"+document.cookie);
	return;
}

function removeSkuFromCart(sku) {
	var cart = "cart=";
	var kv_array = parseCartCookie();
	for ( var i=0; i<kv_array.length; i+=5 ) {
		if ( kv_array[i] != sku ) {
			cart += kv_array[i] + "|" + kv_array[i+1] + "|" + kv_array[i+2] + "|" + kv_array[i+3] + "|" + kv_array[i+4] + "|";
		}
	}
	cart += ";"
	document.cookie = cart;
	if ( debug > 0 ) alert("removeSkuFromCart():"+cart+"\n"+document.cookie);
	return;
}	
<!--/script-->

