<!--hide this script from non-javascript-enabled browsers 
/*
########################################################################     
# File Name: js/customer.js
# Created By: Manish Sharma
# Created On: 25 April 2009
# This file contain all the validation function
#########################################################################
*/
var deliveryShiftHiddenModify=''; // global variable
var invMatHiddenModify=''; //global variable
var terminalHiddenModify="";
/*
##################################################################################
# Function Name: fnOpenTerminalPopup()
# Created By: Manish Sharma  
# Created on: 04 june 2009
# Parameter: 
# Purpose: open a popup window at the time of add customer and view terminal detail    
####################################################################################
 */ 
function fnOpenTerminalPopup(div_id)
{
  
  if(div_id=='F')
  {
	var intUsername = $F('username');
	if(intUsername==-1)
	  {
		 fnFocusAndAlert(errorArray[34] ,'username'); 	
		 return false;
	  }
   var strCustProvider = $F('cust_provider');
   var arrCustProvider = strCustProvider.split('#');
   var intCustProvider = arrCustProvider[0];	  
  }
 
 if(div_id=='P' || div_id=='S')
 { 
  var intCustProvider = $F('cust_provider');
 } 
  if(intCustProvider==-1)
		   {
			 fnFocusAndAlert(errorArray[47] ,'cust_provider'); 	
			 return false;
		   }
		   else
		   {
				
			  var newwindow=window.open(HTTP_DOMAIN+"/Admin/SearchTerminal/"+intCustProvider+'-'+div_id,'Terminal','height=500,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=no,status=yes,menubar=0,location=0');             
			  if (window.focus) {newwindow.focus();}
		   
		   }
}

/*
 ##################################################################################
 # Function Name: fnOpenZonePopup()
 # Created By: Manish Sharma  
 # Created on: 04 june 2009
 # Parameter: 
 # Purpose: open a popup window at the time of add customer and view zone detail    
####################################################################################
 */
function fnOpenZonePopup()
{
	var intCustProvider = $F('cust_provider');
  
  if(intCustProvider==-1)
		   {
			 fnFocusAndAlert(errorArray[47] ,'cust_provider'); 	
			 return false;
		   }
		   else
		   {
			  var newwindow=window.open(HTTP_DOMAIN+"/Admin/SearchZone/"+intCustProvider,'Zone','height=500,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=no,status=yes,menubar=0,location=0');             
			  if (window.focus) {newwindow.focus();}
		   
		   }
}

/*
 ############################################################################################
 # Function Name: fnOpenAssignDeliveryCompPopup()
 # Created By: Manish Sharma  
 # Created on: 04 june 2009
 # Parameter: 
 # Purpose: open a popup window at the time of add customer and view delivery company detail    
#############################################################################################
 */
 
function fnOpenAssignDeliveryCompPopup()
{
  
			  var newwindow=window.open(HTTP_DOMAIN+"/Admin/SearchDeliveryCompany/",'Delivery_Company','height=500,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=no,status=yes,menubar=0,location=0');             
			  if (window.focus) {newwindow.focus();}
		   
		 
}
/*
 ############################################################################################
 # Function Name: fnOpenAssignDeliveryCompPopup()
 # Created By: Manish Sharma  
 # Created on: 04 june 2009
 # Parameter: 
 # Purpose: open a popup window at the time of add customer and view delivery company detail    
#############################################################################################
 */
function fnOpenAssignSalesmanPopup()
{
	var newwindow=window.open(HTTP_DOMAIN+"/Admin/SearchSalesReps/",'Sales_Reps','height=500,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=no,status=yes,menubar=0,location=0');             
	if (window.focus) {newwindow.focus();}

} 

// function for step customer setup step-1

function fnAddCustomerValidationStep1(change_flag)
{
	var response = 1;
	var response0 =1;
	var response01=1;
	
	if(change_flag==1 || change_flag==2) // on branded customer add and modify
	 { 
		var intCustProvider = $F('cust_provider');
	 } 
	
   if(change_flag!=0 && change_flag!=3) // not for signup and profile
   {
	  var gasoline_type = $F('gasoline_type');
	  var strCustNo = $F('custno');
	  var intLocationNo = $F('int_location_no');
   }

   if(change_flag!=3) // not for profile
   {
	  var strUsername = $F('username');
	  var strPassword = $F('password');
	  var strVerify_Password = $F('verify_password');
   }
   

	var strFName = $F('fname');
	 
	var strLName = $F('lname');
	
	var strCompName = $F('compname');
	
	var strEmail = $F('email');
	
	var intPhoneNumber = $F('phone_number');
	  
	var intFaxNumber = $F('fax_number');
	
	var strStreet = $F('street'); 
	 
	var strCity = $F('city'); 
	
	var strState = $F('state'); 
	
	var intZipcode = $F('zipcode');
	

   if(change_flag==2 || change_flag==5) // on modify customer
	   {
		 if(strUsername==-1)
		 {
			fnFocusAndAlert(errorArray[18] ,'username'); 	
			return false;
		 }
	   }
	
 if(change_flag==1 || change_flag==2)  // only for add and modify customer
   {
		if(intCustProvider==-1)
		   {
			 fnFocusAndAlert(errorArray[47] ,'cust_provider'); 	
			 return false;
		   }
   }
   
 if(change_flag==1 || change_flag==2 || change_flag==4 || change_flag==5)  // only for add and modify customer	
   {	   
		   
		if(gasoline_type==-1)
			{
			   fnFocusAndAlert(errorArray[39] , 'gasoline_type'); 
				return false;
			}
		if(fnIsBlank(strCustNo))   //check username field blank or not 
			 {
				fnFocusAndAlert(errorArray[67] ,'custno'); 
				return false;
			 }
			 else
			 {  
			   if(!fnIsNumber(strCustNo,'Customer number'))
				{
					fnPutFocus('custno');
					return false;
				}
			   else
				{
				   new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 22,custNo: strCustNo,change_flags:change_flag,userId:strUsername},
							 onSuccess: function(transport)
							 {
								 response0 = transport.responseText;
								 
								  if(response0==0)
								  {
									  fnFocusAndAlert(errorArray[68] ,'custno');
									  return false;
								  }
							}
						  });
					}     
				}

		if(response0==0)
			   {
					return false;
			   }
			   
		if(!fnIsBlank(intLocationNo))   //check location number not blank then 
			 {
				
			   if(!fnIsNumber(intLocationNo,'Location number'))
				{
					fnPutFocus('int_location_no');
					return false;
				}
				else
				{
					if(intLocationNo<0)
					{
						fnFocusAndAlert(errorArray[231] ,'int_location_no');
						return false;
					}
					
					if(intLocationNo.length>16)
					{
						fnFocusAndAlert(errorArray[232] ,'int_location_no');
						return false;
					}
					else
					{
					
						if(change_flag==1 || change_flag==2) // on branded customer add and modify
						{ 
						  
						   new Ajax.Request('../request.php',
								  {
									 method:'get',
									 asynchronous: false,
									 parameters: {rq_id: 109,intLocationNo:intLocationNo,intCustProvider:intCustProvider,userId:strUsername,change_flags:change_flag},
									 onSuccess: function(transport)
									 {
										 response01 = transport.responseText;
										
										  if(response01==0)
										  {
											  fnFocusAndAlert(errorArray[233] ,'int_location_no');
											  return false;
										  }
									}
								  });
					   }			  
					}
				}	
			 }	   
			
			if(response01==0)
			   {
					return false;
			   }   	
	 }     	   
	
   if(change_flag==0 || change_flag==1 || change_flag==4)  // only for add customer and customer signup
		  {
   
			   if(fnIsBlank(strUsername))   //check username field blank or not 
				 {
					fnFocusAndAlert(errorArray[0] ,'username'); 
					return false;
				 }
				 else
				 {
					 //check username length( more then 4 and less then 15)
					 var usernameLength = strUsername.length;
				 
					 if(usernameLength <=4 || usernameLength >15) 
					 {
						fnFocusAndAlert(errorArray[3] ,'username');
						return false;
					 }
					 else
					 {
						 new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 13,username: strUsername},
							 onSuccess: function(transport)
							 {
								 response = transport.responseText;
								
								  if(response==0)
								  {
									  fnFocusAndAlert(errorArray[16] ,'username');
									  return false;
								  }
							}
						  });
					 }
				 }
			  if(response==0)
			   {
					return false;
			   } 
		}
		
	
		
		
   if(change_flag!=3) // only for add, modify and signup customer
   { 
	   if(fnIsBlank(strPassword))   //check password field blank or not 
		 {
			fnFocusAndAlert(errorArray[1] ,'password'); 
			return false;
		 }
		 else
		 {
			 //check password length( more then 4 and less then 15)
			 var passLength = strPassword.length;
		 
			 if(passLength <=4 || passLength >15) 
			 {
				fnFocusAndAlert(errorArray[2] ,'password');
			
				return false;
			 }
		 }
		 
		if(fnIsBlank(strVerify_Password))    
		 {
			fnFocusAndAlert(errorArray[4] ,'verify_password'); 
			return false;
		 }
		 else
		 { 
			  if(!fnIsBlank(strPassword) && !fnIsBlank(strVerify_Password)) 
			   {                                                   // password and confirm password both should be same check here.
				  if(strPassword != strVerify_Password) 
				 {
					fnFocusAndAlert(errorArray[5] ,'verify_password');
					return false;
				 }
			   }
		 }
	 }
	 
	 if(fnIsBlank(strFName))    
	 {
		fnFocusAndAlert(errorArray[14] ,'fname'); 
		return false;
	 }

	if(fnIsBlank(strLName))    
	 {
		fnFocusAndAlert(errorArray[15] ,'lname'); 
		return false;
	 }
	 
	 if(fnIsBlank(strCompName))   
	 {
		fnFocusAndAlert(errorArray[29] ,'compname'); 
		return false;
	 }
	 else
	 {
	 
	  if(change_flag==3) // not for profile
	   {  
		  var strUsername = $F('username');
		  
	   } 
	   
	   var response3 =""; 
		new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 108,strCompName: strCompName,change_flag:change_flag,strUsername:strUsername},
							 onSuccess: function(transport)
							 {
								 response3 = transport.responseText;
								   
							}
						  });
						  
		 if(response3==0)	
		  {   
			  fnFocusAndAlert(errorArray[220] ,'compname');
			  return false;
		  }			  
		 if(response3==0)	
			   {
					return false;
			   } 			  
	 
	 }
  
	if(fnIsBlank(strEmail))    
	 {
		fnFocusAndAlert(errorArray[6] ,'email'); 
		return false;
	 }
	else
	 {	
		//check email address is valid or not
		 if(!fnIsValidEmail(strEmail))
		 {
			 fnFocusAndAlert(errorArray[7] ,'email'); 
			 return false;
		 }
		 else
		 {
		   if(change_flag==3) // not for profile
		   {
			  var strUsername = $F('username');
		   }
		   
		  /* var response1 = 0;
			new Ajax.Request('../request.php',
			  {
				 method:'get',
				 asynchronous: false,
				 parameters: {rq_id: 785,strEmail: strEmail,strUsername:strUsername,change_flag:change_flag},
				 onSuccess: function(transport)
				 {
					 response1 = transport.responseText;
					 
					  if(response1==0)
					  {
						  fnFocusAndAlert(errorArray[237] ,'email');
						  return false;
					  }
				}
			  }); 
			  
			if(response1==0)	
			  {
				return false; 
			  }   */ 
		 
		 }
		
	 }
	
  var strAltEmail = $F('alt_email');
   
  if(!fnIsBlank(strAltEmail))    
	 {
		 if(!fnIsValidEmail(strAltEmail))
		 {
			 fnFocusAndAlert(errorArray[7] ,'alt_email'); 
			 return false;
		 } 
	 }   
	 
	 if(change_flag==0) // on customer signup
	  { 
		var verify_email = $F('verify_email'); 
		
		if(strEmail != verify_email)
		{
		   fnFocusAndAlert(errorArray[208] ,'email'); 
		   return false;
		}
	  }	

	 //check phone number field blank or not
	if(fnIsBlank(intPhoneNumber))
	 {
		fnFocusAndAlert(errorArray[8] , 'phone_number'); 
		return false;
	 } 
	 else
	 {
		if(!fnIsNumberPhone(intPhoneNumber,'Phone Number'))
		{
			fnPutFocus('phone_number');
			return false;
		}
	 }
	 
  
	 if(!fnIsBlank(intFaxNumber))  
	 {
		if(!fnIsFaxNumber(intFaxNumber,'Fax Number'))
		{
			fnPutFocus('fax_number');
			return false;
		}
	 }
 
	if(fnIsBlank(strStreet))
	 {
		 fnFocusAndAlert(errorArray[9] , 'street'); 
		return false;
	 }
	
	if(fnIsBlank(strCity))
	 {
		 fnFocusAndAlert(errorArray[10] , 'city'); 
		return false;
	 }
	 
	if(strState==-1)
	 {
		 fnFocusAndAlert(errorArray[11] , 'state'); 
		return false;
	 }
	 
	 if(fnIsBlank(intZipcode))
	 {
		 fnFocusAndAlert(errorArray[13] , 'zipcode'); 
		return false;
	 }
	
   var $j = jQuery.noConflict();	
	
	$j(function(){

	var tabs = $j('#tabs').tabs(); // first tab selected  
		// Tabs
	tabs.tabs('select', 1); // switch to third tab
	return false;

	});

   return true;
}


