	var curWinId;
	var curWinObj;

  function isEmpty(inputStr) { if(null == inputStr || "" == inputStr) { return true; } return false; }

	function showAddOnsWindow(argsStrIn, titleText)
	{
		var params = $w(argsStrIn);
		if(!Prototype.Browser.IE)
		{
			curWinObj = new Window({id: 'hldr_win_'+params[0], className: params[1], url: params[2], width:params[3], height:params[4], zIndex:500, destroyOnClose: true, title: titleText});
			curWinObj.showCenter(params[5]);
			curWinId = curWinObj.getId();
		}
		else
		{
			//if(jQuery.browser.version == "6.0"){
				//curWinObj = new Window({id: 'hldr_win_'+params[0], className: params[1], url: params[2], width:params[3], height:params[4], zIndex:500, destroyOnClose: true, title: titleText});
				//curWinObj.setAjaxContent(params[2], {}, true, true);
				tb_show('Add Product',params[2],false);
			//}else{
				//curWinObj = new Window({id: 'hldr_win_'+params[0], className: params[1], url: params[2], width:params[3], height:params[4], zIndex:500, destroyOnClose: true, title: titleText});
				//curWinObj.showCenter(params[5]);
			//}
		}
		//if(jQuery.browser.version != "6.0") curWinId = curWinObj.getId();
	}

	var closeWindows = function() {	Windows.closeAll(); };
	
	// argsStrIn =>
	// {$data['pid']} {$data['itemQty']} $itemTotal $cartTotal $cartItems {$data['ao']} {$prodInfo->caliber_req}
	// {$prodInfo->holder_req} {$data['cid']} {$data['hid']} {$data['prc']} {$_GET['sess_id']} {$data['cartId']}
	// params[0] = product id
	// params[1] = item quantity
	// params[2] = item total
	// params[3] = cart total
	// params[4] = cart total items
	// params[5] = addons required
	// params[6] = pilot required
	// params[7] = holder required
	// params[8] = pilot id
	// params[9] = holder id
	// params[10] = price
	// params[11] = current session id
	// params[12] = cart id of item (item exists if > 0)
	// params[13] = Operation performed (add/update)
	// params[14] = unit price
	var updatePage = function(argsStrIn)
	{
		//alert(argsStrIn);
		var req_text = '<center>Click \'+\' to select</center>';
		var nreq_text = '<center>N/A</center>';
		var addonHTML = '';
		var cartIdExt = '';
		var params = $w(argsStrIn);
		//alert(params);

		cartIdExt = '_'+params[12];
		
		if(params[13] == 'add'){
			jQuery('.item_qty'+params[0]).attr("class",'item_qty'+params[0]+cartIdExt).html('<b>'+params[1]+'</b>');
		}else{
			jQuery('.item_qty'+params[0]+cartIdExt).html('<b>'+params[1]+'</b>');
		}
		if(params[13] == 'add'){
			jQuery('.unit-price'+params[0]).attr("class",'unit-price'+params[0]+cartIdExt).html("$"+params[14]);
		}else{
			jQuery('.unit-price'+params[0]+cartIdExt).html("$"+params[14]);
		}
		jQuery('#item_cart_total'+params[0]).html(params[2]);
		jQuery('#amount').html('$'+params[3]+' <span class="small_white">USD</span>');
		if($('cart_total_bottom')){
			$('cart_total_bottom').innerHTML = params[3];
		}
		jQuery('#item_num').html(params[4]);

		if(params[6] == 1)	// if pilot is req'd
		{
			if(params[12] > 0){	//item exists in cart
				if(params[13] == 'add'){
					jQuery('.pilot-addon'+params[0]).attr("class",'pilot-addon'+params[0]+cartIdExt).html('<center>Caliber: '+params[8]+'</center>');
				}else{
					jQuery('.pilot-addon'+params[0]+cartIdExt).html('<center>Caliber: '+params[8]+'</center>');
				}
			}else{	// pilot is required & item is new
				cal_text = '<center>Click \'+\' to select</center>';
			}
		}

		if(params[7] == 1)	// if holder is req'd
		{
			if(params[12] > 0){	// if item exists in cart
				if(params[13] == 'add'){
					jQuery('.hldr-addon'+params[0]).attr("class",'hldr-addon'+params[0]+cartIdExt).html('<center>Selected Holder #'+params[9]+'</center>');
				}else{
					jQuery('.hldr-addon'+params[0]+cartIdExt).html('<center>Selected Holder #'+params[9]+'</center>');
				}
			}else{	// holder is required & item is new
				hldr_text = '<center>Click \'+\' to select</center>';
			}
		}

		var btnsHTML = '';
		//btnsHTML += '<a href="javascript: void(0);" onclick="showAddOnsWindow(\''+params[0]+' alphacube /includes/content/pl-cartmgr.inc.php?pid='+params[0]+'&new=0&ao='+params[5]+'&hr='+params[7]+'&cr='+params[6]+'&sid='+params[11]+'&cid='+params[12]+' 560 400 true\', \'Item Selection Manager\');" title="Open Item Mgr"><img src="/images/update_icon_up.png" onmouseover="this.src=\'/images/update_icon_over.png\';" onmouseout="this.src=\'/images/update_icon_up.png\';" width="16" height="16" border="0" alt="Item Mgr"/></a>&nbsp;';
		btnsHTML += '<a href="javascript: void(0);" onclick="removeCartItem({op: \'remove\', cid: '+params[12]+', pid: '+params[0]+'});" title="Remove From Cart"><img src="/images/remove_icon_up.png" onmouseover="this.src=\'/images/remove_icon_over.png\';" onmouseout="this.src=\'/images/remove_icon_up.png\';" width="16" height="16" border="0" alt="Remove From Cart"/></a>';
		if(params[13] == 'add'){
			jQuery('.action-btns'+params[0]).attr("class",'action-btns'+params[0]+cartIdExt).html(btnsHTML);
		}
		
		// display new add-on row only if addons req'd and item not in cart
		if((params[6] == 1 || params[7] == 1) && params[13] != "update")
		{
			addonHTML += "          <tr>\n";
			addonHTML += "           <td style=\"width:25%;\"><div class=\"pilot-addon"+params[0]+"\">";
			addonHTML += params[6] == 1 ? req_text:nreq_text;
			addonHTML += "           </div></td>\n";
			addonHTML += "           <td style=\"width:40%;\"><div class=\"hldr-addon"+params[0]+"\">";
			addonHTML += params[7] == 1 ? req_text:nreq_text;
			addonHTML += "           </div></td>\n";
			addonHTML += "           <td style=\"width:5%; text-align:center; font-weight:bold;\"><div class=\"item_qty"+params[0]+"\" id=\"item_count"+params[0]+"\" style=\"display:inline;\">0</div></td>\n";
			addonHTML += "           <td style=\"width:15%;\"><div class=\"unit-price"+params[0]+"\" id=\"unit-price"+params[0]+"\" style=\"display:inline;\"></div></td>\n";
			addonHTML += "           <td style=\"width:15%; text-align:center;\">\n";
			addonHTML += "            <div class=\"action-btns"+params[0]+"\"><a href=\"javascript: void(0);\" onclick=\"showAddOnsWindow(\'"+params[0]+" alphacube /includes/content/pl-cartmgr.inc.php?pid="+params[0]+"&new=1&ao="+params[5]+"&hr="+params[7]+"&cr="+params[6]+"&sid="+params[11]+"&cid="+params[12]+" 560 400 true\', \'Item Selection Manager\');\" title=\"Open Item Mgr\"><img src=\"/images/add_icon_up.png\" onmouseover=\"this.src='/images/add_icon_over.png';\" onmouseout=\"this.src='/images/add_icon_up.png';\" width=\"16\" height=\"16\" border=\"0\" alt=\"Add To Cart\"/></a></div>\n";
			addonHTML += "           </td>\n";
			addonHTML += "          </tr>\n";
			jQuery("#new-addon"+params[0]).parents("tr:eq(0)").prev("tr:eq(0)").after(addonHTML);
		}
	};
	
	var removeCartItem = function(params)
	{
		new Ajax.Request('/cart-rpc.php',
		{
			method:'get',
			parameters: params,
			onSuccess: function(transport)
			{
				var response = transport.responseText || "no response text";
				//alert(response);
				window.parent.removeUpdatePage(response);
			},
	
			onFailure: function(){alert('Something went wrong with the Ajax routine...')}
		});
	};
	
	// argsStrIn =>
	// params[0] = product_id of removed item
	// params[1] = cart_id of removed item
	// params[2] = qty of specific product remaining (in the case of req'd addon's)
	// params[3] = total $$ of cart after removal
	// params[4] = total $$ of specific product remaining (in the case of req'd addon's)
	// params[5] = sum of qty of all products in card
	// params[6] = caliber required
	// params[7] = holder required
	// params[8] = session id
	// params[9] = function performed (remove)
	var removeUpdatePage = function(argsStrIn)
	{
		var params = $w(argsStrIn);
		var addonHTML = '';
		var req_text = '<center>Click \'+\' to select</center>';
		var nreq_text = '<center>N/A</center>';
		
		if($('item_cart_total'+params[0])){
			$('item_cart_total'+params[0]).innerHTML = params[4];
		}
		$('amount').innerHTML = '$'+params[3]+' <span class="small_white">USD</span>';
		if($('cart_total_bottom')){
			$('cart_total_bottom').innerHTML = params[3];
		}
		$('item_num').innerHTML = params[5];
		
		if(params[6] == 0 && params[7] == 0){  //  If no req'd addon's, then we need to build html to replace row we are going to remove.
			addonHTML += "          <tr>\n";
			addonHTML += "           <td style=\"width:80%;\" colspan=\"2\"></td>\n";
			addonHTML += "           <td style=\"width:5%; text-align:center; font-weight:bold;\"><div class=\"item_qty"+params[0]+"\" id=\"item_count"+params[0]+"\" style=\"display:inline;\">0</div></td>\n";
			addonHTML += "           <td style=\"width:15%; text-align:center;\">\n";
			addonHTML += "            <div class=\"action-btns"+params[0]+"\"><a href=\"javascript: void(0);\" onclick=\"showAddOnsWindow(\'"+params[0]+" alphacube /includes/content/pl-cartmgr.inc.php?pid="+params[0]+"&new=1&ao=0&hr="+params[7]+"&cr="+params[6]+"&sid="+params[8]+"&cid= 560 400 true\', \'Item Selection Manager\');\" title=\"Open Item Mgr\"><img src=\"/images/add_icon_up.png\" onmouseover=\"this.src='/images/add_icon_over.png';\" onmouseout=\"this.src='/images/add_icon_up.png';\" width=\"16\" height=\"16\" border=\"0\" alt=\"Add To Cart\"/></a></div>\n";
			addonHTML += "           </td>\n";
			addonHTML += "          </tr>\n";
			jQuery('.item_qty'+params[0]+"_"+params[1]).parents("tr:eq(0)").fadeOut("normal",function(){
				jQuery('.item_qty'+params[0]+"_"+params[1]).parents("tr:eq(0)").after(addonHTML);
				$(this).remove();
			});
		}else{  //  If req'd addon's, then a new row already exists so just remove row
			jQuery('.item_qty'+params[0]+"_"+params[1]).parents("tr:eq(0)").fadeOut("normal",function(){$(this).remove();});
		}
	};
	
