var g_Partition = 'CED';

/* -----------------02/20/2009 10:00AM---------------
 initPage - Set up any necessary page elements
 --------------------------------------------------*/
function initPage() {

	if ( document.getElementById('sku_adder') ) {
		var oDiv = document.getElementById('sku_adder');
		new Draggable(oDiv);
	}
	if ( document.getElementById('quick_poster') ) {
		var oDiv = document.getElementById('quick_poster');
		new Draggable(oDiv);
	}
	if ( document.getElementById('qty_explanation') ) {
		var oDiv = document.getElementById('qty_explanation');
		new Draggable(oDiv);
	}
	if ( document.getElementById('user_detail') ) {
		var oDiv = document.getElementById('user_detail');
		new Draggable(oDiv);
	}

}

/* -----------------02/20/2009 10:00AM---------------
 showDiv - Show a division
 --------------------------------------------------*/
function showDiv(sTxt, sDiv) {

	if ( document.getElementById(sDiv) ) {
	  document.getElementById(sDiv).innerHTML = sTxt;
	  document.getElementById(sDiv).style.display = 'block';
	}

}

/* -----------------02/20/2009 10:00AM---------------
 hideDiv - Hide a division
 --------------------------------------------------*/
function hideDiv(sDiv) {

	if ( document.getElementById(sDiv) ) {
	  document.getElementById(sDiv).style.display = 'none';
	}

}

/* -----------------02/20/2009 10:00AM---------------
 hideTab - Hide a tab
 --------------------------------------------------*/
function hideTab(sDiv) {

	if ( document.getElementById(sDiv) ) {
	  document.getElementById(sDiv).style.display = 'none';
	}

}

/* -----------------02/20/2009 10:00AM---------------
 toggleShowAll
 --------------------------------------------------*/
function toggleShowAll(sTarget) {

	var sContract = getCookie('contract_only');
	if ( sContract == undefined ) {
		sContract = 'Y';
	}
	if ( sContract == '' ) {
		sContract = 'Y';
	}

	if ( sContract == 'Y' ) {
		document.cookie = 'contract_only=N';
	} else {
		document.cookie = 'contract_only=Y';
	}

	window.location = sTarget;

}


/*****************************************************************
	formatCurrency
*****************************************************************/

function formatCurrency(num)
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num * 100 + 0.50000000001);
	cents = num % 100;
	num = Math.floor(num / 100).toString();
	if(cents < 10)
		cents = "0" + cents;

	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));

	return (((sign)?'':'-') + '$' + num + '.' + cents);
}


/* -----------------12/14/2007 10:00AM---------------
 refreshCart - Show contents of cart
 --------------------------------------------------*/
function refreshCart(sKey, sField, sStockno, nThisQty, bAnimate, sAnimateTarget) {

	var bQtyOk = true;
	var bCalledFromSpec = true;
	var bUpdateOnly = true;

	if ( nThisQty == undefined ) {
		nThisQty = 0;
	}
	if ( bAnimate == undefined ) {
		bAnimate = false;
	}
	if ( sAnimateTarget == undefined ) {
		sAnimateTarget = sStockno;
		bCalledFromSpec = false;
	}

	var url = 'dp_forward.php';

	var nQty = nThisQty;

	if ( document.forms["dpcart"] )
		bUpdateOnly = false;

	if ( nQty == 0 ) {
		if ( bCalledFromSpec ) {
			if ( document.forms["prodspec"] )
				nQty = document.forms["prodspec"].elements[sField].value;
		} else {
			if ( document.forms["prodlist"] )
				nQty = document.forms["prodlist"].elements[sField].value;
		}
		if ( nQty == '' ) {
			nQty = 0;
		}
	}

	var params = {
								 APP: 'DP013',
								 FUN: 'DP013FN01',
								 PART: g_Partition,
								 DPSESSKEY: sKey,
								 STOCKNO: sStockno,
								 ORDQTY: nQty,
								 X_DELETE: 'N'
							 }

	var bErr = false;

	if ( isNaN(nQty) ) {
		bErr = true;
		alert("The quantity ordered must be a number.");
	}

	if ( !bErr ) {
		if ( bAnimate ) {
//			fireBullet(sAnimateTarget);
		}
		new Ajax.Request(url,
			{
			  method: 'post',
				parameters: params,
			  onSuccess: function(transport){
					var oWAM = eval(transport.responseText);
					if ( oWAM.W_ERR == 'R' ) {
						alert('Your order quantity must be a multiple of the minimum order qty.');
						var sElement = 'V' + sStockno;
						if ( document.forms["dpcart"] ) {
							if ( document.forms["dpcart"].elements[sElement] ) {
								document.forms["dpcart"].elements[sElement].value = 0;
							}
						}
					} else {
						if ( bUpdateOnly ) {
							updateCart(oWAM, sField, sKey, bCalledFromSpec);
						} else {
							showCart(oWAM, sField, sKey, bCalledFromSpec);
						}
					}
			  },
				encoding: '',
			  onFailure: function(){ alert('Something went wrong ...') },
				onException: function(oRequest, oExcept){ alert('Exception: ' + oExcept.message) }
			});
	}

}

/* -----------------12/14/2007 10:00AM---------------
 updateCart - Displays the cart
 --------------------------------------------------*/
function updateCart(oWAM, sField, sKey, bCalledFromSpec) {
	var sHTML = '';
	var sTotal = formatCurrency(oWAM.W_TOTAL);
	var sItems = oWAM.W_ITEMS;

	if ( bCalledFromSpec == undefined ) {
		bCalledFromSpec = false;
	}

	if ( sField != '' ) {
		if ( bCalledFromSpec ) {
			if ( document.forms["prodspec"] )
				document.forms["prodspec"].elements[sField].value = '';
		} else {
			if ( document.forms["prodlist"] )
				document.forms["prodlist"].elements[sField].value = '';
		}
	}

	sHTML = sItems + ' item(s)<br />' + sTotal;

	if ( document.getElementById("cart_contents") ) {
	  document.getElementById("cart_contents").innerHTML = sHTML;
	}
	if ( document.getElementById("footer_cart_summary") ) {
	  document.getElementById("footer_cart_summary").innerHTML = 'Your cart contains ' + sItems + ' item(s) totalling ' + sTotal;
	}

	document.cookie = 'cart_items=' + sItems;
	document.cookie = 'cart_total=' + sTotal;

}