function fnAddCustomerValidationStep2(change_flag)
{
	var response = 1;
	var response0 =1;
	var response01=1;
  
   if(change_flag==1 || change_flag==2) // on branded customer add and modify
	 { 
		var intCustProvider = $F('cust_provider');
		var terminal_primary = $F('terminal_primary');
		var terminal_secondary = $F('terminal_secondary');
		var zone = $F('zone');
	 
	 } 
	
   if(change_flag!=0 && change_flag!=3) // not for signup and profile
   {
	  var gasoline_type = $F('gasoline_type');
	  var strCustNo = $F('custno');
	  var intLocationNo = $F('int_location_no');
   }

   if(change_flag!=3) // not for profile
   {
	  var strUsername = $F('username');
	  var strPassword = $F('password');
	  var strVerify_Password = $F('verify_password');
   }
   

	var strFName = $F('fname');
	 
	var strLName = $F('lname');
	
	var strCompName = $F('compname');
	
	var strEmail = $F('email');
	
	var intPhoneNumber = $F('phone_number');
	  
	var intFaxNumber = $F('fax_number');
	
	var strStreet = $F('street'); 
	 
	var strCity = $F('city'); 
	
	var strState = $F('state'); 
	
	var intZipcode = $F('zipcode');
	
   if(change_flag!=0 && change_flag!=3) // not for signup and profile	
   {
	 var assign_salesman = $F('salesrp_name');
	 var payment_day = $F('payment_day');
	 var delivery_comp_name = $F('delivery_comp_name');
	 var admin_approval_order = $F('admin_approval_order');
	 //var include_delivery_cost = $F('delivery_cost');
	 var bel_min_chrg = $F('bel_min_chrg');
   }	
	
	
   if(change_flag==0) // on customer signup
	  { 
		var intVerifyNumber = $F('verifyNumber'); 
	  }
  
   if(change_flag==2 || change_flag==5) // on modify customer
	   {
		 if(strUsername==-1)
		 {
			fnFocusAndAlertTab(errorArray[18] ,'username'); 	
			return false;
		 }
	   }
	
 if(change_flag==1 || change_flag==2)  // only for add and modify customer
   {
		if(intCustProvider==-1)
		   {
			 fnFocusAndAlertTab(errorArray[47] ,'cust_provider'); 	
			 return false;
		   }
   }
   
 if(change_flag==1 || change_flag==2 || change_flag==4 || change_flag==5)  // only for add and modify customer	
   {	   
		   
		if(gasoline_type==-1)
			{
			   fnFocusAndAlertTab(errorArray[39] , 'gasoline_type'); 
				return false;
			}
		if(fnIsBlank(strCustNo))   //check username field blank or not 
			 {
				fnFocusAndAlertTab(errorArray[67] ,'custno'); 
				return false;
			 }
			 else
			 {  
			   if(!fnIsNumber(strCustNo,'Customer number'))
				{
					var $j = jQuery.noConflict();	
	
					$j(function(){

					var tabs = $j('#tabs').tabs(); // first tab selected  
						// Tabs
					tabs.tabs('select', 0); // switch to third tab
					return false;

					});
					fnPutFocus('custno');
					return false;
				}
			   else
				{
				   new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 22,custNo: strCustNo,change_flags:change_flag,userId:strUsername},
							 onSuccess: function(transport)
							 {
								 response0 = transport.responseText;
								 
								  if(response0==0)
								  {
									  fnFocusAndAlertTab(errorArray[68] ,'custno');
									  return false;
								  }
							}
						  });
					}     
				}

		if(response0==0)
			   {
					return false;
			   }
			   
		if(!fnIsBlank(intLocationNo))   //check location number not blank then 
			 {
				
			   if(!fnIsNumber(intLocationNo,'Location number'))
				{
					
					var $j = jQuery.noConflict();	
	
					$j(function(){

					var tabs = $j('#tabs').tabs(); // first tab selected  
						// Tabs
					tabs.tabs('select', 0); // switch to third tab
					return false;

					});
					fnPutFocus('int_location_no');
					return false;
				}
				else
				{
					if(intLocationNo<0)
					{
						fnFocusAndAlertTab(errorArray[231] ,'int_location_no');
						return false;
					}
					
					if(intLocationNo.length>16)
					{
						fnFocusAndAlertTab(errorArray[232] ,'int_location_no');
						return false;
					}
					else
					{
					
						if(change_flag==1 || change_flag==2) // on branded customer add and modify
						{ 
						  
						   new Ajax.Request('../request.php',
								  {
									 method:'get',
									 asynchronous: false,
									 parameters: {rq_id: 109,intLocationNo:intLocationNo,intCustProvider:intCustProvider,userId:strUsername,change_flags:change_flag},
									 onSuccess: function(transport)
									 {
										 response01 = transport.responseText;
										
										  if(response01==0)
										  {
											  fnFocusAndAlertTab(errorArray[233] ,'int_location_no');
											  return false;
										  }
									}
								  });
					   }			  
					}
				}	
			 }	   
			
			if(response01==0)
			   {
					return false;
			   }   	
	 }     	   
	
   if(change_flag==0 || change_flag==1 || change_flag==4)  // only for add customer and customer signup
		  {
   
			   if(fnIsBlank(strUsername))   //check username field blank or not 
				 {
					fnFocusAndAlertTab(errorArray[0] ,'username'); 
					return false;
				 }
				 else
				 {
					 //check username length( more then 4 and less then 15)
					 var usernameLength = strUsername.length;
				 
					 if(usernameLength <=4 || usernameLength >15) 
					 {
						fnFocusAndAlertTab(errorArray[3] ,'username');
						return false;
					 }
					 else
					 {
						 new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 13,username: strUsername},
							 onSuccess: function(transport)
							 {
								 response = transport.responseText;
								
								  if(response==0)
								  {
									  fnFocusAndAlertTab(errorArray[16] ,'username');
									  return false;
								  }
							}
						  });
					 }
				 }
			  if(response==0)
			   {
					return false;
			   } 
		}
		
	
		
		
   if(change_flag!=3) // only for add, modify and signup customer
   { 
	   if(fnIsBlank(strPassword))   //check password field blank or not 
		 {
			fnFocusAndAlertTab(errorArray[1] ,'password'); 
			return false;
		 }
		 else
		 {
			 //check password length( more then 4 and less then 15)
			 var passLength = strPassword.length;
		 
			 if(passLength <=4 || passLength >15) 
			 {
				fnFocusAndAlertTab(errorArray[2] ,'password');
			
				return false;
			 }
		 }
		 
		if(fnIsBlank(strVerify_Password))    
		 {
			fnFocusAndAlertTab(errorArray[4] ,'verify_password'); 
			return false;
		 }
		 else
		 { 
			  if(!fnIsBlank(strPassword) && !fnIsBlank(strVerify_Password)) 
			   {                                                   // password and confirm password both should be same check here.
				  if(strPassword != strVerify_Password) 
				 {
					fnFocusAndAlertTab(errorArray[5] ,'verify_password');
					return false;
				 }
			   }
		 }
	 }
	 
	 if(fnIsBlank(strFName))    
	 {
		fnFocusAndAlertTab(errorArray[14] ,'fname'); 
		return false;
	 }

	if(fnIsBlank(strLName))    
	 {
		fnFocusAndAlertTab(errorArray[15] ,'lname'); 
		return false;
	 }
	 
	 if(fnIsBlank(strCompName))   
	 {
		fnFocusAndAlertTab(errorArray[29] ,'compname'); 
		return false;
	 }
	 else
	 {
	 
	  if(change_flag==3) // not for profile
	   {  
		  var strUsername = $F('username');
		  
	   } 
	   
	   var response3 =""; 
		new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 108,strCompName: strCompName,change_flag:change_flag,strUsername:strUsername},
							 onSuccess: function(transport)
							 {
								 response3 = transport.responseText;
								   
							}
						  });
						  
		 if(response3==0)	
		  {   
			  fnFocusAndAlertTab(errorArray[220] ,'compname');
			  return false;
		  }			  
		 if(response3==0)	
			   {
					return false;
			   } 			  
	 
	 }
  
	if(fnIsBlank(strEmail))    
	 {
		fnFocusAndAlertTab(errorArray[6] ,'email'); 
		return false;
	 }
	else
	 {	
		//check email address is valid or not
		 if(!fnIsValidEmail(strEmail))
		 {
			 fnFocusAndAlertTab(errorArray[7] ,'email'); 
			 return false;
		 }
		 else
		 {
		   if(change_flag==3) // not for profile
		   {
			  var strUsername = $F('username');
		   }
		   
		  /* var response1 = 0;
			new Ajax.Request('../request.php',
			  {
				 method:'get',
				 asynchronous: false,
				 parameters: {rq_id: 785,strEmail: strEmail,strUsername:strUsername,change_flag:change_flag},
				 onSuccess: function(transport)
				 {
					 response1 = transport.responseText;
					 
					  if(response1==0)
					  {
						  fnFocusAndAlert(errorArray[237] ,'email');
						  return false;
					  }
				}
			  }); 
			  
			if(response1==0)	
			  {
				return false; 
			  }   */ 
		 
		 }
		
	 }
	
  var strAltEmail = $F('alt_email');
   
  if(!fnIsBlank(strAltEmail))    
	 {
		 if(!fnIsValidEmail(strAltEmail))
		 {
			 fnFocusAndAlertTab(errorArray[7] ,'alt_email'); 
			 return false;
		 } 
	 }   
	 
	 if(change_flag==0) // on customer signup
	  { 
		var verify_email = $F('verify_email'); 
		
		if(strEmail != verify_email)
		{
		   fnFocusAndAlertTab(errorArray[208] ,'email'); 
		   return false;
		}
	  }	

	 //check phone number field blank or not
	if(fnIsBlank(intPhoneNumber))
	 {
		fnFocusAndAlertTab(errorArray[8] , 'phone_number'); 
		return false;
	 } 
	 else
	 {
		if(!fnIsNumberPhone(intPhoneNumber,'Phone Number'))
		{
			var $j = jQuery.noConflict();	
	
			$j(function(){

			var tabs = $j('#tabs').tabs(); // first tab selected  
				// Tabs
			tabs.tabs('select', 0); // switch to third tab
			return false;

			});
			fnPutFocus('phone_number');
			return false;
		}
	 }
	 
  
	 if(!fnIsBlank(intFaxNumber))  
	 {
		if(!fnIsFaxNumber(intFaxNumber,'Fax Number'))
		{
			var $j = jQuery.noConflict();	
	
			$j(function(){

			var tabs = $j('#tabs').tabs(); // first tab selected  
				// Tabs
			tabs.tabs('select', 0); // switch to third tab
			return false;

			});
			fnPutFocus('fax_number');
			return false;
		}
	 }
 
	if(fnIsBlank(strStreet))
	 {
		 fnFocusAndAlertTab(errorArray[9] , 'street'); 
		return false;
	 }
	
	if(fnIsBlank(strCity))
	 {
		 fnFocusAndAlertTab(errorArray[10] , 'city'); 
		return false;
	 }
	 
	if(strState==-1)
	 {
		 fnFocusAndAlertTab(errorArray[11] , 'state'); 
		return false;
	 }
	 
	 if(fnIsBlank(intZipcode))
	 {
		 fnFocusAndAlertTab(errorArray[13] , 'zipcode'); 
		return false;
	 }
	 
	 
	 if(change_flag==1 || change_flag==2) // on branded customer add and modify
	 { 
			var fuel_price_type = false;
			
			if(change_flag==1)
			{
				// Loop from zero to the one minus the number of radio button selections
				for (counter = 0; counter < document.addCustomer.fuel_price_type.length; counter++)
				{
				// If a radio button has been selected it will return true
				// (If not it will return false)
					if (document.addCustomer.fuel_price_type[counter].checked)
					{
						fuel_price_type = true; 
					}
				}
			}
			
			if(change_flag==2)
			{  
				// Loop from zero to the one minus the number of radio button selections
				for (counter = 0; counter < document.modifyCustomer.fuel_price_type.length; counter++)
				{
				// If a radio button has been selected it will return true
				// (If not it will return false)
					if (document.modifyCustomer.fuel_price_type[counter].checked)
					{
						fuel_price_type = true; 
					}
				} 
			}
			
			if (!fuel_price_type)
			{
				// If there were no selections made display an alert box 
				 fnFocusAndAlert(errorArray[266] , 'fuel_price_type1'); 
				return false; 
			}
			
	 
	 }
	
	 if(change_flag==1 || change_flag==2 || change_flag==4 || change_flag==5)  // only when customer add or modify	
	  { 
		 
		 if(assign_salesman==-1)
		 {
			fnFocusAndAlert(errorArray[33] , 'salesrp_name'); 
			return false;
		 }
		 
		 
		 if(fnIsBlank(payment_day))
			{
			   fnFocusAndAlert(errorArray[38] , 'payment_day'); 
				return false;
			}
			else
			{
			   if(!fnIsNumber(payment_day,'Terms on payment collection day'))
				{
					fnPutFocus('payment_day');
					return false;
				}
			
			}
			
		 if(delivery_comp_name==-1)
		 {
			fnFocusAndAlert(errorArray[120] , 'delivery_comp_name'); 
			return false;
		 }
		 
		 
		 var min_amt_of_gals = $F('min_amt_of_gals');
		   
		   if(fnIsBlank(min_amt_of_gals))
			{
			   fnFocusAndAlert(errorArray[178] , 'min_amt_of_gals'); 
				return false;
			}
			else
			{
			   if(!fnIsNumber(min_amt_of_gals,'Minimum amount of gallons'))
				{
					fnPutFocus('min_amt_of_gals');
					return false;
				}
			
			}
			
		 
		 if($('allow_minimum_order').checked)
		 {
			var allow_min_order_passcode = $F('allow_min_order_passcode');
			
			 if(fnIsBlank(allow_min_order_passcode))
			{
			 fnFocusAndAlert(errorArray[179] , 'allow_min_order_passcode'); 
			 return false;
			}
		  else
			{
				 var passcodeVal0=""		
				  new Ajax.Request('../request.php',
				  {
					 method:'get',
					 asynchronous: false,
					 parameters: {rq_id:107,passcode:allow_min_order_passcode},
					 onSuccess: function(transport)
					 {
						 passcodeVal0 = transport.responseText;
						 
					}
				  });	
				  
			  if(passcodeVal0==0)
				{
				  fnFocusAndAlert(errorArray[216] , 'allow_min_order_passcode'); 
				  return false; 
				  
				} 
			 
			}
			
		 }
		 else
		 {
		  if(fnIsBlank(bel_min_chrg))
			 {
				fnFocusAndAlert(errorArray[105] , 'bel_min_chrg'); 
				return false;
			 }
			 else
			 {
			   if(!fnPriceValidation(bel_min_chrg))	
				{
				   fnFocusAndAlert(errorArray[106] , 'bel_min_chrg'); 
				   return false;
				}
			 }
		 }
		 
		if($('disableMarkup').checked)
		{
			var temp_markup_type = $F('temp_markup_type');
			var temp_markup_amount = $F('temp_markup_amount');
			var temp_markup_from_date = $F('temp_markup_amount_from');
			var temp_markup_to_date = $F('temp_markup_amount_to');
			
		   if(fnIsBlank(temp_markup_amount))
				{
				   fnFocusAndAlert(errorArray[40] , 'temp_markup_amount'); 	
				   return false;
				}
				else
				{
					if(!fnPriceValidation(temp_markup_amount))
					{
						fnFocusAndAlert(errorArray[35] , 'temp_markup_amount'); 	
						return false;
					}
				}
				
		   if(fnIsBlank(temp_markup_from_date))
				{
					fnFocusAndAlert(errorArray[121] , 'temp_markup_amount_from'); 	
					return false;
				}
			
		   if(fnIsBlank(temp_markup_to_date))
				{
					fnFocusAndAlert(errorArray[122] , 'temp_markup_amount_to'); 	
					return false;
				}	
			
		  if(temp_markup_from_date > temp_markup_to_date)
			  {
					fnFocusAndAlert(errorArray[123] , 'temp_markup_amount_to'); 	
				   return false;
			  }
			  
		  var temp_markup_passcode = $F('temp_markup_passcode');	
			
		  if(fnIsBlank(temp_markup_passcode))
			{
			  fnFocusAndAlert(errorArray[214] , 'temp_markup_passcode'); 
			  return false;
			}
			else
			{
				 var passcodeVal=""		
				  new Ajax.Request('../request.php',
				  {
					 method:'get',
					 asynchronous: false,
					 parameters: {rq_id:107,passcode:temp_markup_passcode},
					 onSuccess: function(transport)
					 {
						 passcodeVal = transport.responseText;
						 
					}
				  });	
				 
			  if(passcodeVal==0)
				{
				  fnFocusAndAlert(errorArray[215] , 'temp_markup_passcode'); 
				  return false;
				} 
			 
			}  
		  
		}
		else
		{
			var org_markup_type = $F('org_markup_type');
			var org_markup_amount = $F('org_markup_amount');
			
			if(fnIsBlank(org_markup_amount))
				{
				   fnFocusAndAlert(errorArray[40] , 'org_markup_amount'); 	
				   return false;
				}
				else
				{
				   if(!fnPriceValidation(org_markup_amount))
					{
						fnFocusAndAlert(errorArray[35] , 'org_markup_amount'); 	
						return false;
					}
				
				}
		}
		
		/*if($('include_delivery_cost').checked)
		{
			var delivery_cost = $F('delivery_cost');
			
			if(fnIsBlank(delivery_cost))
				{
				   fnFocusAndAlert(errorArray[140] , 'delivery_cost'); 	
				   return false;
				}
				else
				{
				   if(!fnPriceValidation(delivery_cost))
					{
						fnFocusAndAlert(errorArray[141] , 'delivery_cost'); 	
						return false;
					}
				
				}
		
		}  */
		
		
		if(!$('admin_approval_order').checked)
		{
			var passcode = $F('admin_passcode')

			 if(fnIsBlank(passcode))
			 {
				 fnFocusAndAlert(errorArray[180] , 'admin_passcode'); 
				 return false;
			 }
			 else
			{
				 var passcodeVal1=""		
				  new Ajax.Request('../request.php',
				  {
					 method:'get',
					 asynchronous: false,
					 parameters: {rq_id:107,passcode:passcode},
					 onSuccess: function(transport)
					 {
						 passcodeVal1 = transport.responseText;
						 
					}
				  });	
				 
			  if(passcodeVal1==0)
				{
				  fnFocusAndAlert(errorArray[217] , 'admin_passcode'); 
				  return false; 
				  
				} 
			 
			}
		
		}

 
	  }
	  
	  
	  
	if(change_flag==1 || change_flag==2)
	  {  
	  
	  if(terminal_primary==-1)
		{
		   fnFocusAndAlert(errorArray[124] , 'terminal_primary'); 		
		   return false;
		}
		
	   /*	if(zone==-1)
		{
		   fnFocusAndAlert(errorArray[50] , 'zone'); 		
		   return false;
		}  */
		
		
	   //if inventory checked then check the notification atleast one	
	if($('manageInv').checked)
	{
		var manageInvMat = $F('inv_mat_add');
		
		if(fnIsBlank(manageInvMat))
		{
		   fnFocusAndAlert(errorArray[132] , 'manageInv'); 
		   return false;
		}
		
		
		if(!$('manage_inv_notification_admin').checked && !$('manage_inv_notification_cust').checked)
		{
		   fnFocusAndAlert(errorArray[133] , 'manage_inv_notification_admin'); 	
		   return false;
		}
		 
	}
		
		 
	} 
	 
	  
	 if(change_flag==0) // only when customer signup
	  { 	 
		 if(fnIsBlank(intVerifyNumber))
				 {
					 fnFocusAndAlert(errorArray[32] , 'verifyNumber'); 
					 return false;
				 }
	  }	 
	 
	if(change_flag==2 || change_flag==5)
	 {
		 var status = $F('status');
		 if(status==-1)
		 {
			 fnFocusAndAlert(errorArray[17] , 'status'); 
			 return false;
		 }
	 
		 if(status==0)
		 {
			if(!confirm(errorArray[61]+" customer "+errorArray[62]))
			{
				return false;
			}
		 }	
	 
	 } 
	 
	  var $j = jQuery.noConflict();	
	
	$j(function(){

	var tabs = $j('#tabs').tabs(); // first tab selected  
		// Tabs
	tabs.tabs('select', 2); // switch to third tab
	return false;

	});

	 return true;

}

 
/*
 ##############################################################################
 # Function Name: fnAddCustomerValidation()
 # Created By: Manish Sharma  
 # Created on: 25 April 2009
 # Modified on: 02 June 2009
 #
 # Parameter: change_flag - 0 for customer signup
 #							1 - for branded add customer admin
 #							2 - for branded modify customer admin
 #							3 - for update customer profile
 #							4 - for unbranded add customer admin
 #							5 - for unbranded modify customer admin
 #
 # Purpose: Function to check add customer,modify customer form validation    
################################################################################
 */
function fnAddCustomerValidation(change_flag)
{   	
	var response = 1;
	var response0 =1;
	var response01=1;
  
   if(change_flag==1 || change_flag==2) // on branded customer add and modify
	 { 
		var intCustProvider = $F('cust_provider');
		var terminal_primary = $F('terminal_primary');
		var terminal_secondary = $F('terminal_secondary');
		var zone = $F('zone');
	 
	 } 
	
   if(change_flag!=0 && change_flag!=3) // not for signup and profile
   {
	  var gasoline_type = $F('gasoline_type');
	  var strCustNo = $F('custno');
	  var intLocationNo = $F('int_location_no');
   }

   if(change_flag!=3) // not for profile
   {
	  var strUsername = $F('username');
	  var strPassword = $F('password');
	  var strVerify_Password = $F('verify_password');
   }
   

	var strFName = $F('fname');
	 
	var strLName = $F('lname');
	
	var strCompName = $F('compname');
	
	var strEmail = $F('email');
	
	var intPhoneNumber = $F('phone_number');
	  
	var intFaxNumber = $F('fax_number');
	
	var strStreet = $F('street'); 
	 
	var strCity = $F('city'); 
	
	var strState = $F('state'); 
	
	var intZipcode = $F('zipcode');
	
   if(change_flag!=0 && change_flag!=3) // not for signup and profile	
   {
	 var assign_salesman = $F('salesrp_name');
	 var payment_day = $F('payment_day');
	 var delivery_comp_name = $F('delivery_comp_name');
	 var admin_approval_order = $F('admin_approval_order');
	 //var include_delivery_cost = $F('delivery_cost');
	 var bel_min_chrg = $F('bel_min_chrg');
   }	
	
	
   if(change_flag==0) // on customer signup
	  { 
		var intVerifyNumber = $F('verifyNumber'); 
	  }
  
   if(change_flag==2 || change_flag==5) // on modify customer
	   {
		 if(strUsername==-1)
		 {
			fnFocusAndAlert(errorArray[18] ,'username'); 	
			return false;
		 }
	   }
	
 if(change_flag==1 || change_flag==2)  // only for add and modify customer
   {
		if(intCustProvider==-1)
		   {
			 fnFocusAndAlert(errorArray[47] ,'cust_provider'); 	
			 return false;
		   }
   }
   
 if(change_flag==1 || change_flag==2 || change_flag==4 || change_flag==5)  // only for add and modify customer	
   {	   
		   
		if(gasoline_type==-1)
			{
			   fnFocusAndAlert(errorArray[39] , 'gasoline_type'); 
				return false;
			}
		if(fnIsBlank(strCustNo))   //check username field blank or not 
			 {
				fnFocusAndAlert(errorArray[67] ,'custno'); 
				return false;
			 }
			 else
			 {  
			   if(!fnIsNumber(strCustNo,'Customer number'))
				{
					fnPutFocus('custno');
					return false;
				}
			   else
				{
				   new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 22,custNo: strCustNo,change_flags:change_flag,userId:strUsername},
							 onSuccess: function(transport)
							 {
								 response0 = transport.responseText;
								 
								  if(response0==0)
								  {
									  fnFocusAndAlert(errorArray[68] ,'custno');
									  return false;
								  }
							}
						  });
					}     
				}

		if(response0==0)
			   {
					return false;
			   }
			   
		if(!fnIsBlank(intLocationNo))   //check location number not blank then 
			 {
				
			   if(!fnIsNumber(intLocationNo,'Location number'))
				{
					fnPutFocus('int_location_no');
					return false;
				}
				else
				{
					if(intLocationNo<0)
					{
						fnFocusAndAlert(errorArray[231] ,'int_location_no');
						return false;
					}
					
					if(intLocationNo.length>16)
					{
						fnFocusAndAlert(errorArray[232] ,'int_location_no');
						return false;
					}
					else
					{
					
						if(change_flag==1 || change_flag==2) // on branded customer add and modify
						{ 
						  
						   new Ajax.Request('../request.php',
								  {
									 method:'get',
									 asynchronous: false,
									 parameters: {rq_id: 109,intLocationNo:intLocationNo,intCustProvider:intCustProvider,userId:strUsername,change_flags:change_flag},
									 onSuccess: function(transport)
									 {
										 response01 = transport.responseText;
										
										  if(response01==0)
										  {
											  fnFocusAndAlert(errorArray[233] ,'int_location_no');
											  return false;
										  }
									}
								  });
					   }			  
					}
				}	
			 }	   
			
			if(response01==0)
			   {
					return false;
			   }   	
	 }     	   
	
   if(change_flag==0 || change_flag==1 || change_flag==4)  // only for add customer and customer signup
		  {
   
			   if(fnIsBlank(strUsername))   //check username field blank or not 
				 {
					fnFocusAndAlert(errorArray[0] ,'username'); 
					return false;
				 }
				 else
				 {
					 //check username length( more then 4 and less then 15)
					 var usernameLength = strUsername.length;
				 
					 if(usernameLength <=4 || usernameLength >15) 
					 {
						fnFocusAndAlert(errorArray[3] ,'username');
						return false;
					 }
					 else
					 {
						 new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 13,username: strUsername},
							 onSuccess: function(transport)
							 {
								 response = transport.responseText;
								
								  if(response==0)
								  {
									  fnFocusAndAlert(errorArray[16] ,'username');
									  return false;
								  }
							}
						  });
					 }
				 }
			  if(response==0)
			   {
					return false;
			   } 
		}
		
	
		
		
   if(change_flag!=3) // only for add, modify and signup customer
   { 
	   if(fnIsBlank(strPassword))   //check password field blank or not 
		 {
			fnFocusAndAlert(errorArray[1] ,'password'); 
			return false;
		 }
		 else
		 {
			 //check password length( more then 4 and less then 15)
			 var passLength = strPassword.length;
		 
			 if(passLength <=4 || passLength >15) 
			 {
				fnFocusAndAlert(errorArray[2] ,'password');
			
				return false;
			 }
		 }
		 
		if(fnIsBlank(strVerify_Password))    
		 {
			fnFocusAndAlert(errorArray[4] ,'verify_password'); 
			return false;
		 }
		 else
		 { 
			  if(!fnIsBlank(strPassword) && !fnIsBlank(strVerify_Password)) 
			   {                                                   // password and confirm password both should be same check here.
				  if(strPassword != strVerify_Password) 
				 {
					fnFocusAndAlert(errorArray[5] ,'verify_password');
					return false;
				 }
			   }
		 }
	 }
	 
	 if(fnIsBlank(strFName))    
	 {
		fnFocusAndAlert(errorArray[14] ,'fname'); 
		return false;
	 }

	if(fnIsBlank(strLName))    
	 {
		fnFocusAndAlert(errorArray[15] ,'lname'); 
		return false;
	 }
	 
	 if(fnIsBlank(strCompName))   
	 {
		fnFocusAndAlert(errorArray[29] ,'compname'); 
		return false;
	 }
	 else
	 {
	 
	  if(change_flag==3) // not for profile
	   {  
		  var strUsername = $F('username');
		  
	   } 
	   
	   var response3 =""; 
		new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 108,strCompName: strCompName,change_flag:change_flag,strUsername:strUsername},
							 onSuccess: function(transport)
							 {
								 response3 = transport.responseText;
								   
							}
						  });
						  
		 if(response3==0)	
		  {   
			  fnFocusAndAlert(errorArray[220] ,'compname');
			  return false;
		  }			  
		 if(response3==0)	
			   {
					return false;
			   } 			  
	 
	 }
  
	if(fnIsBlank(strEmail))    
	 {
		fnFocusAndAlert(errorArray[6] ,'email'); 
		return false;
	 }
	else
	 {	
		//check email address is valid or not
		 if(!fnIsValidEmail(strEmail))
		 {
			 fnFocusAndAlert(errorArray[7] ,'email'); 
			 return false;
		 }
		 else
		 {
		   if(change_flag==3) // not for profile
		   {
			  var strUsername = $F('username');
		   }
		   
		  /* var response1 = 0;
			new Ajax.Request('../request.php',
			  {
				 method:'get',
				 asynchronous: false,
				 parameters: {rq_id: 785,strEmail: strEmail,strUsername:strUsername,change_flag:change_flag},
				 onSuccess: function(transport)
				 {
					 response1 = transport.responseText;
					 
					  if(response1==0)
					  {
						  fnFocusAndAlert(errorArray[237] ,'email');
						  return false;
					  }
				}
			  }); 
			  
			if(response1==0)	
			  {
				return false; 
			  }   */ 
		 
		 }
		
	 }
	
  var strAltEmail = $F('alt_email');
   
  if(!fnIsBlank(strAltEmail))    
	 {
		 if(!fnIsValidEmail(strAltEmail))
		 {
			 fnFocusAndAlert(errorArray[7] ,'alt_email'); 
			 return false;
		 } 
	 }   
	 
	 if(change_flag==0) // on customer signup
	  { 
		var verify_email = $F('verify_email'); 
		
		if(strEmail != verify_email)
		{
		   fnFocusAndAlert(errorArray[208] ,'email'); 
		   return false;
		}
	  }	

	 //check phone number field blank or not
	if(fnIsBlank(intPhoneNumber))
	 {
		fnFocusAndAlert(errorArray[8] , 'phone_number'); 
		return false;
	 } 
	 else
	 {
		if(!fnIsNumberPhone(intPhoneNumber,'Phone Number'))
		{
			fnPutFocus('phone_number');
			return false;
		}
	 }
	 
  
	 if(!fnIsBlank(intFaxNumber))  
	 {
		if(!fnIsFaxNumber(intFaxNumber,'Fax Number'))
		{
			fnPutFocus('fax_number');
			return false;
		}
	 }
 
	if(fnIsBlank(strStreet))
	 {
		 fnFocusAndAlert(errorArray[9] , 'street'); 
		return false;
	 }
	
	if(fnIsBlank(strCity))
	 {
		 fnFocusAndAlert(errorArray[10] , 'city'); 
		return false;
	 }
	 
	if(strState==-1)
	 {
		 fnFocusAndAlert(errorArray[11] , 'state'); 
		return false;
	 }
	 
	 if(fnIsBlank(intZipcode))
	 {
		 fnFocusAndAlert(errorArray[13] , 'zipcode'); 
		return false;
	 }
	 
	 
	 if(change_flag==1 || change_flag==2) // on branded customer add and modify
	 { 
			var fuel_price_type = false;
			
			if(change_flag==1)
			{
				// Loop from zero to the one minus the number of radio button selections
				for (counter = 0; counter < document.addCustomer.fuel_price_type.length; counter++)
				{
				// If a radio button has been selected it will return true
				// (If not it will return false)
					if (document.addCustomer.fuel_price_type[counter].checked)
					{
						fuel_price_type = true; 
					}
				}
			}
			
			if(change_flag==2)
			{  
				// Loop from zero to the one minus the number of radio button selections
				for (counter = 0; counter < document.modifyCustomer.fuel_price_type.length; counter++)
				{
				// If a radio button has been selected it will return true
				// (If not it will return false)
					if (document.modifyCustomer.fuel_price_type[counter].checked)
					{
						fuel_price_type = true; 
					}
				} 
			}
			
			if (!fuel_price_type)
			{
				// If there were no selections made display an alert box 
				 fnFocusAndAlert(errorArray[266] , 'fuel_price_type1'); 
				return false; 
			}
			
	 
	 }
	
	 if(change_flag==1 || change_flag==2 || change_flag==4 || change_flag==5)  // only when customer add or modify	
	  { 
		 
		 if(assign_salesman==-1)
		 {
			fnFocusAndAlert(errorArray[33] , 'salesrp_name'); 
			return false;
		 }
		 
		 
		 if(fnIsBlank(payment_day))
			{
			   fnFocusAndAlert(errorArray[38] , 'payment_day'); 
				return false;
			}
			else
			{
			   if(!fnIsNumber(payment_day,'Terms on payment collection day'))
				{
					fnPutFocus('payment_day');
					return false;
				}
			
			}
			
		 if(delivery_comp_name==-1)
		 {
			fnFocusAndAlert(errorArray[120] , 'delivery_comp_name'); 
			return false;
		 }
		 
		 
		 var min_amt_of_gals = $F('min_amt_of_gals');
		   
		   if(fnIsBlank(min_amt_of_gals))
			{
			   fnFocusAndAlert(errorArray[178] , 'min_amt_of_gals'); 
				return false;
			}
			else
			{
			   if(!fnIsNumber(min_amt_of_gals,'Minimum amount of gallons'))
				{
					fnPutFocus('min_amt_of_gals');
					return false;
				}
			
			}
			
		 
		 if($('allow_minimum_order').checked)
		 {
			var allow_min_order_passcode = $F('allow_min_order_passcode');
			
			 if(fnIsBlank(allow_min_order_passcode))
			{
			 fnFocusAndAlert(errorArray[179] , 'allow_min_order_passcode'); 
			 return false;
			}
		  else
			{
				 var passcodeVal0=""		
				  new Ajax.Request('../request.php',
				  {
					 method:'get',
					 asynchronous: false,
					 parameters: {rq_id:107,passcode:allow_min_order_passcode},
					 onSuccess: function(transport)
					 {
						 passcodeVal0 = transport.responseText;
						 
					}
				  });	
				  
			  if(passcodeVal0==0)
				{
				  fnFocusAndAlert(errorArray[216] , 'allow_min_order_passcode'); 
				  return false; 
				  
				} 
			 
			}
			
		 }
		 else
		 {
		  if(fnIsBlank(bel_min_chrg))
			 {
				fnFocusAndAlert(errorArray[105] , 'bel_min_chrg'); 
				return false;
			 }
			 else
			 {
			   if(!fnPriceValidation(bel_min_chrg))	
				{
				   fnFocusAndAlert(errorArray[106] , 'bel_min_chrg'); 
				   return false;
				}
			 }
		 }
		 
		if($('disableMarkup').checked)
		{
			var temp_markup_type = $F('temp_markup_type');
			var temp_markup_amount = $F('temp_markup_amount');
			var temp_markup_from_date = $F('temp_markup_amount_from');
			var temp_markup_to_date = $F('temp_markup_amount_to');
			
		   if(fnIsBlank(temp_markup_amount))
				{
				   fnFocusAndAlert(errorArray[40] , 'temp_markup_amount'); 	
				   return false;
				}
				else
				{
					if(!fnPriceValidation(temp_markup_amount))
					{
						fnFocusAndAlert(errorArray[35] , 'temp_markup_amount'); 	
						return false;
					}
				}
				
		   if(fnIsBlank(temp_markup_from_date))
				{
					fnFocusAndAlert(errorArray[121] , 'temp_markup_amount_from'); 	
					return false;
				}
			
		   if(fnIsBlank(temp_markup_to_date))
				{
					fnFocusAndAlert(errorArray[122] , 'temp_markup_amount_to'); 	
					return false;
				}	
			
		  if(temp_markup_from_date > temp_markup_to_date)
			  {
					fnFocusAndAlert(errorArray[123] , 'temp_markup_amount_to'); 	
				   return false;
			  }
			  
		  var temp_markup_passcode = $F('temp_markup_passcode');	
			
		  if(fnIsBlank(temp_markup_passcode))
			{
			  fnFocusAndAlert(errorArray[214] , 'temp_markup_passcode'); 
			  return false;
			}
			else
			{
				 var passcodeVal=""		
				  new Ajax.Request('../request.php',
				  {
					 method:'get',
					 asynchronous: false,
					 parameters: {rq_id:107,passcode:temp_markup_passcode},
					 onSuccess: function(transport)
					 {
						 passcodeVal = transport.responseText;
						 
					}
				  });	
				 
			  if(passcodeVal==0)
				{
				  fnFocusAndAlert(errorArray[215] , 'temp_markup_passcode'); 
				  return false;
				} 
			 
			}  
		  
		}
		else
		{
			var org_markup_type = $F('org_markup_type');
			var org_markup_amount = $F('org_markup_amount');
			
			if(fnIsBlank(org_markup_amount))
				{
				   fnFocusAndAlert(errorArray[40] , 'org_markup_amount'); 	
				   return false;
				}
				else
				{
				   if(!fnPriceValidation(org_markup_amount))
					{
						fnFocusAndAlert(errorArray[35] , 'org_markup_amount'); 	
						return false;
					}
				
				}
		}
		
		/*if($('include_delivery_cost').checked)
		{
			var delivery_cost = $F('delivery_cost');
			
			if(fnIsBlank(delivery_cost))
				{
				   fnFocusAndAlert(errorArray[140] , 'delivery_cost'); 	
				   return false;
				}
				else
				{
				   if(!fnPriceValidation(delivery_cost))
					{
						fnFocusAndAlert(errorArray[141] , 'delivery_cost'); 	
						return false;
					}
				
				}
		
		}  */
		
		
		if(!$('admin_approval_order').checked)
		{
			var passcode = $F('admin_passcode')

			 if(fnIsBlank(passcode))
			 {
				 fnFocusAndAlert(errorArray[180] , 'admin_passcode'); 
				 return false;
			 }
			 else
			{
				 var passcodeVal1=""		
				  new Ajax.Request('../request.php',
				  {
					 method:'get',
					 asynchronous: false,
					 parameters: {rq_id:107,passcode:passcode},
					 onSuccess: function(transport)
					 {
						 passcodeVal1 = transport.responseText;
						 
					}
				  });	
				 
			  if(passcodeVal1==0)
				{
				  fnFocusAndAlert(errorArray[217] , 'admin_passcode'); 
				  return false; 
				  
				} 
			 
			}
		
		}

 
	  }
	  
	  
	  
	if(change_flag==1 || change_flag==2)
	  {  
	  
	  if(terminal_primary==-1)
		{
		   fnFocusAndAlert(errorArray[124] , 'terminal_primary'); 		
		   return false;
		}
		
	   /*	if(zone==-1)
		{
		   fnFocusAndAlert(errorArray[50] , 'zone'); 		
		   return false;
		}  */
		
		
	   //if inventory checked then check the notification atleast one	
	if($('manageInv').checked)
	{
		var manageInvMat = $F('inv_mat_add');
		
		if(fnIsBlank(manageInvMat))
		{
		   fnFocusAndAlert(errorArray[132] , 'manageInv'); 
		   return false;
		}
		
		
		if(!$('manage_inv_notification_admin').checked && !$('manage_inv_notification_cust').checked)
		{
		   fnFocusAndAlert(errorArray[133] , 'manage_inv_notification_admin'); 	
		   return false;
		}
		 
	}
		
		 
	} 
	 
	  
	 if(change_flag==0) // only when customer signup
	  { 	 
		 if(fnIsBlank(intVerifyNumber))
				 {
					 fnFocusAndAlert(errorArray[32] , 'verifyNumber'); 
					 return false;
				 }
	  }	 
	 
	if(change_flag==2 || change_flag==5)
	 {
		 var status = $F('status');
		 if(status==-1)
		 {
			 fnFocusAndAlert(errorArray[17] , 'status'); 
			 return false;
		 }
	 
		 if(status==0)
		 {
			if(!confirm(errorArray[61]+" customer "+errorArray[62]))
			{
				return false;
			}
		 }	
	 
	 } 

	 return true;
}


