You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							510 lines
						
					
					
						
							20 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							510 lines
						
					
					
						
							20 KiB
						
					
					
				
								<!--
							 | 
						|
								
							 | 
						|
								/*********************************************************************************
							 | 
						|
								
							 | 
						|
								 * The contents of this file are subject to the SugarCRM Public License Version 1.1.2
							 | 
						|
								
							 | 
						|
								 * ("License"); You may not use this file except in compliance with the
							 | 
						|
								
							 | 
						|
								 * License. You may obtain a copy of the License at http://www.sugarcrm.com/SPL
							 | 
						|
								
							 | 
						|
								 * Software distributed under the License is distributed on an  "AS IS"  basis,
							 | 
						|
								
							 | 
						|
								 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
							 | 
						|
								
							 | 
						|
								 * the specific language governing rights and limitations under the License.
							 | 
						|
								
							 | 
						|
								 * The Original Code is:  SugarCRM Open Source
							 | 
						|
								
							 | 
						|
								 * The Initial Developer of the Original Code is SugarCRM, Inc.
							 | 
						|
								
							 | 
						|
								 * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.;
							 | 
						|
								
							 | 
						|
								 * All Rights Reserved.
							 | 
						|
								
							 | 
						|
								 * Contributor(s): ______________________________________.
							 | 
						|
								
							 | 
						|
								 ********************************************************************************/
							 | 
						|
								
							 | 
						|
								/*********************************************************************************
							 | 
						|
								
							 | 
						|
								 * {APP.LBL_CURRENCY_SYM}Header: /cvsroot/sugarcrm/sugarcrm/modules/Accounts/EditView.html,v 1.16 2004/07/16 00:42:57 sugarclint Exp {APP.LBL_CURRENCY_SYM}
							 | 
						|
								
							 | 
						|
								 ********************************************************************************/
							 | 
						|
								
							 | 
						|
								-->
							 | 
						|
								
							 | 
						|
								<!-- BEGIN: main -->
							 | 
						|
								
							 | 
						|
								<form name="EditView" method="POST" action="index.php">
							 | 
						|
								<table width="100%" cellpadding="2" cellspacing="0" border="0">
							 | 
						|
								
							 | 
						|
								<tr>
							 | 
						|
								
							 | 
						|
								    <td vAlign="middle" align="left"><IMG src="{IMAGE_PATH}sales_order.gif" border="0"></td>
							 | 
						|
								
							 | 
						|
								    <td class="moduleTitle" vAlign="middle" align="left" noWrap width="100%" height="20">{MOD.LBL_SO}  {NAME}</td>
							 | 
						|
								
							 | 
						|
									<td nowrap class='bodySmall' align='right'>[ <A href='http://www.vtiger.com/products/crm/document.html' target='_blank'>{APP.LNK_HELP}</A> ]</td>
							 | 
						|
								
							 | 
						|
								</tr>
							 | 
						|
								
							 | 
						|
								<tr><td colspan="3" class="hline"><img height='1' src='include/images/blank.gif'></td></tr></table>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								<br>
							 | 
						|
								<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr>
							 | 
						|
									<td>
							 | 
						|
								<div align="center">
							 | 
						|
										
							 | 
						|
									       <link rel="stylesheet" type="text/css" media="all" href="jscalendar/calendar-win2k-cold-1.css">
							 | 
						|
								
							 | 
						|
									       <script type="text/javascript" src="jscalendar/calendar.js"></script>
							 | 
						|
								
							 | 
						|
								               <script type="text/javascript" src="jscalendar/lang/calendar-{CALENDAR_LANG}.js"></script>
							 | 
						|
								
							 | 
						|
										<script type="text/javascript" src="jscalendar/calendar-setup.js"></script>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
											<input type="hidden" name="module" value="Orders">
							 | 
						|
								
							 | 
						|
											<input type="hidden" name="record" value="{ID}">
							 | 
						|
								
							 | 
						|
											<input type="hidden" name="mode" value="{MODE}">
							 | 
						|
								
							 | 
						|
											<input type="hidden" name="action">
							 | 
						|
								
							 | 
						|
											<input type="hidden" name="convertmode">
							 | 
						|
								
							 | 
						|
											<input type="hidden" name="return_module" value="{RETURN_MODULE}">
							 | 
						|
								
							 | 
						|
											<input type="hidden" name="return_id" value="{RETURN_ID}">
							 | 
						|
								
							 | 
						|
											<input type="hidden" name="return_action" value="{RETURN_ACTION}">
							 | 
						|
								
							 | 
						|
											<input type="hidden" name="totalProductCount">
							 | 
						|
								
							 | 
						|
										<input title="{APP.LBL_SAVE_BUTTON_TITLE}" accessKey="{APP.LBL_SAVE_BUTTON_KEY}" class="button" onclick="this.form.action.value='SaveSalesOrder';settotalnoofrows(); return validate() " type="submit" name="button" value="  {APP.LBL_SAVE_BUTTON_LABEL}  " >
							 | 
						|
								
							 | 
						|
										<input title="{APP.LBL_CANCEL_BUTTON_TITLE}" accessKey="{APP.LBL_CANCEL_BUTTON_KEY}" class="button" onclick="window.history.back()" type="button" name="button" value="  {APP.LBL_CANCEL_BUTTON_LABEL}  ">
							 | 
						|
								
							 | 
						|
										
							 | 
						|
									</div>
							 | 
						|
								</td>
							 | 
						|
								
							 | 
						|
								</tr>
							 | 
						|
								
							 | 
						|
								</table>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
									<div align="right"><font class="required">{APP.LBL_REQUIRED_SYMBOL}</font>{APP.NTC_REQUIRED}</div>
							 | 
						|
								<table width="100%" border="0" cellspacing="0" cellpadding="0" class="formOuterBorder">
							 | 
						|
								
							 | 
						|
								<tr>
							 | 
						|
								
							 | 
						|
								<td>
							 | 
						|
								
							 | 
						|
									{BLOCK1_HEADER}
							 | 
						|
								
							 | 
						|
									
							 | 
						|
								
							 | 
						|
									<table width="100%" border="0" cellspacing="1" cellpadding="0">		
							 | 
						|
								
							 | 
						|
									{BLOCK1}	
							 | 
						|
								
							 | 
						|
									</table>
							 | 
						|
								
							 | 
						|
								</td></tr></table>
							 | 
						|
								
							 | 
						|
								<BR>
							 | 
						|
								
							 | 
						|
								        {CUSTOMFIELD}
							 | 
						|
								
							 | 
						|
								<table width="100%" border="0" cellspacing="0" cellpadding="0" class="formOuterBorder">
							 | 
						|
								
							 | 
						|
								<tr><td>
							 | 
						|
								
							 | 
						|
									{BLOCK2_HEADER}
							 | 
						|
								
							 | 
						|
									<table width="100%" border="0" cellspacing="1" cellpadding="0">		
							 | 
						|
								
							 | 
						|
									{BLOCK2}
							 | 
						|
								
							 | 
						|
									</table>
							 | 
						|
								
							 | 
						|
								</td></tr></table>
							 | 
						|
								
							 | 
						|
								<BR>
							 | 
						|
								  <table width="100%" border="0" cellspacing="0" cellpadding="0" class="formOuterBorder">
							 | 
						|
								   <tr><td  class="formBorder">
							 | 
						|
								  <div style="padding:2 0 2 0"><strong>{APP.LBL_PRODUCT_DETAILS}</strong></div>
							 | 
						|
								  <div id="productList"> 
							 | 
						|
								    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="formBorder">
							 | 
						|
								      <tr class="moduleListTitle" height="20" id="tablehead"> 
							 | 
						|
								        <td width="20%" style="padding:3px;"><font color="red">*</font>{APP.LBL_PRODUCT}</td>
							 | 
						|
								        <td WIDTH='1' class='blackLine'><IMG SRC='{IMAGE_PATH}blank.gif'></td>
							 | 
						|
								        <td width="12%" style="padding:3px;">{APP.LBL_QTY_IN_STOCK}</td>
							 | 
						|
								        <td WIDTH='1' class='blackLine'><IMG SRC='{IMAGE_PATH}blank.gif'></td>
							 | 
						|
								        <td width="12%" style="padding:3px;"><font color="red">*</font>{APP.LBL_QTY}</td>
							 | 
						|
								        <td WIDTH='1' class='blackLine'><IMG SRC='{IMAGE_PATH}blank.gif'></td>
							 | 
						|
								        <td width="15%" style="padding:3px;">{APP.LBL_UNIT_PRICE}</td>
							 | 
						|
								        <td WIDTH='1' class='blackLine'><IMG SRC='{IMAGE_PATH}blank.gif'></td>
							 | 
						|
								        <td width="16%" style="padding:3px;"><font color="red">*</font>{APP.LBL_LIST_PRICE}</td>
							 | 
						|
								        <td WIDTH='1' class='blackLine'><IMG SRC='{IMAGE_PATH}blank.gif'></td>
							 | 
						|
								        <td width="20%" style="padding:3px;"><div align="center">{APP.LBL_TOTAL}</div></td>
							 | 
						|
								        <td WIDTH='1' class='blackLine'><IMG SRC='{IMAGE_PATH}blank.gif'></td>
							 | 
						|
								        <td width="15" style="padding:3px;"></td>
							 | 
						|
								      </tr>
							 | 
						|
								      <tr id="tableheadline">
							 | 
						|
								        <td colspan="14" height="1" class="blackLine"><IMG SRC="{IMAGE_PATH}blank.gif"></td>
							 | 
						|
								      </tr>
							 | 
						|
								      {ROW1}
							 | 
						|
								      {ASSOCIATEDPRODUCTS} 
							 | 
						|
								      <tr id="tableheadline">
							 | 
						|
								        <td colspan="14" height="1" class="blackLine"><IMG SRC="{IMAGE_PATH}blank.gif"></td>
							 | 
						|
								      </tr>
							 | 
						|
								    </table>
							 | 
						|
								  </div>
							 | 
						|
								  <table width="100%" border="0" cellspacing="2" cellpadding="2" bgcolor="#FFFFFF">
							 | 
						|
								    <tr> 
							 | 
						|
									  <td width="150"><input type="button" class="button" value="{APP.LBL_ADD_PRODUCT}" onClick="addRow()"></td>
							 | 
						|
								      <td><div align="right"><b>{APP.LBL_SUB_TOTAL}:</b></div></td>
							 | 
						|
								      <td width="150" style="padding-right:35"><div id="subTotal" align="right" style="border:1px solid #000;padding:2px"> {SUBTOTAL}</div></td>
							 | 
						|
								    </tr>
							 | 
						|
								    <tr> 
							 | 
						|
									  <td> </td>
							 | 
						|
								      <td><div align="right"><b>{APP.LBL_TAX}:</b></div></td>
							 | 
						|
								      <td width="150" style="padding-right:35"><div align="right"><input type="text" id="txtTax" name="txtTax" value="{TAXVALUE}" onblur="calcGrandTotal()" style="width:100%"></div></td>
							 | 
						|
								    </tr>
							 | 
						|
									<tr> 
							 | 
						|
									  <td> </td>
							 | 
						|
								      <td><div align="right"><b>{APP.LBL_ADJUSTMENT}:</b></div></td>
							 | 
						|
								      <td width="150" style="padding-right:35"><div align="right"><input type="text" id="txtAdjustment" name="txtAdjustment" value="{ADJUSTMENTVALUE}" onblur="calcGrandTotal()" style="width:100%"></div></td>
							 | 
						|
								    </tr>
							 | 
						|
								    <tr> 
							 | 
						|
									  <td> </td>
							 | 
						|
								      <td><div align="right"><b>{APP.LBL_GRAND_TOTAL}:</b></div></td>
							 | 
						|
								      <td width="150" style="padding-right:35"><div id="grandTotal" align="right" style="border:1px solid #000;padding:2px"> {GRANDTOTAL}</div></td>
							 | 
						|
								    </tr>
							 | 
						|
								  </table>
							 | 
						|
								  <input type="hidden" name="hdnSubTotal" id="hdnSubTotal" value="{SUBTOTAL}">
							 | 
						|
								  <input type="hidden" name="hdnGrandTotal" id="hdnGrandTotal" value="{GRANDTOTAL}">
							 | 
						|
								  </td></td></table><br>
							 | 
						|
								  <table width="100%" border="0" cellspacing="0" cellpadding="0" class="formOuterBorder">
							 | 
						|
								    <tr> 
							 | 
						|
								      <td> {BLOCK6_HEADER} 
							 | 
						|
								        <table width="100%" border="0" cellspacing="1" cellpadding="0">
							 | 
						|
								          {BLOCK6} </table></td>
							 | 
						|
								    </tr>
							 | 
						|
								  </table>
							 | 
						|
								  <br>
							 | 
						|
								  <table width="100%" border="0" cellspacing="0" cellpadding="0" class="formOuterBorder">
							 | 
						|
								    <tr> 
							 | 
						|
								      <td> {BLOCK3_HEADER} 
							 | 
						|
								        <table width="100%" border="0" cellspacing="1" cellpadding="0">
							 | 
						|
								          {BLOCK3} </table></td>
							 | 
						|
								    </tr>
							 | 
						|
								  </table>
							 | 
						|
								  <br>
							 | 
						|
								  <table width="100%" cellpadding="0" cellspacing="0" border="0">
							 | 
						|
								    <tr> 
							 | 
						|
								      <td><div align="center"> 
							 | 
						|
								          <input title="{APP.LBL_SAVE_BUTTON_TITLE}" accessKey="{APP.LBL_SAVE_BUTTON_KEY}" class="button" onclick="this.form.action.value='SaveSalesOrder';settotalnoofrows();return validate()" type="submit" name="button" value="  {APP.LBL_SAVE_BUTTON_LABEL}  " >
							 | 
						|
								          <input title="{APP.LBL_CANCEL_BUTTON_TITLE}" accessKey="{APP.LBL_CANCEL_BUTTON_KEY}" class="button" onclick="window.history.back()" type="button" name="button" value="  {APP.LBL_CANCEL_BUTTON_LABEL}  ">
							 | 
						|
								        </div></td>
							 | 
						|
								    </tr>
							 | 
						|
								  </table>
							 | 
						|
								</form>
							 | 
						|
								<script type="text/javascript" language="JavaScript">
							 | 
						|
								var prodList=getObj("productList")
							 | 
						|
								var rowCnt={ROWCOUNT};
							 | 
						|
								//var rowCnt=1;
							 | 
						|
								var listTableStart="<table width='100%' border='0' cellspacing='0' cellpadding='0' class='formBorder'>"
							 | 
						|
								
							 | 
						|
								function settotalnoofrows() {
							 | 
						|
									document.EditView.totalProductCount.value = rowCnt;	
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								function productPickList(currObj) {
							 | 
						|
									var trObj=currObj.parentNode.parentNode
							 | 
						|
									var rowId=parseInt(trObj.id.substr(trObj.id.indexOf("w")+1,trObj.id.length))
							 | 
						|
									window.open("index.php?module=Products&action=Popup&html=Popup_picker&form=HelpDeskEditView&popuptype=inventory_prod&curr_row="+rowId,"productWin","width=600,height=400,resizable=1,scrollbars=1,top=150,left=200");
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								function priceBookPickList(currObj) {
							 | 
						|
									var trObj=currObj.parentNode.parentNode
							 | 
						|
									var rowId=parseInt(trObj.id.substr(trObj.id.indexOf("w")+1,trObj.id.length))
							 | 
						|
									window.open("index.php?module=Products&action=PriceBookPopup&html=Popup_picker&form=EditView&popuptype=inventory_pb&fldname=txtListPrice"+rowId+"&productid="+getObj("hdnProductId"+rowId).value,"priceBookWin","width=600,height=400,resizable=1,scrollbars=1,top=150,left=200");
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								function getProdListBody() {
							 | 
						|
									if (browser_ie) {
							 | 
						|
										var prodListBody=getObj("productList").children[0].children[0]
							 | 
						|
									} else if (browser_nn4 || browser_nn6) {
							 | 
						|
										if (getObj("productList").childNodes.item(0).tagName=="TABLE") {
							 | 
						|
											var prodListBody=getObj("productList").childNodes.item(0).childNodes.item(0)
							 | 
						|
										} else {
							 | 
						|
											var prodListBody=getObj("productList").childNodes.item(1).childNodes.item(1)
							 | 
						|
										}
							 | 
						|
									}
							 | 
						|
									return prodListBody;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								function addRow() {
							 | 
						|
								   //adding new row
							 | 
						|
								   rowCnt++;
							 | 
						|
								
							 | 
						|
								   if (rowCnt%2==0)
							 | 
						|
								       var newRow="<tr id=row"+rowCnt+" class='evenListRow'>"
							 | 
						|
								   else
							 | 
						|
								       var newRow="<tr id=row"+rowCnt+" class='oddListRow'>"
							 | 
						|
								         newRow+="<td style='padding:3px;'><input id='txtProduct"+rowCnt+"' name='txtProduct"+rowCnt+"' type='text' readonly> <img src='{IMAGE_PATH}search.gif' onclick='productPickList(this)' align='absmiddle' style='cursor:hand;cursor:pointer'></td>"
							 | 
						|
								   newRow+="<td WIDTH='1' class='blackLine'><IMG SRC='{IMAGE_PATH}blank.gif'></td>"
							 | 
						|
								   newRow+="<td style='padding:3px;'><div id='qtyInStock"+rowCnt+"'></div></td>"
							 | 
						|
								   newRow+="<td WIDTH='1' class='blackLine'><IMG SRC='{IMAGE_PATH}blank.gif'></td>"
							 | 
						|
								   newRow+="<td style='padding:3px;'><input type=text id='txtQty"+rowCnt+"' name='txtQty"+rowCnt+"' size='7' value='1' onBlur='calcTotal(this)'></td>"
							 | 
						|
								   newRow+="<td WIDTH='1' class='blackLine'><IMG SRC='{IMAGE_PATH}blank.gif'></td>"
							 | 
						|
								   newRow+="<td style='padding:3px;'><div id='unitPrice"+rowCnt+"'></div></td>"
							 | 
						|
								   newRow+="<td WIDTH='1' class='blackLine'><IMG SRC='{IMAGE_PATH}blank.gif'></td>"
							 | 
						|
								   newRow+="<td style='padding:3px;'><input type=text id='txtListPrice"+rowCnt+"' name='txtListPrice"+rowCnt+"' size='12' value='0.00' onBlur='calcTotal(this)'> <img src='{IMAGE_PATH}pricebook.gif' onclick='priceBookPickList(this)' align='absmiddle' style='cursor:hand;cursor:pointer'></td>"
							 | 
						|
								   newRow+="<td WIDTH='1' class='blackLine'><IMG SRC='{IMAGE_PATH}blank.gif'></td>"
							 | 
						|
								   newRow+="<td style='padding:3px;'><div id='total"+rowCnt+"' align='right'></div></td>"
							 | 
						|
								   newRow+="<td WIDTH='1' class='blackLine'><IMG SRC='{IMAGE_PATH}blank.gif'></td>"
							 | 
						|
								   newRow+="<td style='padding:3px;' align='center' width='50'><a id='delRow"+rowCnt+"' href='javascript:;' onclick='delRow(this.id)'>Del</a>"
							 | 
						|
								   newRow+="<input type=hidden id='hdnProductId"+rowCnt+"' name='hdnProductId"+rowCnt+"'>"
							 | 
						|
								   newRow+="<input type=hidden id='hdnRowStatus"+rowCnt+"' name='hdnRowStatus"+rowCnt+"'>"
							 | 
						|
								   newRow+="<input type=hidden id='hdnTotal"+rowCnt+"' name='hdnTotal"+rowCnt+"'></td></tr>"
							 | 
						|
								     var prodListBody=getProdListBody()
							 | 
						|
								     if (browser_nn4 || browser_nn6) {
							 | 
						|
								       var product=new Array(rowCnt-1)
							 | 
						|
								       var qty=new Array(rowCnt-1)
							 | 
						|
								       var listPrice=new Array(rowCnt-1)
							 | 
						|
								       var productId=new Array(rowCnt-1)
							 | 
						|
								       var total=new Array(rowCnt-1)
							 | 
						|
								       var rowStatus=new Array(rowCnt-1)
							 | 
						|
									//alert(rowCnt)
							 | 
						|
								         for (var i=1,k=0;i<=rowCnt-1;i++,k++) {
							 | 
						|
								           product[k]=getObj("txtProduct"+i).value
							 | 
						|
								           qty[k]=getObj("txtQty"+i).value
							 | 
						|
								           listPrice[k]=getObj("txtListPrice"+i).value
							 | 
						|
								           total[k]=getObj("hdnTotal"+i).value
							 | 
						|
								           productId[k]=getObj("hdnProductId"+i).value
							 | 
						|
								           rowStatus[k]=getObj("hdnRowStatus"+i).value
							 | 
						|
								       }
							 | 
						|
								   }
							 | 
						|
								     prodList.innerHTML=listTableStart+prodListBody.innerHTML+newRow+"</table>"
							 | 
						|
								     if (browser_nn4 || browser_nn6) {
							 | 
						|
								       for (var i=1,k=0;i<=rowCnt-1;i++,k++) {
							 | 
						|
								           getObj("txtProduct"+i).value=product[k]
							 | 
						|
								           getObj("txtQty"+i).value=qty[k]
							 | 
						|
								           getObj("txtListPrice"+i).value=listPrice[k]
							 | 
						|
								           getObj("hdnTotal"+i).value=total[k]
							 | 
						|
								           getObj("hdnProductId"+i).value=productId[k]
							 | 
						|
								           getObj("hdnRowStatus"+i).value=rowStatus[k]
							 | 
						|
								       }
							 | 
						|
								   }
							 | 
						|
								} 
							 | 
						|
								
							 | 
						|
								function delRow(rowId) {
							 | 
						|
								   var rowId=parseInt(rowId.substr(rowId.indexOf("w")+1,rowId.length))
							 | 
						|
								      //removing the corresponding row
							 | 
						|
								   var prodListBody=getProdListBody()
							 | 
						|
								   prodListBody.removeChild(getObj("row"+rowId))
							 | 
						|
								      //assigning new innerHTML after deleting a row
							 | 
						|
								   var newInnerHTML="<tr class='moduleListTitle' height='20' id='tablehead'>"+getObj("tablehead").innerHTML+"</tr>"
							 | 
						|
								   newInnerHTML+="<tr id='tableheadline'>"+getObj("tableheadline").innerHTML+"</tr>";
							 | 
						|
								      var rowArray=new Array(rowCnt-1);
							 | 
						|
								      if (browser_nn4 || browser_nn6) {
							 | 
						|
								       var product=new Array(rowCnt-1)
							 | 
						|
								       var qty=new Array(rowCnt-1)
							 | 
						|
								       var listPrice=new Array(rowCnt-1)
							 | 
						|
								       var productId=new Array(rowCnt-1)
							 | 
						|
								       var total=new Array(rowCnt-1)
							 | 
						|
								       var rowStatus=new Array(rowCnt-1)
							 | 
						|
								   }
							 | 
						|
								      for (var i=1,k=0;i<=rowId-1;i++,k++) {
							 | 
						|
								       if (i%2==0) var rowClass="evenListRow"
							 | 
						|
								       else var rowClass="oddListRow"
							 | 
						|
								              rowArray[k]="<tr id='row"+i+"' class='"+rowClass+"'>"+getObj("row"+i).innerHTML+"</tr>"
							 | 
						|
								       newInnerHTML+=rowArray[k]
							 | 
						|
								              if (browser_nn4 || browser_nn6) {
							 | 
						|
								           product[k]=getObj("txtProduct"+i).value
							 | 
						|
								           qty[k]=getObj("txtQty"+i).value
							 | 
						|
								           listPrice[k]=getObj("txtListPrice"+i).value
							 | 
						|
								           total[k]=getObj("hdnTotal"+i).value
							 | 
						|
								           productId[k]=getObj("hdnProductId"+i).value
							 | 
						|
								           rowStatus[k]=getObj("hdnRowStatus"+i).value
							 | 
						|
								       }
							 | 
						|
								   }
							 | 
						|
								      for (var i=rowId+1;i<=rowCnt;i++,k++) {
							 | 
						|
								       rowArray[k]=getObj("row"+i).innerHTML
							 | 
						|
								       var temp=rowArray[k]
							 | 
						|
								       temp=temp.replace("row"+i,"row"+(i-1))
							 | 
						|
								       temp=temp.replace("txtProduct"+i,"txtProduct"+(i-1))
							 | 
						|
								       temp=temp.replace("txtProduct"+i,"txtProduct"+(i-1))
							 | 
						|
								       temp=temp.replace("qtyInStock"+i,"qtyInStock"+(i-1))
							 | 
						|
								       temp=temp.replace("txtQty"+i,"txtQty"+(i-1))
							 | 
						|
								       temp=temp.replace("txtQty"+i,"txtQty"+(i-1))
							 | 
						|
								       temp=temp.replace("unitPrice"+i,"unitPrice"+(i-1))
							 | 
						|
								       temp=temp.replace("txtListPrice"+i,"txtListPrice"+(i-1))
							 | 
						|
								       temp=temp.replace("txtListPrice"+i,"txtListPrice"+(i-1))
							 | 
						|
								       temp=temp.replace("total"+i,"total"+(i-1))
							 | 
						|
								       temp=temp.replace("delRow"+i,"delRow"+(i-1))
							 | 
						|
								       temp=temp.replace("hdnProductId"+i,"hdnProductId"+(i-1))
							 | 
						|
								       temp=temp.replace("hdnProductId"+i,"hdnProductId"+(i-1))
							 | 
						|
								       temp=temp.replace("hdnRowStatus"+i,"hdnRowStatus"+(i-1))
							 | 
						|
								       temp=temp.replace("hdnRowStatus"+i,"hdnRowStatus"+(i-1))
							 | 
						|
								       temp=temp.replace("hdnTotal"+i,"hdnTotal"+(i-1))
							 | 
						|
								       temp=temp.replace("hdnTotal"+i,"hdnTotal"+(i-1))
							 | 
						|
								              if ((i-1)%2==0) var rowClass="evenListRow"
							 | 
						|
								       else var rowClass="oddListRow"
							 | 
						|
								              rowArray[k]="<tr id='row"+(i-1)+"' class='"+rowClass+"'>"+temp+"</tr>"
							 | 
						|
								       newInnerHTML+=rowArray[k]
							 | 
						|
								              if (browser_nn4 || browser_nn6) {
							 | 
						|
								           product[k]=getObj("txtProduct"+i).value
							 | 
						|
								           qty[k]=getObj("txtQty"+i).value
							 | 
						|
								           listPrice[k]=getObj("txtListPrice"+i).value
							 | 
						|
								           total[k]=getObj("hdnTotal"+i).value
							 | 
						|
								           productId[k]=getObj("hdnProductId"+i).value
							 | 
						|
								           rowStatus[k]=getObj("hdnRowStatus"+i).value
							 | 
						|
								       }           }
							 | 
						|
								
							 | 
						|
								   var prodListBody=getProdListBody()
							 | 
						|
								   prodList.innerHTML=listTableStart+newInnerHTML+"</table>"
							 | 
						|
								
							 | 
						|
								   rowCnt--
							 | 
						|
								
							 | 
						|
								   for (var i=1,k=0;i<=rowCnt;i++,k++) {
							 | 
						|
								       if (browser_nn4 || browser_nn6) {
							 | 
						|
								           getObj("txtProduct"+i).value=product[k]
							 | 
						|
								           getObj("txtQty"+i).value=qty[k]
							 | 
						|
								           getObj("txtListPrice"+i).value=listPrice[k]
							 | 
						|
								           getObj("hdnTotal"+i).value=total[k]
							 | 
						|
								           getObj("hdnProductId"+i).value=productId[k]
							 | 
						|
								           getObj("hdnRowStatus"+i).value=rowStatus[k]
							 | 
						|
								       }
							 | 
						|
								   }
							 | 
						|
								
							 | 
						|
								   calcGrandTotal()
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								function calcTotal(currObj) {
							 | 
						|
									var trObj=currObj.parentNode.parentNode
							 | 
						|
									var rowId=parseInt(trObj.id.substr(trObj.id.indexOf("w")+1,trObj.id.length))
							 | 
						|
									var total=eval(getObj("txtQty"+rowId).value*getObj("txtListPrice"+rowId).value)
							 | 
						|
									getObj("total"+rowId).innerHTML=getObj("hdnTotal"+rowId).value=roundValue(total.toString())
							 | 
						|
									calcGrandTotal()
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								function calcGrandTotal() {
							 | 
						|
									var subTotal=0,grandTotal=0;
							 | 
						|
									for (var i=1;i<=rowCnt;i++) {
							 | 
						|
										if (getObj("hdnTotal"+i).value=="") 
							 | 
						|
											getObj("hdnTotal"+i).value=0
							 | 
						|
										if (!isNaN(getObj("hdnTotal"+i).value)) 
							 | 
						|
											subTotal+=parseFloat(getObj("hdnTotal"+i).value)
							 | 
						|
									}
							 | 
						|
									
							 | 
						|
									grandTotal=subTotal+parseFloat(getObj("txtTax").value)+parseFloat(getObj("txtAdjustment").value)
							 | 
						|
									
							 | 
						|
									getObj("subTotal").innerHTML=getObj("hdnSubTotal").value=roundValue(subTotal.toString())
							 | 
						|
									getObj("grandTotal").innerHTML=getObj("hdnGrandTotal").value=roundValue(grandTotal.toString())
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								function roundValue(val) {
							 | 
						|
									if (val.indexOf(".")<0) {
							 | 
						|
										val+=".00"
							 | 
						|
									} else {
							 | 
						|
										var dec=val.substring(val.indexOf(".")+1,val.length)
							 | 
						|
										if (dec.length>2)
							 | 
						|
											val=val.substring(0,val.indexOf("."))+"."+dec.substring(0,2)
							 | 
						|
										else if (dec.length==1)
							 | 
						|
											val=val+"0"
							 | 
						|
									}
							 | 
						|
									
							 | 
						|
									return val;
							 | 
						|
								}
							 | 
						|
								</script>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								<script type="text/javascript" language="Javascript">
							 | 
						|
								
							 | 
						|
								function copyAddressRight(form) {
							 | 
						|
								
							 | 
						|
									form.ship_street.value = form.bill_street.value;
							 | 
						|
								
							 | 
						|
									form.ship_city.value = form.bill_city.value;
							 | 
						|
								
							 | 
						|
									form.ship_state.value = form.bill_state.value;
							 | 
						|
								
							 | 
						|
									form.ship_code.value = form.bill_code.value;
							 | 
						|
								
							 | 
						|
									form.ship_country.value = form.bill_country.value;
							 | 
						|
								
							 | 
						|
									return true;
							 | 
						|
								
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								function copyAddressLeft(form) {
							 | 
						|
								
							 | 
						|
									form.bill_street.value = form.ship_street.value;
							 | 
						|
								
							 | 
						|
									form.bill_city.value = form.ship_city.value;
							 | 
						|
								
							 | 
						|
									form.bill_state.value = form.ship_state.value;
							 | 
						|
								
							 | 
						|
									form.bill_code.value =	form.ship_code.value;
							 | 
						|
								
							 | 
						|
									form.bill_country.value = form.ship_country.value;
							 | 
						|
								
							 | 
						|
									return true;
							 | 
						|
								
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								</script>
							 | 
						|
								
							 | 
						|
								<script>
							 | 
						|
								
							 | 
						|
									
							 | 
						|
								
							 | 
						|
									var fieldname = new Array({VALIDATION_DATA_FIELDNAME})
							 | 
						|
								
							 | 
						|
									var fieldlabel = new Array({VALIDATION_DATA_FIELDLABEL})
							 | 
						|
								
							 | 
						|
									var fielddatatype = new Array({VALIDATION_DATA_FIELDDATATYPE})
							 | 
						|
								
							 | 
						|
								</script>
							 | 
						|
								
							 | 
						|
								<script>
							 | 
						|
									function validate() {
							 | 
						|
										if(!formValidate())
							 | 
						|
											return false
							 | 
						|
										if(rowCnt == 0)
							 | 
						|
								                {
							 | 
						|
								                        alert('No product is selected. Select atleast one Product');
							 | 
						|
								                        return false;
							 | 
						|
								                }
							 | 
						|
								
							 | 
						|
												for (var i=1;i<=rowCnt;i++) {
							 | 
						|
													if (!emptyCheck("txtProduct"+i,"Product","text")) return false
							 | 
						|
														if (!emptyCheck("txtQty"+i,"Qty","text")) return false
							 | 
						|
															if (!numValidate("txtQty"+i,"Qty","any")) return false
							 | 
						|
																if (!numConstComp("txtQty"+i,"Qty","GE","1")) return false
							 | 
						|
																	if (!emptyCheck("txtListPrice"+i,"List Price","text")) return false
							 | 
						|
																		if (!numValidate("txtListPrice"+i,"List Price","any")) return false           }
							 | 
						|
										if (getObj("txtTax").value.replace(/^\s+/g, '').replace(/\s+$/g, '').length>0)
							 | 
						|
											if (!numValidate("txtTax","Tax","any")) return false
							 | 
						|
												if (getObj("txtAdjustment").value.replace(/^\s+/g, '').replace(/\s+$/g, '').length>0)
							 | 
						|
													if (!numValidate("txtAdjustment","Adjustment","any")) return false
							 | 
						|
								
							 | 
						|
														return true    
							 | 
						|
									}
							 | 
						|
								</script> 
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								{JAVASCRIPT}
							 | 
						|
								
							 | 
						|
								<!-- END: main -->
							 | 
						|
								
							 | 
						|
								
							 |