/* -----------------12/14/2007 10:00AM---------------
 showCart - Displays the cart
 --------------------------------------------------*/
function showCart(oWAM, sField, sKey, bCalledFromSpec) {
	var nMax = oWAM._array.length;
	var bOddRow = false;
	var sQty = '';
	var nQtyOrd = 0;
	var nQtyAvail = 0;

	var sHTML = '';
	var sTotal = formatCurrency(oWAM.W_TOTAL);
	var sItems = oWAM.W_ITEMS;

	var nQty = 0;
	var sSub = formatCurrency(oWAM.W_TOTAL);

	var sCartTxt = '<p>Your shopping cart is currently empty.</p>';
	var sShortTxt = '';

	var bQtyOk = true;
	var sQtyError = '';

	if ( bCalledFromSpec == undefined ) {
		bCalledFromSpec = false;
	}

	if ( nMax != 0 ) {
  	sCartTxt = '<form id="dpcart" action="dpreview.php">';
		sCartTxt += '<table><thead>';
		sCartTxt += '<tr><th>Stock No.</th><th>Description</th><th>Price</th><th>Qty</th><th>&nbsp;</th><th>Extension</th><th>&nbsp;</th></tr></thead><tbody>';
		for ( var nCount = 0; nCount < nMax; nCount++ ) {
			if ( bOddRow ) {
				sCartTxt += '<tr class="oddrow">';
				bOddRow = false;
			} else {
				sCartTxt += '<tr>';
				bOddRow = true;
			}
      sCartTxt += '<td>';
      sCartTxt += oWAM._array[nCount].STOCKNO;
      if ( oWAM._array[nCount].CUSTPRDNO != '' ) {
        sCartTxt += '<br /><em>' + oWAM._array[nCount].CUSTPRDNO + '</em>';
      }
      sCartTxt += '</td>';
			sCartTxt += '<td class="venddesc">';
			sCartTxt += oWAM._array[nCount].VENDDESC + sQtyError;
      if (oWAM._array[nCount].BUDUNITS > 1) {
        sCartTxt += '<br />Min. Order Qty: ' + oWAM._array[nCount].BUDUNITS;
      }
			sCartTxt += '</td>';
			sCartTxt += '<td class="currency">';
			sCartTxt += formatCurrency(oWAM._array[nCount].D_PRICE);
			if ( oWAM._array[nCount].D_FACTOR > 1  ) {
				sCartTxt += '/' + oWAM._array[nCount].D_FACTOR;
			} else {
				if ( oWAM._array[nCount].DPUNIT == 'EA'  ) {
				} else {
					sCartTxt += '/' + oWAM._array[nCount].DPUNIT;
				}
			}
			if ( oWAM._array[nCount].D_CHANGED == 'Y' ) {
				sCartTxt += '<br /><em>';
				sCartTxt += formatCurrency(oWAM._array[nCount].PRICE01);
				if ( oWAM._array[nCount].PRFACTOR > 1  ) {
					sCartTxt += '/' + oWAM._array[nCount].PRFACTOR;
				} else {
					if ( oWAM._array[nCount].UNIT == 'EA'  ) {
					} else {
						sCartTxt += '/' + oWAM._array[nCount].UNIT;
					}
				}
				sCartTxt += '</em>';
			}
			sCartTxt += '</td>';
			sCartTxt += '<td class="quantity"><span id="R' + oWAM._array[nCount].STOCKNO + '"><a href="javascript:showChange(' + sKey + ', \''  + oWAM._array[nCount].STOCKNO + '\')">' + oWAM._array[nCount].D_ORDQTY + '</a></span>';
      sCartTxt += '<span id="C' + oWAM._array[nCount].STOCKNO + '" style="display: none"><input type="text" name="V' + oWAM._array[nCount].STOCKNO + '" size="3" maxlength="7" value="' + oWAM._array[nCount].D_ORDQTY + '" onkeypress="return acceptChange(event, this.form, ' + sKey + ', \'' + oWAM._array[nCount].STOCKNO + '\')" onblur="return handleChange(' + sKey + ', \'' + oWAM._array[nCount].STOCKNO + '\')" /></span>';
			if ( oWAM._array[nCount].D_CHANGED == 'Y' ) {
        sCartTxt += '<br /><em>' + oWAM._array[nCount].ORDQTY + '</em>';
			}
			sCartTxt += '</td>';
      sCartTxt += '<td class="symbol"><a href="javascript:showChange(' + sKey + ', \'' + oWAM._array[nCount].STOCKNO + '\')"><img src="images/dp/change.gif" class="centered" alt="Change Qty" title="Change Quantity" /></a></td>';
			sCartTxt += '<td class="currency">' + formatCurrency(oWAM._array[nCount].NETSALES) + '</td>';
			sCartTxt += '<td class="symbol"><a href="javascript:deleteLine(' + sKey + ', \''  + oWAM._array[nCount].STOCKNO + '\')"><img src="images/dp/delete.gif" class="centered" alt="Delete This Line" title="Delete This Line" /></a></td>';
			sCartTxt += '</tr>';
		}
		if ( bOddRow ) {
			sCartTxt += '<tr class="oddrow">';
			bOddRow = false;
		} else {
			sCartTxt += '<tr>';
			bOddRow = true;
		}
		sCartTxt += '<td>&nbsp;</td>';
		sCartTxt += '<td class="venddesc"><strong>Total</strong></td>';
		sCartTxt += '<td class="currency">&nbsp;</td>';
		sCartTxt += '<td class="quantity">&nbsp;</td>';
		sCartTxt += '<td class="currency">&nbsp;</td>';
		sCartTxt += '<td class="currency"><strong>' + formatCurrency(oWAM.W_TOTAL) + '</strong></td>';
		sCartTxt += '<td class="quantity">&nbsp;</td>';
		sCartTxt += '</tr>';
		sCartTxt += '</tbody></table>';
		sCartTxt += '</form>';
	}

	if ( document.getElementById("shop_cart_contents") ) {
	  document.getElementById("shop_cart_contents").innerHTML = sCartTxt;
	}

	sHTML = sItems + ' items<br />' + sTotal;
	if ( document.getElementById("cart_contents") ) {
	  document.getElementById("cart_contents").innerHTML = sHTML;
	}
	if ( document.getElementById("footer_cart_summary") ) {
	  document.getElementById("footer_cart_summary").innerHTML = 'Your cart contains ' + sItems + ' items totalling ' + sTotal;
	}

	document.cookie = 'cart_items=' + sItems;
	document.cookie = 'cart_total=' + sTotal;

	if ( sItems == '0' ) {
/*
		hideDiv('shop_cart_extra_help');
		hideDiv('shop_cart_ord_msg');
		hideDiv('template_help');
*/
		$('cart_submit').disabled = true;
	}


}