//function for customer tab section

function fnAddCustomerValidationTab(change_flag)
{   	
	var response = 1;
	var response0 =1;
	var response01=1;
  
   if(change_flag==1 || change_flag==2) // on branded customer add and modify
	 { 
		var intCustProvider = $F('cust_provider');
		var terminal_primary = $F('terminal_primary');
		var terminal_secondary = $F('terminal_secondary');
		var zone = $F('zone');
	 
	 } 
	
   if(change_flag!=0 && change_flag!=3) // not for signup and profile
   {
	  var gasoline_type = $F('gasoline_type');
	  var strCustNo = $F('custno');
	  var intLocationNo = $F('int_location_no');
   }

   if(change_flag!=3) // not for profile
   {
	  var strUsername = $F('username');
	  var strPassword = $F('password');
	  var strVerify_Password = $F('verify_password');
   }
   

	var strFName = $F('fname');
	 
	var strLName = $F('lname');
	
	var strCompName = $F('compname');
	
	var strEmail = $F('email');
	
	var intPhoneNumber = $F('phone_number');
	  
	var intFaxNumber = $F('fax_number');
	
	var strStreet = $F('street'); 
	 
	var strCity = $F('city'); 
	
	var strState = $F('state'); 
	
	var intZipcode = $F('zipcode');
	
   if(change_flag!=0 && change_flag!=3) // not for signup and profile	
   {
	 var assign_salesman = $F('salesrp_name');
	 var payment_day = $F('payment_day');
	 var delivery_comp_name = $F('delivery_comp_name');
	 var admin_approval_order = $F('admin_approval_order');
	 //var include_delivery_cost = $F('delivery_cost');
	 var bel_min_chrg = $F('bel_min_chrg');
   }	
	
	
   if(change_flag==0) // on customer signup
	  { 
		var intVerifyNumber = $F('verifyNumber'); 
	  }
  
   if(change_flag==2 || change_flag==5) // on modify customer
	   {
		 if(strUsername==-1)
		 {
			fnFocusAndAlertTab(errorArray[18] ,'username'); 	
			return false;
		 }
	   }
	
 if(change_flag==1 || change_flag==2)  // only for add and modify customer
   {
		if(intCustProvider==-1)
		   {
			 fnFocusAndAlertTab(errorArray[47] ,'cust_provider'); 	
			 return false;
		   }
   }
   
 if(change_flag==1 || change_flag==2 || change_flag==4 || change_flag==5)  // only for add and modify customer	
   {	   
		   
		if(gasoline_type==-1)
			{
			   fnFocusAndAlertTab(errorArray[39] , 'gasoline_type'); 
				return false;
			}
		if(fnIsBlank(strCustNo))   //check username field blank or not 
			 {
				fnFocusAndAlertTab(errorArray[67] ,'custno'); 
				return false;
			 }
			 else
			 {  
			   if(!fnIsNumber(strCustNo,'Customer number'))
				{
					
					var $j = jQuery.noConflict();	
	
					$j(function(){

					var tabs = $j('#tabs').tabs(); // first tab selected  
						// Tabs
					tabs.tabs('select', 0); // switch to third tab
					return false;

					});
					
					fnPutFocus('custno');
					return false;
				}
			   else
				{
				   new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 22,custNo: strCustNo,change_flags:change_flag,userId:strUsername},
							 onSuccess: function(transport)
							 {
								 response0 = transport.responseText;
								 
								  if(response0==0)
								  {
									  fnFocusAndAlertTab(errorArray[68] ,'custno');
									  return false;
								  }
							}
						  });
					}     
				}

		if(response0==0)
			   {
					return false;
			   }
			   
		if(!fnIsBlank(intLocationNo))   //check location number not blank then 
			 {
				
			   if(!fnIsNumber(intLocationNo,'Location number'))
				{
					var $j = jQuery.noConflict();	
	
					$j(function(){

					var tabs = $j('#tabs').tabs(); // first tab selected  
						// Tabs
					tabs.tabs('select', 0); // switch to third tab
					return false;

					});
					
					fnPutFocus('int_location_no');
					return false;
				}
				else
				{
					if(intLocationNo<0)
					{
						fnFocusAndAlertTab(errorArray[231] ,'int_location_no');
						return false;
					}
					
					if(intLocationNo.length>16)
					{
						fnFocusAndAlertTab(errorArray[232] ,'int_location_no');
						return false;
					}
					else
					{
					
						if(change_flag==1 || change_flag==2) // on branded customer add and modify
						{ 
						  
						   new Ajax.Request('../request.php',
								  {
									 method:'get',
									 asynchronous: false,
									 parameters: {rq_id: 109,intLocationNo:intLocationNo,intCustProvider:intCustProvider,userId:strUsername,change_flags:change_flag},
									 onSuccess: function(transport)
									 {
										 response01 = transport.responseText;
										
										  if(response01==0)
										  {
											  fnFocusAndAlertTab(errorArray[233] ,'int_location_no');
											  return false;
										  }
									}
								  });
					   }			  
					}
				}	
			 }	   
			
			if(response01==0)
			   {
					return false;
			   }   	
	 }     	   
	
   if(change_flag==0 || change_flag==1 || change_flag==4)  // only for add customer and customer signup
		  {
   
			   if(fnIsBlank(strUsername))   //check username field blank or not 
				 {
					fnFocusAndAlertTab(errorArray[0] ,'username'); 
					return false;
				 }
				 else
				 {
					 //check username length( more then 4 and less then 15)
					 var usernameLength = strUsername.length;
				 
					 if(usernameLength <=4 || usernameLength >15) 
					 {
						fnFocusAndAlertTab(errorArray[3] ,'username');
						return false;
					 }
					 else
					 {
						 new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 13,username: strUsername},
							 onSuccess: function(transport)
							 {
								 response = transport.responseText;
								
								  if(response==0)
								  {
									  fnFocusAndAlertTab(errorArray[16] ,'username');
									  return false;
								  }
							}
						  });
					 }
				 }
			  if(response==0)
			   {
					return false;
			   } 
		}
		
	
		
		
   if(change_flag!=3) // only for add, modify and signup customer
   { 
	   if(fnIsBlank(strPassword))   //check password field blank or not 
		 {
			fnFocusAndAlertTab(errorArray[1] ,'password'); 
			return false;
		 }
		 else
		 {
			 //check password length( more then 4 and less then 15)
			 var passLength = strPassword.length;
		 
			 if(passLength <=4 || passLength >15) 
			 {
				fnFocusAndAlertTab(errorArray[2] ,'password');
			
				return false;
			 }
		 }
		 
		if(fnIsBlank(strVerify_Password))    
		 {
			fnFocusAndAlertTab(errorArray[4] ,'verify_password'); 
			return false;
		 }
		 else
		 { 
			  if(!fnIsBlank(strPassword) && !fnIsBlank(strVerify_Password)) 
			   {                                                   // password and confirm password both should be same check here.
				  if(strPassword != strVerify_Password) 
				 {
					fnFocusAndAlertTab(errorArray[5] ,'verify_password');
					return false;
				 }
			   }
		 }
	 }
	 
	 if(fnIsBlank(strFName))    
	 {
		fnFocusAndAlertTab(errorArray[14] ,'fname'); 
		return false;
	 }

	if(fnIsBlank(strLName))    
	 {
		fnFocusAndAlertTab(errorArray[15] ,'lname'); 
		return false;
	 }
	 
	 if(fnIsBlank(strCompName))   
	 {
		fnFocusAndAlertTab(errorArray[29] ,'compname'); 
		return false;
	 }
	 else
	 {
	 
	  if(change_flag==3) // not for profile
	   {  
		  var strUsername = $F('username');
		  
	   } 
	   
	   var response3 =""; 
		new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 108,strCompName: strCompName,change_flag:change_flag,strUsername:strUsername},
							 onSuccess: function(transport)
							 {
								 response3 = transport.responseText;
								   
							}
						  });
						  
		 if(response3==0)	
		  {   
			  fnFocusAndAlertTab(errorArray[220] ,'compname');
			  return false;
		  }			  
		 if(response3==0)	
			   {
					return false;
			   } 			  
	 
	 }
  
	if(fnIsBlank(strEmail))    
	 {
		fnFocusAndAlertTab(errorArray[6] ,'email'); 
		return false;
	 }
	else
	 {	
		//check email address is valid or not
		 if(!fnIsValidEmail(strEmail))
		 {
			 fnFocusAndAlertTab(errorArray[7] ,'email'); 
			 return false;
		 }
		 else
		 {
		   if(change_flag==3) // not for profile
		   {
			  var strUsername = $F('username');
		   }
		   
		  /* var response1 = 0;
			new Ajax.Request('../request.php',
			  {
				 method:'get',
				 asynchronous: false,
				 parameters: {rq_id: 785,strEmail: strEmail,strUsername:strUsername,change_flag:change_flag},
				 onSuccess: function(transport)
				 {
					 response1 = transport.responseText;
					 
					  if(response1==0)
					  {
						  fnFocusAndAlert(errorArray[237] ,'email');
						  return false;
					  }
				}
			  }); 
			  
			if(response1==0)	
			  {
				return false; 
			  }   */ 
		 
		 }
		
	 }
	
  var strAltEmail = $F('alt_email');
   
  if(!fnIsBlank(strAltEmail))    
	 {
		 if(!fnIsValidEmail(strAltEmail))
		 {
			 fnFocusAndAlertTab(errorArray[7] ,'alt_email'); 
			 return false;
		 } 
	 }   
	 
	 if(change_flag==0) // on customer signup
	  { 
		var verify_email = $F('verify_email'); 
		
		if(strEmail != verify_email)
		{
		   fnFocusAndAlertTab(errorArray[208] ,'email'); 
		   return false;
		}
	  }	

	 //check phone number field blank or not
	if(fnIsBlank(intPhoneNumber))
	 {
		fnFocusAndAlertTab(errorArray[8] , 'phone_number'); 
		return false;
	 } 
	 else
	 {
		if(!fnIsNumberPhone(intPhoneNumber,'Phone Number'))
		{
					var $j = jQuery.noConflict();	
	
					$j(function(){

					var tabs = $j('#tabs').tabs(); // first tab selected  
						// Tabs
					tabs.tabs('select', 0); // switch to third tab
					return false;

					});
					
			fnPutFocus('phone_number');
			return false;
		}
	 }
	 
  
	 if(!fnIsBlank(intFaxNumber))  
	 {
		if(!fnIsFaxNumber(intFaxNumber,'Fax Number'))
		{
					var $j = jQuery.noConflict();	
	
					$j(function(){

					var tabs = $j('#tabs').tabs(); // first tab selected  
						// Tabs
					tabs.tabs('select', 0); // switch to third tab
					return false;

					});
					
			fnPutFocus('fax_number');
			return false;
		}
	 }
 
	if(fnIsBlank(strStreet))
	 {
		 fnFocusAndAlertTab(errorArray[9] , 'street'); 
		return false;
	 }
	
	if(fnIsBlank(strCity))
	 {
		 fnFocusAndAlertTab(errorArray[10] , 'city'); 
		return false;
	 }
	 
	if(strState==-1)
	 {
		 fnFocusAndAlertTab(errorArray[11] , 'state'); 
		return false;
	 }
	 
	 if(fnIsBlank(intZipcode))
	 {
		 fnFocusAndAlertTab(errorArray[13] , 'zipcode'); 
		return false;
	 }
	 
	 
	 if(change_flag==1 || change_flag==2) // on branded customer add and modify
	 { 
			var fuel_price_type = false;
			
			if(change_flag==1)
			{
				// Loop from zero to the one minus the number of radio button selections
				for (counter = 0; counter < document.addCustomer.fuel_price_type.length; counter++)
				{
				// If a radio button has been selected it will return true
				// (If not it will return false)
					if (document.addCustomer.fuel_price_type[counter].checked)
					{
						fuel_price_type = true; 
					}
				}
			}
			
			if(change_flag==2)
			{  
				// Loop from zero to the one minus the number of radio button selections
				for (counter = 0; counter < document.modifyCustomer.fuel_price_type.length; counter++)
				{
				// If a radio button has been selected it will return true
				// (If not it will return false)
					if (document.modifyCustomer.fuel_price_type[counter].checked)
					{
						fuel_price_type = true; 
					}
				} 
			}
			
			if (!fuel_price_type)
			{
				// If there were no selections made display an alert box 
				 fnFocusAndAlertTab2(errorArray[266] , 'fuel_price_type1'); 
				return false; 
			}
			
	 
	 }
	
	 if(change_flag==1 || change_flag==2 || change_flag==4 || change_flag==5)  // only when customer add or modify	
	  { 
		 
		 if(assign_salesman==-1)
		 {
			fnFocusAndAlertTab2(errorArray[33] , 'salesrp_name'); 
			return false;
		 }
		 
		 
		 if(fnIsBlank(payment_day))
			{
			   fnFocusAndAlertTab2(errorArray[38] , 'payment_day'); 
				return false;
			}
			else
			{
			   if(!fnIsNumber(payment_day,'Terms on payment collection day'))
				{
					fnPutFocus('payment_day');
					return false;
				}
			
			}
			
		 if(delivery_comp_name==-1)
		 {
			fnFocusAndAlertTab2(errorArray[120] , 'delivery_comp_name'); 
			return false;
		 }
		 
		 
		 var min_amt_of_gals = $F('min_amt_of_gals');
		   
		   if(fnIsBlank(min_amt_of_gals))
			{
			   fnFocusAndAlertTab2(errorArray[178] , 'min_amt_of_gals'); 
				return false;
			}
			else
			{
			   if(!fnIsNumber(min_amt_of_gals,'Minimum amount of gallons'))
				{
					fnPutFocus('min_amt_of_gals');
					return false;
				}
			
			}
			
		 
		 if($('allow_minimum_order').checked)
		 {
			var allow_min_order_passcode = $F('allow_min_order_passcode');
			
			 if(fnIsBlank(allow_min_order_passcode))
			{
			 fnFocusAndAlertTab2(errorArray[179] , 'allow_min_order_passcode'); 
			 return false;
			}
		  else
			{
				 var passcodeVal0=""		
				  new Ajax.Request('../request.php',
				  {
					 method:'get',
					 asynchronous: false,
					 parameters: {rq_id:107,passcode:allow_min_order_passcode},
					 onSuccess: function(transport)
					 {
						 passcodeVal0 = transport.responseText;
						 
					}
				  });	
				  
			  if(passcodeVal0==0)
				{
				  fnFocusAndAlertTab2(errorArray[216] , 'allow_min_order_passcode'); 
				  return false; 
				  
				} 
			 
			}
			
		 }
		 else
		 {
		  if(fnIsBlank(bel_min_chrg))
			 {
				fnFocusAndAlertTab2(errorArray[105] , 'bel_min_chrg'); 
				return false;
			 }
			 else
			 {
			   if(!fnPriceValidation(bel_min_chrg))	
				{
				   fnFocusAndAlertTab2(errorArray[106] , 'bel_min_chrg'); 
				   return false;
				}
			 }
		 }
		 
		if($('disableMarkup').checked)
		{
			var temp_markup_type = $F('temp_markup_type');
			var temp_markup_amount = $F('temp_markup_amount');
			var temp_markup_from_date = $F('temp_markup_amount_from');
			var temp_markup_to_date = $F('temp_markup_amount_to');
			
		   if(fnIsBlank(temp_markup_amount))
				{
				   fnFocusAndAlertTab2(errorArray[40] , 'temp_markup_amount'); 	
				   return false;
				}
				else
				{
					if(!fnPriceValidation(temp_markup_amount))
					{
						fnFocusAndAlertTab2(errorArray[35] , 'temp_markup_amount'); 	
						return false;
					}
				}
				
		   if(fnIsBlank(temp_markup_from_date))
				{
					fnFocusAndAlertTab2(errorArray[121] , 'temp_markup_amount_from'); 	
					return false;
				}
			
		   if(fnIsBlank(temp_markup_to_date))
				{
					fnFocusAndAlertTab2(errorArray[122] , 'temp_markup_amount_to'); 	
					return false;
				}	
			
		  if(temp_markup_from_date > temp_markup_to_date)
			  {
					fnFocusAndAlertTab2(errorArray[123] , 'temp_markup_amount_to'); 	
				   return false;
			  }
			  
		  var temp_markup_passcode = $F('temp_markup_passcode');	
			
		  if(fnIsBlank(temp_markup_passcode))
			{
			  fnFocusAndAlertTab2(errorArray[214] , 'temp_markup_passcode'); 
			  return false;
			}
			else
			{
				 var passcodeVal=""		
				  new Ajax.Request('../request.php',
				  {
					 method:'get',
					 asynchronous: false,
					 parameters: {rq_id:107,passcode:temp_markup_passcode},
					 onSuccess: function(transport)
					 {
						 passcodeVal = transport.responseText;
						 
					}
				  });	
				 
			  if(passcodeVal==0)
				{
				  fnFocusAndAlertTab2(errorArray[215] , 'temp_markup_passcode'); 
				  return false;
				} 
			 
			}  
		  
		}
		else
		{
			var org_markup_type = $F('org_markup_type');
			var org_markup_amount = $F('org_markup_amount');
			
			if(fnIsBlank(org_markup_amount))
				{
				   fnFocusAndAlertTab2(errorArray[40] , 'org_markup_amount'); 	
				   return false;
				}
				else
				{
				   if(!fnPriceValidation(org_markup_amount))
					{
						fnFocusAndAlertTab2(errorArray[35] , 'org_markup_amount'); 	
						return false;
					}
				
				}
		}
		
		/*if($('include_delivery_cost').checked)
		{
			var delivery_cost = $F('delivery_cost');
			
			if(fnIsBlank(delivery_cost))
				{
				   fnFocusAndAlert(errorArray[140] , 'delivery_cost'); 	
				   return false;
				}
				else
				{
				   if(!fnPriceValidation(delivery_cost))
					{
						fnFocusAndAlert(errorArray[141] , 'delivery_cost'); 	
						return false;
					}
				
				}
		
		}  */
		
		
		if(!$('admin_approval_order').checked)
		{
			var passcode = $F('admin_passcode')

			 if(fnIsBlank(passcode))
			 {
				 fnFocusAndAlertTab2(errorArray[180] , 'admin_passcode'); 
				 return false;
			 }
			 else
			{
				 var passcodeVal1=""		
				  new Ajax.Request('../request.php',
				  {
					 method:'get',
					 asynchronous: false,
					 parameters: {rq_id:107,passcode:passcode},
					 onSuccess: function(transport)
					 {
						 passcodeVal1 = transport.responseText;
						 
					}
				  });	
				 
			  if(passcodeVal1==0)
				{
				  fnFocusAndAlertTab2(errorArray[217] , 'admin_passcode'); 
				  return false; 
				  
				} 
			 
			}
		
		}

 
	  }
	  
	  
	  
	if(change_flag==1 || change_flag==2)
	  {  
	  
	  if(terminal_primary==-1)
		{
		   fnFocusAndAlertTab2(errorArray[124] , 'terminal_primary'); 		
		   return false;
		}
		
	   /*	if(zone==-1)
		{
		   fnFocusAndAlert(errorArray[50] , 'zone'); 		
		   return false;
		}  */
		
		
	   //if inventory checked then check the notification atleast one	
	if($('manageInv').checked)
	{
		var manageInvMat = $F('inv_mat_add');
		
		if(fnIsBlank(manageInvMat))
		{
		   fnFocusAndAlertTab2(errorArray[132] , 'manageInv'); 
		   return false;
		}
		
		
		if(!$('manage_inv_notification_admin').checked && !$('manage_inv_notification_cust').checked)
		{
		   fnFocusAndAlertTab2(errorArray[133] , 'manage_inv_notification_admin'); 	
		   return false;
		}
		 
	}
		
		 
	} 
	 
	  
	 if(change_flag==0) // only when customer signup
	  { 	 
		 if(fnIsBlank(intVerifyNumber))
				 {
					 fnFocusAndAlertTab2(errorArray[32] , 'verifyNumber'); 
					 return false;
				 }
	  }	 
	 
	if(change_flag==2 || change_flag==5)
	 {
		 var status = $F('status');
		 if(status==-1)
		 {
			 fnFocusAndAlertTab2(errorArray[17] , 'status'); 
			 return false;
		 }
	 
		 if(status==0)
		 {
			if(!confirm(errorArray[61]+" customer "+errorArray[62]))
			{
				return false;
			}
		 }	
	 
	 }
	
   if(change_flag==1 || change_flag==2 || change_flag==4 || change_flag==5)
	 { 
		
		var acc_no =  trim($F('acc_no'));
		var rout_no =   trim($F('rout_no'));
		var passcode = trim($F('admin_passcode_acc')); 
		var qb_company_name = trim($F('qbcompname')); 

		if(!fnIsBlank(acc_no))
		{
		  if(!fnIsNumber(acc_no,'Account Number'))
			{
				fnPutFocus('acc_no');
				return false;
			}
		
		}
		
		if(!fnIsBlank(rout_no))
		{
			if(!fnIsNumber(rout_no,'Routing Number'))
			{
				fnPutFocus('rout_no');
				return false;
			}
		
		}
		
		if(fnIsBlank(qb_company_name))
		{
		   fnFocusAndAlert(errorArray[339] , 'qbcompname'); 	
		   return false;
		}
		else
		{
			var response3 =""; 
			new Ajax.Request('../request.php',
							  {
								 method:'get',
								 asynchronous: false,
								 parameters: {rq_id: 847,strCompName: qb_company_name,change_flag:change_flag,strUsername:strUsername},
								 onSuccess: function(transport)
								 {
									 response3 = transport.responseText;
									   
								}                        
							  });
							  
			 if(response3==0)	
			  {   
				  fnFocusAndAlert(errorArray[340] ,'qbcompname');
				  return false;
			  }			  
			 if(response3==0)	
				   {
						return false;
				   } 
						
		}
	   
	   if(fnIsBlank(passcode))	
		   {
			  fnFocusAndAlert(errorArray[173] , 'admin_passcode_acc'); 
			  return false;
		   }
	   else
		   {
			var response4="";
			new Ajax.Request('../request.php',
						  {
							 method:'get',
							 asynchronous: false,
							 parameters: {rq_id: 107,passcode:passcode},
							 onSuccess: function(transport)
							 {
								 response4 = transport.responseText;
							 }
						  });
				  if(response4=='0')	
						 {		  
							alert(errorArray[174]); 
							$('admin_passcode_acc').value='';
							return false; 
						 } 
		   } 
	 }    

	 return true;
}

