

var ShippingRegion = ""; // this is set to either the usa, can, int to identify which shipping has been shown
var shippingLevelSelected = false;
	var month=new Array(12);
		month['01']="January";
		month['02']="February";
		month['03']="March";
		month['04']="April";
		month['05']="May";
		month['06']="June";
		month['07']="July";
		month['08']="August";
		month['09']="September";
		month['10']="October";
		month['11']="November";
		month['12']="December";
//################################ AJAX JSON FUNCTIONS ###################################
var handleSuccess = function(o){ 
		ajaxInProcess = false; //the product is now added
	    if(o.responseText !== undefined){ 
	       // div.innerHTML = "Transaction id: " + o.tId; 
	        //div.innerHTML += "HTTP status: " + o.status; 
	        //div.innerHTML += "Status code message: " + o.statusText; 
	        //div.innerHTML += "HTTP headers: " + parseHeaders(); 
	        //div.innerHTML += "Server response: " + o.responseText; 
	        //div.innerHTML += "Argument object: property foo = " + o.argument.foo + 
              //           "and property bar = " + o.argument.bar; 
			var result = YAHOO.lang.JSON.parse(o.responseText); 
			
	
			if (whichaction == "changeqty") {
				shippingLevelSelected = false; //reset shipping level selected as we now need to get shipping again
				//document.getElementById('prod_unit_price'+result.partnumberid).innerHTML = result.unitprice; 
				document.getElementById('prod_sub_total'+result.partnumberid).innerHTML = result.unitsubtotal; 
				document.getElementById('product_total_price').innerHTML = result.productstotalprice;
				//document.getElementById('discount_text'+result.partnumberid).innerHTML = result.discounttext;
				document.getElementById('sub_total').value = result.subtotalnumber; 
				document.getElementById('weight').value = result.totalweight; 
				document.getElementById('usa_unit_price'+result.partnumberid).value = result.unitpriceUSD;
				document.getElementById('can_unit_price'+result.partnumberid).value = result.unitpriceCND;
				if (result.discountlevel != "1") {
					document.getElementById('discount_text_zone'+result.partnumberid).style.visibility = 'visible';
					document.getElementById('discount_level'+result.partnumberid).innerHTML = result.discountlevel;
					document.getElementById('discount_amount'+result.partnumberid).innerHTML = result.discountamount;
					document.getElementById('discount_reference'+result.partnumberid).value = result.discountamount;
				} else {
					//no discount
					document.getElementById('discount_text_zone'+result.partnumberid).style.visibility = 'hidden';
				}
				
			} else if (whichaction == "removeproduct") {
				shippingLevelSelected = false; //reset shipping level selected as we now need to get shipping again
				document.getElementById('numberofproducts').value = Number(document.getElementById('numberofproducts').value)-1; //take one of the product count
				if (result.cartisempty == "true") {
					//the produce removed was the last product so now the cart is empty
					document.getElementById('cart_products_container').innerHTML = '<div style="width:100%"><div style="width:727px; margin:0 auto; padding:0px; border-bottom: solid 1px #CCCCCC; font-size:16px; font-weight:bold; color:#000099">No Products In Cart</div><div style="width:727px; margin:0 auto;"><BR/><BR/><BR/><input type="button" name="continue" id="continue" value="Continue Shopping" onclick="location.href=\'http://glowproducts.com\'" style="color:#CE0000; font-size:16px; font-weight:bold;" /></div><BR/><BR/><BR/><BR/><div style="width:727px; margin:0 auto; border-top: solid 2px #000000;"><table width="100%" height="100%" border="0" cellpadding="6" cellspacing="0"><tr><td width="34%" align="right" valign="top"><span id="product_total_price" class="largefont">Sub-Total: $0.00 '+document.getElementById("currencytype").value+'</span></td></tr></table></div></div>';
					document.getElementById('shipping_entry').style.display = 'none';
				} else {
					document.getElementById('product_total_price').innerHTML = result.productstotalprice; 
					el = document.getElementById(result.partnumberid);
					el.parentNode.removeChild(el); //remove the product for the cart list being displayed
					document.getElementById('sub_total').value = result.subtotalnumber; 
					document.getElementById('weight').value = result.totalweight; 
				}

			} else if (whichaction == "getshipping") {
				//RESET EVERYTHING TO START
				document.getElementById('shippingmethod').value = ""; //reset value
				YAHOO.example.calendar.cal1.removeRenderers(); 
				YAHOO.example.calendar.cal1.deselectAll();
				shippingLevelSelected = false; //reset shipping level selected as we now need to get shipping again
				document.getElementById('required_date_feedback').style.visibility = "hidden";
				document.getElementById('reqd_year').selectedIndex = 0;
				document.getElementById('reqd_month').selectedIndex = 0;
				document.getElementById('reqd_day').selectedIndex = 0;
				document.getElementById('standarddelivery').value = "";
				document.getElementById('expediteddelivery').value = "";
				document.getElementById('expressdelivery').value = "";
				
				//rate results array order is 'service code', 'tax on order, 'total shipping cost', 'final total cost'
				//time results array order is 'total transit days', 'service description
					if (typeof(result.error) == 'undefined') {
						document.getElementById('usa_shipping_display').style.display = 'inline';
						document.getElementById('usa_shipping_display').style.visibility = 'visible';
						document.getElementById('notice_selectshipping').style.visibility = 'visible'; //show select shipping notice
						document.getElementById('final_total_area').style.display = 'none'; //hide the totals and proceed until shipping is selected
						location.hash="see_shipping_all"; //jump to show all shipping info
						if (whichcountry == "US") {
							ShippingRegion = "usa";
							document.getElementById('usa_shipentry_feedback').innerHTML = "";	

						} else {
							//this is an Canadian shipment
							ShippingRegion = "can";
							document.getElementById('can_shipentry_feedback').innerHTML = "";

						}
						var the_shipping_table = "<table width='408' border='0' cellspacing='4' cellpadding='3'>";
						var all_shipping_methods =result.rateandtime.split("^"); //divide by complete methods
							for (var i=0; i<all_shipping_methods.length; i++) {
								//all_delivery_details goes code 0, tax 1, shipping cost 2, total 3, delivery date 4, description 5
								var all_delivery_details = all_shipping_methods[i].split("|");
								deliverydate_text=all_delivery_details[4].split("/");
								var delivery_dateformat = month[deliverydate_text[0]]+" "+deliverydate_text[1]+", "+deliverydate_text[2];
								if (all_delivery_details[5] == "UPS Worldwide Express" || all_delivery_details[5] == "UPS Express Saver") {
									document.getElementById('expressrate').value = all_delivery_details[2];
									document.getElementById('expresscode').value = all_delivery_details[0];
									document.getElementById('expresstax').value = all_delivery_details[1];
									document.getElementById('expressdelivery').value = all_delivery_details[4];
									//YAHOO.example.calendar.cal1.addRenderer(all_delivery_details[4], YAHOO.example.calendar.cal1.renderCellStyleHighlight1);
									var expressTotal = new Number((Number(all_delivery_details[2])+Number(document.getElementById('expresstax').value)+Number(document.getElementById('sub_total').value)));
									the_shipping_table += "<tr><td width='30' align='center' valign='middle' bgcolor='#F0F0F0'><input name='ship_button_express' id='ship_button_express' type='radio' value='radiobutton' onclick='selectShippingLevel(\"express\")' /></td><td width='26' height='26'><div id='express_color_square' class='ship_colorsquare_express' onclick='selectShippingLevel(\"express\")'></div></td><td width='78' bgcolor='#F0F0F0'><span id='textexpress1' class='largefont'>Express</span></td><td width='273' bgcolor='#F0F0F0'><span id='textexpress2' class='largefont'>$"+all_delivery_details[2]+" "+document.getElementById('currencytype').value+"</span><BR/><span style='font-size:12px; color:#000;'>Approx: Next Business Day</span></td></tr>";
									
								} else if (all_delivery_details[5] == "UPS Worldwide Expedited") {
									document.getElementById('expeditedrate').value = all_delivery_details[2];
									document.getElementById('expeditedcode').value = all_delivery_details[0];
									document.getElementById('expeditedtax').value = all_delivery_details[1];
									document.getElementById('expediteddelivery').value = all_delivery_details[4];
									//YAHOO.example.calendar.cal1.addRenderer(all_delivery_details[4], YAHOO.example.calendar.cal1.renderCellStyleHighlight3);
									the_shipping_table += "<tr><td width='30' align='center' valign='middle' bgcolor='#F0F0F0'><input name='ship_button_expedited' id='ship_button_expedited' type='radio' value='radiobutton' onclick='selectShippingLevel(\"expedited\")' /></td><td width='26' height='26'><div id='expedited_color_square' class='ship_colorsquare_expedited' onclick='selectShippingLevel(\"expedited\")'></div></td><td width='78' bgcolor='#F0F0F0'><span id='textexpedited1' class='largefont'>Expedited</span></td><td width='273' bgcolor='#F0F0F0'><span id='textexpedited2' class='largefont'>$"+all_delivery_details[2]+" "+document.getElementById('currencytype').value+"</span><BR/><span style='font-size:12px; color:#000;'>Approx: Two Business Days</span></td></tr>"; 
									
								} else if (all_delivery_details[5] == "UPS Standard") { //UPS Standard

									document.getElementById('standardrate').value = all_delivery_details[2];
									document.getElementById('standardcode').value = all_delivery_details[0];
									document.getElementById('standardtax').value = all_delivery_details[1];
									document.getElementById('standarddelivery').value = all_delivery_details[4];
									//YAHOO.example.calendar.cal1.addRenderer(all_delivery_details[4], YAHOO.example.calendar.cal1.renderCellStyleHighlight2);
									var standardTotal = new Number((Number(all_delivery_details[2])+Number(document.getElementById('standardtax').value)+Number(document.getElementById('sub_total').value)));
									if (result.st_bus_day != "") { var st_btime = "Approx: "+result.st_bus_day+" - "+(Number(result.st_bus_day)+3)+" Business Days";} else { var st_btime = "";}
									the_shipping_table += "<tr><td width='30' align='center' valign='middle' bgcolor='#F0F0F0'><input name='ship_button_standard' id='ship_button_standard' type='radio' value='radiobutton' onclick='selectShippingLevel(\"standard\")' /></td><td width='26' height='26'><div id='standard_color_square' class='ship_colorsquare_standard' onclick='selectShippingLevel(\"standard\")'></div></td><td width='78' bgcolor='#F0F0F0'><span id='textstandard1' class='largefont'>Standard</span></td><td width='273' bgcolor='#F0F0F0'><span id='textstandard2' class='largefont'>$"+all_delivery_details[2]+" "+document.getElementById('currencytype').value+"</span><BR/><span style='font-size:12px; color:#000;'>"+st_btime+"</span></td></tr>";
								}
							}
							the_shipping_table += "</table>";
							document.getElementById('shipping_prices').innerHTML = the_shipping_table;
							
						document.getElementById('hzip').value = result.zip;
						document.getElementById('hcity').value = result.city;
						document.getElementById('hstate').value = result.state;
						document.getElementById('hcountry').value = result.country;
						
						YAHOO.example.calendar.cal1.render();
						
							
					} else {
						document.getElementById('usa_shipping_display').style.display = 'none';
						if (whichcountry == "US") {
							document.getElementById('usa_shipentry_feedback').innerHTML = "<span style='font-weight:bold; color:#CE0000;'>Unable to get shipping. Please check the Zip code entered is correct and try again.</span>";
						} else {
							document.getElementById('can_shipentry_feedback').innerHTML = "<span style='font-weight:bold; color:#CE0000;'>Unable to get shipping. Please check the address information entered is correct and try again.</span>";
						}
					}

			}
	    } else {
            alert('There was a problem with the request. Status: '+o.statusText);
         }
   }
   
   var handleFailure = function(o){
		if(o.responseText !== undefined){
			alert("failed in ajax");
		}
	}
   
   //ajax call back from yahoo communication widget
   var ajaxcallback = 
	{ 
		success:handleSuccess,
  		failure:handleFailure,
  		argument: { foo:"foo", bar:"bar" }
	};
   

   var ajaxInProcess = false;
   var whichaction = "";
   var whichcountry = "";
   var millisecondIEfix = "";
   function getAJAX(obj, action, id) {
	   		
				if (!ajaxInProcess) {
					ajaxInProcess = true;
					millisecondIEfix = '&MS=' + new Date().getTime();
					//clear all feedback fields with each new ajax request
					document.getElementById('can_shipentry_feedback').innerHTML = "";
					document.getElementById('usa_shipentry_feedback').innerHTML = "";
					//document.getElementById('add_notice').innerHTML = "wait... product being added"; 
					if (action == "changeqty") {
						//alert("why is my currency Canadian "+document.getElementById('currencytype').value);
						//hide all shipping details and have the user recalculate them
						document.getElementById('usa_shipping_display').style.display = 'none';
						document.getElementById('usa_shipping_entry').className  = 'horizontal_ship_entryzone_hidden';
						document.getElementById('can_shipping_entry').className  = 'horizontal_ship_entryzone_hidden';
						document.getElementById('int_shipping_entry').className  = 'horizontal_ship_entryzone_hidden';
						document.getElementById('opening_statements').style.display = 'inline';
						ShippingRegion = ""; //reset
						document.getElementById('prod_sub_total'+id).innerHTML = "<img src='images/ajax-loader.gif' alt='loading' width='43' height='11' />";
						document.getElementById('product_total_price').innerHTML = "<img src='images/ajax-loader.gif' alt='loading' width='43' height='11' />";
						var add_urlpath = "cartactions/changequantity.php";
						var qtyid = "QTY_"+id;
						var getData = add_urlpath+"?CODE="+ encodeURI(id)+"&QTY="+encodeURI( document.getElementById(qtyid).value)+"&CURRENCY="+encodeURI(document.getElementById('currencytype').value+millisecondIEfix);
					} else if (action == "removeproduct") {
						//hide all shipping details and have the user recalculate them
						document.getElementById('usa_shipping_display').style.display = 'none';
						document.getElementById('usa_shipping_entry').className  = 'horizontal_ship_entryzone_hidden';
						document.getElementById('can_shipping_entry').className  = 'horizontal_ship_entryzone_hidden';
						document.getElementById('int_shipping_entry').className  = 'horizontal_ship_entryzone_hidden';
						document.getElementById('opening_statements').style.display = 'inline';
						ShippingRegion = ""; //reset
						document.getElementById('product_total_price').innerHTML = "<img src='images/ajax-loader.gif' alt='loading' width='43' height='11' />";
						var add_urlpath = "cartactions/removeproduct.php";
					 	var getData = add_urlpath+"?CODE="+ encodeURI(id)+"&CURRENCY="+encodeURI(document.getElementById('currencytype').value+millisecondIEfix); 
					} else if (action == "getshipping") {
						document.getElementById('usa_shipping_display').style.display = 'none';
						//change currency and update prices if ship to country changes form current country / currency
							/*if (id == "US" && document.getElementById('currencytype').value != "USD") {
								//change currency and prices to American
								changeCurrencyPrices('usa');
							} else if (id == "CA" && document.getElementById('currencytype').value != "CND") {
								//change currency and prices to Canadian
								changeCurrencyPrices('can');
								
							}*/
							
						var add_urlpath = "cartactions/getshipping.php";
						if (id == "US") {
							//american address
							whichcountry = "US";
					 		var getData = add_urlpath+"?weight="+encodeURI( document.getElementById('weight').value)+"&zip="+encodeURI( document.getElementById('zip').value)+"&sub_total="+encodeURI( document.getElementById('sub_total').value+millisecondIEfix); 
							document.getElementById('usa_shipentry_feedback').innerHTML = "<img src='images/ajax-loader.gif' alt='loading' width='43' height='11' />";
						} else {
							//Canadian address
							whichcountry = "CA";
							var getData = add_urlpath+"?weight="+encodeURI( document.getElementById('weight').value)+"&postalcode="+encodeURI( document.getElementById('postalcode').value)+"&city="+encodeURI( document.getElementById('city').value)+"&province="+encodeURI( document.getElementById("province").options[document.getElementById("province").selectedIndex].value)+"&sub_total="+encodeURI( document.getElementById('sub_total').value+millisecondIEfix); 
							document.getElementById('can_shipentry_feedback').innerHTML = "<img src='images/ajax-loader.gif' alt='loading' width='43' height='11' />";
						}
					}				 
	
					//call Yahoo Ajax communication widget
					
					var ajaxrequest = YAHOO.util.Connect.asyncRequest('GET', getData, ajaxcallback);	

					whichaction = action;
				} else {
					//document.forms['products'].elements['QTY'].value = "";	
					alert("The previous action is still being processed - please wait");
				}

   }