/* -----------------12/14/2007 10:00AM---------------
 deleteLine - Delete Line from Cart
 --------------------------------------------------*/
function deleteLine(sKey, sStockno) {

	var url = 'dp_forward.php';

	var params = {
								 APP: 'DP013',
								 FUN: 'DP013FN01',
								 PART: g_Partition,
								 DPSESSKEY: sKey,
								 STOCKNO: sStockno,
								 ORDQTY: 0,
								 X_DELETE: 'Y'
							 }

	new Ajax.Request(url,
		{
		  method: 'post',
			parameters: params,
		  onSuccess: function(transport){
				var oWAM = eval(transport.responseText);
				showCart(oWAM, '', sKey);
		  },
			encoding: '',
		  onFailure: function(){ alert('Something went wrong ...') },
			onException: function(oRequest, oExcept){ alert('Exception: ' + oExcept.message) }
		});
}


/* -----------------12/14/2007 10:00AM---------------
 showChange - Show a field to change
 --------------------------------------------------*/
function showChange(sKey, sStockno) {

	var sElement = 'R' + sStockno;
	var sElement2 = 'C' + sStockno;
	var sInputBox = 'V' + sStockno;

	if ( document.getElementById(sElement) ) {
	  document.getElementById(sElement).style.display = 'none';
	}
	if ( document.getElementById(sElement2) ) {
	  document.getElementById(sElement2).style.display = 'block';
		if ( document.getElementById(sInputBox) ) {
			setTimeout("document.getElementById('" + sInputBox + "').select()", 1);
		}
	}
}


/* -----------------12/14/2007 10:00AM---------------
 acceptOrderQty - Process a stock order
 --------------------------------------------------*/
function acceptOrderQty( evt, sKey, sStockno, bFromSpec ) {

	var keyCode = null;

	if( evt.which ) {
		// handles Firefox
		keyCode = evt.which;
	} else if( evt.keyCode ) {
		// handles IE
		keyCode = evt.keyCode;
	}

	if ( bFromSpec == undefined ) {
		bFromSpec = false;
	}

	if( 13 == keyCode ) {
		if ( bFromSpec ) {
			refreshCart(sKey, 'I' + sStockno, sStockno, 0, true, 'PD' + sStockno);
		} else {
			refreshCart(sKey, 'I' + sStockno, sStockno, 0, true);
		}
		return false;
	}

	if( keyCode < 48 || keyCode > 57 ) {
		switch (keyCode) {
			case 8:
				// Backspace
				break;
			case 9:
				// Tab
				break;
			case 27:
				// Escape
				break;
			case 37:
				// Arrow left
				break;
			case 39:
				// Arrow right
				break;
			default:
				return false;
				break;
		}
	}

	return true;
}


/* -----------------12/14/2007 10:00AM---------------
 hideChange - Hide a field change
 --------------------------------------------------*/
function hideChange(sStockno) {

	var sElement = 'R' + sStockno;
	var sElement2 = 'C' + sStockno;

	if ( document.getElementById(sElement2) ) {
	  document.getElementById(sElement2).style.display = 'none';
	}
	if ( document.getElementById(sElement) ) {
	  document.getElementById(sElement).style.display = 'block';
	}
}

/* -----------------12/14/2007 10:00AM---------------
 acceptChange - Accept a field change
 --------------------------------------------------*/
function acceptChange( evt, frm, sKey, sStockno ) {

	var keyCode = null;

	if( evt.which ) {
		// handles Firefox
		keyCode = evt.which;
	} else if( evt.keyCode ) {
		// handles IE
		keyCode = evt.keyCode;
	}

	if( 27 == keyCode ) {
		hideChange(sStockno);
		return false;
	}

	if( 13 == keyCode ) {
		handleChange(sKey, sStockno);
		return false;
	}

	return true;
}

/* -----------------12/14/2007 10:00AM---------------
 handleChange - Process a field change
 --------------------------------------------------*/
function handleChange(sKey, sStockno) {

	var sElement = 'V' + sStockno;
	var nQty = 0;
	if ( document.forms["dpcart"].elements[sElement] ) {
		nQty = document.forms["dpcart"].elements[sElement].value;
	}

	if ( nQty != 0 ) {
		refreshCart(sKey, '', sStockno, nQty);
	}

	return false;
}