function fnAskPasscode()
{
	if($('admin_passcode_text').style.display=='none')
	{
		$('admin_passcode_text').show();
	}
	else
	{
		$('admin_passcode_text').hide();
	}

}

function fnAskPasscodeForMininumOrder()
{
   /*if($('allow_minimum_order_passcode_text').style.display=='none')
	{
		$('allow_minimum_order_passcode_text').show();
	}
	else
	{
		$('allow_minimum_order_passcode_text').hide();
	}  */
	
   if($('allow_minimum_order').checked)
   {
	  $('min_order_charge_text').hide();	
	  $('allow_minimum_order_passcode_text').show();
   
   }
   else
   {
	 $('min_order_charge_text').show();
	 $('allow_minimum_order_passcode_text').hide();
   }	
	

}


function fnGetBelowMinimumCharge()
{
   var intCompanyId = $F('delivery_comp_name');
   
   if(intCompanyId!=-1)
   {
		
	  new Ajax.Request('../request.php',
			  {
				 method:'get',
				 asynchronous: false,
				 parameters: {rq_id:81,intCompanyId: intCompanyId},
				 onSuccess: function(transport)
				 {
					 response = transport.responseText;
					 $('bel_min_chrg').value = response;
					
				}
			  });
   }
}




/*
###############################################################################################################################
# Function Name :fnLoadingImage()  
# Created By: Manish Sharma
# Created On: 03 June 2009
# Purpose :show the loading image when procee running(means before get the reponse)
###############################################################################################################################
*/

function fnLoadingImage(target)
{
	$(target).innerHTML = '<img src="../../images/loading.gif"/>';
}

/*
###############################################################################################################################
# Function Name :fnSelectItemToProvider()  
# Created By: Manish Sharma
# Created On: 03 June 2009
# Purpose : when customer add then according to selected provider select the gasoline type, terminal, zone and material type
###############################################################################################################################
*/
function fnSelectItemToProvider(flag)
{ 
	var intprovider = $F('cust_provider');
	var target =  'gasoline_type_div';
	var target1 = 'primary_terminal_div';
	var target2 = 'secondary_terminal_div';
	var target3 = 'material_desc_div';
	var target4 = 'zone_div';
	var old_provider_id = $F('old_provider_id');
  
   if(intprovider==-1)
	   {
		 fnFocusAndAlert(errorArray[36] ,'cust_provider'); 	
		 return false;
	   }
	   else
	   { 
	   
	   if(old_provider_id!=intprovider)
		  {
			$('inv_mat_table_show').innerHTML = "";
			$('inv_mat_add').value="";
		  }	 
	   
		if(intprovider!=0)
		{
		   new Ajax.Request('../request.php',
			  {
				 method:'get',
				 asynchronous: false,
				 parameters: {rq_id: 24,providerId: intprovider,flag:flag},
				 onloading:fnLoadingImage(target),
				 onSuccess: function(transport)
				 {
					 response = transport.responseText;
					 responseArray = response.split('@');
					 $(target).innerHTML = responseArray[0];
					 $(target1).innerHTML = responseArray[1];
					 $(target2).innerHTML = responseArray[2];
					 $(target3).innerHTML = responseArray[3];
					 $(target4).innerHTML = responseArray[4];
					  
				}
			  });
			  
		}
		
		fnUpdateMaterialTableOnProviderChng();  
	   }
}


function fnUpdateMaterialTableOnProviderChng()
{
  var customerId = $F('username');
  var intprovider = $F('cust_provider');	
	
 if(customerId!=-1 && intprovider!=-1)
 { 
  
  new Ajax.Request('../request.php',
			  {
				 method:'get',
				 asynchronous: false,
				 parameters: {rq_id: 90,customerId: customerId,intprovider:intprovider},
				 onSuccess: function(transport)
				 {
				 
				  var response = transport.responseText;
					
				  var responseArray = response.split("*^");	
				   
				  $('old_provider_id').value = responseArray[0];
				 
				 //manage inventory section
					 if(responseArray[1]==1)
					 {
						 $('manageInv').checked=true;
						
						 $('inv1').show();
						 $('inv2').show();
						 
						// inventory material table setup
						 
					  invMatHiddenModify = responseArray[2];
					  $('inv_mat_add').value= invMatHiddenModify;
					  var invMatBlocks = fnPrepareTableInvMat_Modify();
					  fnShowInvMatTable_Modify(invMatBlocks);
					   
					 }
					 else
					 {
						$('manageInv').checked=false;
						
						$('inv1').hide();
						$('inv2').hide();
					 }
				 
				 }
				 
			  } );
 }			    

}

/*
 #############################################################################
 # Function Name: fnGetCustomerData()
 # Created By: Manish Sharma  
 # Created on: 05 june 2009
 # Purpose: Get the customer data for modification    
#############################################################################
 */
function fnGetCustomerData(flag)
{
   var customerId = $F('username'); 
   
   if(customerId!=-1)
   {
	 
	new Ajax.Request('../request.php',
		 {
				 method:'get',
				 parameters: {rq_id: 14,id: customerId},
				 onSuccess: function(transport)
				 {
					 
					 var response = transport.responseText;
					 //alert(response);
					 var responseArray = response.split("*^");	
					  
					if(flag==1)
					{ 				 
					  $('cust_provider').value = responseArray[0];
					  fnSelectItemToProvider(1);
					  $('old_provider_id').value = responseArray[0];
					  $('zone').value = responseArray[1];
					 
					 if(responseArray[40]==0)
					 {
						  $('fuel_price_type1').checked=false; 
						  $('fuel_price_type2').checked=false; 
						  $('fuel_price_type3').checked=false; 
					 }
					 else
					 { 
					   if(responseArray[40]==1)
					  {
						$('fuel_price_type1').checked=true;
					  }
					  if(responseArray[40]==2)
					  {
						$('fuel_price_type2').checked=true;
					  }
					  if(responseArray[40]==3)
					  {
						 $('fuel_price_type3').checked=true;
					  }
					 } 
					}	 
					 $('custno').value = responseArray[2]; 
					 $('int_location_no').value = responseArray[39];
					 
					 
					 
					 $('password').value = responseArray[45];
					 $('verify_password').value = responseArray[45];
					 $('fname').value = responseArray[4];
					 $('lname').value = responseArray[5];
					 $('compname').value = responseArray[6];
					 $('phone_number').value = responseArray[7];
					 //$('fax_number').value = 
					 $('email').value = responseArray[8];
					 $('ein').value = responseArray[9];
					 $('street').value = responseArray[10];
					 $('city').value = responseArray[11];
					 $('state').value = responseArray[12];
					 $('zipcode').value = responseArray[14];
					 $('payment_day').value = responseArray[15];
					 $('gasoline_type').value = responseArray[16];
					 $('salesrp_name').value =  responseArray[17];
					 $('delivery_comp_name').value = responseArray[18];
					 
					 // for disable markup
					 if(responseArray[19]==1)
					 {
					   $('disableMarkup').checked=true;
					   fnDisableMarkup(); 
					   $('temp_markup_type').value = responseArray[22];
					   $('temp_markup_amount').value = responseArray[23];
					   $('temp_markup_amount_from').value = responseArray[24];
					   $('temp_markup_amount_to').value = responseArray[25];
					   
					   if(responseArray[20]!='')
					   {
						 $('org_markup_type').value = responseArray[20]; 	
					   }
					   if(responseArray[21]!='')
					   {
						 $('org_markup_amount').value = responseArray[21];
					   }
					 }
					 else
					 {
					   $('disableMarkup').checked=false;
					   
					   fnDisableMarkup(); 
					   $('temp_markup_type').value = "";
					   $('temp_markup_amount').value = "";
					   $('temp_markup_amount_from').value = "";
					   $('temp_markup_amount_to').value = "";

					   $('org_markup_type').value = responseArray[20];
					   $('org_markup_amount').value = responseArray[21];
					   
					 }
					 
					if(flag==1)	
					{ 
					 $('terminal_primary').value = responseArray[26];
					 $('terminal_secondary').value = responseArray[27];
					} 
					 
					 // admin approval order or not
					 if(responseArray[28]==1)
					 {
						$('admin_approval_order').checked=true;
					 }
					 else
					 {
						$('admin_approval_order').checked=false;
						
						fnAskPasscode();
					 }
					
					if(flag==1)	
					{   
					//manage inventory section
					 if(responseArray[29]==1)
					 {
						 $('manageInv').checked=true;
						
						 $('inv1').show();
						 $('inv2').show();
						 
						// inventory material table setup
						 
					  invMatHiddenModify = responseArray[44];
					  $('inv_mat_add').value= invMatHiddenModify;
					  var invMatBlocks = fnPrepareTableInvMat_Modify();
					  fnShowInvMatTable_Modify(invMatBlocks);
					   
					 }
					 else
					 {
						$('manageInv').checked=false;
						
						$('inv1').hide();
						$('inv2').hide();
					 }
					
					if(responseArray[30]==1)
					{ 
						$('manage_inv_notification_cust').checked=true;
					}
					else
					{
					   $('manage_inv_notification_cust').checked=false;
					}
					
					if(responseArray[31]==1)
					{ 
					   $('manage_inv_notification_admin').checked=true; 
					}
					else
					{
					   $('manage_inv_notification_admin').checked=false;
					}  
					
				 }   
					   $('status').value = responseArray[32];
					 
					 
					 /*if(responseArray[33]==1)
					 {
					   $('include_delivery_cost').checked=true;
					   $('delivery_cost_div').show();
					   $('delivery_cost').value=responseArray[34];
					 }
					 else
					 {
					   $('include_delivery_cost').checked=false;
					   $('delivery_cost_div').hide();
					   $('delivery_cost').value="";
					 } */
					
					if(responseArray[35]!=0)
					{
					  $('fax_number').value = responseArray[35];
					} 
					 
					 //$('bel_min_chrg').value = responseArray[36];
					$('min_amt_of_gals').value = responseArray[38]; 
					if(responseArray[37]==1)
					{
					   $('allow_minimum_order').checked=true;
					   $('allow_minimum_order_passcode_text').show();
					   $('min_order_charge_text').hide();
					   $('bel_min_chrg').value = "";
						
					}
					else
					{
					   $('allow_minimum_order').checked=false;
					   $('allow_minimum_order_passcode_text').hide();
					   $('min_order_charge_text').show();
					   $('bel_min_chrg').value = responseArray[36]; 	
					}
					
				 
					if(responseArray[43]!='')
					{ 
					 // delivery shift setup 
					  deliveryShiftHiddenModify = responseArray[43];
					  $('deliveryShiftHidden_add').value= deliveryShiftHiddenModify;
					  var deliveryShiftBlocks = fnPrepareTableDS_Modify();
					  fnShowDSTable_Modify(deliveryShiftBlocks);
					}
					   
					 
					if(flag==2)	
					{  
						
					if(responseArray[46]!='')
					{ 
					  // delivery shift setup 
					  terminalHiddenModify = responseArray[46];
					  $('terminalHidden_add').value= terminalHiddenModify;
					  var terminalBlocks = fnPrepareTableTerminal_Modify();
					  fnShowTerminalTable_Modify(terminalBlocks);
					}  
					} 
					
					
					if(responseArray[41]!='')
					  {
						 $('alt_email').value=responseArray[41];
					  }
					  else
					  {
						 $('alt_email').value='';
					  }
					  
					  if(responseArray[42]!=0)
					  {
						 $('fuel_alt_email_checkbox').checked=true;
					  }
					  else
					  {
						 $('fuel_alt_email_checkbox').checked=false;     
					  }  
					 
				}
			  });
   }
   else
   {                if(flag==1)
					{
					 $('cust_provider').value = -1;
					 $('zone').value= -1;
					 $('terminal_primary').value = -1;
					 $('terminal_secondary').value = -1;
					 $('manageInv').checked=false;
					 $('inv1').hide();
					 $('inv2').hide();
					 $('inv_mat_add').value = "";
					 $('inv_mat_table_show').innerHTML = '';	
					 $('manage_inv_notification_cust').checked=false;
					 $('manage_inv_notification_admin').checked=false;
					 
					 $('fuel_price_type1').checked=false; 
					 $('fuel_price_type2').checked=false; 
					 $('fuel_price_type3').checked=false; 
					} 
					 $('password').value ="";	
					 $('verify_password').value = "";
					 $('custno').value ="";
					 $('int_location_no').value="";
					 $('email').value = "";
					 $('fname').value = "";
					 $('lname').value = "";
					 $('compname').value = "";
					 $('phone_number').value = "";
					 $('fax_number').value = "";
					 $('street').value = "";
					 $('city').value = "";
					 $('state').value = -1;
					 $('zipcode').value = "";
					 $('status').value = -1; 
					 $('ein').value = "";
					 $('payment_day').value = '';
					 $('gasoline_type').value = -1;
					 $('salesrp_name').value =  -1;
					 $('delivery_comp_name').value = -1;
					 $('bel_min_chrg').value="";
					 $('allow_minimum_order').checked=false;
					 $('allow_minimum_order_passcode_text').hide();
					 $('min_order_gals_text').show();
					 $('min_amt_of_gals').value ="";
					 $('disableMarkup').checked=false;
					 $('temp_markup_type').value = '';
					 $('temp_markup_amount').value = '';
					 $('temp_markup_amount_from').value = '';
					 $('temp_markup_amount_to').value = '';
					 $('org_markup_type').value ='';
					 $('org_markup_amount').value = '';
					 
					 //$('include_delivery_cost').checked=false;
					 //$('delivery_cost_div').hide();
					 //$('delivery_cost').value="";
					   $('alt_email').value=''; 
					  $('fuel_alt_email_checkbox').checked=false;   
					
					 $('admin_approval_order').checked=false;
					 
					 $('delivery_shift_table_show').innerHTML = '';
					 $('deliveryShiftHidden_add').value = '';
					 
					 $('show_terminal_table_div').innerHTML = '';
					 $('terminalHidden_add').value = '';
					 
					 $('status').value = -1;
					  
   }		  

}