//-------------------------------------- Horizontal Bar Selection (Hide & Show) -----------------------------
function horizontalBarSelection(which) {
	if (!ajaxInProcess) {
		document.getElementById('notice_selectshipping').style.visibility = 'hidden';
		document.getElementById('required_date_feedback').style.visibility = "inherit";
		//document.getElementById('final_total_area').style.display = 'none';
		if (which == "usa") {
			document.getElementById('usa_shipping_entry').className  = 'horizontal_ship_entryzone_shown';
			document.getElementById('can_shipping_entry').className  = 'horizontal_ship_entryzone_hidden';
			document.getElementById('int_shipping_entry').className  = 'horizontal_ship_entryzone_hidden';
			document.getElementById('ship_usa').checked=true;
			document.getElementById('ship_can').checked=false;
			document.getElementById('ship_int').checked=false;
			if (ShippingRegion == "usa") {
				document.getElementById('usa_shipping_display').style.visibility = 'visible';
				/*if (shippingLevelSelected) {
					document.getElementById('final_total_area').style.display = 'inline';
				} else {
					document.getElementById('final_total_area').style.display = 'none';
				}*/
			} else {
				document.getElementById('usa_shipping_display').style.visibility = 'hidden';
			}
			changeCurrencyPrices('usa');
		} else if (which == "can") {
			document.getElementById('usa_shipping_entry').className  = 'horizontal_ship_entryzone_hidden';
			document.getElementById('can_shipping_entry').className  = 'horizontal_ship_entryzone_shown';
			document.getElementById('int_shipping_entry').className  = 'horizontal_ship_entryzone_hidden';
			document.getElementById('ship_usa').checked=false;
			document.getElementById('ship_can').checked=true;
			document.getElementById('ship_int').checked=false;
			if (ShippingRegion == "can") {
				document.getElementById('usa_shipping_display').style.visibility = 'visible';
				/*if (shippingLevelSelected) {
					document.getElementById('final_total_area').style.visibility = 'visible';
				} else {
					document.getElementById('final_total_area').style.visibility = 'hidden';
				}*/
			} else {
				document.getElementById('usa_shipping_display').style.visibility = 'hidden';
			}
			changeCurrencyPrices('can');
		} else if (which == "int") {
			document.getElementById('usa_shipping_entry').className  = 'horizontal_ship_entryzone_hidden';
			document.getElementById('can_shipping_entry').className  = 'horizontal_ship_entryzone_hidden';
			document.getElementById('int_shipping_entry').className  = 'horizontal_ship_entryzone_shown';
			document.getElementById('ship_usa').checked=false;
			document.getElementById('ship_can').checked=false;
			document.getElementById('ship_int').checked=true;
			document.getElementById('usa_shipping_display').style.visibility = 'hidden';
			changeCurrencyPrices('usa'); //make sure the currency is US for international orders
		}
		document.getElementById('opening_statements').style.display = 'none'; //hide enter shipping notice
	}
}
/* ------------------------ SELECT SHIPPING LEVEL ----------------------------------------------------------- */
function selectShippingLevel(level) {

	if (!ajaxInProcess) {
		YAHOO.example.calendar.cal1.removeRenderers(); 
		shippingLevelSelected = true; //a shipping level /method has been chosen
		if (level == "standard") {
			if (document.getElementById('ship_button_standard')) {document.getElementById('ship_button_standard').checked=true;}
			if (document.getElementById('ship_button_expedited')) {document.getElementById('ship_button_expedited').checked=false;}
			if (document.getElementById('ship_button_express')) {document.getElementById('ship_button_express').checked=false;}
			if (document.getElementById('standard_color_square')) {document.getElementById('standard_color_square').className = 'ship_colorsquare_standard';}
			if (document.getElementById('expedited_color_square')) {document.getElementById('expedited_color_square').className = 'ship_colorsquare_expedited_fade';}
			if (document.getElementById('express_color_square')) {document.getElementById('express_color_square').className = 'ship_colorsquare_express_fade';}
			if (document.getElementById('textstandard1')) {document.getElementById('textstandard1').className = 'largefont';}
			if (document.getElementById('textstandard2')) {document.getElementById('textstandard2').className = 'largefont';}
			if (document.getElementById('textexpedited1')) {document.getElementById('textexpedited1').className = 'regularfont';}
			if (document.getElementById('textexpedited2')) {document.getElementById('textexpedited2').className = 'regularfont';}
			if (document.getElementById('textexpress1')) {document.getElementById('textexpress1').className = 'regularfont';}
			if (document.getElementById('textexpress2')) {document.getElementById('textexpress2').className = 'regularfont';}
			document.getElementById('shippingrate').value = document.getElementById('standardrate').value;
			document.getElementById('shippingcode').value = document.getElementById('standardcode').value;
			document.getElementById('shippingmethod').value = "standard";
			var deliverydatenumberform = document.getElementById('standarddelivery').value;
			if (document.getElementById('currencytype').value == "CND") {
				document.getElementById('htax').value = document.getElementById('standardtax').value; //get correct taxes
			}
			//YAHOO.example.calendar.cal1.addRenderer(document.getElementById('standarddelivery').value, YAHOO.example.calendar.cal1.renderCellStyleHighlight2);
		} else if (level == "expedited") {
			if (document.getElementById('ship_button_standard')) {document.getElementById('ship_button_standard').checked=false;}
			if (document.getElementById('ship_button_expedited')) {document.getElementById('ship_button_expedited').checked=true;}
			if (document.getElementById('ship_button_express')) {document.getElementById('ship_button_express').checked=false;}
			if (document.getElementById('standard_color_square')) {document.getElementById('standard_color_square').className = 'ship_colorsquare_standard_fade';}
			if (document.getElementById('expedited_color_square')) {document.getElementById('expedited_color_square').className = 'ship_colorsquare_expedited';}
			if (document.getElementById('express_color_square')) {document.getElementById('express_color_square').className = 'ship_colorsquare_express_fade';}
			if (document.getElementById('textstandard1')) {document.getElementById('textstandard1').className = 'regularfont';}
			if (document.getElementById('textstandard2')) {document.getElementById('textstandard2').className = 'regularfont';}
			if (document.getElementById('textexpedited1')) {document.getElementById('textexpedited1').className = 'largefont';}
			if (document.getElementById('textexpedited2')) {document.getElementById('textexpedited2').className = 'largefont';}
			if (document.getElementById('textexpress1')) {document.getElementById('textexpress1').className = 'regularfont';}
			if (document.getElementById('textexpress2')) {document.getElementById('textexpress2').className = 'regularfont';}

			document.getElementById('shippingrate').value = document.getElementById('expeditedrate').value;
			document.getElementById('shippingcode').value = document.getElementById('expeditedcode').value;
			document.getElementById('shippingmethod').value = "expedited";
			var deliverydatenumberform = document.getElementById('expediteddelivery').value;
			//YAHOO.example.calendar.cal1.addRenderer(document.getElementById('expediteddelivery').value, YAHOO.example.calendar.cal1.renderCellStyleHighlight3);
		} else if (level == "express") {
			if (document.getElementById('ship_button_standard')) {document.getElementById('ship_button_standard').checked=false;}
			if (document.getElementById('ship_button_expedited')) {document.getElementById('ship_button_expedited').checked=false;}
			if (document.getElementById('ship_button_express')) {document.getElementById('ship_button_express').checked=true;}
			if (document.getElementById('standard_color_square')) {document.getElementById('standard_color_square').className = 'ship_colorsquare_standard_fade';}
			if (document.getElementById('expedited_color_square')) {document.getElementById('expedited_color_square').className = 'ship_colorsquare_expedited_fade';}
			if (document.getElementById('express_color_square')) {document.getElementById('express_color_square').className = 'ship_colorsquare_express';}
			if (document.getElementById('textstandard1')) {document.getElementById('textstandard1').className = 'regularfont';}
			if (document.getElementById('textstandard2')) {document.getElementById('textstandard2').className = 'regularfont';}
			if (document.getElementById('textexpedited1')) {document.getElementById('textexpedited1').className = 'regularfont';}
			if (document.getElementById('textexpedited2')) {document.getElementById('textexpedited2').className = 'regularfont';}
			if (document.getElementById('textexpress1')) {document.getElementById('textexpress1').className = 'largefont';}
			if (document.getElementById('textexpress2')) {document.getElementById('textexpress2').className = 'largefont';}

			document.getElementById('shippingrate').value = document.getElementById('expressrate').value;
			document.getElementById('shippingcode').value = document.getElementById('expresscode').value;
			document.getElementById('shippingmethod').value = "express";
			var deliverydatenumberform = document.getElementById('expressdelivery').value;
			if (document.getElementById('currencytype').value == "CND") {
				document.getElementById('htax').value = document.getElementById('expresstax').value; //get correct taxes
			}
			//YAHOO.example.calendar.cal1.addRenderer(document.getElementById('expressdelivery').value, YAHOO.example.calendar.cal1.renderCellStyleHighlight1);
		}
		var deliverydate_text=deliverydatenumberform.split("/"); //0 = month, 1 = day, 2 = year
		var deliveryDateTextFormat = month[deliverydate_text[0]]+" "+deliverydate_text[1]+", "+deliverydate_text[2]; //ex May 06, 2008
		document.getElementById('shippingdate').value = deliveryDateTextFormat;
		//document.getElementById('estimated_delivery_notice').innerHTML = deliveryDateTextFormat;
		document.getElementById('notice_selectshipping').style.visibility = 'hidden'; // hide the select shipping notice
		YAHOO.example.calendar.cal1.render();
		 //now display the final totals and proceed to cart area
		var theorderTotal = new Number(( Number(document.getElementById('sub_total').value)+Number(document.getElementById('htax').value)+Number(document.getElementById('shippingrate').value) ));
		document.getElementById('ordertotal').value = theorderTotal.toFixed(2); //the total order price
		document.getElementById('final_subtotal').innerHTML = "$"+document.getElementById('sub_total').value; //sub_total
		document.getElementById('final_shipping').innerHTML = "$"+document.getElementById('shippingrate').value; //shippingrate
		document.getElementById('final_tax').innerHTML = "$"+document.getElementById('htax').value;
		document.getElementById('final_total').innerHTML = "$"+document.getElementById('ordertotal').value+" "+document.getElementById('currencytype').value;

		document.getElementById('final_total_area').style.display = 'inline';
		//required_date_check(); //run a required date check just in case
	}
							
}