/* -----------------12/14/2007 10:00AM---------------
 checkOut - Proceed to checkout screen
 --------------------------------------------------*/
function checkOut(sKey, sTarget) {

	if ( document.forms["wbcartaddress"] ) {
		if ( addressValidate() ) {
			if ( sTarget != '' ) {
				document.forms["wbcartaddress"].action = sTarget;
			}
			document.forms["wbcartaddress"].submit();
		}
	}

}


/* -----------------12/14/2007 10:00AM---------------
 getCookie - Get a cookie value
 --------------------------------------------------*/
function getCookie(sName)
{
	if (document.cookie.length > 0) {
	  nStart = document.cookie.indexOf( sName + "=" );
	  if (nStart != -1) {
	    nStart = nStart + sName.length + 1;
	    nEnd = document.cookie.indexOf(";", nStart);
	    if ( nEnd == -1 )
				nEnd = document.cookie.length;
	    return unescape(document.cookie.substring(nStart,nEnd) );
		}
  }
	return "";
}

/* -----------------12/14/2007 10:00AM---------------
 addFav - Add Item to Favourites
 --------------------------------------------------*/
function addFav(sKey, sField, sStockno) {

	var url = 'dp_forward.php';

	var params = {
								 APP: 'DP024',
								 FUN: 'DP024FN01',
								 PART: g_Partition,
								 DPSESSKEY: sKey,
								 STOCKNO: sStockno,
								 X_FUNC: 'A'
							 }

	var bErr = false;

	new Ajax.Request(url,
		{
			method: 'post',
			parameters: params,
			onSuccess: function(transport){
				var oWAM = eval(transport.responseText);
				if ( oWAM.W_ERR == 'N' ) {
					toggleFav(sKey, sField, sStockno, true);
				}
			},
			encoding: '',
			onFailure: function(){ alert('Something went wrong ...') },
			onException: function(oRequest, oExcept){ alert('Exception: ' + oExcept.message) }
		});

}

/* -----------------12/14/2007 10:00AM---------------
 toggleFav
 --------------------------------------------------*/
function toggleFav(sKey, sField, sStockno, bAdd) {
	var sHTML = '';

	if ( bAdd ) {
    sHTML += '<a href="javascript:delFav(' + sKey + ', \'' + sField + '\', \'' + sStockno + '\')"><img src="images/dp/favdel.gif" alt="Remove from Favourites" title="Remove From Your Favourites" /></a>';
	} else {
    sHTML += '<a href="javascript:addFav(' + sKey + ', \'' + sField + '\', \'' + sStockno + '\')"><img src="images/dp/favadd.gif" alt="Add to Favourites" title="Add to Your Favourites" /></a>';
	}

	if ( document.getElementById(sField) ) {
	  document.getElementById(sField).innerHTML = sHTML;
	}
}

/* -----------------12/14/2007 10:00AM---------------
 delFav - Delete Item From Favourites
 --------------------------------------------------*/
function delFav(sKey, sField, sStockno) {

	var url = 'dp_forward.php';

	var params = {
								 APP: 'DP024',
								 FUN: 'DP024FN01',
								 PART: g_Partition,
								 DPSESSKEY: sKey,
								 STOCKNO: sStockno,
								 X_FUNC: 'D'
							 }

	var bErr = false;

	new Ajax.Request(url,
		{
			method: 'post',
			parameters: params,
			onSuccess: function(transport){
				var oWAM = eval(transport.responseText);
				if ( oWAM.W_ERR == 'N' ) {
					toggleFav(sKey, sField, sStockno, false);
				}
			},
			encoding: '',
			onFailure: function(){ alert('Something went wrong ...') },
			onException: function(oRequest, oExcept){ alert('Exception: ' + oExcept.message) }
		});

}

/* -----------------12/14/2007 10:00AM---------------
 copyTemplate - Copy an Order Template from eCat
 --------------------------------------------------*/
function copyTemplate(sKey, nTpl) {

	var url = 'dp_forward.php';

	var params = {
								 APP: 'DP026',
								 FUN: 'DP026FN01',
								 PART: g_Partition,
								 DPSESSKEY: sKey,
								 LW3CCTNUM: nTpl,
								 X_FUNC: 'T'
							 }

	var bErr = false;

	new Ajax.Request(url,
		{
			method: 'post',
			parameters: params,
			onSuccess: function(transport){
				var oWAM = eval(transport.responseText);
				toggleTemplate(nTpl);
			},
			encoding: '',
			onFailure: function(){ alert('Something went wrong ...') },
			onException: function(oRequest, oExcept){ alert('Exception: ' + oExcept.message) }
		});


}

/* -----------------12/14/2007 10:00AM---------------
 toggleTemplate
 --------------------------------------------------*/
function toggleTemplate(nTpl) {
	var sHTML = '&nbsp;';
	var sField = 'TPL' + nTpl;

	if ( document.getElementById(sField) ) {
	  document.getElementById(sField).innerHTML = sHTML;
	}
}

/* -----------------12/14/2007 10:00AM---------------
 addTemplate
 --------------------------------------------------*/
function addTemplate() {
	var sHTML = '';
	var sTarget = 'template_add';

	sHTML += '<form id="tpladd" method="post" action="dptpladd.php" onSubmit="return validateTemplate();">';
	sHTML += '<p><input type="text" size="25" maxlength="60" value="" name="a_tpldesc" /></p>';
	sHTML += '<p><input type="submit" value="&nbsp;&nbsp;&nbsp;Add&nbsp;&nbsp;&nbsp;" name="submit" class="template_button" />';
	sHTML += '<input type="button" value="Cancel" onclick="cancelTemplateAdd();" class="template_button" /></p>';
	sHTML += '</form>';

	if ( document.getElementById(sTarget) ) {
	  document.getElementById(sTarget).innerHTML = sHTML;
	}
}

/* -----------------12/14/2007 10:00AM---------------
 cancelTemplateAdd
 --------------------------------------------------*/