function fnGetCustomerDataTabSection(flag)
{
   var customerId = $F('username'); 
   
   if(customerId!=-1)
   {
	 
	new Ajax.Request('../request.php',
		 {
				 method:'get',
				 parameters: {rq_id: 853,id: customerId},
				 onSuccess: function(transport)
				 {
					 
					 var response = transport.responseText;
					 //alert(response);
					 var responseArray = response.split("*^");	
					  
					if(flag==1)
					{ 				 
					  $('cust_provider').value = responseArray[0];
					  fnSelectItemToProvider(1);
					  $('old_provider_id').value = responseArray[0];
					  $('zone').value = responseArray[1];
					 
					 if(responseArray[40]==0)
					 {
						  $('fuel_price_type1').checked=false; 
						  $('fuel_price_type2').checked=false; 
						  $('fuel_price_type3').checked=false; 
					 }
					 else
					 { 
					   if(responseArray[40]==1)
					  {
						$('fuel_price_type1').checked=true;
					  }
					  if(responseArray[40]==2)
					  {
						$('fuel_price_type2').checked=true;
					  }
					  if(responseArray[40]==3)
					  {
						 $('fuel_price_type3').checked=true;
					  }
					 } 
					}	 
					 $('custno').value = responseArray[2]; 
					 $('int_location_no').value = responseArray[39];
					 
					 
					 
					 $('password').value = responseArray[51];
					 $('verify_password').value = responseArray[51];
					 $('fname').value = responseArray[4];
					 $('lname').value = responseArray[5];
					 $('compname').value = responseArray[6];
					 $('phone_number').value = responseArray[7];
					 //$('fax_number').value = 
					 $('email').value = responseArray[8];
					 $('ein').value = responseArray[9];
					 $('street').value = responseArray[10];
					 $('city').value = responseArray[11];
					 $('state').value = responseArray[12];
					 $('zipcode').value = responseArray[14];
					 $('payment_day').value = responseArray[15];
					 $('gasoline_type').value = responseArray[16];
					 $('salesrp_name').value =  responseArray[17];
					 $('delivery_comp_name').value = responseArray[18];
					 
					 // for disable markup
					 if(responseArray[19]==1)
					 {
					   $('disableMarkup').checked=true;
					   fnDisableMarkup(); 
					   $('temp_markup_type').value = responseArray[22];
					   $('temp_markup_amount').value = responseArray[23];
					   $('temp_markup_amount_from').value = responseArray[24];
					   $('temp_markup_amount_to').value = responseArray[25];
					   
					   if(responseArray[20]!='')
					   {
						 $('org_markup_type').value = responseArray[20]; 	
					   }
					   if(responseArray[21]!='')
					   {
						 $('org_markup_amount').value = responseArray[21];
					   }
					 }
					 else
					 {
					   $('disableMarkup').checked=false;
					   
					   fnDisableMarkup(); 
					   $('temp_markup_type').value = "";
					   $('temp_markup_amount').value = "";
					   $('temp_markup_amount_from').value = "";
					   $('temp_markup_amount_to').value = "";

					   $('org_markup_type').value = responseArray[20];
					   $('org_markup_amount').value = responseArray[21];
					   
					 }
					 
					if(flag==1)	
					{ 
					 $('terminal_primary').value = responseArray[26];
					 $('terminal_secondary').value = responseArray[27];
					} 
					 
					 // admin approval order or not
					 if(responseArray[28]==1)
					 {
						$('admin_approval_order').checked=true;
					 }
					 else
					 {
						$('admin_approval_order').checked=false;
						
						fnAskPasscode();
					 }
					
					if(flag==1)	
					{   
					//manage inventory section
					 if(responseArray[29]==1)
					 {
						 $('manageInv').checked=true;
						
						 $('inv1').show();
						 $('inv2').show();
						 
						// inventory material table setup
						 
					  invMatHiddenModify = responseArray[50];
					  $('inv_mat_add').value= invMatHiddenModify;
					  var invMatBlocks = fnPrepareTableInvMat_Modify();
					  fnShowInvMatTable_Modify(invMatBlocks);
					   
					 }
					 else
					 {
						$('manageInv').checked=false;
						
						$('inv1').hide();
						$('inv2').hide();
					 }
					
					if(responseArray[30]==1)
					{ 
						$('manage_inv_notification_cust').checked=true;
					}
					else
					{
					   $('manage_inv_notification_cust').checked=false;
					}
					
					if(responseArray[31]==1)
					{ 
					   $('manage_inv_notification_admin').checked=true; 
					}
					else
					{
					   $('manage_inv_notification_admin').checked=false;
					}  
					
				 }   
					   $('status').value = responseArray[32];
					 
					 
					 /*if(responseArray[33]==1)
					 {
					   $('include_delivery_cost').checked=true;
					   $('delivery_cost_div').show();
					   $('delivery_cost').value=responseArray[34];
					 }
					 else
					 {
					   $('include_delivery_cost').checked=false;
					   $('delivery_cost_div').hide();
					   $('delivery_cost').value="";
					 } */
					
					if(responseArray[35]!=0)
					{
					  $('fax_number').value = responseArray[35];
					} 
					 
					 //$('bel_min_chrg').value = responseArray[36];
					$('min_amt_of_gals').value = responseArray[38]; 
					if(responseArray[37]==1)
					{
					   $('allow_minimum_order').checked=true;
					   $('allow_minimum_order_passcode_text').show();
					   $('min_order_charge_text').hide();
					   $('bel_min_chrg').value = "";
						
					}
					else
					{
					   $('allow_minimum_order').checked=false;
					   $('allow_minimum_order_passcode_text').hide();
					   $('min_order_charge_text').show();
					   $('bel_min_chrg').value = responseArray[36]; 	
					}
					
				 
					if(responseArray[49]!='')
					{ 
					 // delivery shift setup 
					  deliveryShiftHiddenModify = responseArray[49];
					  $('deliveryShiftHidden_add').value= deliveryShiftHiddenModify;
					  var deliveryShiftBlocks = fnPrepareTableDS_Modify();
					  fnShowDSTable_Modify(deliveryShiftBlocks);
					}
					   
					 
					if(flag==2)	
					{  
						
					if(responseArray[52]!='')
					{ 
					  // delivery shift setup 
					  terminalHiddenModify = responseArray[52];
					  $('terminalHidden_add').value= terminalHiddenModify;
					  var terminalBlocks = fnPrepareTableTerminal_Modify();
					  fnShowTerminalTable_Modify(terminalBlocks);
					}  
					} 
					
					
					if(responseArray[41]!='')
					  {
						 $('alt_email').value=responseArray[41];
					  }
					  else
					  {
						 $('alt_email').value='';
					  }
					  
					  if(responseArray[42]!=0)
					  {
						 $('fuel_alt_email_checkbox').checked=true;
					  }
					  else
					  {
						 $('fuel_alt_email_checkbox').checked=false;     
					  }
					  
					  if(responseArray[43]!='')
					  {
						 $('acc_no').value=responseArray[43];
					  }
					  else
					  {
						 $('acc_no').value='';
					  }
					  
					  if(responseArray[44]!='')
					  {
						 $('rout_no').value=responseArray[44];
					  }
					  else
					  {
						 $('rout_no').value='';
					  }
					  
					  if(responseArray[45]!='')
					  {
						 $('qbcompname').value=responseArray[45];
					  }
					  else
					  {
						 $('qbcompname').value='';
					  }
					  
					  if(responseArray[46]!='')
					  {
						 $('ind_ident_no1').value=responseArray[46];
					  }
					  else
					  {
						 $('ind_ident_no1').value='';
					  }
					  
					  if(responseArray[47]!='')
					  {
						 if(responseArray[47]==1)
						 {
						   $('acc_type').value=1;   
						 }
						 else
						 {
						   $('acc_type').value=2;   
						 }
					  }
					  else
					  {
						 $('acc_type').value=-1;
					  }
					  
					  
					  if(responseArray[48]!=0)
					  {
						 $('stmt_alt_email_checkbox').checked=true;
					  }
					  else
					  {
						 $('stmt_alt_email_checkbox').checked=false;     
					  }  
					 
				}
			  });
   }
   else
   {                if(flag==1)
					{
					 $('cust_provider').value = -1;
					 $('zone').value= -1;
					 $('terminal_primary').value = -1;
					 $('terminal_secondary').value = -1;
					 $('manageInv').checked=false;
					 $('inv1').hide();
					 $('inv2').hide();
					 $('inv_mat_add').value = "";
					 $('inv_mat_table_show').innerHTML = '';	
					 $('manage_inv_notification_cust').checked=false;
					 $('manage_inv_notification_admin').checked=false;
					 
					 $('fuel_price_type1').checked=false; 
					 $('fuel_price_type2').checked=false; 
					 $('fuel_price_type3').checked=false; 
					} 
					 $('password').value ="";	
					 $('verify_password').value = "";
					 $('custno').value ="";
					 $('int_location_no').value="";
					 $('email').value = "";
					 $('fname').value = "";
					 $('lname').value = "";
					 $('compname').value = "";
					 $('phone_number').value = "";
					 $('fax_number').value = "";
					 $('street').value = "";
					 $('city').value = "";
					 $('state').value = -1;
					 $('zipcode').value = "";
					 $('status').value = -1; 
					 $('ein').value = "";
					 $('payment_day').value = '';
					 $('gasoline_type').value = -1;
					 $('salesrp_name').value =  -1;
					 $('delivery_comp_name').value = -1;
					 $('bel_min_chrg').value="";
					 $('allow_minimum_order').checked=false;
					 $('allow_minimum_order_passcode_text').hide();
					 $('min_order_gals_text').show();
					 $('min_amt_of_gals').value ="";
					 $('disableMarkup').checked=false;
					 $('temp_markup_type').value = '';
					 $('temp_markup_amount').value = '';
					 $('temp_markup_amount_from').value = '';
					 $('temp_markup_amount_to').value = '';
					 $('org_markup_type').value ='';
					 $('org_markup_amount').value = '';
					 
					 //$('include_delivery_cost').checked=false;
					 //$('delivery_cost_div').hide();
					 //$('delivery_cost').value="";
					   $('alt_email').value=''; 
					  $('fuel_alt_email_checkbox').checked=false;   
					
					 $('admin_approval_order').checked=false;
					 
					 $('delivery_shift_table_show').innerHTML = '';
					 $('deliveryShiftHidden_add').value = '';
					 
					 $('show_terminal_table_div').innerHTML = '';
					 $('terminalHidden_add').value = '';
					 $('acc_no').value='';
					  $('rout_no').value='';
					  $('qbcompname').value='';
					  $('ind_ident_no1').value='';
					  $('acc_type').value=-1;         
					 
					 $('status').value = -1;
					  
   }		  

}

/*
#######################################################################################################
# Function Name :fnApproveCustomerRequest()  
# Created By: Manish Sharma
# Created On: 29 April 2009
# Modified On : 09 June 2008
# Purpose : validation function when admin approve/decline customer request
#######################################################################################################
*/
function fnApproveCustomerRequest()
{
	var buttonClickFlag = $F('buttonFlag'); // 1 for approved
											// 0 for decline 
   if(buttonClickFlag==1)
   {	
	 $('dec1').hide();
	 $('approve_area').show();
	 $('decline_button').hide();
	
	if(!$('unbranded_customer').checked)
	{
	   var intCustProvider = $F('cust_provider');
	   var terminal_primary = $F('terminal_primary');
	   var terminal_secondary = $F('terminal_secondary');
	   var intZone = $F('zone');
	} 
	 
	 var gasoline_type = $F('gasoline_type');
	 var strCustNo = $F('custno');
	 var intLocationNo = $F('int_location_no');
	 var assign_salesman = $F('salesrp_name');
	 var payment_day = $F('payment_day');
	 var delivery_comp_name = $F('delivery_comp_name');
	 var admin_approval_order = $F('admin_approval_order');
	 //var include_delivery_cost = $F('delivery_cost');
	  var bel_min_chrg = $F('bel_min_chrg');   

	if(!$('unbranded_customer').checked)	
	{
	
	 if(intCustProvider==-1)
	   {
		 fnFocusAndAlert(errorArray[47] ,'cust_provider'); 	
		 return false;
	   }
	}   
	 
	 if(fnIsBlank(strCustNo))   //check username field blank or not 
	 {
		fnFocusAndAlert(errorArray[67] ,'custno'); 
		return false;
	 }
	 else
	 {
	   if(!fnIsNumber(strCustNo,'Customer number'))
			{
				fnPutFocus('custno');
				return false;
			}
		   else
			{
			   new Ajax.Request('../request.php',
					  {
						 method:'get',
						 asynchronous: false,
						 parameters: {rq_id: 22,custNo: strCustNo,change_flags:0,userId:0},
						 onSuccess: function(transport)
						 {
							 response0 = transport.responseText;
							
							  if(response0==0)
							  {
								  fnFocusAndAlert(errorArray[68] ,'custno');
								  return false;
							  }
						}
					  });
		  }			  
		}

 if(response0==0)
   {
		return false;
   }
   
   
	if(!fnIsBlank(intLocationNo))   //check location number not blank then 
			 {
				
			   if(!fnIsNumber(intLocationNo,'Location number'))
				{
					fnPutFocus('int_location_no');
					return false;
				}
				else
				{
					if(intLocationNo<0)
					{
						fnFocusAndAlert(errorArray[231] ,'int_location_no');
						return false;
					}
					
					if(intLocationNo.length>16)
					{
						fnFocusAndAlert(errorArray[232] ,'int_location_no');
						return false;
					}
					else
					{
						 if(!$('unbranded_customer').checked)
						 {  
						   new Ajax.Request('../request.php',
								  {
									 method:'get',
									 asynchronous: false,
									 parameters: {rq_id: 109,intLocationNo:intLocationNo,intCustProvider:intCustProvider,userId:0,change_flags:0},
									 onSuccess: function(transport)
									 {
										 response01 = transport.responseText;
										
										  if(response01==0)
										  {
											  fnFocusAndAlert(errorArray[233] ,'int_location_no');
											  return false;
										  }
									}
								  });
								  
								  
							 if(response01==0)	
							   {
									return false;
							   }  
						 }
					}
				}	
			 }	   
			   
	 
	 if(assign_salesman==-1)
		 {
			fnFocusAndAlert(errorArray[33] , 'salesrp_name'); 
			return false;
		 }
		 
		 
		 if(fnIsBlank(payment_day))
			{
			   fnFocusAndAlert(errorArray[38] , 'payment_day'); 
				return false;
			}
			else
			{
			   if(!fnIsNumber(payment_day,'Terms on payment collection day'))
				{
					fnPutFocus('payment_day');
					return false;
				}
			
			}
			
		 if(delivery_comp_name==-1)
		 {
			fnFocusAndAlert(errorArray[120] , 'delivery_comp_name'); 
			return false;
		 }
		 
		 
		 
		 var min_amt_of_gals = $F('min_amt_of_gals');
		   
		   if(fnIsBlank(min_amt_of_gals))
			{
			   fnFocusAndAlert(errorArray[178] , 'min_amt_of_gals'); 
				return false;
			}
			else
			{
			   if(!fnIsNumber(min_amt_of_gals,'Minimum amount of gallons'))
				{
					fnPutFocus('min_amt_of_gals');
					return false;
				}
			
			}

		 
		 if(fnIsBlank(bel_min_chrg))
		 {
			fnFocusAndAlert(errorArray[105] , 'bel_min_chrg'); 
			return false;
		 }
		 else
		 {
		   if(!fnPriceValidation(bel_min_chrg))	
			{
			   fnFocusAndAlert(errorArray[106] , 'bel_min_chrg'); 
			   return false;
			}
		 }
		 
		 if($('allow_minimum_order').checked)
		 {
			var allow_min_order_passcode = $F('allow_min_order_passcode');
			
			 if(fnIsBlank(allow_min_order_passcode))
			{
			 fnFocusAndAlert(errorArray[179] , 'allow_min_order_passcode'); 
			 return false;
			}
		 }
		 //else
		 //{
		   
		 
		 //}
			
	  
		if($('disableMarkup').checked)
		{
			var temp_markup_type = $F('temp_markup_type');
			var temp_markup_amount = $F('temp_markup_amount');
			var temp_markup_from_date = $F('temp_markup_amount_from');
			var temp_markup_to_date = $F('temp_markup_amount_to');
			
		   if(fnIsBlank(temp_markup_amount))
				{
				   fnFocusAndAlert(errorArray[40] , 'temp_markup_amount'); 	
				   return false;
				}
				else
				{
					if(!fnPriceValidation(temp_markup_amount))
					{
						fnFocusAndAlert(errorArray[35] , 'temp_markup_amount'); 	
						return false;
					}
				}
				
		   if(fnIsBlank(temp_markup_from_date))
				{
					fnFocusAndAlert(errorArray[121] , 'temp_markup_amount_from'); 	
					return false;
				}
			
		   if(fnIsBlank(temp_markup_to_date))
				{
					fnFocusAndAlert(errorArray[122] , 'temp_markup_amount_to'); 	
					return false;
				}	
			
		  if(temp_markup_from_date > temp_markup_to_date)
			  {
					fnFocusAndAlert(errorArray[123] , 'temp_markup_amount_to'); 	
				   return false;
			  }
		  
		}
		else
		{
			var org_markup_type = $F('org_markup_type');
			var org_markup_amount = $F('org_markup_amount');
			
			if(fnIsBlank(org_markup_amount))
				{
				   fnFocusAndAlert(errorArray[40] , 'org_markup_amount'); 	
				   return false;
				}
				else
				{
				   if(!fnPriceValidation(org_markup_amount))
					{
						fnFocusAndAlert(errorArray[35] , 'org_markup_amount'); 	
						return false;
					}
				
				}
		}
		
		if(!$('admin_approval_order').checked)
		{
			var passcode = $F('admin_passcode')

			 if(fnIsBlank(passcode))
			 {
				 fnFocusAndAlert(errorArray[173] , 'admin_passcode'); 
				 return false;
			 }
		
		}
		
		/*if($('include_delivery_cost').checked)
		{
			var delivery_cost = $F('delivery_cost');
			
			if(fnIsBlank(delivery_cost))
				{
				   fnFocusAndAlert(errorArray[140] , 'delivery_cost'); 	
				   return false;
				}
				else
				{
				   if(!fnPriceValidation(delivery_cost))
					{
						fnFocusAndAlert(errorArray[141] , 'delivery_cost'); 	
						return false;
					}
				
				}
		
		}    */
		
		
	if(!$('unbranded_customer').checked)		
	{	
		if(terminal_primary==-1)
		{
		   fnFocusAndAlert(errorArray[124] , 'terminal_primary'); 		
		   return false;
		}
		
	  /* if(intZone==-1)
	   {
		 fnFocusAndAlert(errorArray[50] ,'zone'); 	
		 return false;
	   } */
		
		
	   //if inventory checked then check the notification atleast one	
		if($('manageInv').checked)
		{
			var manageInvMat = $F('inv_mat_add');
			
			if(fnIsBlank(manageInvMat))
			{
			   fnFocusAndAlert(errorArray[132] , 'manageInv'); 
			   return false;
			}
			
			
			if(!$('manage_inv_notification_admin').checked && !$('manage_inv_notification_cust').checked)
			{
			   fnFocusAndAlert(errorArray[133] , 'manage_inv_notification_admin'); 	
			   return false;
			}
			 
		}
		
	 } 
		
		
		
   }
   else
   {
	 
	 $('dec1').show(); 
	 $('approv_button').hide();
	 $('approv_button').hide();
	 
	 var declineReason = $F('declineReason');
	 
	 if(fnIsBlank(declineReason))
	 {
		fnFocusAndAlert(errorArray[41] , 'declineReason'); 
		return false;
	 }
	 
   }
   
	var status = $F('status');
	if(status==-1)
	{
	   fnFocusAndAlert(errorArray[17] , 'status'); 
	   return false;
	}		

}


/*
#######################################################################################################
# Function Name :fnSelectUnbrandCustomer()  
# Created By: Manish Sharma
# Created On: 16 June 2009
# Purpose : when approve/decline customer request and selected customer as unbranded
#######################################################################################################
*/
function fnSelectUnbrandCustomer()
{
   if($('unbranded_customer').checked)
   {
	 $('gasoline_type_div').innerHTML = '<select style="width:19%" name="gasoline_type" id="gasoline_type"><option value="2">Unbranded</option>';
   
	  $('unbranded1').hide();
	  $('unbranded2').hide();
	  $('unbranded3').hide();
	  $('unbranded4').hide();
	  $('unbranded5').hide();
	  $('manageInv').checked=false;
	  fnManageInventory();
	  $('admin_approval_order').checked=true;
	  $('admin_approval_order').disabled=true;
	  $('unbranded_location').hide();
	  
	 
   }
   else
   {
	  $('gasoline_type_div').innerHTML = '<select style="width:19%" name="gasoline_type" id="gasoline_type"><option value="1">Branded</option>';   
	  $('unbranded1').show();
	  $('unbranded2').show();
	  $('unbranded3').show();
	  $('unbranded4').show();
	  $('unbranded5').show();
	  $('admin_approval_order').disabled=false;
	  $('unbranded_location').show();
   }

}


/*
#######################################################################################################
# Function Name :fnDisableMarkup()  
# Created By: Manish Sharma
# Created On: 04 June 2009
# Purpose : disable/enable markup(on add customer)
#######################################################################################################
*/
function fnDisableMarkup()
{
	if($('disableMarkup').checked)
	{
		$('org_markup_type').disabled=true;
		$('org_markup_amount').disabled=true;
		$('tempMarkup').show();
		$('temp_markup_passcode_area').show();
	}
	else
	{
	  $('org_markup_type').disabled=false;
	  $('org_markup_amount').disabled=false;
	  $('tempMarkup').hide();
	  $('temp_markup_passcode_area').hide();
	}
}

/*
#######################################################################################################
# Function Name :fnIncludeDeliveryCost()  
# Created By: Manish Sharma
# Created On: 14 july 2009
# Purpose : disable/enable include delivery cost dive sho/hide(on add customer)
#######################################################################################################
*/
function fnIncludeDeliveryCost()
{
   /*if($('include_delivery_cost').checked)
	{
	   $('delivery_cost_div').show();
	}
	else
	{
	   $('delivery_cost').value="";
	   $('delivery_cost_div').hide();
	}  */
}

/*
#######################################################################################################
# Function Name :fnManageInventory()  
# Created By: Manish Sharma
# Created On: 04 June 2009
# Purpose : show/hide manage inventory section
#######################################################################################################
*/
function fnManageInventory()
{
	if($('manageInv').checked)
	{
	   $('inv1').show();
	   $('inv2').show();
	   
	   $('manage_inv_notification_cust').checked=true;
	   $('manage_inv_notification_admin').checked=true;
	}
	else
	{
		$('inv1').hide();
		$('inv2').hide();
		
		$('manage_inv_notification_cust').checked=false;
		$('manage_inv_notification_admin').checked=false;
	}
}

/*************************************For add dynamically add modify delivery shift functions***********************************************/

function fnDeliveryShiftValidation(delivery_shift_from1,delivery_shift_from2,delivery_shift_to1,delivery_shift_to2)
{

	 if(delivery_shift_from1==delivery_shift_to1 && delivery_shift_from2==delivery_shift_to2)
	 {
		//alert('wrong');
		return false;
	 }
	 
	 
	 // case 1 when from2 is AM
	 
	 //if(delivery_shift_from1>=6 && delivery_shift_from1<12 && delivery_shift_from2=='AM' && delivery_shift_from1!=12 && delivery_shift_to1!=12&& delivery_shift_to2=='AM')
	 if(delivery_shift_from1>=6 && delivery_shift_from1<12 && delivery_shift_from2=='AM' && delivery_shift_to1!=12&& delivery_shift_to2=='AM')
	 {
	   if(delivery_shift_from1 > delivery_shift_to1)
	   {
		  //alert('1wrong');
		  return false;
		 
	   }
	   
	   /*if(delivery_shift_from1 == delivery_shift_to1)
	   {
		  alert('1wrong');
		  return false;  
		 
	   }  */
	 
	  
		if(delivery_shift_to1==7 || delivery_shift_to1==8 || delivery_shift_to1==9  || delivery_shift_to1==10 || delivery_shift_to1==11 )
		{
		  //alert('1true');
		  return true;
		}
		else
		{
			//alert('1wrong');
			return false;  
		}
	 }
	 
	 
	 if(delivery_shift_from1>=6 && delivery_shift_from1<12 && delivery_shift_from2=='AM' && delivery_shift_from1!=12 && delivery_shift_to1==12)
	 {
		 
		if(delivery_shift_to1==12 && delivery_shift_to2=='PM')
		{
			//alert('2true');
			return true;
			 
		}
		
	   if(delivery_shift_to1==12 && delivery_shift_to2=='AM')
		{
			//alert('2wrong');
			return false; 
		}
		
	 }
	 
	 
	 if(delivery_shift_from1>=6 && delivery_shift_from1<12 && delivery_shift_from2=='AM' && delivery_shift_from1!=12 && delivery_shift_to2=='PM')
	 {
		 
		if(delivery_shift_to1==12 || delivery_shift_to1==1 || delivery_shift_to1==2 || delivery_shift_to1==3  || delivery_shift_to1==4 || delivery_shift_to1==5 || delivery_shift_to1==6)
		{
		  //alert('3true');
		  return true;
		  
		}
		else
		{
			//alert('3wrong');
			return false;  
		}
	 }
	 
	 
	  
	 if(delivery_shift_from1==12 && delivery_shift_from2=='PM')
	 {
	 
	 if((delivery_shift_to1==1 || delivery_shift_to1==2 || delivery_shift_to1==3  || delivery_shift_to1==4 || delivery_shift_to1==5 || delivery_shift_to1==6) && (delivery_shift_to2=='PM'))
		{
		  //alert('4true');
		  return true;
		  
		}
		else
		{
			//alert('4wrong');
			return false;  
		}
	 
	 }
	 
	 
	  
	 if(delivery_shift_from1<6 && delivery_shift_from1>=1 && delivery_shift_from2=='PM')
	 {
	 
	 if(delivery_shift_from1 > delivery_shift_to1)
	   {
		  //alert('5wrong');
		  return false;
		 
	   }
	   
	 if((delivery_shift_to1==2 || delivery_shift_to1==3  || delivery_shift_to1==4 || delivery_shift_to1==5 || delivery_shift_to1==6) && (delivery_shift_to2=='PM'))
		{
		  //alert('5true');
		  return true;
		  
		}
		else
		{
			//alert('5wrong');
			return false;  
		}
	 
	 }
	 
	 
	  /*if(delivery_shift_from1==6 && delivery_shift_from2=='PM')
	 {
	 
	 if(delivery_shift_from1 > delivery_shift_to1)
	   {
		  alert('5wrong');
		  return false;
		 
	   }
	   
	 if((delivery_shift_to1==2 || delivery_shift_to1==3  || delivery_shift_to1==4 || delivery_shift_to1==5 || delivery_shift_to1==6) && (delivery_shift_to2=='PM'))
		{
		  alert('5true');
		  
		}
		else
		{
			alert('5wrong');
			return false;  
		}
	 
	 }      */
	 
	 
	 if(delivery_shift_from1>=6 && delivery_shift_from1<12 && delivery_shift_from2=='PM' && delivery_shift_to1!=12&& delivery_shift_to2=='PM')
	 {
	   if(delivery_shift_from1 > delivery_shift_to1)
	   {
		  //alert('6wrong');
		  return false;
		  
		 
	   }
	   
	   /*if(delivery_shift_from1 == delivery_shift_to1)
	   {
		  alert('1wrong');
		  return false;  
		 
	   }  */
	 
	  
		if(delivery_shift_to1==7 || delivery_shift_to1==8 || delivery_shift_to1==9  || delivery_shift_to1==10 || delivery_shift_to1==11 )
		{
		  //alert('6true');
		  return true;
		  
		}
		else
		{
			//alert('6wrong');
			return false;  
		}
	 }
	 
	 
	 if(delivery_shift_from1>=6 && delivery_shift_from1<12 && delivery_shift_from2=='PM' && delivery_shift_from1!=12 && delivery_shift_to1==12)
	 {
		 
		if(delivery_shift_to1==12 && delivery_shift_to2=='AM')
		{
			//alert('7true');
			return true;
			 
		}
		
	   if(delivery_shift_to1==12 && delivery_shift_to2=='PM')
		{
			//alert('7wrong');
			return false; 
		}
		
	 }
	 
	 
	 if(delivery_shift_from1>=6 && delivery_shift_from1<12 && delivery_shift_from2=='PM' && delivery_shift_from1!=12 && delivery_shift_to2=='AM')
	 {
		 
		if(delivery_shift_to1==12 || delivery_shift_to1==1 || delivery_shift_to1==2 || delivery_shift_to1==3  || delivery_shift_to1==4 || delivery_shift_to1==5 || delivery_shift_to1==6)
		{
		  //alert('8true');
		  return true;
		  
		}
		else
		{
			//alert('8wrong');
			return false;  
		}
	 }
	 
	 
	  
	 if(delivery_shift_from1==12 && delivery_shift_from2=='AM')
	 {
	 
	 if((delivery_shift_to1==1 || delivery_shift_to1==2 || delivery_shift_to1==3  || delivery_shift_to1==4 || delivery_shift_to1==5 || delivery_shift_to1==6) && (delivery_shift_to2=='AM'))
		{
		  //alert('9true');
		  return true;
		  
		}
		else
		{
			//alert('9wrong');
			return false;  
		}
	 
	 }
	 
	 
	  
	 if(delivery_shift_from1<6 && delivery_shift_from1>=1 && delivery_shift_from2=='AM')
	 {
	 
	 if(delivery_shift_from1 > delivery_shift_to1)
	   {
		  //alert('10wrong');
		  return false;
		 
	   }
	   
	 if((delivery_shift_to1==2 || delivery_shift_to1==3  || delivery_shift_to1==4 || delivery_shift_to1==5 || delivery_shift_to1==6) && (delivery_shift_to2=='AM'))
		{
		  //alert('10true');
		  return true;
		  
		}
		else
		{
			//alert('10wrong');
			return false;  
		}
	 
	 }
	 
		 
}