function changeCurrencyPrices(which_country) {
	(which_country == "can") ? document.getElementById('currencytype').value = "CND" : document.getElementById('currencytype').value = "USD" ;
	var cookie_total_price = Number(0);
								var cookie_contents = readCartCookie();
								var cookie_products = cookie_contents.split('|');
								for(var i=0;i < cookie_products.length;i++) {
									var pieces_cookie_product = cookie_products[i].split(':');
									if (typeof(pieces_cookie_product[2]) == 'undefined') {
										//we have an attribute
										var att = "";
									} else {
										var att = pieces_cookie_product[2];
									}
									var this_part_number = pieces_cookie_product[0]+"_"+att;
									var this_part_quantity = Number(document.getElementById('QTY_'+this_part_number).value);
									var this_new_price = new Number (Number(document.getElementById(which_country+'_unit_price'+this_part_number).value) *this_part_quantity);
									document.getElementById('prod_sub_total'+this_part_number).innerHTML = "$"+this_new_price.toFixed(2)+" "+document.getElementById('currencytype').value;
																		
										//update the discount 
										if (which_country == "can") {
											var this_discountamount = new Number(Number(document.getElementById('discount_reference'+this_part_number).value)*Number(document.getElementById('exchangerate').value));
											this_discountamount = this_discountamount.toFixed(2);
										} else {
											var this_discountamount = document.getElementById('discount_reference'+this_part_number).value;
										}
										document.getElementById('discount_amount'+this_part_number).innerHTML = this_discountamount;
									
					
									var tmp_total_price = new Number(Number(cookie_total_price) + Number(this_new_price));
									cookie_total_price = tmp_total_price.toFixed(2);
								}
								document.getElementById('product_total_price').innerHTML = "Sub-Total:&nbsp;&nbsp; $"+cookie_total_price+" "+document.getElementById('currencytype').value;
								//document.getElementById('discount_text'+result.partnumberid).innerHTML = result.discounttext;
								document.getElementById('sub_total').value = cookie_total_price; 
}