function cancelTemplateAdd() {
	var sHTML = '<input type="button" value="Add a Template" onclick="addTemplate();" class="template_button" />';
	var sTarget = 'template_add';

	if ( document.getElementById(sTarget) ) {
	  document.getElementById(sTarget).innerHTML = sHTML;
	}
}

/* -----------------12/14/2007 10:00AM---------------
 checkTemplateName
 --------------------------------------------------*/
function checkTemplateName(evt) {

	sTest = '';
	if ( document.forms["tpladd"] )
		sTest = document.forms["tpladd"].elements['a_tpldesc'].value;

	if ( sTest.length > 0 ) {
		document.forms["tpladd"].submit.disabled = false;
	} else {
		document.forms["tpladd"].submit.disabled = true;
	}

	return true;
}

/* -----------------12/14/2007 10:00AM---------------
 validateTemplate
 --------------------------------------------------*/
function validateTemplate() {

	sTest = '';
	if ( document.forms["tpladd"] )
		sTest = document.forms["tpladd"].elements['a_tpldesc'].value;

	if ( sTest.length == 0 ) {
		alert('Your template name cannot be blank.');
		return false;
	}

	return true;
}

/* -----------------12/14/2007 10:00AM---------------
 delTemplateItem - Delete a Template Item
 --------------------------------------------------*/
function delTemplateItem(sKey, nTpl, sStockno) {

	var url = 'dp_forward.php';

	var params = {
								 APP: 'DP029',
								 FUN: 'DP029FN01',
								 PART: g_Partition,
								 DPSESSKEY: sKey,
								 DPSAVHKEY: nTpl,
								 STOCKNO: sStockno,
								 X_FUNC: 'X'
							 }

	var bErr = false;

	new Ajax.Request(url,
		{
			method: 'post',
			parameters: params,
			onSuccess: function(transport){
				var oWAM = eval(transport.responseText);
				refreshTemplate(nTpl);
			},
			encoding: '',
			onFailure: function(){ alert('Something went wrong ...') },
			onException: function(oRequest, oExcept){ alert('Exception: ' + oExcept.message) }
		});


}

/* -----------------12/14/2007 10:00AM---------------
 refreshTemplate
 --------------------------------------------------*/
function refreshTemplate(nTpl) {

	sTarget = 'dpsavedord.php?p_template=' + nTpl;

	window.location = sTarget;

}

/* -----------------12/14/2007 10:00AM---------------
 showItemBreak
 --------------------------------------------------*/
function showItemBreak(sStockno) {

	hideDiv('QP' + sStockno);
	if ( document.getElementById('QB' + sStockno) ) {
	  document.getElementById('QB' + sStockno).style.display = 'block';
	}

}

/* -----------------12/14/2007 10:00AM---------------
 linkSKU
 --------------------------------------------------*/
function linkSKU(sStockno) {

	if ( document.getElementById('sku_adder_title') ) {
	  document.getElementById('sku_adder_title').innerHTML = 'Link to GF Stock No. ' + sStockno;
	}
	if ( document.getElementById('sku_adder_gfstockno') ) {
	  document.getElementById('sku_adder_gfstockno').innerHTML = sStockno;
	}
	if ( document.forms['sku_adder_form'] ) {
		document.forms['sku_adder_form'].elements['sku_adder_stockno'].value = sStockno;
		document.forms['sku_adder_form'].elements['sku_function'].value = 'A';
		document.forms['sku_adder_form'].elements['sku_adder_custprdno'].value = '';
		document.forms['sku_adder_form'].elements['sku_adder_venddesc'].value = '';
		if ( document.getElementById('sku_adder_error') ) {
			document.getElementById('sku_adder_error').innerHTML = '';
		}
	}
	if ( document.getElementById('sku_adder') ) {
	  document.getElementById('sku_adder').style.display = 'block';
		document.forms['sku_adder_form'].elements['sku_adder_custprdno'].focus();
	}

}

/* -----------------12/14/2007 10:00AM---------------
 linkChange
 --------------------------------------------------*/
function linkChange(sStockno, sKey) {

	var url = 'dp_forward.php';

	var params = {
								 APP: 'DP037',
								 FUN: 'DP037FN01',
								 PART: g_Partition,
								 DPSESSKEY: sKey,
								 STOCKNO: sStockno,
								 X_FUNC: 'R'
							 }

	var bErr = false;

	new Ajax.Request(url,
		{
			method: 'post',
			parameters: params,
			onSuccess: function(transport){
				var oWAM = eval(transport.responseText);
				if ( oWAM.W_ERR != 'E' ) {
					if ( document.getElementById('sku_adder_title') ) {
						document.getElementById('sku_adder_title').innerHTML = 'Change Your Link for Stock No. ' + sStockno;
					}
					if ( document.getElementById('sku_adder_gfstockno') ) {
					  document.getElementById('sku_adder_gfstockno').innerHTML = sStockno;
					}
					if ( document.forms['sku_adder_form'] ) {
						document.forms['sku_adder_form'].elements['sku_function'].value = 'U';
						document.forms['sku_adder_form'].elements['sku_adder_stockno'].value = sStockno;
						document.forms['sku_adder_form'].elements['sku_adder_custprdno'].value = oWAM.CUSTPRDNO;
						document.forms['sku_adder_form'].elements['sku_adder_venddesc'].value = oWAM.VENDDESC;
						if ( document.getElementById('sku_adder_error') ) {
							document.getElementById('sku_adder_error').innerHTML = '';
						}
					}
					if ( document.getElementById('sku_adder') ) {
						document.getElementById('sku_adder').style.display = 'block';
					}
				}
			},
			encoding: '',
			onFailure: function(){ alert('Something went wrong ...') },
			onException: function(oRequest, oExcept){ alert('Exception: ' + oExcept.message) }
		});




}