/*
#######################################################################################################
# Function Name :fnAddDeliveryShift()  
# Created By: Manish Sharma
# Created On: 05 June 2009
# Purpose : Add delivery shift table and make a string for db also on add customer
#######################################################################################################
*/
var deliveryShiftHidden=''; // global variable

function fnAddDeliveryShift(flag)
{

	var blockFlag = '|x|'; //when complete block end then add
	var fieldFlag= '@x@';    //after each field add
	
	
	var delivery_shift_from1 = $F('delivery_shift_from1');
	var delivery_shift_from2 =  $F('delivery_shift_from2');
	var delivery_shift_to1 =  $F('delivery_shift_to1');
	var delivery_shift_to2 = $F('delivery_shift_to2');
   
	
	if(delivery_shift_from1==-1)    
	 {
		fnFocusAndAlert(errorArray[125] ,'delivery_shift_from1'); 
		return false;
	 }
   
	if(delivery_shift_from2==-1)    
	 {
		fnFocusAndAlert(errorArray[126] ,'delivery_shift_from2'); 
		return false;
	 }

	 if(delivery_shift_to1==-1)    
	 {
		fnFocusAndAlert(errorArray[127] ,'delivery_shift_to1'); 
		return false;
	 }
	
	 
	 if(delivery_shift_to2==-1)    
	 {
		fnFocusAndAlert(errorArray[128] ,'delivery_shift_to2'); 
		return false;
	 }

	
	 if(!fnDeliveryShiftValidation(delivery_shift_from1,delivery_shift_from2,delivery_shift_to1,delivery_shift_to2))
	 {
		fnFocusAndAlert(errorArray[131] ,'delivery_shift_to2'); 
		return false;
	 }
 
 
  
  if(flag=='add') 
  {
	 //prepare string for save
	deliveryShiftHidden +=blockFlag+delivery_shift_from1+fieldFlag+delivery_shift_from2+fieldFlag+delivery_shift_to1+fieldFlag+delivery_shift_to2;
	
	 $('deliveryShiftHidden_add').value=deliveryShiftHidden;

	// now read value from hidden and build complete table here again.
	 var deliveryShiftBlock = fnPrepareTableDeliveryShift();
	  
	 //show table 
	 fnShowDeliveryShiftTable(deliveryShiftBlock);
  }
  
  
  if(flag=='update')
  {
  
	//update array index
  
   var firstArrayIndex = $('update_delivery_shift_index').value;
   var  first_array_update = deliveryShiftHidden.split('|x|');
   var  string_update = first_array_update[firstArrayIndex];
   var  second_array_update = string_update.split('@x@');
   var  updateString = delivery_shift_from1+fieldFlag+delivery_shift_from2+fieldFlag+delivery_shift_to1+fieldFlag+delivery_shift_to2;
   
   var newhidden =  '';
  
   for(i=1;i<first_array_update.length;i++)
   {
	 if(firstArrayIndex == i)
		{
		   first_array_update[i] =updateString; 
		}
		
	 newhidden += '|x|'+ first_array_update[i]; 
   }

   deliveryShiftHidden = newhidden; 
  
   $('deliveryShiftHidden_add').value= deliveryShiftHidden;
  
   var deliveryShiftBlock = fnPrepareTableDeliveryShift(); 
	
   $('add_deliveryshift_button').show();
   $('update_deliveryshift_button').hide();
   
  //show table 
   fnShowDeliveryShiftTable(deliveryShiftBlock);
  
  }	 

}

/*
#########################################################################################################################
# Function Name :fnPrepareTableDeliveryShift()  
# Created By: Manish Sharma
# Created On: 05 June 2009
# Purpose : prepare complete delivery shift dynamic <td></td> append with all delivery shift and return as a string.
#########################################################################################################################
*/  
function fnPrepareTableDeliveryShift()
{
	var first_array = new Array(); 
		first_array = deliveryShiftHidden.split('|x|'); 
	var second_array = new Array();
	var first_array_string ='';
	var deliveryShiftBlock=''
	   
	for(i=1;i<first_array.length;i++)
		{
			first_array_string = first_array[i];
			second_array = first_array_string.split('@x@');
  
		   for(j=0;j<4;j++)
		   {
			  from = second_array[j];j++;
			  from_am_pm = second_array[j];j++;
			  to = second_array[j];j++;
			  to_am_pm = second_array[j];
			 
			  
			   //now prepare a table
				deliveryShiftBlock += '<tr><td>&nbsp;&nbsp;'+ from +' '+from_am_pm+' </td><td>&nbsp;&nbsp;'+ to +' '+to_am_pm+' </td><td>&nbsp;&nbsp;<a href="javascript:void(0)" onclick="fnEditDeliveyShift('+i+');" >Edit</a> <a href="javascript:void(0)" onClick="fnDeleteDeliveryShift('+i+');">Delete</a></td></tr>';

		   }     
	  } 
	  
	  return  deliveryShiftBlock;
}

/*
########################################################################################################################
# Function Name :fnShowDeliveryShiftTable() 
# Created By: Manish Sharma
# Created On: 05 June 2009
# Parameter : deliveryShiftBlock - take dynamic <td></td> values and just append with table and show complete table . 
# Purpose : show complete delivery shift table after extrect all varibale from hidden and pass as a parameter
#######################################################################################################################
*/   
function fnShowDeliveryShiftTable(deliveryShiftBlock)
{
	var deliveryShiftTable  = '<table border="1" width="100%" class="tdfont">' ;

	deliveryShiftTable  += '<tr><th class="smalltext">Delivery Shift (From)</th><th class="smalltext">Delivery Shift (TO)</th><th class="smalltext">Action</th></tr>'+deliveryShiftBlock+'</table>' ;  
	
	$('delivery_shift_table_show').innerHTML = deliveryShiftTable; 
 
	$('delivery_shift_from1').value="-1";
	$('delivery_shift_from2').value="-1";
	$('delivery_shift_to1').value="-1";
	$('delivery_shift_to2').value="-1";
	
}

/*
#####################################################################################################
# Function Name :fnEditDeliveyShift() 
# Created By: Manish Sharma
# Created On: 05 June 2009
# Parameter : firstArrayIndex - take array index value of particular td of delivery shift table . 
# Purpose : show all value in add delivery shift field from delivery shift table.
#######################################################################################################
*/  
function fnEditDeliveyShift(firstArrayIndex)
{
   
  var  first_array_edit = deliveryShiftHidden.split('|x|');
  var  string_edit = first_array_edit[firstArrayIndex];
  var  second_array_edit = string_edit.split('@x@');
 
	$('delivery_shift_from1').value=second_array_edit[0];
	$('delivery_shift_from2').value=second_array_edit[1];
	$('delivery_shift_to1').value=second_array_edit[2];
	$('delivery_shift_to2').value=second_array_edit[3];
   
 
 $('add_deliveryshift_button').hide();
 $('update_deliveryshift_button').show();
 
 //for update first_array index to be set in hidden variable
 $('update_delivery_shift_index').value=firstArrayIndex;
}

/*
################################################################################################
# Function Name :fnUpdateDeliveryShift()  
# Created By: Manish Sharma
# Created On: 05 June 2009
# Purpose : update delivery table when edit the previous row of delivery table.
##################################################################################################
*/  
function fnUpdateDeliveryShift()
{
   fnAddDeliveryShift('update');
}

/*
#######################################################################################################
# Function Name :fnDeleteDeliveryShift()  
# Created By: Manish Sharma
# Created On: 05 June 2009
# Parameter : firstArrayIndex - take array index value of particular td of delivery shift table .
# Purpose : delete particular row from delivery shift table and rebuild global hidden variable.
#######################################################################################################
*/ 
function fnDeleteDeliveryShift(firstArrayIndex)
{
  var  first_array_delete = deliveryShiftHidden.split('|x|');
  var  string_delete = first_array_delete[firstArrayIndex];
  var  second_array_delete = string_delete.split('@x@');
  
  
  var newhidden = '';
  for(i=1;i<first_array_delete.length;i++)
   {
	 if(firstArrayIndex != i)
		{
			newhidden += '|x|'+ first_array_delete[i]; 
		}
   }
  
  if(newhidden!='')
	  {
		 
		 deliveryShiftHidden = newhidden; 
		$('deliveryShiftHidden_add').value= deliveryShiftHidden; 
		  var deliveryShiftBlock = fnPrepareTableDeliveryShift();
		  //prepare a table 
		fnShowDeliveryShiftTable(deliveryShiftBlock); 
	  }
	  else
	  {
		 deliveryShiftHidden ='';
		 $('deliveryShiftHidden_add').value= deliveryShiftHidden;
		 $('delivery_shift_table_show').innerHTML = '';
	  }
	
	 
   $('add_deliveryshift_button').show();	
   $('update_deliveryshift_button').hide();   
}

/*************************************For add dynamically invendotry material and modify functions ***************************************/

/*
#######################################################################################################
# Function Name :fnAddInvMat()  
# Created By: Manish Sharma
# Created On: 05 June 2009
# Purpose : Add material inventory table and make a string for db also on add customer
#######################################################################################################
*/
var invMatHidden=''; // global variable

function fnAddInvMat(flag)
{
	var blockFlag = '|x|'; //when complete block end then add
	var fieldFlag= '@x@';    //after each field add
	
	
	 var intCustProvider = $F('cust_provider');
  
if(intCustProvider==-1)
   {
	 fnFocusAndAlert(errorArray[47] ,'cust_provider'); 	
	 return false;
   }
   else
   {
			var material_desc = $F('material_desc');
			var minimum_material_amount =  $F('minimum_material_amount');
   
			if(material_desc==-1)    
			{
				fnFocusAndAlert(errorArray[129] ,'material_desc'); 
				return false;
			}
	   
			if(fnIsBlank(minimum_material_amount))    
			{
				fnFocusAndAlert(errorArray[130] ,'minimum_material_amount'); 
				return false;
			}
			else
			{
				if(!fnIsNumber(minimum_material_amount,'Minimum material amount'))
				{
					fnPutFocus('minimum_material_amount');
					return false;
				}
			}

	  var  material_descArray = material_desc.split('#');
				
	  if(flag=='add') 
	  {
		 //prepare string for save
		 
		 invMatHidden +=blockFlag+material_descArray[0]+fieldFlag+material_descArray[1]+fieldFlag+minimum_material_amount;
		
		 $('inv_mat_add').value=invMatHidden;

		// now read value from hidden and build complete table here again.
		 var invMatBlock = fnPrepareTableInvMat();
		  
		 //show table 
		 fnShowInvMatTable(invMatBlock);
	  }
	  
	  
	  if(flag=='update')
	  {
	  
		//update array index
	  
	   var firstArrayIndex = $('update_inv_mat_index').value;
	   var  first_array_update = invMatHidden.split('|x|');
	   var  string_update = first_array_update[firstArrayIndex];
	   var  second_array_update = string_update.split('@x@');
	   var  updateString = material_descArray[0]+fieldFlag+material_descArray[1]+fieldFlag+minimum_material_amount;
	   
	   var newhidden =  '';
	  
	   for(i=1;i<first_array_update.length;i++)
	   {
		 if(firstArrayIndex == i)
			{
			   first_array_update[i] =updateString; 
			}
			
		 newhidden += '|x|'+ first_array_update[i]; 
	   }

	   invMatHidden = newhidden; 
	  
	   $('inv_mat_add').value= invMatHidden;
	  
	   var invMatBlock = fnPrepareTableInvMat(); 
		
	   $('add_inv_mat_button').show();
	   $('update_inv_mat_button').hide();
	   
	  //show table 
	   fnShowInvMatTable(invMatBlock);
	  
	  }
	  
  }   	 

}

/*
####################################################################################################################################
# Function Name :fnPrepareTableInvMat()  
# Created By: Manish Sharma
# Created On: 05 June 2009
# Purpose : prepare complete inventory material dynamic <td></td> append with all inventory material shift and return as a string.
####################################################################################################################################
*/ 
 
function fnPrepareTableInvMat()
{
	var first_array = new Array(); 
		first_array = invMatHidden.split('|x|'); 
	var second_array = new Array();
	var first_array_string ='';
	var invMatBlock=''
	   
	for(i=1;i<first_array.length;i++)
		{
			first_array_string = first_array[i];
			second_array = first_array_string.split('@x@');
  
		   for(j=0;j<2;j++)
		   {
			  material_id = second_array[j];j++;
			  material_desc = second_array[j];j++;
			  minimum_material_amount = second_array[j];
			 
			   //now prepare a table
				invMatBlock += '<tr><td>&nbsp;&nbsp;'+ material_desc+' </td><td>&nbsp;&nbsp;'+minimum_material_amount+' </td><td>&nbsp;&nbsp;<a href="javascript:void(0)" onclick="fnEditInvMat('+i+');" >Edit</a> <a href="javascript:void(0)" onClick="fnDeleteInvMat('+i+');">Delete</a></td></tr>';

		   }     
	  } 
	  
	  return  invMatBlock;
}

/*
########################################################################################################################
# Function Name :fnShowDeliveryShiftTable() 
# Created By: Manish Sharma
# Created On: 05 June 2009
# Parameter : invMatBlock - take dynamic <td></td> values and just append with table and show complete table . 
# Purpose : show complete inventory material table after extrect all varibale from hidden and pass as a parameter
#######################################################################################################################
*/   
function fnShowInvMatTable(invMatBlock)
{
	var invMatTable  = '<table border="1" width="100%" class="tdfont">' ;

	invMatTable  += '<tr><th class="smalltext">Material Name</th><th class="smalltext">Minimum Material Amount(Gals)</th><th class="smalltext">Action</th></tr>'+invMatBlock+'</table>' ;  
	
	$('inv_mat_table_show').innerHTML = invMatTable; 
 
	$('material_desc').value="-1";
	$('minimum_material_amount').value="";
	
	
	
	
}

/*
#####################################################################################################
# Function Name :fnEditInvMat() 
# Created By: Manish Sharma
# Created On: 05 June 2009
# Parameter : firstArrayIndex - take array index value of particular td of delivery shift table . 
# Purpose : show all value in add inventory material field from inventory material table.
#######################################################################################################
*/  
function fnEditInvMat(firstArrayIndex)
{
   
	var  first_array_edit = invMatHidden.split('|x|');
	var  string_edit = first_array_edit[firstArrayIndex];
	var  second_array_edit = string_edit.split('@x@');
 
	$('material_desc').value=second_array_edit[0]+'#'+second_array_edit[1];
	$('minimum_material_amount').value=second_array_edit[2]; 
 
	$('add_inv_mat_button').hide();
	$('update_inv_mat_button').show();
 
	//for update first_array index to be set in hidden variable
	$('update_inv_mat_index').value=firstArrayIndex;
}

/*
################################################################################################
# Function Name :fnUpdateInvMat()  
# Created By: Manish Sharma
# Created On: 05 June 2009
# Purpose : update inventory material table when edit the previous row of inventory material table.
##################################################################################################
*/  
function fnUpdateInvMat()
{
   fnAddInvMat('update');
}

/*
#######################################################################################################
# Function Name :fnDeleteInvMat()  
# Created By: Manish Sharma
# Created On: 05 June 2009
# Parameter : firstArrayIndex - take array index value of particular td of delivery shift table .
# Purpose : delete particular row from inventory material table and rebuild global hidden variable.
#######################################################################################################
*/ 
function fnDeleteInvMat(firstArrayIndex)
{
  var  first_array_delete = invMatHidden.split('|x|');
  var  string_delete = first_array_delete[firstArrayIndex];
  var  second_array_delete = string_delete.split('@x@');
  
  
  var newhidden = '';
  for(i=1;i<first_array_delete.length;i++)
   {
	 if(firstArrayIndex != i)
		{
			newhidden += '|x|'+ first_array_delete[i]; 
		}
   }
  
  if(newhidden!='')
	  {
		 
		 invMatHidden = newhidden; 
		 $('inv_mat_add').value= invMatHidden; 
		 var invMatBlock = fnPrepareTableInvMat();
		  //prepare a table 
		 fnShowInvMatTable(invMatBlock); 
	  }
	  else
	  {
		 invMatHidden ='';
		 $('inv_mat_add').value= invMatHidden;
		 $('inv_mat_table_show').innerHTML = '';
	  }
	  
	  
	$('add_inv_mat_button').show();
	$('update_inv_mat_button').hide(); 
}
/***********************************************dynamically modify the delivery shift table data*****************************************/


/*
#################################################################################################################
# Function Name: fnAddDS_Modify()
# Created By: Manish Sharma  
# Created on: 06 June 2009
# Purpose: Function to add(at the time of modify) DS and show in the table and create a string of DS   
###################################################################################################################
*/
function fnAddDS_Modify(flag)
{
	var blockFlag = '|x|'; //when complete block end then add
	var fieldFlag= '@x@';    //after each field add
	
	var delivery_shift_from1 = $F('delivery_shift_from1');
	var delivery_shift_from2 =  $F('delivery_shift_from2');
	var delivery_shift_to1 =  $F('delivery_shift_to1');
	var delivery_shift_to2 = $F('delivery_shift_to2');
	var customer_id = $F('username');
	
	if(delivery_shift_from1==-1)    
	 {
		fnFocusAndAlert(errorArray[125] ,'delivery_shift_from1'); 
		return false;
	 }
   
	if(delivery_shift_from2==-1)    
	 {
		fnFocusAndAlert(errorArray[126] ,'delivery_shift_from2'); 
		return false;
	 }

	 if(delivery_shift_to1==-1)    
	 {
		fnFocusAndAlert(errorArray[127] ,'delivery_shift_to1'); 
		return false;
	 }
	
	 
	 if(delivery_shift_to2==-1)    
	 {
		fnFocusAndAlert(errorArray[128] ,'delivery_shift_to2'); 
		return false;
	 }
	
	
   if(!fnDeliveryShiftValidation(delivery_shift_from1,delivery_shift_from2,delivery_shift_to1,delivery_shift_to2))	
	 {
		fnFocusAndAlert(errorArray[131] ,'delivery_shift_to2'); 
		return false;
	 }
	
   
  if(flag=='add') 
  {
	 //prepare string for save
	deliveryShiftHiddenModify +=blockFlag+delivery_shift_from1+fieldFlag+delivery_shift_from2+fieldFlag+delivery_shift_to1+fieldFlag+delivery_shift_to2;
	
	 $('deliveryShiftHidden_add').value=deliveryShiftHiddenModify;

	// now read value from hidden and build complete table here again.
	 var deliveryShiftBlock = fnPrepareTableDS_Modify();
	  
	 //show table 
	 fnShowDSTable_Modify(deliveryShiftBlock);
	 
	 fnModifyDSSave('',customer_id,delivery_shift_from1,delivery_shift_from2,delivery_shift_to1,delivery_shift_to2);
	 
  }
  
  
  if(flag=='update')
  {
	 //update array index
	 
   var firstArrayIndex = $('update_delivery_shift_index').value;
   var DS_id = $('update_delivery_shift_id').value;
   
   var  first_array_update = deliveryShiftHiddenModify.split('|x|');
   var  string_update = first_array_update[firstArrayIndex];
   var  second_array_update = string_update.split('@x@');
   var  updateString = delivery_shift_from1+fieldFlag+delivery_shift_from2+fieldFlag+delivery_shift_to1+fieldFlag+delivery_shift_to2;
   
   var newhidden =  '';
  
   for(i=1;i<first_array_update.length;i++)
   {
	 if(firstArrayIndex == i)
		{
		   first_array_update[i] =updateString; 
		}
		
	 newhidden += '|x|'+ first_array_update[i]; 
   }

   deliveryShiftHiddenModify = newhidden; 
  
   $('deliveryShiftHidden_add').value= deliveryShiftHiddenModify;
  
   var deliveryShiftBlock = fnPrepareTableDS_Modify();
	
 
   
   $('add_deliveryshift_button').show();
 $('update_deliveryshift_button').hide();
   
  //show table 
   fnShowDSTable_Modify(deliveryShiftBlock);
   
	fnModifyDSSave(DS_id,customer_id,delivery_shift_from1,delivery_shift_from2,delivery_shift_to1,delivery_shift_to2); 
  
  }	 

}
/*
########################################################################################################################################
# Function Name :fnPrepareTableDS_Modify()  
# Created By: Manish Sharma
# Created On: 06 June 2009
# Purpose : prepare complete DS dynamic <td></td> append with all DS and return as a string.(at the time of modify customer)
#########################################################################################################################################
*/  
function fnPrepareTableDS_Modify()
{
	var first_array = new Array(); 
		first_array = deliveryShiftHiddenModify.split('|x|'); 
	var second_array = new Array();
	var first_array_string ='';
	var deliveryShiftBlock=''
	   
	for(i=1;i<first_array.length;i++)
		{
			first_array_string = first_array[i];
			second_array = first_array_string.split('@x@');
  
		   for(j=0;j<5;j++)
		   {
			  ds_id = second_array[j];j++;
			  from = second_array[j];j++;
			  from_am_pm = second_array[j];j++;
			  to = second_array[j];j++;
			  to_am_pm = second_array[j];
			  
			   //now prepare a table
				deliveryShiftBlock += '<tr><td>&nbsp;&nbsp;'+ from +'('+ from_am_pm+')</td><td>&nbsp;&nbsp;'+ to +'('+ to_am_pm+')</td><td><a href="javascript:void(0)" onclick="fnEditDS_Modify('+i+','+ds_id+');" >Edit</a> <a href="javascript:void(0)" onClick="fnDeleteDS_Modify('+i+','+ds_id+');">Delete</a></td></tr>';

		   }     
	  }
	   
	return  deliveryShiftBlock;
}