// REMOVED, BUT NOT DELETED FOR POSSIBLE FUTURE USE
/*
				addonHTML += "          <tr>\n";
				addonHTML += "           <td style=\"width:40%;\"><div class=\"pilot-addon"+params[0]+"\">";
				addonHTML += params[6] == 1 ? req_text:nreq_text;
				addonHTML += "           </div></td>\n";
				addonHTML += "           <td style=\"width:40%;\"><div class=\"hldr-addon"+params[0]+"\">";
				addonHTML += params[7] == 1 ? req_text:nreq_text;
				addonHTML += "           </div></td>\n";
				addonHTML += "           <td style=\"width:5%; text-align:center; font-weight:bold;\"><div class=\"item_qty"+params[0]+"\" id=\"item_count"+params[0]+"\" style=\"display:inline;\">0</div></td>\n";
				addonHTML += "           <td style=\"width:15%; text-align:center;\">\n";
				addonHTML += "            <div class=\"action-btns"+params[0]+"\"><a href=\"javascript: void(0);\" onclick=\"showAddOnsWindow(\'"+params[0]+" alphacube /includes/content/pl-cartmgr.inc.php?pid="+params[0]+"&new=1&ao=1&hr="+params[7]+"&cr="+params[6]+"&sid="+params[8]+"&cid= 560 400 true\', \'Item Selection Manager\');\" title=\"Open Item Mgr\"><img src=\"/images/add_icon_up.png\" onmouseover=\"this.src='/images/add_icon_over.png';\" onmouseout=\"this.src='/images/add_icon_up.png';\" width=\"16\" height=\"16\" border=\"0\" alt=\"Add To Cart\"/></a></div>\n";
				addonHTML += "           </td>\n";
				addonHTML += "          </tr>\n";
*/