/* -----------------12/14/2007 10:00AM---------------
 acceptSKUChange - Accept a field change
 --------------------------------------------------*/
function acceptSKUChange( evt, frm, sKey ) {

	var keyCode = null;

	if( evt.which ) {
		// handles Firefox
		keyCode = evt.which;
	} else if( evt.keyCode ) {
		// handles IE
		keyCode = evt.keyCode;
	}

	if( 27 == keyCode ) {
		hideDiv('sku_adder');
		return false;
	}

	if( 13 == keyCode ) {
		postSKUChange(sKey);
		return false;
	}

	return true;
}

/* -----------------12/14/2007 10:00AM---------------
 linkSKU
 --------------------------------------------------*/
function postSKUChange(sKey) {

	var sStockno = document.forms['sku_adder_form'].elements['sku_adder_stockno'].value;
	var sCustprdno = document.forms['sku_adder_form'].elements['sku_adder_custprdno'].value;
	var sVenddesc = document.forms['sku_adder_form'].elements['sku_adder_venddesc'].value;
	var sFunction = document.forms['sku_adder_form'].elements['sku_function'].value;

	var url = 'dp_forward.php';

	var params = {
								 APP: 'DP037',
								 FUN: 'DP037FN01',
								 PART: g_Partition,
								 DPSESSKEY: sKey,
								 STOCKNO: sStockno,
								 CUSTPRDNO: sCustprdno,
								 VENDDESC: sVenddesc,
								 X_FUNC: sFunction
							 }

	var bErr = false;

	new Ajax.Request(url,
		{
			method: 'post',
			parameters: params,
			onSuccess: function(transport){
				var oWAM = eval(transport.responseText);
				if ( oWAM.W_ERR == 'E' ) {
					document.getElementById('sku_adder_error').innerHTML = oWAM.W_ERRMSG;
				} else {
					hideDiv('sku_adder');
					if ( sCustprdno == '' ) {
				    document.getElementById('SKU' + sStockno).innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:linkSKU(\'' + sStockno + '\')"><img src="images/dp/yoursku.gif" class="centered" alt="Link Your SKU" title="Link Your SKU to this Item" /></a>';
					} else {
  					document.getElementById('SKU' + sStockno).innerHTML = '<em><a href="javascript:linkChange(\'' + sStockno + '\', ' + sKey + ')">' + sCustprdno + '</a></em>';
					}
				}
			},
			encoding: '',
			onFailure: function(){ alert('Something went wrong ...') },
			onException: function(oRequest, oExcept){ alert('Exception: ' + oExcept.message) }
		});
}

/* -----------------12/14/2007 10:00AM---------------
 quickPost
 --------------------------------------------------*/
function quickPost() {

	if ( document.getElementById('quick_poster') ) {
	  document.getElementById('quick_poster').style.display = 'block';
		document.forms['quick_poster_form'].elements['quick_poster_custprdno'].focus();
	}

}

/* -----------------12/14/2007 10:00AM---------------
 acceptQuickPost - Accept a field change
 --------------------------------------------------*/
function acceptQuickPost( evt, frm, sKey ) {

	var keyCode = null;

	if( evt.which ) {
		// handles Firefox
		keyCode = evt.which;
	} else if( evt.keyCode ) {
		// handles IE
		keyCode = evt.keyCode;
	}

	if( 27 == keyCode ) {
		hideDiv('quick_post');
		return false;
	}

	if( 13 == keyCode ) {
		postQuick(sKey);
		return false;
	}

	return true;
}

/* -----------------12/14/2007 10:00AM---------------
 tabQuickPost - Make Enter work like Tab
 --------------------------------------------------*/
function tabQuickPost( evt, frm, sKey ) {

	var keyCode = null;

	if( evt.which ) {
		// handles Firefox
		keyCode = evt.which;
	} else if( evt.keyCode ) {
		// handles IE
		keyCode = evt.keyCode;
	}

	if( 27 == keyCode ) {
		hideDiv('quick_post');
		return false;
	}

	if( 13 == keyCode ) {
		document.forms['quick_poster_form'].elements['quick_poster_quantity'].focus();
		return false;
	}

	return true;
}


/* -----------------12/14/2007 10:00AM---------------
 postQuick
 --------------------------------------------------*/
function postQuick(sKey) {

	var sCustprdno = document.forms['quick_poster_form'].elements['quick_poster_custprdno'].value;
	var sQty = document.forms['quick_poster_form'].elements['quick_poster_quantity'].value;

	if ( isNaN(sQty) ) {
		document.getElementById('quick_poster_error').innerHTML = 'Your quantity must be a number greater than 0.';
		return;
	}

	var url = 'dp_forward.php';

	var params = {
								 APP: 'DP013',
								 FUN: 'DP013FN01',
								 PART: g_Partition,
								 DPSESSKEY: sKey,
								 CUSTPRDNO: sCustprdno,
								 STOCKNO: '',
								 ORDQTY: sQty,
								 X_DELETE: 'N'
							 }

	var bErr = false;

	new Ajax.Request(url,
		{
			method: 'post',
			parameters: params,
			onSuccess: function(transport){
				var oWAM = eval(transport.responseText);
				var sErr = '';
				switch (oWAM.W_ERR) {
					case 'R':
						sErr = 'Your order quantity must be a multiple of the minimum order qty: ' + oWAM.W_MINQTY;
						break;
					case 'M':
						sErr = 'The SKU you entered is not in our system';
						break;
					case 'I':
						sErr = 'This item is not currently available for online orders';
						break;
					default:
						break;
  			}
				document.getElementById('quick_poster_error').innerHTML = sErr;
				if ( sErr != '' ) {
				} else {
					showCart(oWAM, '', sKey, false);
					$('cart_submit').disabled = false;
					document.forms['quick_poster_form'].elements['quick_poster_custprdno'].value = '';
					document.forms['quick_poster_form'].elements['quick_poster_quantity'].value = '';
					document.forms['quick_poster_form'].elements['quick_poster_custprdno'].focus();
				}
			},
			encoding: '',
			onFailure: function(){ alert('Something went wrong ...') },
			onException: function(oRequest, oExcept){ alert('Exception: ' + oExcept.message) }
		});


}

/* -----------------12/14/2007 10:00AM---------------
 showUser - Show One User
 --------------------------------------------------*/
function showCustUser(sEmail, sKey, bAdd) {

	var url = 'dp_forward.php';

	var params = {
								 APP: 'DP048',
								 FUN: 'DP048FN01',
								 PART: g_Partition,
								 DPEMAIL: sEmail,
								 DPSESSKEY: sKey
							 }

	var bErr = false;

	var sHTML = '';

	sHTML += '<div class="user_detail_title">';
	if ( bAdd ) {
	  sHTML += 'Add New User';
	} else {
	  sHTML += 'Change User';
	}
  sHTML += '<img class="user_detail_close" src="images/dp/close_3.gif" alt="Close Window" onclick="hideDiv(\'user_detail\');" />';
  sHTML += '</div>';
  sHTML += '<div id="user_detail_form">';
	sHTML += '<img id="oo_status" src="images/navigation/mozilla_blu.gif" alt="Waiting ... " />';
  sHTML += '</div>';

	showDiv(sHTML, 'user_detail');

	new Ajax.Request(url,
		{
			method: 'post',
			parameters: params,
			onSuccess: function(transport){
				var oWAM = eval(transport.responseText);
				setupCustUserForm(oWAM, sKey, bAdd);
			},
			encoding: '',
			onFailure: function(){ alert('Something went wrong ...') },
			onException: function(oRequest, oExcept){ alert('Exception: ' + oExcept.message) }
		});

}

/* -----------------02/20/2009 10:00AM---------------
 setupUserForm
 --------------------------------------------------*/
function setupCustUserForm(oWAM, sKey, bAdd) {

	var sHTML = '';
	var sopt1 = '';
	var sopt2 = '';
	var sopt3 = '';
	var sopt5 = '';
	var sopt7 = '';

  if (oWAM.DPOPT1 == 'Y') { sopt1 = 'checked="checked"'; }
  if (oWAM.DPOPT2 == 'Y') { sopt2 = 'checked="checked"'; }
  if (oWAM.DPOPT3 == 'Y') { sopt3 = 'checked="checked"'; }
  if (oWAM.DPOPT5 == 'Y') { sopt5 = 'checked="checked"'; }
  if (oWAM.DPOPT7 == 'Y') { sopt7 = 'checked="checked"'; }

	sHTML += '<form id="dpsettings" method="post" action="dp_adm_csch.php">';
  sHTML += '<table>';
  sHTML += '<tbody>';
  sHTML += '<tr><td class="p_label">EMail:</td><td class="p_data">';
	if ( bAdd ) {
	  sHTML += '<input maxlength="60" name="user_email" size="60" type="text" value="' + oWAM.DPEMAIL + '" />';
	} else {
	  sHTML += '<strong>' + oWAM.DPEMAIL + '</strong>';
	}
  sHTML += '</td></tr>';
  sHTML += '<tr><td class="p_label">Password:</td><td class="p_data"><input maxlength="20" name="user_pwd" size="20" type="password" value="' + oWAM.DPPASSWRD + '" /></td></tr>';
  sHTML += '<tr><td class="p_label">Confirm Password:</td><td class="p_data"><input maxlength="20" name="user_pwd_confirm" size="20" type="password" value="' + oWAM.DPPASSWRD + '" /></td></tr>';
  sHTML += '<tr><td class="p_label">Name:</td><td class="p_data"><input maxlength="100" name="user_name" size="40" type="text" value="' + oWAM.DPNAME + '" /></td></tr>';
  sHTML += '<tr><td class="p_label">Phone Number:</td><td class="p_data"><input maxlength="20" name="user_phone" size="20" type="text" value="' + oWAM.DPPHONE + '" /></td></tr>';
  sHTML += '<tr><td class="p_label">Show Products When Count Less Than:</td><td class="p_data"><input maxlength="3" name="user_num1" size="3" type="text" value="' + oWAM.DPNUM1 + '" /></td></tr>';
  sHTML += '<tr><td class="p_label">Maximum Products Allowed in Lists:</td><td class="p_data"><input maxlength="3" name="user_num2" size="3" type="text" value="' + oWAM.DPNUM2 + '" /></td></tr>';
  sHTML += '<tr><td class="p_label">&nbsp;</td><td class="p_data"><input name="user_opt1" size="1" type="checkbox" value="Y" ' + sopt1 + ' />&nbsp;&nbsp;<span class="p_label" style="font-size: .9em">Always Show Price Source</span></td></tr>';
  sHTML += '<tr><td class="p_label">&nbsp;</td><td class="p_data"><input name="user_opt2" size="1" type="checkbox" value="Y" ' + sopt2 + ' />&nbsp;&nbsp;<span class="p_label" style="font-size: .9em">Show Approximate Item Quanitites</span></td></tr>';
  sHTML += '<tr><td class="p_label">&nbsp;</td><td class="p_data"><input name="user_opt3" size="1" type="checkbox" value="Y" ' + sopt3 + ' />&nbsp;&nbsp;<span class="p_label" style="font-size: .9em">Allow User to Place Order</span></td></tr>';
  sHTML += '<tr><td class="p_label">&nbsp;</td><td class="p_data"><input name="user_opt5" size="1" type="checkbox" value="Y" ' + sopt5 + ' />&nbsp;&nbsp;<span class="p_label" style="font-size: .9em">User is Disabled</span></td></tr>';
  sHTML += '<tr><td class="p_label">&nbsp;</td><td class="p_data"><input name="user_opt7" size="1" type="checkbox" value="Y" ' + sopt7 + ' />&nbsp;&nbsp;<span class="p_label" style="font-size: .9em">Prevent User from Seeing Financial Info</span></td></tr>';
  sHTML += '</tbody>';
  sHTML += '</table>';
  sHTML += '</form>';

	if ( bAdd ) {
		sHTML += '<p class="centered"><input type="button" class="form_button" value="Add User" onclick="postUser(\'' + oWAM.DPEMAIL + '\', ' + sKey + ', true)" /></p>';
		sHTML += '<p class="form_message">Note that the default password is your account number: <strong>' + oWAM.CUSTNO + '</strong></p>';
	} else {
		sHTML += '<p class="centered"><input type="button" class="form_button" value="Save Changes" onclick="postUser(\'' + oWAM.DPEMAIL + '\', ' + sKey + ', false)" /></p>';
	}
	sHTML += '<div id="user_post_error">&nbsp;</div>';

	if ( document.getElementById("user_detail_form") ) {
	  document.getElementById("user_detail_form").innerHTML = sHTML;
	} else {
		alert('Could not find user_detail_form');
	}

}

/* -----------------12/14/2007 10:00AM---------------
 postUser - Update User
 --------------------------------------------------*/
function postUser(sEmail, sKey, bAdd) {

	var url = 'dp_forward.php';
	var sNotify = 'N';
	var sAdd = 'C';
	if ( bAdd ) {
		sAdd = 'A';
		sEmail = document.forms["dpsettings"].user_email.value;
	}

	var sErr = '';

	var sPwd = document.forms["dpsettings"].user_pwd.value;
	var sPwdC = document.forms["dpsettings"].user_pwd_confirm.value;

	if ( sPwd != sPwdC ) {
		sErr = 'Your password does not match your confirmation password.';
		showDiv(sErr, 'user_post_error');
		return;
	}

	var sName = document.forms["dpsettings"].user_name.value;
	var sPhone = document.forms["dpsettings"].user_phone.value;
	var sNum1 = document.forms["dpsettings"].user_num1.value;
	var sNum2 = document.forms["dpsettings"].user_num2.value;
	var sNum3 = '0';
	var sNum4 = '0';
	var sNum5 = '0';
	var sNum6 = '0';

	var sOpt1 = 'N';
	var sOpt2 = 'N';
	var sOpt3 = 'N';
	var sOpt4 = 'N';
	var sOpt5 = 'N';
	var sOpt6 = 'N';
	var sOpt7 = 'N';
	var sOpt8 = 'N';
	var sOpt9 = 'N';
	var sOpt10 = 'N';
	var sOpt11 = 'N';
	var sOpt12 = 'N';
	var sOpt13 = 'N';
	var sOpt14 = 'N';
	var sOpt15 = 'N';

	if ( document.forms["dpsettings"].user_opt1.checked ) { sOpt1 = 'Y'; }
	if ( document.forms["dpsettings"].user_opt2.checked ) {	sOpt2 = 'Y'; }
	if ( document.forms["dpsettings"].user_opt3.checked ) {	sOpt3 = 'Y'; }
	if ( document.forms["dpsettings"].user_opt5.checked ) {	sOpt5 = 'Y'; }
	if ( document.forms["dpsettings"].user_opt7.checked ) {	sOpt7 = 'Y'; }

	var params = {
								 APP: 'DP048',
								 FUN: 'DP048FN02',
								 PART: g_Partition,
								 DPEMAIL: sEmail,
								 DPPASSWRD: sPwd,
								 DPPHONE: sPhone,
								 DPNAME: sName,
								 DPSESSKEY: sKey,
								 DPNUM1: sNum1,
								 DPNUM2: sNum2,
								 DPNUM3: sNum3,
								 DPNUM4: sNum4,
								 DPNUM5: sNum5,
								 DPNUM6: sNum6,
								 DPOPT1: sOpt1,
								 DPOPT2: sOpt2,
								 DPOPT3: sOpt3,
								 DPOPT4: sOpt4,
								 DPOPT5: sOpt5,
								 DPOPT6: sOpt6,
								 DPOPT7: sOpt7,
								 DPOPT8: sOpt8,
								 DPOPT9: sOpt9,
								 DPOPT10: sOpt10,
								 DPOPT11: sOpt11,
								 DPOPT12: sOpt12,
								 DPOPT13: sOpt13,
								 DPOPT14: sOpt14,
								 DPOPT15: sOpt15,
								 W_OPT: sAdd
							 }

	new Ajax.Request(url,
		{
			method: 'post',
			parameters: params,
			onSuccess: function(transport){
				var oWAM = eval(transport.responseText);
				if ( oWAM.W_ERR == 'A' ) {
					sErr = 'A user with this email address already exists!';
				}
				if ( oWAM.W_ERR == 'B' ) {
					sErr = 'An email address is required.';
				}
				if ( oWAM.W_ERR == 'M' ) {
					sErr = 'Update failed! No record found for this email.';
				}
				if ( oWAM.W_ERR == 'F' ) {
					sErr = 'Update failed! No clue why - Lansa business as usual.';
				}
				if ( oWAM.W_ERR == 'P' ) {
					sErr = 'The password cannot be blank.';
				}
				if ( sErr != '' ) {
					showDiv(sErr, 'user_post_error');
				} else {
					if ( bAdd ) {
						new Insertion.Bottom('cust_users', '<li><a href="javascript:showCustUser(\'' + sEmail + '\', ' + sKey + ', false)">' + sEmail + '</a> (' + sName + ')</li>');
					}
					hideDiv('user_detail');
				}
			},
			encoding: '',
			onFailure: function(){ alert('Something went wrong ...') },
			onException: function(oRequest, oExcept){ alert('Exception: ' + oExcept.message) }
		});

}