/*
########################################################################################################################
# Function Name :fnShowDSTable_Modify() -  (at the time of modify customer)
# Created By: Manish Sharma
# Created On: 06 June 2009
# Parameter : deliveryShiftBlock - take dynamic <td></td> values and just append with table and show complete table . 
# Purpose : show complete ds table after extrect all varibale from hidden and pass as a parameter
#######################################################################################################################
*/   
function fnShowDSTable_Modify(deliveryShiftBlock)
{
	var dsTable  = '<table border="1" width="100%" class="tdfont">' ;

	dsTable  += '<tr><th class="smalltext">Delivery Shift (From)</th><th class="smalltext">Delivery Shift (TO)</th><th class="smalltext">Action</th></tr>'+deliveryShiftBlock+'</table>';  
	
	$('delivery_shift_table_show').innerHTML = dsTable; 
 
	$('delivery_shift_from1').value="";
	$('delivery_shift_from2').value="";
	$('delivery_shift_to1').value="";
	$('delivery_shift_to2').value="";
}

/*
#####################################################################################################
# Function Name :fnEditDS_Modify()   -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 06 June 2009
# Parameter : firstArrayIndex - take array index value of particular td of terminal table . 
# Purpose : show all value in add ds field from ds table.
#######################################################################################################
*/  
function fnEditDS_Modify(firstArrayIndex,ds_id)
{
   
  var  first_array_edit = deliveryShiftHiddenModify.split('|x|');
  var  string_edit = first_array_edit[firstArrayIndex];
  var  second_array_edit = string_edit.split('@x@');

	$('delivery_shift_from1').value=second_array_edit[1];
	$('delivery_shift_from2').value=second_array_edit[2];
	$('delivery_shift_to1').value=second_array_edit[3];
	$('delivery_shift_to2').value=second_array_edit[4];
   
 $('add_deliveryshift_button').hide();
 $('update_deliveryshift_button').show();
 
 //for update first_array index to be set in hidden variable
 $('update_delivery_shift_index').value=firstArrayIndex;
 $('update_delivery_shift_id').value=ds_id;
}

/*
################################################################################################
# Function Name :fnUpdateTerminal_Modify()     -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 06 June 2009
# Purpose : update ds table when edit the previous row of ds table.
##################################################################################################
*/  
function fnUpdateDS_Modify()
{
   fnAddDS_Modify('update');
}

/*
#######################################################################################################
# Function Name :fnDeleteDS_Modify()      -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 06 June 2009
# Parameter : firstArrayIndex - take array index value of particular td of ds table .
# Purpose : delete particular row from ds table and rebuild global hidden variable.
#######################################################################################################
*/ 
function fnDeleteDS_Modify(firstArrayIndex,ds_id)
{
  var  first_array_delete = deliveryShiftHiddenModify.split('|x|');
  var  string_delete = first_array_delete[firstArrayIndex];
  var  second_array_delete = string_delete.split('@x@');
  
  
  var newhidden = '';
  for(i=1;i<first_array_delete.length;i++)
   {
	 if(firstArrayIndex != i)
		{
			newhidden += '|x|'+ first_array_delete[i]; 
		}
   }
  
  if(newhidden!='')
	  {
		 
		 deliveryShiftHiddenModify = newhidden; 
		$('deliveryShiftHidden_add').value= deliveryShiftHiddenModify; 
		   var deliveryShiftBlock = fnPrepareTableDS_Modify();
		  //prepare a table 
		fnShowDSTable_Modify(deliveryShiftBlock);
	  }
	  else
	  {
		 deliveryShiftHiddenModify ='';
		 $('deliveryShiftHidden_add').value= deliveryShiftHiddenModify;
		 $('delivery_shift_table_show').innerHTML = '';
	  }
	
	$('add_deliveryshift_button').show();
	$('update_deliveryshift_button').hide();
   
   fnModifyDSDelete(ds_id);	  
}

/*
#######################################################################################################
# Function Name :fnModifyDSSave()       -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 06 June 2009
# Parameter : 
# Purpose : save modify delivery shift information and also add new delivery shift at the time of modify
########################################################################################################
*/ 
function  fnModifyDSSave(ds_id,customer_id,delivery_shift_from1,delivery_shift_from2,delivery_shift_to1,delivery_shift_to2)
{
	
	new Ajax.Request('../request.php',
		 {
				 method:'get',
				 parameters: {rq_id: 37,id: ds_id,customerId:customer_id,from:delivery_shift_from1,from2:delivery_shift_from2,to:delivery_shift_to1,to2:delivery_shift_to2},
				 onSuccess: function(transport)
				 {
					  deliveryShiftHiddenModify = transport.responseText;
					  $('deliveryShiftHidden_add').value= deliveryShiftHiddenModify;
					 var deliveryShiftBlock = fnPrepareTableDS_Modify();
					  //prepare a table 
					fnShowDSTable_Modify(deliveryShiftBlock);
				 }
				 
		  });  		 
}

/*
#######################################################################################################
# Function Name :fnModifyDSDelete()        -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 06 June 2009
# Parameter : 
# Purpose : save modify ds information and also add new ds at the time of modify
########################################################################################################
*/ 
function fnModifyDSDelete(ds_id)
{
var customer_id = $F('username');
	
	new Ajax.Request('../request.php',
		 {
				 method:'get',
				 parameters: {rq_id: 38,id: ds_id,customerId:customer_id},
				 onSuccess: function(transport)
				 {
					 deliveryShiftHiddenModify = transport.responseText;
					  $('deliveryShiftHidden_add').value= deliveryShiftHiddenModify;
					 var deliveryShiftBlock = fnPrepareTableDS_Modify();
					  //prepare a table 
					fnShowDSTable_Modify(deliveryShiftBlock);
				 }
				 
		  }); 

}

/********************************dynamically add/modify inventory material *****************************************************************/

/*
#################################################################################################################
# Function Name: fnAddInvMat_Modify()
# Created By: Manish Sharma  
# Created on: 06 June 2009
# Purpose: Function to add(at the time of modify) DS and show in the table and create a string of invmat   
###################################################################################################################
*/
function fnAddInvMat_Modify(flag)
{
	var blockFlag = '|x|'; //when complete block end then add
	var fieldFlag= '@x@';    //after each field add
	
	var intCustProvider = $F('cust_provider');
  
if(intCustProvider==-1)
   {
	 fnFocusAndAlert(errorArray[47] ,'cust_provider'); 	
	 return false;
   }
   else
   {
			var customer_id = $F('username'); 
			var material_desc = $F('material_desc');
			var minimum_material_amount =  $F('minimum_material_amount');
   
			if(material_desc==-1)    
			{
				fnFocusAndAlert(errorArray[129] ,'material_desc'); 
				return false;
			}
	   
			if(fnIsBlank(minimum_material_amount))    
			{
				fnFocusAndAlert(errorArray[130] ,'minimum_material_amount'); 
				return false;
			}
			else
			{
				if(!fnIsNumber(minimum_material_amount,'Minimum material amount'))
				{
					fnPutFocus('minimum_material_amount');
					return false;
				}
			}
			
		 var  material_descArray = material_desc.split('#'); 
			
  if(flag=='add') 
  {
	 //prepare string for save
	invMatHiddenModify +=blockFlag+material_descArray[0]+fieldFlag+material_descArray[1]+fieldFlag+minimum_material_amount;
	
	 $('inv_mat_add').value=invMatHiddenModify;

	// now read value from hidden and build complete table here again.
	 var invMatBlock = fnPrepareTableInvMat_Modify();
	  
	 //show table 
	 fnShowInvMatTable_Modify(invMatBlock);
	 
	 fnModifyInvMatSave('',customer_id,material_descArray[0],minimum_material_amount,intCustProvider);
	 
  }
  
  
  if(flag=='update')
  {
	 //update array index
	 
   var firstArrayIndex = $('update_inv_mat_index').value;
   var invMat_id = $('update_inv_mat_id').value;

   var  first_array_update = invMatHiddenModify.split('|x|');
   
   var  string_update = first_array_update[firstArrayIndex];
 
   var  second_array_update = string_update.split('@x@');
  
   var  updateString = invMat_id+fieldFlag+material_descArray[0]+fieldFlag+material_descArray[1]+fieldFlag+minimum_material_amount;
   
   var newhidden =  '';
  
   for(i=1;i<first_array_update.length;i++)
   {
	 if(firstArrayIndex == i)
		{
		   first_array_update[i] =updateString; 
		}
		
	 newhidden += '|x|'+ first_array_update[i]; 
   }

	invMatHiddenModify = newhidden; 
	
	$('inv_mat_add').value= invMatHiddenModify;
  
  
   var invMatBlock = fnPrepareTableInvMat_Modify();
	
   $('add_inv_mat_button').show();
   $('update_inv_mat_button').hide();
   
  //show table 
   fnShowInvMatTable_Modify(invMatBlock);
   
	fnModifyInvMatSave(invMat_id,customer_id,material_descArray[0],minimum_material_amount,intCustProvider); 
  
  }	 

   }
}
/*
########################################################################################################################################
# Function Name :fnPrepareTableInvMat_Modify()  
# Created By: Manish Sharma
# Created On: 06 June 2009
# Purpose : prepare complete invmat dynamic <td></td> append with all invmat and return as a string.(at the time of modify customer)
#########################################################################################################################################
*/  
function fnPrepareTableInvMat_Modify()
{

	var first_array = new Array(); 
		first_array = invMatHiddenModify.split('|x|'); 
	var second_array = new Array();
	var first_array_string ='';
	var invMatBlock=''
	   
	for(i=1;i<first_array.length;i++)
		{
			first_array_string = first_array[i];
			second_array = first_array_string.split('@x@');
  
		   for(j=0;j<4;j++)
		   {
			  mci_id = second_array[j];j++;
			  mat_id = second_array[j];j++;
			  mat_desc = second_array[j];j++;
			  min_amount = second_array[j];
			  
			   //now prepare a table
				invMatBlock += '<tr><td>&nbsp;&nbsp;'+mat_desc+'</td><td>&nbsp;&nbsp;'+min_amount+'</td><td><a href="javascript:void(0)" onclick="fnEditInvMat_Modify('+i+','+mci_id+');" >Edit</a> <a href="javascript:void(0)" onClick="fnDeleteInvMat_Modify('+i+','+mci_id+');">Delete</a></td></tr>';

		   }     
	  }
	   
	return  invMatBlock;
}

/*
########################################################################################################################
# Function Name :fnShowInvMatTable_Modify() -  (at the time of modify customer)
# Created By: Manish Sharma
# Created On: 06 June 2009
# Parameter : invMatBlock - take dynamic <td></td> values and just append with table and show complete table . 
# Purpose : show complete invMat table after extrect all varibale from hidden and pass as a parameter
#######################################################################################################################
*/   
function fnShowInvMatTable_Modify(invMatBlock)
{
   if(invMatBlock!='')
   {
	  var invMatTable  = '<table border="1" width="100%" class="tdfont">' ;

	  invMatTable  += '<tr><th class="smalltext">Material Name</th><th class="smalltext">Minimum Material Amount(Gals)</th><th class="smalltext">Action</th></tr>'+invMatBlock+'</table>' ; 
	
	  $('inv_mat_table_show').innerHTML = invMatTable;
   }
   else
   {	 
	  $('inv_mat_table_show').innerHTML = "";
   }	 
 
	$('material_desc').value="-1";
	$('minimum_material_amount').value="";
}

/*
#####################################################################################################
# Function Name :fnEditInvMat_Modify()   -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 06 June 2009
# Parameter : firstArrayIndex - take array index value of particular td of terminal table . 
# Purpose : show all value in add invMat field from invMat table.
#######################################################################################################
*/  
function fnEditInvMat_Modify(firstArrayIndex,invMat_id)
{
	
	
  var  first_array_edit = invMatHiddenModify.split('|x|');
  var  string_edit = first_array_edit[firstArrayIndex];
  var  second_array_edit = string_edit.split('@x@');

 
	$('material_desc').value=second_array_edit[1]+'#'+second_array_edit[2];
	$('minimum_material_amount').value=second_array_edit[3];
	
   
 $('add_inv_mat_button').hide();
 $('update_inv_mat_button').show();
 
 //for update first_array index to be set in hidden variable
 $('update_inv_mat_index').value=firstArrayIndex;
 $('update_inv_mat_id').value=invMat_id;
}

/*
################################################################################################
# Function Name :fnUpdateInvMat_Modify()     -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 06 June 2009
# Purpose : update invMat table when edit the previous row of invMat table.
##################################################################################################
*/  
function fnUpdateInvMat_Modify()
{
   fnAddInvMat_Modify('update');
}

/*
#######################################################################################################
# Function Name :fnDeleteInvMat_Modify()      -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 06 June 2009
# Parameter : firstArrayIndex - take array index value of particular td of invMat table .
# Purpose : delete particular row from invMat table and rebuild global hidden variable.
#######################################################################################################
*/ 
function fnDeleteInvMat_Modify(firstArrayIndex,invMat_id)
{
  var  first_array_delete = invMatHiddenModify.split('|x|');
  var  string_delete = first_array_delete[firstArrayIndex];
  var  second_array_delete = string_delete.split('@x@');
  
  
  var newhidden = '';
  for(i=1;i<first_array_delete.length;i++)
   {
	 if(firstArrayIndex != i)
		{
			newhidden += '|x|'+ first_array_delete[i]; 
		}
   }
  
  if(newhidden!='')
	  {
		 
		 invMatHiddenModify = newhidden; 
		$('inv_mat_add').value= invMatHiddenModify; 
		   var invMatBlock = fnPrepareTableInvMat_Modify(); 
		  //prepare a table 
		fnShowInvMatTable_Modify(invMatBlock); 
	  }
	  else
	  {
		 invMatHiddenModify ='';
		 $('inv_mat_add').value= invMatHiddenModify;
		 $('inv_mat_table_show').innerHTML = '';
	  }
	
   $('add_inv_mat_button').show();
   $('update_inv_mat_button').hide();
   
   fnModifyInvMatDelete(invMat_id);	  
	
}

/*
#######################################################################################################
# Function Name :fnModifyInvMatSave()       -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 06 June 2009
# Parameter : 
# Purpose : save modify inventory material information and also add new invMat at the time of modify
########################################################################################################
*/ 
function fnModifyInvMatSave(invMat_id,customer_id,material_id,minimum_amount,provider_id)
{
   //alert(invMat_id+'-'+customer_id+'-'+material_id+'-'+minimum_amount+'-'+provider_id);	
	new Ajax.Request('../request.php',
		 {
				 method:'get',
		 parameters:{rq_id:39,id:invMat_id,customerId:customer_id,materialId:material_id,min_amount:minimum_amount,provider_id:provider_id},
				 onSuccess: function(transport)
				 {
					  invMatHiddenModify = transport.responseText;
					  
					  $('inv_mat_add').value= invMatHiddenModify;
					  var invMatBlock = fnPrepareTableInvMat_Modify(); 
						  //prepare a table 
						fnShowInvMatTable_Modify(invMatBlock);
				 }
				 
		  });  		 
}

/*
#######################################################################################################
# Function Name :fnModifyInvMatDelete()        -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 06 June 2009
# Parameter : 
# Purpose : save modify invMat information and also add new invMat at the time of modify
########################################################################################################
*/ 

function fnModifyInvMatDelete(invMat_id)
{
  var customer_id = $F('username');
	
	new Ajax.Request('../request.php',
		 {
				 method:'get',
				 parameters: {rq_id: 40,id: invMat_id,customerId:customer_id},
				 onSuccess: function(transport)
				 {
					  invMatHiddenModify = transport.responseText;
					  
					  if(invMatHiddenModify!='')
					  {
						  $('inv_mat_add').value= invMatHiddenModify;
						  var invMatBlock = fnPrepareTableInvMat_Modify(); 
						  //prepare a table 
						  fnShowInvMatTable_Modify(invMatBlock);
					  }
					  else
					  {
						 $('manageInv').checked=false;
						 fnManageInventory();
					  }
				 }
				 
		  }); 
}

/*
#######################################################################################################
# Function Name :fnSelectTerminalForPriceFile()        
# Created By: Manish Sharma
# Created On: 25 july 2009
# Parameter : 
# Purpose : get terminal drop down based on provider id 
########################################################################################################
*/ 
function fnSelectTerminalForPriceFile()
{
   
	
   var selected_provider = $F('cust_provider');
   var fuel_type = $F('gasoline_type');
	
	if(selected_provider==-1)
	{
		fnFocusAndAlert(errorArray[47] ,'cust_provider');
		$('show_terminal_dd_div').innerHTML='<select><option>Select</option></select>'; 	
		return false;
	}
	else
	{		
		var providerArr = selected_provider.split('#');
		var provider_id = providerArr[0];
		
		new Ajax.Request('../request.php',
		 {
				 method:'get',
				 parameters: {rq_id: 64,selected_provider: provider_id,fuel_type:fuel_type},
				 onSuccess: function(transport)
				 {
					  var response = transport.responseText;
					  
					  $('show_terminal_dd_div').innerHTML= response;
				 }
				 
		  }); 
	
	}
}

function fnSelectTerminalForPriceFile1()
{
   
	
   var selected_provider = $F('cust_provider');
   var fuel_type = $F('gasoline_type');
	
	if(selected_provider==-1)
	{
		//fnFocusAndAlert(errorArray[47] ,'cust_provider');
		$('show_terminal_dd_div').innerHTML='<select><option>Select</option></select>'; 	
		return false;
	}
	else
	{		
		var providerArr = selected_provider.split('#');
		var provider_id = providerArr[0];
		
		new Ajax.Request('../request.php',
		 {
				 method:'get',
				 parameters: {rq_id: 64,selected_provider: provider_id,fuel_type:fuel_type},
				 onSuccess: function(transport)
				 {
					  var response = transport.responseText;
					  
					  $('show_terminal_dd_div').innerHTML= response;
				 }
				 
		  }); 
	
	}
}

function fnGetFuelPriceFileType()
{
  var gasoline_type = $F('gasoline_type');
  
  if(gasoline_type==1)
  {
		var dd =  '<select name="fuelPriceFileType" id="fuelPriceFileType" onchange="fnDisableFPHSearchOption();"><option value="-1">Select</option><option value="1">Zone Specific</option> <option value="2">Customer Specific</option><option value="3">Rack Specific</option></select>';
  }
  
  if(gasoline_type==2)
  {
		var dd =  '<select name="fuelPriceFileType" id="fuelPriceFileType" onchange="fnDisableFPHSearchOption();"><option value="0">Unbranded Terminal Specific</option></select>';
  }
  
  if(gasoline_type==-1)
  {
  
		var dd ='<select name="fuelPriceFileType" id="fuelPriceFileType" onchange="fnDisableFPHSearchOption();"><option value="-1">Select</option></select>';
  }
  
  $('fuelPriceFileTypeDiv').innerHTML = dd;
  
  
   var customer_type = gasoline_type; 
	
	if(customer_type!=-1)
	{
		new Ajax.Request('../request.php',
				  {
					 method:'get',
					 asynchronous: false,
					 parameters: {rq_id: 799,customer_type: customer_type},
					 onSuccess: function(transport)
					 {
						 response = transport.responseText;
						 
						 $('customer_div').innerHTML = response;
					}
				  });				  
   }
   else
   {
	  $('customer_div').innerHTML =' <select id="fuel_customer_no" name="fuel_customer_no" ><option value="-1">Select</option></select>';
   }	

}

function fnFuelPriceHistorySearchAdmin()
{

var fuelPriceFileType = $F('fuelPriceFileType');
var gasoline_type = $F('gasoline_type');
var from_date = $F('fuel_price_date');
var to_date = $F('fuel_price_date_to');


if(gasoline_type==-1)
{
   fnFocusAndAlert(errorArray[39] ,'gasoline_type'); 	
   return false;
}

if(fuelPriceFileType==-1)
{
   fnFocusAndAlert(errorArray[279] ,'fuelPriceFileType'); 	
   return false;
}

if(from_date!='' && to_date!='')
{
 if(!fncheckDateValidationParameter(from_date,to_date))
   {
	  fnFocusAndAlert(errorArray[322] , 'fuel_price_date_to'); 
	  return false;
   }
}

   
}

function fnFuelPriceHistorySearchCust()
{
  var from_date = $F('fuel_price_date');
var to_date = $F('fuel_price_date_to');

if(from_date!='' && to_date!='')
{
 if(!fncheckDateValidationParameter(from_date,to_date))
   {
	  fnFocusAndAlert(errorArray[322] , 'fuel_price_date_to'); 
	  return false;
   }
}

   
} 


function fnSelectTerminalForPriceFileSearch()
{
	var selected_provider = $F('cust_provider');
	var fuel_type = $F('gasoline_type');
	
	if(selected_provider==-1)
	{
		fnFocusAndAlert(errorArray[47] ,'cust_provider'); 	
		return false;
	}
	else
	{		
		var providerArr = selected_provider.split('#');
		var provider_id = providerArr[0];
		
		new Ajax.Request('../request.php',
		 {
				 method:'get',
				 parameters: {rq_id: 801,selected_provider: provider_id,fuel_type:fuel_type},
				 onSuccess: function(transport)
				 {
					  var response = transport.responseText;
					  
					  $('show_terminal_dd_div').innerHTML= response;
				 }
				 
		  }); 
	
	}

}

function fnCustDisableFuelPriceSearch()
{
   var fuel_customer_no = $F('fuel_customer_no');
   var terminal = $F('select_terminal'); 
   
   if(fuel_customer_no!=-1 && terminal!=-1)
   {
	  $('fuel_customer_no').value=-1;
	  $('fuel_customer_no').disabled=true;
   }
   else
   {
	   $('fuel_customer_no').disabled=false;
   }

}