/* FOR CHECKOUT PAGE */
jQuery(document).ready(function(){
	jQuery("#toggle_ship2bill").click(function(){
		if(jQuery(this).is(":checked")){
			jQuery(":input[name*='ship_']").each(function(){
				//alert(jQuery(this).attr("name"));
				jQuery(this).attr("disabled","true");
				if(jQuery(this).attr("name") == "ship_state"){
					jQuery(this).attr("selectedIndex",jQuery(":select[name='state']").attr("selectedIndex"));
				}else if(jQuery(this).attr("name") == "ship_country"){
					jQuery(this).attr("selectedIndex",jQuery(":select[name='country']").attr("selectedIndex"));
				}else{
					var elmName = jQuery(this).attr('name').substr(5);
					jQuery(this).val(jQuery(":input[name='"+elmName+"']").val());
				}
			});
		}else{
			jQuery(":input[name*='ship_']").each(function(){
				//alert(jQuery(this).attr("name"));
				jQuery(this).attr("disabled","");
			});
		}
	});
	jQuery("#payMethodInvoice").click(function(){
		togglePayMethodElements(true);
	});
	jQuery("#payMethodCreditCard").click(function(){
		togglePayMethodElements(false);
	});
});
function togglePayMethodElements(status){
	jQuery(":select[name='card_type']").attr("disabled",status);
	jQuery(":input[name='name_on_card']").attr("disabled",status);
	jQuery(":input[name='cc_number1']").attr("disabled",status);
	jQuery(":input[name='cc_number2']").attr("disabled",status);
	jQuery(":input[name='cc_number3']").attr("disabled",status);
	jQuery(":input[name='cc_number4']").attr("disabled",status);
	jQuery(":select[name='exp_date_month']").attr("disabled",status);
	jQuery(":select[name='exp_date_year']").attr("disabled",status);
	jQuery(":input[name='cvv']").attr("disabled",status);
}