function readCartCookie() {
		var cookieValue = "";

  var search = "products" + "=";

  if(document.cookie.length > 0)

  { 

    offset = document.cookie.indexOf(search);

    if (offset != -1)

    { 

      offset += search.length;

      end = document.cookie.indexOf(";", offset);

      if (end == -1) end = document.cookie.length;

      cookieValue = unescape(document.cookie.substring(offset, end))

    }

  }

  return cookieValue;
  }
  
  
  function deleteCookie( name, path, domain ) {
	if ( readCartCookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
	}

  
  function proceedToCheckout (towhere) {
	  if (!ajaxInProcess) {
		  ajaxInProcess = true;
		  if (readCartCookie() != "") {
			document.getElementById('cookieproducts').value = readCartCookie();
			deleteCookie('products', '/', '.glowproducts.com'); //remove the cookie now that we are going to the checkout
		  } else {
			  alert("Error. Product 'cookie' has been removed");
		  }
		  if (towhere == "int") {

			  //ensure that the country, state, city etc are set to nothing as this is international not north america
			  document.getElementById('hzip').value = "";
				document.getElementById('hcity').value = "";
				document.getElementById('hstate').value = "";
				document.getElementById('hcountry').value = "";
				document.getElementById('htax').value = "0.00";
				document.getElementById('shippingrate').value = "";
				document.getElementById('shippingdate').value = "";
				document.getElementById('isit_international').value = "true";
				document.getElementById('ordertotal').value = document.getElementById('sub_total').value;
		  } else {
			  //shipping to canada or US write the required delivery date down
			  if (document.getElementById('reqd_month').selectedIndex != 0 && document.getElementById('reqd_day').selectedIndex != 0 && document.getElementById('reqd_year').selectedIndex != 0) {
				  document.getElementById('req_delivery').value = month[document.getElementById('reqd_month').value]+" "+document.getElementById('reqd_day').value+", "+document.getElementById('reqd_year').value;
			  } else {
				  document.getElementById('req_delivery').value = "";
			  }

		  }
		  
		  
		  document.passtocheckout.submit();
	  }
	  
  }
  
  function required_date_check() {
	  //check to insure that the required date is valid and that the shipping method is the best fit
	var current_date = new Date();
	var cmonth = current_date.getMonth() + 1;
	var cday = current_date.getDate();
	var cyear = current_date.getFullYear();
	var todays_date = cmonth + "/" + cday + "/" + cyear;
	var the_req_delivery_date = document.getElementById("reqd_month").options[document.getElementById("reqd_month").selectedIndex].value+"/"+document.getElementById("reqd_day").options[document.getElementById("reqd_day").selectedIndex].value+"/"+document.getElementById("reqd_year").options[document.getElementById("reqd_year").selectedIndex].value;
	
	//var the_req_delivery_date = document.getElementById("reqd_month").value+"/"+document.getElementById("reqd_day").value+"/"+document.getElementById("reqd_year").value;
	document.getElementById('required_date_feedback').style.visibility = "hidden"; //reset to not show
	document.getElementById('required_date_feedback').innerHTML = ""; //clear the feedback
	if (document.getElementById('reqd_month').selectedIndex != 0 && document.getElementById('reqd_day').selectedIndex != 0 && document.getElementById('reqd_year').selectedIndex != 0) { //all required fields are entered
		if (document.getElementById('shippingmethod').value != "") { //if shipping method selected (feedback in red as it is an error)
			// -------------------------- GIVE ERROR FEEDBACK --------------------------------
			document.getElementById('required_date_feedback').style.color = "#FF0000";
			document.getElementById('required_date_feedback').style.border = "#FF0000 solid 1px";
			if (Date.parse(the_req_delivery_date) < Date.parse(todays_date)) {
				document.getElementById('required_date_feedback').innerHTML = "Sorry you have entered a required delivery date that is in the past. Please choose a date in the future.";
				document.getElementById('required_date_feedback').style.visibility = "visible";
			} else if (Date.parse(the_req_delivery_date) == Date.parse(todays_date)) {
				if (document.getElementById('expressdelivery').value == "") {
					document.getElementById('required_date_feedback').innerHTML = "Sorry we are unable to deliver your package to you on the same day that you place your order. Please select the EXPEDITED shipping method to ensure your package arrives as quickly as possible.";
				} else {
					document.getElementById('required_date_feedback').innerHTML = "Sorry we are unable to deliver your package to you on the same day that you place your order. Please select the EXPRESS shipping method to ensure your package arrives as quickly as possible.";
				}
				document.getElementById('required_date_feedback').style.visibility = "visible";
			} else if (document.getElementById('shippingmethod').value == "standard" && Date.parse(the_req_delivery_date) < Date.parse(document.getElementById('standarddelivery').value)) {
				if (document.getElementById('expediteddelivery').value != "" && Date.parse(the_req_delivery_date) >= Date.parse(document.getElementById('expediteddelivery').value)) {
					document.getElementById('required_date_feedback').innerHTML = "The required delivery date you entered is before your estimated delivery date. Please choose the EXPEDITED shipping method to ensure your package arrives as quickly as possible.";
					document.getElementById('required_date_feedback').style.visibility = "visible";
				} else if (document.getElementById('expressdelivery').value != "" && Date.parse(the_req_delivery_date) >= Date.parse(document.getElementById('expressdelivery').value)) {
					document.getElementById('required_date_feedback').innerHTML = "The required delivery date you entered is before your estimated delivery date. Please choose the EXPRESS shipping method to ensure your package arrives as quickly as possible.";
					document.getElementById('required_date_feedback').style.visibility = "visible";
				} else {
					if (document.getElementById('expressdelivery').value != "") {
						document.getElementById('required_date_feedback').innerHTML = "The required delivery date you entered is before our fastest shipping method, EXPRESS. We are unable to deliver packages faster than EXPRESS. Please select EXPRESS to ensure you packages arrives as quickly as possible.";
					document.getElementById('required_date_feedback').style.visibility = "visible";
					} else if (document.getElementById('expediteddelivery').value != "") {
						document.getElementById('required_date_feedback').innerHTML = "The required delivery date you entered is before our fastest shipping method, EXPEDITED. We are unable to deliver packages faster than EXPEDITED. Please select EXPEDITED to ensure you packages arrives as quickly as possible.";
					document.getElementById('required_date_feedback').style.visibility = "visible";
					}
				}
			} else if (document.getElementById('shippingmethod').value == "expedited" && Date.parse(the_req_delivery_date) < Date.parse(document.getElementById('expediteddelivery').value)) {
				if (document.getElementById('expressdelivery').value != "") {
					document.getElementById('required_date_feedback').innerHTML = "The required delivery date you entered is before your estimated delivery date. Please choose the EXPRESS shipping method to ensure your package arrives as quickly as possible.";
					document.getElementById('required_date_feedback').style.visibility = "visible";
				} else {
					document.getElementById('required_date_feedback').innerHTML = "Your required delivery date is before our quickest EXPEDITED estimated delivery. Sorry but we are unable to ship packages quicker than EXPEDITED. Please choose the EXPEDITED shipping method to ensure that your packages arrives as quickly as possible.";
					document.getElementById('required_date_feedback').style.visibility = "visible";
				}
			} else if (document.getElementById('shippingmethod').value == "express" && Date.parse(the_req_delivery_date) < Date.parse(document.getElementById('expressdelivery').value)) {
				document.getElementById('required_date_feedback').innerHTML = "You have chosen our fastest delivery method, EXPRESS. However, your required delivery date is still before our fastest estimated EXPRESS delivery date. Sorry be we are unable to deliver packages quicker than EXPRESS.";
				document.getElementById('required_date_feedback').style.visibility = "visible";
			}
		} else { //=------------------------------------------ ELSE RECOMMENDED FEEDBACK -------------------------------------
			document.getElementById('required_date_feedback').style.color = "#0000FF";
			document.getElementById('required_date_feedback').style.border = "#0000FF solid 1px";
			if (Date.parse(the_req_delivery_date) < Date.parse(todays_date)) {
				document.getElementById('required_date_feedback').innerHTML = "Sorry you have entered a required delivery date that is in the past. Please choose a date in the future.";
				document.getElementById('required_date_feedback').style.visibility = "visible";
			} else if (Date.parse(the_req_delivery_date) == Date.parse(todays_date)) {
				if (document.getElementById('expressdelivery').value == "") {
					document.getElementById('required_date_feedback').innerHTML = "Sorry we are unable to deliver your package to you on the same day that you place your order. We recommend that you choose the EXPEDITED shipping method to ensure your package arrives as quickly as possible.";
				} else {
					document.getElementById('required_date_feedback').innerHTML = "Sorry we are unable to deliver your package to you on the same day that you place your order. We recommend that you choose the EXPRESS shipping method to ensure your package arrives as quickly as possible.";
				}
				document.getElementById('required_date_feedback').style.visibility = "visible";
			} else if (document.getElementById('standarddelivery').value != "" && Date.parse(the_req_delivery_date) >= Date.parse(document.getElementById('standarddelivery').value)) {
				document.getElementById('required_date_feedback').innerHTML = "We recommend you select STANDARD shipping.";
				document.getElementById('required_date_feedback').style.visibility = "visible";
			} else if (document.getElementById('expediteddelivery').value != "" && Date.parse(the_req_delivery_date) >= Date.parse(document.getElementById('expediteddelivery').value)) {
				document.getElementById('required_date_feedback').innerHTML = "We recommend you select EXPEDITED shipping.";
				document.getElementById('required_date_feedback').style.visibility = "visible";
			} else if (document.getElementById('expressdelivery').value != "" && Date.parse(the_req_delivery_date) >= Date.parse(document.getElementById('expressdelivery').value)) {
				document.getElementById('required_date_feedback').innerHTML = "We recommend you select EXPRESS shipping.";
				document.getElementById('required_date_feedback').style.visibility = "visible";
			} else if (document.getElementById('expressdelivery').value != "" && Date.parse(the_req_delivery_date) < Date.parse(document.getElementById('expressdelivery').value)) {
				document.getElementById('required_date_feedback').innerHTML = "Your required delivery date is before our quickest EXPRESS estimated delivery. Sorry but we are unable to ship packages quicker then EXPRESS. Please choose the EXPRESS shipping method to ensure that your packages arrives as quickly as possible.";
				document.getElementById('required_date_feedback').style.visibility = "visible";
			} else if (document.getElementById('expediteddelivery').value != "" && Date.parse(the_req_delivery_date) < Date.parse(document.getElementById('expediteddelivery').value)) {
				document.getElementById('required_date_feedback').innerHTML = "Your required delivery date is before our quickest EXPEDITED estimated delivery. Sorry but we are unable to ship packages quicker then EXPEDITED. Please choose the EXPEDITED shipping method to ensure that your packages arrives as quickly as possible.";
				document.getElementById('required_date_feedback').style.visibility = "visible";
			}
			
		}
			
	}
		

	  
  }


 