function fnFuelPriceSearchCustFlag()
{
   
  var fuelPriceFileType = $F('fuelPriceFileType');
  var zone_name = $F('zone_name');
  var terminal = $F('select_terminal'); 
  
	
	 if(fuelPriceFileType==1)
	 {  
		if(zone_name!=-1)
		{      
		   $('zone_name').value=-1;
		   $('zone_name').disabled=true;  
		
		}
	 }
	 
	 if(fuelPriceFileType==3 || fuelPriceFileType==0)
	 {
		if(terminal!=-1)
		{
		   $('select_terminal').value=-1;
		   $('select_terminal').disabled=true;  
		
		}
	 }
	 




}

function fnDisableFPHSearchOption()
{
   var fuelPriceFileType = parseInt($F('fuelPriceFileType'));

   var customer_type = $F('gasoline_type');
	
	if(customer_type!=-1)
	{
		new Ajax.Request('../request.php',
				  {
					 method:'get',
					 asynchronous: false,
					 parameters: {rq_id: 800,customer_type: customer_type,fuelPriceFileType:fuelPriceFileType},
					 onSuccess: function(transport)
					 {
						 response = transport.responseText;
						
						 $('customer_div').innerHTML = response;
					}
				  });				  
   }
   else
   {
	  $('customer_div').innerHTML =' <select id="fuel_customer_no" name="fuel_customer_no" ><option value="-1">Select</option></select>';
   }	
   
   switch(fuelPriceFileType)
   {
	 case 1:
		   $('zone_name').disabled=false;
		   $('select_terminal').disabled=true;
		   break;
	 case 2:
		   $('select_terminal').disabled=true;
		   $('zone_name').disabled=true;
		   break;	   
	 case 3:
		   $('select_terminal').disabled=false;
		   $('zone_name').disabled=true;
		   
		   break;
	 case 0:
		   $('select_terminal').disabled=false;
		   $('zone_name').disabled=true;
		  
		   break;
	 default:
		   $('select_terminal').disabled=false;
		   $('zone_name').disabled=false;
		   $('fuel_customer_no').disabled=false; 
		  break;
   }

}

function fnFuelPriceHistoryZoneSearch()
{
   var fuel_customer_no = $F('fuel_customer_no');
   var zone_name = $F('zone_name');
   
   if(fuel_customer_no!=-1 && zone_name!=-1)
   {
	  $('fuel_customer_no').value=-1;
	  $('fuel_customer_no').disabled=true;
   }
   else
   {
	   $('fuel_customer_no').disabled=false;
   }


}

/*
#######################################################################################################
# Function Name :fnAddTerminalForPrice()  
# Created By: Manish Sharma
# Created On: 25 july 2009
# Purpose : Add terminal table and make a string for db (for pricing file only)
#######################################################################################################
*/
var terminalHidden=''; // global variable

function fnAddTerminalForPrice(flag)
{
	var blockFlag = '|x|'; //when complete block end then add
	var fieldFlag= '@x@';    //after each field add
	
	
   var selected_provider = $F('cust_provider');
	
	if(selected_provider==-1)
	{
		fnFocusAndAlert(errorArray[47] ,'cust_provider'); 	
		return false;
	}
	else
	{
		var providerArr = selected_provider.split('#');
		var provider_id = providerArr[0];
		var provider_name = providerArr[1];
		
	}	
	
	var select_terminal = $F('select_terminal');
	
	if(select_terminal==-1)
	{
		fnFocusAndAlert(errorArray[165] ,'select_terminal'); 	
		return false;
	}
	else
	{
		var terminalArr = select_terminal.split('#');
		var terminal_id = terminalArr[0];
		var terminal_name = terminalArr[1];
		
	}

  if(flag=='add') 
  {
	 //prepare string for save
	terminalHidden +=blockFlag+provider_id+fieldFlag+provider_name+fieldFlag+terminal_id+fieldFlag+terminal_name;
	
	 $('terminalHidden_add').value=terminalHidden;

	// now read value from hidden and build complete table here again.
	 var terminalBlock = fnPrepareTableTerminal();
	  
	 //show table 
	 fnShowTerminalTable(terminalBlock);
  }
  
  
  if(flag=='update')
  {
  
	//update array index
  
   var firstArrayIndex = $('update_terminal_index').value;
   var  first_array_update = terminalHidden.split('|x|');
   var  string_update = first_array_update[firstArrayIndex];
   var  second_array_update = string_update.split('@x@');
   var  updateString = provider_id+fieldFlag+provider_name+fieldFlag+terminal_id+fieldFlag+terminal_name;
   
   var newhidden =  '';
  
   for(i=1;i<first_array_update.length;i++)
   {
	 if(firstArrayIndex == i)
		{
		   first_array_update[i] =updateString; 
		}
		
	 newhidden += '|x|'+ first_array_update[i]; 
   }

   terminalHidden = newhidden; 
  
   $('terminalHidden_add').value= terminalHidden;
  
   var terminalBlock = fnPrepareTableTerminal(); 
	
   $('add_terminal_button').show();
   $('update_terminal_button').hide();
   
  //show table 
   fnShowTerminalTable(terminalBlock);
  
  }	 

}

/*
#########################################################################################################################
# Function Name :fnPrepareTableTerminal()  
# Created By: Manish Sharma
# Created On: 25 july 2009
# Purpose : prepare complete terminal dynamic <td></td> append with all terminal and return as a string.
#########################################################################################################################
*/  
function fnPrepareTableTerminal()
{
	var first_array = new Array(); 
		first_array = terminalHidden.split('|x|'); 
	var second_array = new Array();
	var first_array_string ='';
	var terminalBlock=''
	   
	for(i=1;i<first_array.length;i++)
		{
			first_array_string = first_array[i];
			second_array = first_array_string.split('@x@');
  
		   for(j=0;j<4;j++)
		   {
			  provider_id = second_array[j];j++;
			  provider_name = second_array[j];j++;
			  terminal_id = second_array[j];j++;
			  terminal_name = second_array[j];
			 
			  
			   //now prepare a table
				terminalBlock += '<tr><td>&nbsp;&nbsp;'+ provider_name+' </td><td>&nbsp;&nbsp;'+ terminal_name+' </td><td>&nbsp;&nbsp;<a href="javascript:void(0)" onclick="fnEditTerminal('+i+');" >Edit</a> <a href="javascript:void(0)" onClick="fnDeleteTerminal('+i+');">Delete</a></td></tr>';

		   }     
	  } 
	  
	  return  terminalBlock;
}

/*
########################################################################################################################
# Function Name :fnShowTerminalTable() 
# Created By: Manish Sharma
# Created On: 25 July 2009
# Parameter : terminalBlock - take dynamic <td></td> values and just append with table and show complete table . 
# Purpose : show complete terminal table after extrect all varibale from hidden and pass as a parameter
#######################################################################################################################
*/   
function fnShowTerminalTable(terminalBlock)
{
	var terminalTable  = '<table border="1" width="100%" class="tdfont">' ;

	terminalTable  += '<tr><th class="smalltext">Provider</th><th class="smalltext">Terminal</th><th class="smalltext">Action</th></tr>'+terminalBlock+'</table>' ;  
	
	$('show_terminal_table_div').innerHTML = terminalTable; 
 
	$('cust_provider').value="-1";
	$('select_terminal').value="-1";
	
}

/*
#####################################################################################################
# Function Name :fnEditTerminal() 
# Created By: Manish Sharma
# Created On: 25 July 2009
# Parameter : firstArrayIndex - take array index value of particular td of terminal table . 
# Purpose : show all value in add terminal field from terminal table.
#######################################################################################################
*/  
function fnEditTerminal(firstArrayIndex)
{
   
  var  first_array_edit = terminalHidden.split('|x|');
  var  string_edit = first_array_edit[firstArrayIndex];
  var  second_array_edit = string_edit.split('@x@');
 
  $('cust_provider').value=second_array_edit[0]+'#'+second_array_edit[1];
  $('select_terminal').value=second_array_edit[2]+'#'+second_array_edit[3];
   
 
 $('add_terminal_button').hide();
 $('update_terminal_button').show();
 
 //for update first_array index to be set in hidden variable
 $('update_terminal_index').value=firstArrayIndex;
}

/*
################################################################################################
# Function Name :fnUpdateTermninalForPrice()  
# Created By: Manish Sharma
# Created On: 25 July 2009
# Purpose : update terminal table when edit the previous row of terminal table.
##################################################################################################
*/  
function fnUpdateTermninalForPrice()
{
   fnAddTerminalForPrice('update');
}

/*
#######################################################################################################
# Function Name :fnDeleteTerminal()  
# Created By: Manish Sharma
# Created On: 25 July 2009
# Parameter : firstArrayIndex - take array index value of particular td of terminal table .
# Purpose : delete particular row from terminal table and rebuild global hidden variable.
#######################################################################################################
*/ 
function fnDeleteTerminal(firstArrayIndex)
{
  var  first_array_delete = terminalHidden.split('|x|');
  var  string_delete = first_array_delete[firstArrayIndex];
  var  second_array_delete = string_delete.split('@x@');
  
  
  var newhidden = '';
  for(i=1;i<first_array_delete.length;i++)
   {
	 if(firstArrayIndex != i)
		{
			newhidden += '|x|'+ first_array_delete[i]; 
		}
   }
  
  if(newhidden!='')
	  {
		 
		  teminalHidden = newhidden; 
		  $('terminalHidden_add').value= teminalHidden; 
		  var teminalBlock = fnPrepareTableTerminal();
		  //prepare a table 
		  fnShowTerminalTable(deliveryShiftBlock); 
	  }
	  else
	  {
		 terminalHidden ='';
		 $('terminalHidden_add').value= terminalHidden;
		 $('show_terminal_table_div').innerHTML = '';
	  }
	
	 
   $('add_terminal_button').show();	
   $('update_terminal_button').hide();   
}


/***********************************************dynamically modify the customer terminal table data*****************************************/


/*
#################################################################################################################
# Function Name: fnAddTerminalForPrice_Modify()
# Created By: Manish Sharma  
# Created on: 25 july 2009
# Purpose: Function to add(at the time of modify) terminal and show in the table and create a string of terminal   
###################################################################################################################
*/
function fnAddTerminalForPrice_Modify(flag)
{
	var blockFlag = '|x|'; //when complete block end then add
	var fieldFlag= '@x@';    //after each field add
	var customer_id = $F('username');
	var selected_provider = $F('cust_provider');
	
	if(selected_provider==-1)
	{
		fnFocusAndAlert(errorArray[47] ,'cust_provider'); 	
		return false;
	}
	else
	{
		var providerArr = selected_provider.split('#');
		var provider_id = providerArr[0];
		var provider_name = providerArr[1];
		
	}	
	
	var select_terminal = $F('select_terminal');
	
	if(select_terminal==-1)
	{
		fnFocusAndAlert(errorArray[165] ,'select_terminal'); 	
		return false;
	}
	else
	{
		var terminalArr = select_terminal.split('#');
		var terminal_id = terminalArr[0];
		var terminal_name = terminalArr[1];
		
	}
	
  if(flag=='add') 
  {
	 //prepare string for save
	terminalHiddenModify +=blockFlag+provider_id+fieldFlag+provider_name+fieldFlag+terminal_id+fieldFlag+terminal_name;
	
	 $('terminalHidden_add').value=terminalHiddenModify;

	// now read value from hidden and build complete table here again.
	 var terminalBlock = fnPrepareTableTerminal_Modify();
	  
	 //show table 
	 fnShowTerminalTable_Modify(terminalBlock);
	 
	 fnModifyTerminalSave('',customer_id,provider_id,provider_name,terminal_id,terminal_name);
	 
  }
  
  
  if(flag=='update')
  {
	 //update array index
	 
   var firstArrayIndex = $('update_terminal_index').value;
   var cust_terminal_id = $('update_terminal_id').value;
   
   var  first_array_update = terminalHiddenModify.split('|x|');
   var  string_update = first_array_update[firstArrayIndex];
   var  second_array_update = string_update.split('@x@');
   var  updateString = cust_terminal_id+fieldFlag+provider_id+fieldFlag+provider_name+fieldFlag+terminal_id+fieldFlag+terminal_name;
   
   var newhidden =  '';
  
   for(i=1;i<first_array_update.length;i++)
   {
	 if(firstArrayIndex == i)
		{
		   first_array_update[i] =updateString; 
		}
		
	 newhidden += '|x|'+ first_array_update[i]; 
   }

   terminalHiddenModify = newhidden; 
  
   $('terminalHidden_add').value= terminalHiddenModify;
  
   var terminalBlock = fnPrepareTableTerminal_Modify();
	
 
   
   $('add_terminal_button').show();
   $('update_terminal_button').hide();
   
  //show table 
   fnShowTerminalTable_Modify(terminalBlock);
   
   fnModifyTerminalSave(cust_terminal_id,customer_id,provider_id,provider_name,terminal_id,terminal_name); 
  
  }	 

}
/*
########################################################################################################################################
# Function Name :fnPrepareTableTerminal_Modify()  
# Created By: Manish Sharma
# Created On: 25 July 2009
# Purpose : prepare complete terminal dynamic <td></td> append with all terminal and return as a string.(at the time of modify customer)
#########################################################################################################################################
*/  
function fnPrepareTableTerminal_Modify()
{
	var first_array = new Array(); 
		first_array = terminalHiddenModify.split('|x|'); 
	var second_array = new Array();
	var first_array_string ='';
	var terminalBlock=''
	   
	for(i=1;i<first_array.length;i++)
		{
			first_array_string = first_array[i];
			second_array = first_array_string.split('@x@');
  
		   for(j=0;j<5;j++)
		   {
			  cust_terminal_id = second_array[j];j++;
			  provider_id = second_array[j];j++;
			  provider_name = second_array[j];j++;
			  terminal_id = second_array[j];j++;
			  terminal_name = second_array[j];
			  
			   //now prepare a table
				terminalBlock += '<tr><td>&nbsp;&nbsp;'+ provider_name+'</td><td>&nbsp;&nbsp;'+ terminal_name+'</td><td><a href="javascript:void(0)" onclick="fnEditTerminal_Modify('+i+','+cust_terminal_id+');" >Edit</a> <a href="javascript:void(0)" onClick="fnDeleteTerminal_Modify('+i+','+cust_terminal_id+');">Delete</a></td></tr>';

		   }     
	  }
	   
	return  terminalBlock;
}

/*
########################################################################################################################
# Function Name :fnShowTerminalTable_Modify() -  (at the time of modify customer)
# Created By: Manish Sharma
# Created On: 25 july 2009
# Parameter : terminalBlock - take dynamic <td></td> values and just append with table and show complete table . 
# Purpose : show complete terminal table after extrect all varibale from hidden and pass as a parameter
#######################################################################################################################
*/   
function fnShowTerminalTable_Modify(terminalBlock)
{
   var terminalTable  = '<table border="1" width="100%" class="tdfont">' ;

	terminalTable  += '<tr><th class="smalltext">Provider</th><th class="smalltext">Terminal</th><th class="smalltext">Action</th></tr>'+terminalBlock+'</table>' ;  
	
	
	$('show_terminal_table_div').innerHTML = terminalTable; 
 
	$('cust_provider').value="-1";
	$('select_terminal').value="-1";
}

/*
#####################################################################################################
# Function Name :fnEditTerminal_Modify()   -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 25 july 2009
# Parameter : firstArrayIndex - take array index value of particular td of terminal table . 
# Purpose : show all value in add ds field from ds table.
#######################################################################################################
*/  
function fnEditTerminal_Modify(firstArrayIndex,cust_terminal_id)
{
   
  var  first_array_edit = terminalHiddenModify.split('|x|');
  var  string_edit = first_array_edit[firstArrayIndex];
  var  second_array_edit = string_edit.split('@x@');

	$('cust_provider').value=second_array_edit[1]+'#'+second_array_edit[2];
	
	 fnSelectTerminalForPriceFile();
	
	
	setTimeout(function(){$('select_terminal').value=second_array_edit[3]+'#'+second_array_edit[4];},300);
   
   
 $('add_terminal_button').hide();
 $('update_terminal_button').show();
 
 //for update first_array index to be set in hidden variable
 $('update_terminal_index').value=firstArrayIndex;
 $('update_terminal_id').value=cust_terminal_id;
}

/*
################################################################################################
# Function Name :fnUpdateTerminal_Modify()     -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 06 June 2009
# Purpose : update ds table when edit the previous row of ds table.
##################################################################################################
*/  
function fnUpdateTermninalForPrice_Modify()
{
   fnAddTerminalForPrice_Modify('update');
}

/*
#######################################################################################################
# Function Name :fnDeleteTerminal_Modify()      -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 25 july 2009
# Parameter : firstArrayIndex - take array index value of particular td of terminal table .
# Purpose : delete particular row from terminal table and rebuild global hidden variable.
#######################################################################################################
*/ 
function fnDeleteTerminal_Modify(firstArrayIndex,cust_terminal_id)
{
  var  first_array_delete = terminalHiddenModify.split('|x|');
  var  string_delete = first_array_delete[firstArrayIndex];
  var  second_array_delete = string_delete.split('@x@');
  
  
  var newhidden = '';
  for(i=1;i<first_array_delete.length;i++)
   {
	 if(firstArrayIndex != i)
		{
			newhidden += '|x|'+ first_array_delete[i]; 
		}
   }
  
  if(newhidden!='')
	  {
		 
		 terminalHiddenModify = newhidden; 
		 $('terminalHidden_add').value= terminalHiddenModify; 
		   var terminalBlock = fnPrepareTableTerminal_Modify();
		  //prepare a table 
		 fnShowTerminalTable_Modify(terminalBlock);
	  }
	  else
	  {
		 terminalHiddenModify ='';
		 $('terminalHidden_add').value= terminalHiddenModify;
		 $('show_terminal_table_div').innerHTML = '';
	  }
	
	$('add_terminal_button').show();
	$('update_terminal_button').hide();
   
   fnModifyTerminalDelete(cust_terminal_id);	  
}

/*
#######################################################################################################
# Function Name :fnModifyTerminalSave()       -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 25 july 2009
# Parameter : 
# Purpose : save modify terminal information and also add new terminal at the time of modify
########################################################################################################
*/ 
function  fnModifyTerminalSave(cust_terminal_id,customer_id,provider_id,provider_name,terminal_id,terminal_name)
{
 
	new Ajax.Request('../request.php',
		 {
				 method:'get',
				 parameters: {rq_id: 65,id: cust_terminal_id,customerId:customer_id,provider_id:provider_id,provider_name:provider_name,terminal_id:terminal_id,terminal_name:terminal_name},
				 onSuccess: function(transport)
				 {
					 terminalHiddenModify = transport.responseText;
					 $('terminalHidden_add').value= terminalHiddenModify;
					 var terminalBlock = fnPrepareTableTerminal_Modify();
					  //prepare a table 
					 fnShowTerminalTable_Modify(terminalBlock);
				 }
				 
		  });  		 
}

/*
#######################################################################################################
# Function Name :fnModifyTerminalDelete()        -  (at the time of modify customer) 
# Created By: Manish Sharma
# Created On: 25 july 2009
# Parameter : 
# Purpose : save modify ds information and also add new terminal at the time of modify
########################################################################################################
*/ 
function fnModifyTerminalDelete(cust_terminal_id)
{
var customer_id = $F('username');
	
	new Ajax.Request('../request.php',
		 {
				 method:'get',
				 parameters: {rq_id: 66,id: cust_terminal_id,customerId:customer_id},
				 onSuccess: function(transport)
				 {
					terminalHiddenModify = transport.responseText;
					$('terminalHidden_add').value= terminalHiddenModify;
					var terminalBlock = fnPrepareTableTerminal_Modify();
					  //prepare a table 
					fnShowTerminalTable_Modify(terminalBlock);
				 }
				 
		  }); 

}


/*
 #############################################################################
 # Function Name: fnSaveCS()
 # Created By: Manish Sharma  
 # Created on: 07 September 2009
 # Parameter : inputId- inputbox id
 #             inventory_id - inventory table id
 #			   inputDivId - div id which contain the input box
 #	           showDivId - div id which contain the data link
 # Purpose: save the current stock  through Ajax    
#############################################################################
 */
function fnSaveCS(inputId,inventory_id,inputDivId,showDivCS)
{
	var intCS = trim($F(inputId));
	
	if(fnIsBlank(intCS))
	 {
		fnFocusAndAlert(errorArray[199] , inputId); 
		return false;
	 } 
	 else
	 {
		 if(!fnIsNumber(intCS,'Current stock'))
		 {
			return false;
		 }
	 
		 else
		 {
			 new Ajax.Request('../request.php',
			  {
				 method:'get',
				 asynchronous: false,
				 parameters: {rq_id: 891,intCS: intCS,inventory_id: inventory_id},
				 onSuccess: function(transport)
				 {
					 response = transport.responseText;
					 
					 
						   $(inputDivId).hide();
						   $(inputId).value = intCS;
						   $(showDivCS).innerHTML = intCS;
						   alert(errorArray[200]);	   
					  
				}
			  });
		 }
	 }
}

/*
 #############################################################################
 # Function Name: fnSaveMG()
 # Created By: Manish Sharma  
 # Created on: 07 September 2009
 # Parameter : inputId- inputbox id
 #             inventory_id - inventory table id
 #			   inputDivId - div id which contain the input box
 #	           showDivId - div id which contain the data link
 # Purpose: save the minimum gallons through Ajax    
#############################################################################
 */
function fnSaveMG(inputId,inventory_id,inputDivId,showDivMG)
{
	var intMG = trim($F(inputId));
	
	if(fnIsBlank(intMG))
	 {
		fnFocusAndAlert(errorArray[197] , inputId); 
		return false;
	 } 
	 else
	 {
		 if(!fnIsNumber(intMG,'Minimum amount of gallons'))
		 {
			return false;
		 }
	 
		 else
		 {
			 new Ajax.Request('../request.php',
			  {
				 method:'get',
				 asynchronous: false,
				 parameters: {rq_id: 901,intMG: intMG,inventory_id: inventory_id},
				 onSuccess: function(transport)
				 {
					 response = transport.responseText;
					 
					 
						   $(inputDivId).hide();
						   $(inputId).value = intMG;
						   $(showDivMG).innerHTML = intMG;
						   alert(errorArray[201]); 
				}
			  });
		 }
	 }
}


function fnRepFuelHistory()
{   
	var intCustomerNo = $F('fuel_customer_no');
	
	if(intCustomerNo==-1)
	 {
		fnFocusAndAlert(errorArray[240] ,'fuel_customer_no'); 
		return false;
	 } 

}


/*
 #############################################################################
 # Function Name: fnUpdateDeliveryCompany()
 # Created By: Manish Sharma  
 # Created on: 24 Dec. 2009
 # Parameter : inputId- inputbox id  (delivery company id)
 #             order_id - order id
 #			   inputDivId - div id which contain the input box
 #	           showDivId - div id which contain the data link
 # Purpose: update delivery company before approve order(through Ajax)     
#############################################################################
 */
function fnUpdateDeliveryCompany(inputId,order_id,inputDivId,showDivId)
{  
	var delCompId = $F(inputId);
	var response = 1;
	
	if(delCompId==-1)    
	 {
		fnFocusAndAlert(errorArray[120] ,inputId); 
		return false;
	 }
	 else
	 {
			 new Ajax.Request('../request.php',
			  {
				 method:'get',
				 asynchronous: false,
				 parameters: {rq_id: 796,delCompId: delCompId,order_id: order_id},
				 onSuccess: function(transport)
				 {
					 response = transport.responseText;
					 alert(errorArray[274]);
					 window.location.reload();	   
					   
				}
			  });
	   }
}