/*
Function in alphabetical order

ajaxAction(fuse,formObj)									---	Coordinates the ajax operation, post/get, input strings etc
GetXmlHttpObject()											---	Initialises the XMLHttpRequest object
getRef(id)													--- Cross Browser referencing on elements
getSty(id)													--- Cross Browser referencing of style attribtutes of elements
getScrollXY()												--- Retrieves the current X Y coordinates from user scrolling
hide(thisElement)											--- Changes visibility setting of element (hide)
hideProgress(name)											---	Removes the display data. 
LTrim(value)												--- Trim left spaces from string value
RTrim(value)												--- Trim right spaces from string value
show(thisElement)											--- Changes visibility setting of element (show)
showProgress(name)											--- Operates the displaying of event messages from ajax operation.
Trim(TRIM_VALUE)											--- Used to trim string values (both ends - using RTrim and Ltrim functions

*/
var XMLHttp=null;
var isDOM = (document.getElementById ? true : false); 
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);
var isNS6=document.getElementById && (navigator.appName=="Netscape")?true:false;
var isDyn = (isDOM || isIE4 || isNS4 || isNS6 );
var operationVal=null;
var myWidth = null;
var myHeight =null;
var bRunPrint = false;
var tmpWin = null;
var printon = new Image();
var printoff = new Image();
var csvon = new Image();
var csvoff = new Image();
var actionType=null;
var isSupplier=false;
var isFonterra=false;
var ingredients_only = false;
var displayFuse= "";
var excludeFuseList = 'getFaq,getAppForm,getContact,processlogin,getQuickSearch';
//var ajaxDisplay =document.getElementById("response_detail")
printon.src ="w_images/printer_pressed.png";
printoff.src="w_images/printer.png";
csvon.src ="w_images/csv_pressed.gif";
csvoff.src="w_images/csv.gif";
/**************************************       UTITLITY FUNCTIONS      ***************************************/
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function evalSize() 
{
 
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else {
    if( document.documentElement &&
        ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
      //IE 6+ in 'standards compliant mode'
      myWidth = document.documentElement.clientWidth;
      myHeight = document.documentElement.clientHeight;
    } else {
      if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
        //IE 4 compatible
        myWidth = document.body.clientWidth;
        myHeight = document.body.clientHeight;
      }
    }
  }
 // alert(myHeight)
}

function getRef(id)
{
var obj=null
 if (isDOM) obj= document.getElementById(id);
 if (isIE4) obj= document.all[id];
 if (isNS4) obj= document.layers[id];
return(obj)
}
function getSty(id)
{

 return (isNS4 ? getRef(id) : getRef(id).style);
 
} 

function show(thisElement) {

  thisElement.visibility = (isNS4) ? "show" : "visible";
}

function hide(thisElement) {
 thisElement.visibility = (isNS4) ? "hide" : "hidden";
}



function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} //End Function

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function

function isNum(str) {
//alert('----'+str+'----')
//re = /[0-9]+$/
re=/^\d+$/

	
	if(str ==""){
	return false}
	else{
  	return ( re.test(str) );
	}
}
/**************************************       AJAX RELATED FUNCTIONS      ***************************************/

function ajaxAction(fuse,formObj) // AJAX fuse menu
		{
		//alert(fuse)
		//alert(ajaxDisplay.name)
		var message =""; 
		var slBreadCrumb = "";
			/*Coordinates the ajax operation, post/get, input strings etc*/
		var	checkForId = true;
		if(typeof(arguments[2]) != 'undefined')
			{
			checkForId = false;
			}
		var formStr="";		
		var	cont = true; // a continue variable.
		var url=ajaxURL;
		var fobj=null;
		var randNum = Math.round(Math.random()*10000);
		url+= "appProdIndex.cfm";
		if(formObj.length>0)
			{
				fobj=eval("document."+formObj);
				//formStr=getFormValues(fobj) 
			}
		if(!checkForId )
			{	
			operationVal=fuse;
			//alert(fuse)
			
			switch(fuse)
					{
					case 'getHome':
						var app_ProdAction = '_home';
						formStr="app_ProdAction="+app_ProdAction;
						url +="\?randnum="+randNum.toString();
						actionType='Post';
						displayFuse= 'Home';
					break;
					case 'getFaq':
						var app_ProdAction = 'faq';
						formStr="app_ProdAction="+app_ProdAction;
						url +="\?randnum="+randNum.toString();
						actionType='Post';
					break;
					case 'getAppForm':
						var app_ProdAction = 'appForm';
						formStr="app_ProdAction="+app_ProdAction;
						url +="\?randnum="+randNum.toString();
						actionType='Post';
					break;
					case 'getContact':
						var app_ProdAction = 'contactInfo';
						formStr="app_ProdAction="+app_ProdAction;
						url +="\?randnum="+randNum.toString();
						actionType='Post';
					break;
					case 'getDetail':
						var app_ProdAction = 'detail';
						displayFuse= 'Product Detail';
						formStr="app_ProdAction="+app_ProdAction;
								//var supplier_id = (typeof(fobj.supplier_id)  == 'object' ?fobj.supplier_id.value):fobj.SUPPLIER_ID.value);
								//var product_id = (typeof(fobj.product_id)  == 'object'?fobj.product_id.value:fobj.PRODUCT_ID.value);
						try{	
							/*		var supplier_id ="";
								var product_id ="";
								if(typeof(fobj.supplier_id) )
									{
								 	  supplier_id = fobj.supplier_id.value;
									}
								else
									{
										if(typeof(fobj.SUPPLIER_ID.value))
											{
											 supplier_id =	fobj.SUPPLIER_ID.value;
											}
									}
								 
								if(typeof(fobj.product_id) )
									{
								 	  product_id = fobj.product_id.value;
									}
								else
									{
										if(typeof(fobj.PRODUCT_ID.value))
											{
											 product_id =	fobj.PRODUCT_ID.value;
											}
									}
								//alert(product_id)
							var product_reference = (typeof(fobj.product_reference) == 'object'  ? fobj.product_reference.value :fobj.PRODUCT_REFERENCE.value);
								var product_name = (typeof(fobj.product_name) == 'object'  ? fobj.product_name.value:fobj.PRODUCT_NAME.value);
								var product_class_list = (typeof(fobj.product_class_list) == 'object'  ? fobj.product_class_list.value:fobj.PRODUCT_CLASS_LIST.value);
								var approval_type_list = (typeof(fobj.approval_type_list) == 'object'  ? fobj.approval_type_list.value:fobj.APPROVAL_TYPE_LIST.value);
								var class_opt = (typeof(fobj.class_opt) == 'object'  ? fobj.class_opt.value:fobj.CLASS_OPT.value);
								var approval_opt = (typeof(fobj.approval_opt) == 'object'  ? fobj.approval_opt.value:fobj.APPROVAL_OPT.value);
								var supplier = (typeof(fobj.supplier) == 'object'  ? fobj.supplier.value:fobj.SUPPLIER.value);
								var dt_to = '';
								var dt_from =''; 
								if(typeof(fobj.dt_to) == 'object'  )
									{
								 	  dt_to = fobj.dt_to.value;
									}
								else
									{
										if(typeof(fobj.DT_TO)== 'object' )
											{
											 dt_to =	fobj.DT_TO.value;
											}
									}
								 
								if(typeof(fobj.dt_from)== 'object' )
									{
								 	  dt_from = fobj.dt_from.value;
									}
								else
									{
										if(typeof(fobj.DT_FROM)== 'object')
											{
											 dt_from =	fobj.DT_FROM.value;
											}
									}
								var assessment_period = (typeof(fobj.assessment_period) == 'object'  ? fobj.assessment_period.value:'');
								var sort_by = (typeof(fobj.sort_by) == 'object'  ? fobj.sort_by.value:fobj.SORT_BY.value);
								var num_results = (typeof(fobj.num_results) == 'object'  ? fobj.num_results.value:fobj.NUM_RESULTS.value);
								
						
						*/
						var supplier_id = (typeof(fobj.supplier_id) == 'object' )?fobj.supplier_id.value:((typeof(fobj.SUPPLIER_ID)=='object')?fobj.SUPPLIER_ID.value:'');
						if(isNum(supplier_id)){displayFuse= 'Supplier Detail';}
						var product_id = (typeof(fobj.product_id) == 'object' )?fobj.product_id.value:((typeof(fobj.PRODUCT_ID)=='object')?fobj.PRODUCT_ID.value:'');
						// This fuse used by both Search and List as an Form Action page. However the fieldnames change to UPPERCASE during transmission
						
						var product_reference = (typeof(fobj.product_reference) == 'object')? fobj.product_reference.value :((typeof(fobj.PRODUCT_REFERENCE)=='object')?fobj.PRODUCT_REFERENCE.value:'');
						var product_name = (typeof(fobj.product_name) == 'object' )? fobj.product_name.value:((typeof(fobj.PRODUCT_NAME)=='object')?fobj.PRODUCT_NAME.value:'');
						var product_class_list = (typeof(fobj.product_class_list) == 'object')? fobj.product_class_list.value:((typeof(fobj.PRODUCT_CLASS_LIST)=='object')?fobj.PRODUCT_CLASS_LIST.value:'');
						var approval_type_list = (typeof(fobj.approval_type_list) == 'object')? fobj.approval_type_list.value:((typeof(fobj.APPROVAL_TYPE_LIST)=='object')?fobj.APPROVAL_TYPE_LIST.value:'');
						var class_opt = (typeof(fobj.class_opt) == 'object')? fobj.class_opt.value:((typeof(fobj.CLASS_OPT)=='object')?fobj.CLASS_OPT.value:'');
						var approval_opt = (typeof(fobj.approval_opt) == 'object')? fobj.approval_opt.value:((typeof(fobj.APPROVAL_OPT)=='object')?fobj.APPROVAL_OPT.value:'');
						var supplier = (typeof(fobj.supplier) == 'object')? fobj.supplier.value:((typeof(fobj.SUPPLIER)=='object')?fobj.SUPPLIER.value:'');
						var dt_to =  (typeof(fobj.dt_to) == 'object')? fobj.dt_to.value:((typeof(fobj.DT_TO)=='object')?fobj.DT_TO.value:'');
						var dt_from =(typeof(fobj.dt_from) == 'object')? fobj.dt_from.value:((typeof(fobj.DT_FROM)=='object')?fobj.DT_FROM.value:''); 
						var assessment_period = (typeof(fobj.assessment_period) == 'object'? fobj.assessment_period.value:'');
						var sort_by = (typeof(fobj.sort_by) == 'object')? fobj.sort_by.value:((typeof(fobj.SORT_BY)=='object')?fobj.SORT_BY.value:'');
						var num_results = (typeof(fobj.num_results) == 'object')? fobj.num_results.value:((typeof(fobj.NUM_RESULTS)=='object')?fobj.NUM_RESULTS.value:'');
									
						
						
						formStr+="&supplier_id="+supplier_id;
						formStr+="&product_id="+product_id;
						
						if(fobj.name == 'self_submit') // List
							{
							// Additional Fields
							var display_direction =(typeof(fobj.display_direction) == 'object')? fobj.display_direction.value:((typeof(fobj.DISPLAY_DIRECTION)=='object')?fobj.DISPLAY_DIRECTION.value:'');
							//(typeof(eval(fobj.name+'.display_direction')) == 'object'  ?eval(fobj.name+'.display_direction.value'):eval(fobj.name+'.DISPLAY_DIRECTION.value'));
							var lastStartRow  = (typeof(fobj.lastStartRow) == 'object')? fobj.lastStartRow.value:((typeof(fobj.LASTSTARTROW)=='object')?fobj.LASTSTARTROW.value:'');
							//(typeof(eval(fobj.name+'.lastStartRow')) == 'object'  ?eval(fobj.name+'.lastStartRow.value'):eval(fobj.name+'.LASTSTARTROW.value'));
							formStr+="&display_direction="+display_direction;
							formStr+="&lastStartRow="+lastStartRow;
							}
						formStr+="&product_reference="+product_reference;
						formStr+="&product_name="+product_name;
						formStr+="&product_class_list="+product_class_list;
						formStr+="&approval_type_list="+approval_type_list;
						formStr+="&class_opt="+class_opt;
						formStr+="&approval_opt="+approval_opt;
						formStr+="&supplier="+supplier;
						formStr+="&dt_to="+dt_to.toString();
						formStr+="&dt_from="+dt_from.toString();
						formStr+="&sort_by="+sort_by;
						formStr+="&num_results="+num_results.toString();
						url +="\?randnum="+randNum.toString();
						actionType='Post';
						}
						catch(e)
							{
								alert(e.message);
							}
					break;
					case 'getSearch':
						displayFuse= 'Search';
						var app_ProdAction = 'search';
						formStr="app_ProdAction="+app_ProdAction;
						url +="\?randnum="+randNum.toString();
						actionType='Post';
					break;
					case 'runSearch':
						//alert(formStr)
						displayFuse= 'Results';
						try
						{
						bRunPrint = false;
						var app_ProdAction = 'List';
						formStr="app_ProdAction="+app_ProdAction;
						var nullFields= false;
						//	alert(formStr)
						
						if(fobj.name == 'self_submit') // List
							{
							// Additional Fields if running search form detail form.
							/*Example of nested conditional statements (Value < 0)?-1:((Value == 0)?0:1)*/
							var display_direction = (typeof(fobj.display_direction) == 'object' )?fobj.display_direction.value:((typeof(fobj.DISPLAY_DIRECTION) == 'object')?fobj.DISPLAY_DIRECTION.value:'');
							var lastStartRow  = (typeof(fobj.lastStartRow) == 'object')  ?fobj.lastStartRow.value:((typeof(fobj.LASTSTARTROW) == 'object')?fobj.LASTSTARTROW.value:'');
							formStr+="&display_direction="+display_direction;
							formStr+="&lastStartRow="+lastStartRow;
							
							}
						var mode = 'All';
						if(typeof(document.frm_quick_search) != 'undefined'){
							var modeRadio = document.frm_quick_search.searchtype;
							
							for(var i=0; i < modeRadio.length; i++){
								if(modeRadio[i].checked){
									mode = modeRadio[i].value;
								}
							}	
						}
						
						
						
									
						if(typeof(fobj.supplier_id) != 'undefined' && fobj.supplier_id.value.length > 0)
							{
								var supplier_id ="";
								var product_id ="";
								if(typeof(fobj.supplier_id)== 'object' )
									{
								 	  supplier_id = fobj.supplier_id.value;
									}
								else
									{
										if(typeof(fobj.SUPPLIER_ID)== 'object')
											{
											 supplier_id =	fobj.SUPPLIER_ID.value;
											}
									}
								 
								if(typeof(fobj.product_id) == 'object')
									{
								 	  product_id = fobj.product_id.value;
									}
								else
									{
										if(typeof(fobj.PRODUCT_ID)== 'object')
											{
											 product_id =	fobj.PRODUCT_ID.value;
											}
									}
								formStr+="&supplier_id="+supplier_id;
								formStr+="&product_id="+product_id;
								if( isNum(supplier_id) )
									{
									nullFields=true
									}
								if(isNum(product_id))
									{
									nullFields=true
									}
							}
						if(nullFields)
							{
							var product_reference = "";
							var product_name ="";
							var product_class_list = "";
							var approval_type_list = "";
							var class_opt ="";
							var approval_opt = "";
							var supplier = "";
							var dt_to ="";
							var dt_from = "";
							}
						else
							{
							
							var run_print = (typeof(fobj.run_print) != 'undefined' && fobj.run_print.value.length > 0 ?fobj.run_print.value:'false');
							var run_csv = (typeof(fobj.run_csv) == 'object'? fobj.run_csv.value :'false');
							if(run_print == 'true' && typeof(fobj.query_send_vals) == 'object')
								{//alert('from Print Option')
									bRunPrint = true;
									//alert('trying to open window!')
									var winOptions = 'width=700,toolbar=0,location=0,directories=0,status=1,menuBar=0,scrollBars=auto,resizable=1'
									var startStr = "<link rel=\"STYLESHEET\" type=\"text/css\" href=\"app_Prod.css\" ><link rel=\"STYLESHEET\" type=\"text/css\" href=\"template_files/en.css\">"
									var midStr="<div id=\"response_detail_div\"><div id=\"response_detail\"></div></div><div  id=\"ajaxOutput\" ></div>"
									var endStr ="<div><a href=\"javascript:opener.tmpWin= null;self.close()\">Close Window<\/a><\/div>"
									tmpWin = open('','printWindow',winOptions);
									tmpWin.document.write(startStr)
									tmpWin.document.write(midStr)
									tmpWin.document.write(endStr)
									if (isDOM){ messageCell = tmpWin.document.getElementById('ajaxOutput');progressDiv= tmpWin.document.getElementById('response_detail_div');}
 									if (isIE4){ messageCell = tmpWin.document.all['ajaxOutput'];}
 									if (isNS4){ messageCell =tmpWin.document.layers['ajaxOutput'];}
									//values are retrived from a pre-formed value inside a hidden field
									formStr+= "&"+fobj.query_send_vals.value;
									formStr+="&run_print="+run_print;
									formStr+="&run_csv="+run_csv;
									//alert(formStr)
								}
							else
								{
										//alert('from List Option')
								// This fuse used by both Search and List as an Form Action page. However the fieldnames change to UPPERCASE during transmission
								var product_reference = (typeof(fobj.product_reference) == 'object')? fobj.product_reference.value :((typeof(fobj.PRODUCT_REFERENCE)=='object')?fobj.PRODUCT_REFERENCE.value:'');
								var product_name = (typeof(fobj.product_name) == 'object' )? fobj.product_name.value:((typeof(fobj.PRODUCT_NAME)=='object')?fobj.PRODUCT_NAME.value:'');
								var product_class_list = (typeof(fobj.product_class_list) == 'object')? fobj.product_class_list.value:((typeof(fobj.PRODUCT_CLASS_LIST)=='object')?fobj.PRODUCT_CLASS_LIST.value:'');
								var approval_type_list = (typeof(fobj.approval_type_list) == 'object')? fobj.approval_type_list.value:((typeof(fobj.APPROVAL_TYPE_LIST)=='object')?fobj.APPROVAL_TYPE_LIST.value:'');
								var class_opt = (typeof(fobj.class_opt) == 'object')? fobj.class_opt.value:((typeof(fobj.CLASS_OPT)=='object')?fobj.CLASS_OPT.value:'');
								var approval_opt = (typeof(fobj.approval_opt) == 'object')? fobj.approval_opt.value:((typeof(fobj.APPROVAL_OPT)=='object')?fobj.APPROVAL_OPT.value:'');
								var supplier = (typeof(fobj.supplier) == 'object')? fobj.supplier.value:((typeof(fobj.SUPPLIER)=='object')?fobj.SUPPLIER.value:'');
								var dt_to =  (typeof(fobj.dt_to) == 'object')? fobj.dt_to.value:((typeof(fobj.DT_TO)=='object')?fobj.DT_TO.value:'');
								var dt_from =(typeof(fobj.dt_from) == 'object')? fobj.dt_from.value:((typeof(fobj.DT_FROM)=='object')?fobj.DT_FROM.value:''); 
								var assessment_period = (typeof(fobj.assessment_period) == 'object'? fobj.assessment_period.value:'');
								var sort_by = (typeof(fobj.sort_by) == 'object')? fobj.sort_by.value:((typeof(fobj.SORT_BY)=='object')?fobj.SORT_BY.value:'');
								var num_results = (typeof(fobj.num_results) == 'object')? fobj.num_results.value:((typeof(fobj.NUM_RESULTS)=='object')?fobj.NUM_RESULTS.value:'');
								ingredients_only = false;
								if(typeof(fobj.ingredients_only) == 'object')
									{
										if(typeof(fobj.ingredients_only.value)== 'string')
											{
												ingredients_only = fobj.ingredients_only.value;
											}
										else
											{
												if(typeof(fobj.ingredients_only[0])== 'object')
														{							
														ingredients_only= (fobj.ingredients_only[0].checked)? true:false;
														}
											}
									}
								
								
								//fobj.reset();
								formStr+="&product_reference="+product_reference;
								formStr+="&product_name="+product_name;
								formStr+="&product_class_list="+product_class_list;
								formStr+="&approval_type_list="+approval_type_list;
								formStr+="&class_opt="+class_opt;
								formStr+="&approval_opt="+approval_opt;
								formStr+="&supplier="+supplier;
								formStr+="&ingredients_only="+ingredients_only
								if(dt_to.length > 0){formStr+="&dt_to="+dt_to.toString();}else{formStr+="&dt_to="}
								if(dt_from.length > 0){formStr+="&dt_from="+dt_from.toString();}else{formStr+="&dt_from="}
								formStr+="&sort_by="+sort_by;
								formStr+="&num_results="+num_results.toString();
								formStr+="&run_print=false";
								formStr+="&run_csv=false";
								if(assessment_period == 'month' || assessment_period == '6month' || assessment_period == '1year' ||  assessment_period == '5year')
									{
										formStr+="&assessment_period="+assessment_period;
									}
								}
							}
						//initValues()// Resets values in search criteria
						formStr += "&mode="+mode;
						url +="\?randnum="+randNum;
						actionType='Post';
					//	alert(formStr)
						}
						catch(e)
							{
							//	alert(e.message)
							}
					break;
					
					case 'login':
						displayFuse= 'Login';
						var app_ProdAction = 'login';
						url +="\?app_ProdAction="+app_ProdAction+"&randnum="+randNum.toString();
						actionType='Get';
					break;
					case 'processlogin':
						var app_ProdAction = 'processlogin';
						formStr="app_ProdAction="+app_ProdAction;
						var userid = (typeof(fobj.userid) == 'object'? fobj.userid.value:'error');
						var passwd = (typeof(fobj.passwd) == 'object'? fobj.passwd.value:'error');
						if(userid == 'error' || passwd== 'error')
							{
								cont=false;
								alert('Invalid field or field data. Could not process login.');
							}
						else
							{						
							url +="\?randnum="+randNum.toString();
							actionType='Post';
							formStr+="&userid="+userid;
							formStr+="&passwd="+passwd;
							}
					break;
					case 'logout':
						var app_ProdAction = 'logout';
						
						url +="\?app_ProdAction="+app_ProdAction+"&randnum="+randNum.toString();
						actionType='Get';
					break;
					case 'getQuickSearch':
						var app_ProdAction = 'getQuickSearch';
						
						
						url +="\?app_ProdAction="+app_ProdAction+"&randnum="+randNum.toString()+"&ingredients_only="+ingredients_only;
						actionType='Get';
					break;
					case 'IngredientSearch':
						displayFuse= 'Ingredient Search';
						var app_ProdAction = 'IngredientSearch';
						url +="\?app_ProdAction="+app_ProdAction+"&randnum="+randNum.toString();
						actionType='Get';
					break;
					case 'specialSearchResult':
						displayFuse= 'Results';
						//alert(formStr)
						try
						{
						var app_ProdAction = 'specialSearchResult';
						formStr="app_ProdAction="+app_ProdAction;
						var supplier_id ="";
						var supplier_name ="";
						var cas ="";
						var prodDescription ="";
						var country ="";
						var supplier_opt ="A";
					
						
						/*if(fobj.name != 'search_form') // List
							{
							cont = false;
							alert('Search form not found!')
							}*/
							
						if(cont )
							{	
							if( typeof(fobj.supplier_id) != 'undefined' && fobj.supplier_id.value.length > 0)
								{
								if(typeof(fobj.supplier_id)== 'object' )
									{
								 	  supplier_id = fobj.supplier_id.value;
									}
								if(typeof(fobj.supplier_name)== 'object' )
									{
								 	  supplier_name = fobj.supplier_name.value;
									}
								}
								 
								if(typeof(fobj.product_id) == 'object')
									{
								 	  product_id = fobj.product_id.value;
									}
								
								if(typeof(fobj.supplier_opt) == 'object')
									{
										if(typeof(fobj.supplier_opt.value)== 'string')
											{
												supplier_opt = fobj.supplier_opt.value;
											}
										else
											{
												if(typeof(fobj.supplier_opt[0])== 'object')
														{							
														supplier_opt= (fobj.supplier_opt[1].checked)? 'O':((fobj.supplier_opt[2].checked)?'E':'A');
														}
											}
									}
								var cas = (typeof(fobj.cas) == 'object')? fobj.cas.value :'';
								var prodDescription = (typeof(fobj.prodDescription) == 'object' )? fobj.prodDescription.value:'';
								var country = (typeof(fobj.country) == 'object')? fobj.country.value:'';
								formStr+="&supplier_id="+supplier_id;
								formStr+="&supplier_name="+escape(supplier_name);
								formStr+="&cas="+cas;
								formStr+="&prodDescription="+prodDescription;
								formStr+="&country="+country;
								formStr+="&supplier_opt="+supplier_opt;
							}
							
						//initValues()// Resets values in search criteria
						
						url +="\?randnum="+randNum;
						actionType='Post';
						//alert(formStr)
						}
						catch(e)
							{
								alert(e.message)
							}
					break;
					case 'showIngredients':
						displayFuse= 'Product Detail';
						var app_ProdAction = 'showIngredients';
						formStr="app_ProdAction="+app_ProdAction;
						if(typeof(fobj.product_id) == 'object')
							{
							  product_id = fobj.product_id.value;
							}
						else
							{
								if(typeof(fobj.PRODUCT_ID)== 'object')
									{
									 product_id =	fobj.PRODUCT_ID.value;
									}
								else
									{
										cont = false;
										alert('Product Id could not be identified. Can not proceed.');
									}
							}
						formStr+="&product_id="+product_id;
						url +="\?randnum="+randNum;
						actionType='Post';
					break;
					case 'editIngredient':
						displayFuse= 'Edit Ingredient';
						var app_ProdAction = 'editIngredient';
						formStr="app_ProdAction="+app_ProdAction;
						var product_id = (typeof(fobj.product_id) == 'object' )?fobj.product_id.value:((typeof(fobj.PRODUCT_ID)=='object')?fobj.PRODUCT_ID.value:'');
						var ingredient_id = (typeof(fobj.ingredient_id) == 'object' )?fobj.ingredient_id.value:((typeof(fobj.INGREDIENT_ID)=='object')?fobj.INGREDIENT_ID.value:'');
						if(!isNum(ingredient_id) ||!isNum(product_id) )
							{
								cont = false;
								alert('Critical values not received. Can not proceed.');
							}
						formStr+="&product_id="+product_id;
						formStr+="&ingredient_id="+ingredient_id;
						
								
					
						url +="\?randnum="+randNum;
						actionType='Post';
					break;
					case 'viewIngredient':
						displayFuse= 'View Ingredients';
						var app_ProdAction = 'viewIngredient';
						formStr="app_ProdAction="+app_ProdAction;
						var product_id = (typeof(fobj.product_id) == 'object' )?fobj.product_id.value:((typeof(fobj.PRODUCT_ID)=='object')?fobj.PRODUCT_ID.value:'');
						var ingredient_id = (typeof(fobj.ingredient_id) == 'object' )?fobj.ingredient_id.value:((typeof(fobj.INGREDIENT_ID)=='object')?fobj.INGREDIENT_ID.value:'');
						if(!isNum(ingredient_id) ||!isNum(product_id) )
							{
								cont = false;
								alert('Critical values not received. Can not proceed.');
							}
						formStr+="&product_id="+product_id;
						formStr+="&ingredient_id="+ingredient_id;
						
								
					
						url +="\?randnum="+randNum;
						actionType='Post';
					break;
					case 'postDeleteIngredient':
					break;
					case 'postEditIngredient':
						var app_ProdAction = 'postEditIngredient';
						formStr="app_ProdAction="+app_ProdAction;
						var product_id = (typeof(fobj.product_id) == 'object' )?fobj.product_id.value:((typeof(fobj.PRODUCT_ID)=='object')?fobj.PRODUCT_ID.value:'');
						var ingredient_id = (typeof(fobj.ingredient_id) == 'object' )?fobj.ingredient_id.value:((typeof(fobj.INGREDIENT_ID)=='object')?fobj.INGREDIENT_ID.value:'');
						if(!isNum(ingredient_id) ||!isNum(product_id) )
							{
								cont = false;
								alert('Critical values not received. Can not proceed.');
							}
						var cas_no = (typeof(fobj.cas_no) == 'object')? fobj.cas_no.value :'';
						var common_name = (typeof(fobj.common_name) == 'object' )? fobj.common_name.value:'';
						var standard_name = (typeof(fobj.standard_name) == 'object' )? fobj.standard_name.value:'';
						var country = (typeof(fobj.country_code) == 'object')? fobj.country_code.value:'';
						var percent= (typeof(fobj.percent) == 'object')? fobj.percent.value:'';
						var gmo= (typeof(fobj.gmo) != 'object')?'N' :((fobj.gmo.checked == true)?'Y':'N');
						var allergen= (typeof(fobj.allergen) != 'object')? 'N':((fobj.allergen.checked  == true)?'Y':'N');
						var heavy_metal= (typeof(fobj.heavy_metal) != 'object')?'N':((fobj.heavy_metal.checked  == true)?'Y':'N');
						formStr+="&product_id="+product_id;
						formStr+="&ingredient_id="+ingredient_id;
						formStr+="&supplier_id="+supplier_id;
						formStr+="&supplier_name="+escape(supplier_name);
						formStr+="&cas_no="+cas;
						formStr+="&common_name="+escape(common_name);
						formStr+="&standard_name="+standard_name;
						formStr+="&percent="+percent;
						formStr+="&country_code="+country;
						formStr+="&gmo="+gmo;
						formStr+="&allergen="+allergen;
						formStr+="&heavy_metal="+heavy_metal;
						url +="\?randnum="+randNum;
						actionType='Post';
					break;
					case 'postAddIngredient':
					break;
					default:
						
					break;
					}
					
					if(cont)
						{
						//alert("UrlString ="+url)
						XMLHttp=GetXmlHttpObject()
						if (XMLHttp==null)
							{
							alert ("Browser does not support HTTP Request")
							return
							} 
						//url=url+"&sid="+Math.random()
						//alert(url)
						generateBreadCrumb(fuse);
						XMLHttp.onreadystatechange=stateChanged 
						if(actionType== 'Get')
							{
							XMLHttp.open("GET",url,true)
							XMLHttp.send(null)
							}
						else
							{
							//alert(formStr)
							XMLHttp.open("POST",url,true)
							XMLHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"); 
							XMLHttp.send(formStr)
							}
						}
					if(message.length  > 0)
						{
						alert(message)
						}
					}	
				else
					{
					alert("User couldnt be identified!")
					}
			}

function stateChanged() 
	{ 
	/*Interprets and response from Ajax operation and action accordingly*/
	var retCode=0;
	var message="Processing....";
	var nextAction ="";
	var returnPage="";
	var selfClear=false;
	var showClear=false;
	var bDisplay=true;
	var formObj ="frm_quick_search";
	var messageCell = document.getElementById("response_detail")//ajaxDisplay;
	if(ajaxDisplay != null){messageCell = ajaxDisplay;}
	//alert(messageCell.id)
	if(bRunPrint)
		{
			if (isDOM){ messageCell = tmpWin.document.getElementById('ajaxOutput');}
 			if (isIE4){ messageCell = tmpWin.document.all['ajaxOutput'];}
 			if (isNS4){ messageCell =tmpWin.document.layers['ajaxOutput'];}
		}
	
		if( ajaxDisplay != null)
			{
			showProgress(ajaxDisplay.id,true);
			}
		else
			{ 
			if(bRunPrint)
				{
					showProgress('print');
				}
			else
				{
				showProgress('response_detail');
				}
			}
	if ( XMLHttp.readyState==4 || XMLHttp.readyState=="complete")
		{ 
		if(bRunPrint)
			{
				hideProgress('print');
			}
		else
			{
				hideProgress(messageCell.id); 
			}
		
		messageCell.align='left' ;
		
			
		if(actionType== 'Get')
			{
			var responseText= XMLHttp.responseText;
			showClear = false;
			
			}
		else
			{	
			var responseText= XMLHttp.responseText;
			//responseText = responseText;
			//if(operationVal == 'uploadXMLTag')
			//	{
			//var test=open('tmp')
			//test.document.write(responseText)
			//test.document.write('<BR><BR>')
			//	}
			//
			//alert(XMLHttp.responseText);
			//alert(XMLHttp.responseXML);
			if (window.ActiveXObject){	var response = XMLHttp.responseXML.documentElement;}else{var response = XMLHttp.responseXML}
			if(typeof(response) != 'undefined' || response != 'undefined')
				{
				if(response != null && typeof(response.getElementsByTagName('message')[0]) != 'null' && typeof(response.getElementsByTagName('nextaction')[0]) != 'null' && typeof(response.getElementsByTagName('returnpage')[0]) != 'null')
					{
					nextAction = 	response.getElementsByTagName('nextaction')[0].firstChild.data;
					message = 		response.getElementsByTagName('message')[0].firstChild.data;
					returnPage = 	response.getElementsByTagName('returnpage')[0].firstChild.data;
					retCode =  response.getElementsByTagName('ret_code')[0].firstChild.data;
					}
				else
					{
					if(responseText.length > 0)
						{
						message = responseText;
						retCode=0;
						}
					else
						{
						retCode = -1;
						message = 'Error Found';
						}
					}
				}
			else
				{
				if(responseText.length > 0)
					{
					message = responseText;
					retCode = responseText.slice(0,2)
					//retCode = Trim(retCode);
					//alert(retCode)
					retCode = retCode.valueOf();
					
					}
				else
					{
					message = "";
					retCode = -1;
					}
				}
			}
		
		//var test=open('tmp')
		//test.document.write(responseText)
		//setTimeout("hideProgress(\'response_detail\'); ", 1000);
		//alert(operationVal);
		var adjustFormDisplayHeight = false;
		//if(myHeight == null){adjustFormDisplayHeight=false;}else{if(myHeight < 800){adjustFormDisplayHeight=false}}
		
		if(retCode == 0)
			{
			switch(operationVal)
				{
				case 'getHome':
					evalSize()
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					if(adjustFormDisplayHeight){formDisplay.height= myHeight-700;}
					showClear = false;
					
				break;
				case 'getSearch':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					showClear = false;
					if(adjustFormDisplayHeight){formDisplay.height= myHeight-700;}
					//formDisplay.height= myHeight-700;
				break;
				case 'getDetail':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					if(adjustFormDisplayHeight){formDisplay.height= myHeight-700;}
					//formDisplay.height= myHeight-700;
					showClear = false;
				break;
				case 'getFaq':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					showClear = false;
				break;
				case 'getAppForm':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					showClear = false;
				break
				case 'getContact':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					
					if(adjustFormDisplayHeight){formDisplay.height= myHeight-600;}
					//formDisplay.height= myHeight-600;
					showClear = false;
				break
				case 'runSearch':
					var formDisplay = getRef('formDisplay');
					//formDisplay.innerHTML = '';
					if(adjustFormDisplayHeight){formDisplay.height=  myHeight-700;}
					//formDisplay.height= myHeight-600;
					showClear = false;
					if(bRunPrint)
						{
						messageCell.align='center';  
						messageCell.innerHTML= message
						bDisplay=false;
						bRunPrint=false; 
						document.frm_quick_search.run_print.value ="false";
						document.frm_quick_search.run_csv.value ="false";
						}
					
				break;
				case 'login':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					message = responseText;
					if(adjustFormDisplayHeight){formDisplay.height=  myHeight-800;}
					//formDisplay.height= myHeight-600;
					var loginObj = getRef('login');
					var addNavObj= getRef('addNav');
					//var addNavSty= getSty('addNav');
					loginObj.innerHTML='LOGIN';
					addNavObj.innerHTML="";
					
					//var supplierListSty = getSty('supplierList'); hide(supplierListSty);//Show Supplier List Options
					//var fonterraSearchSty = getSty('fonterraSearch'); hide(fonterraSearchSty);//Show Search Facility
					ajaxDisplay=getRef('leftnav');
					nextAction = "getQuickSearch";
					showClear = false;
				break;
				case 'processlogin':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					message = responseText;
					if(adjustFormDisplayHeight){formDisplay.height=  myHeight-800;}
					//formDisplay.height= myHeight-600;
					showClear = false;
					var logoutObj = getRef('login')
					logoutObj.innerHTML='LOGOUT';
					messageCell.align='center';  
					messageCell.innerHTML= message;
					isSupplier = (typeof(document.selfSubmit.isSupplier) == 'object')?document.selfSubmit.isSupplier.value:false;
					isFonterra = (typeof(document.selfSubmit.isFonterra) == 'object')?document.selfSubmit.isFonterra.value:false;
					/*alert('isFonterra ='+isFonterra)
					alert('isSupplier ='+isSupplier)*/
					selfClear=false;
					var addNavSty = getRef('addNav');
					var sHTML="";
					if(isSupplier == 'true')
						{
						sHTML="<A HREF=\"javascript:void(0)\" onClick=\"javascript:ajaxAction(\'runSearch\',\'frm_quick_search\',false)\" >List<\/a>";
						 }//Show Supplier List Options
					if(isFonterra == 'true')
						{
						sHTML="<A  HREF=\"javascript:void(0)\" onClick=\"javascript:ajaxAction(\'IngredientSearch\',\'selfSubmit\',false);\" >Ingredient<\/a>";
						}
					addNavSty.innerHTML=sHTML;
					show(addNavSty); 
					if(typeof(document.selfSubmit.ingredients_only) == 'object')
						{ingredients_only=document.selfSubmit.ingredients_only.value;}// text field
					else
						{
						if(typeof(document.frm_quick_search.ingredients_only) == 'object')
							{
								ingredients_only= (document.frm_quick_search.ingredients_only[0].checked)? true:false;
							}// a radio button
						}
					ajaxDisplay=getRef('leftnav');
					nextAction = "getQuickSearch";
					//formObj= 'selfSubmit';
				break;
				case 'logout':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					//message = responseText;
					if(adjustFormDisplayHeight){formDisplay.height=  myHeight-800;}
					//formDisplay.height= myHeight-600;
					showClear = false;
				break;
				case 'getQuickSearch':
					var formDisplay = getRef('leftnav');
					formDisplay.innerHTML = '';
					message = responseText;
					if(adjustFormDisplayHeight){formDisplay.height=  myHeight-800;}
					//formDisplay.height= myHeight-600;
					messageCell.innerHTML= message;
					
					showClear = false;
					selfClear = false;
					ajaxDisplay=null;
					bDisplay=false;
				break;
				case 'IngredientSearch':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					message = responseText;
					messageCell.innerHTML= message;
					showClear = false;
					selfClear = false;
					ajaxDisplay=null;
					bDisplay=false;
				break;
				case 'specialSearchResult':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					message = responseText;
					messageCell.innerHTML= message;
					showClear = false;
					selfClear = false;
					ajaxDisplay=null;
					bDisplay=false;
				break;
				case 'showIngredients':
				var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					//message = responseText;
					if(adjustFormDisplayHeight){formDisplay.height=  myHeight-800;}
					//formDisplay.height= myHeight-600;
					showClear = false;
				break;
				case 'editIngredient':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					//message = responseText;
					if(adjustFormDisplayHeight){formDisplay.height=  myHeight-800;}
					//formDisplay.height= myHeight-600;
					showClear = false;
				break;
				case 'viewIngredient':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					//message = responseText;
					if(adjustFormDisplayHeight){formDisplay.height=  myHeight-800;}
					//formDisplay.height= myHeight-600;
					showClear = false;
				break;
				case 'postDeleteIngredient':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					//message = responseText;
					if(adjustFormDisplayHeight){formDisplay.height=  myHeight-800;}
					//formDisplay.height= myHeight-600;
					showClear = false;
				break;
				case 'postEditIngredient':
					var formDisplay = getRef('formDisplay');
					formDisplay.innerHTML = '';
					message = responseText;
					messageCell.innerHTML= message;
					showClear = false;
					selfClear = false;
					ajaxDisplay=null;
					bDisplay=false;
				break;
				}
			//alert("Hello");
			
		
			}
		else
			{
			processRunning = false;
			//showClear = true;
			ajaxDisplay=null;
			if(message.length > 0){	showClear=true;}else{message ='Error encountered. Cause unknown'}
			}
		
	
		} 
	/*if(showClear)
		{
		message+="<BR><BR><a href=\"javascript:void(0)\" onClick=\"hideProgress(\'response_detail\')\">Clear</a>"; 
		}*/

		if(bDisplay)
			{	
			if(selfClear)
				{
				var tempTimer = setTimeout("hideProgress(\'response_detail\')", 2000)
				}
			progressDiv = document.getElementById('response_detail_div');
			progressDiv.style.visibility='visible';
			messageCell.align='center';  
			messageCell.innerHTML= message
			}
		
	if(nextAction.length > 0)
		{
			ajaxAction(nextAction,formObj,false)		
		}/**/
	
	} 

function GetXmlHttpObject()
	{ 
		/*Initialises the XMLHttpRequest object*/
		var objXMLHttp=null
		var ua = navigator.userAgent.toLowerCase();
  		if (!window.ActiveXObject)
     		objXMLHttp = new XMLHttpRequest();
   		else if (ua.indexOf('msie 5') == -1)
     		objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
   		else
     		objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
		return objXMLHttp
	}
	


function showProgress(name)   
		{ 
		/*Operates the displaying of event messages from ajax operation.*/
		var display_message ="";           
		if(name =='print')
			{
			progressViewer = tmpWin.document.getElementById('response_detail');
			progressDiv = tmpWin.document.getElementById('response_detail_div');
			progressDiv.visibility='visible';
			prg = progressViewer.innerHTML
			}
		else
			{
			progressViewer = document.getElementById(name);
			prg='';
			//progressDiv = document.getElementById('response_detail_div');
			}
		
		
		
		if(typeof(progressViewer) != 'undefined')
			{
			if(ajaxDisplay != null)
				{
				display_message = '<strong>Processing Request...</strong>'
				}
			else
				{
				if(prg== '')
					{
					display_message = '<strong>Processing Request...</strong>'
					}
				else
					{
					display_message = prg+'<strong>...</strong>'
					}
				}
			
			progressViewer.align='center'       
			progressViewer.innerHTML = display_message.blink();
			}
				   
	}  
		    
function hideProgress(name)   
	{      
	
		//progressDiv = document.getElementById('response_detail_div');
		//progressDiv.style.visibility='hidden';
		/*Removes the display data. */
		//alert(progressViewer.id)
		if(name =='print')
			{
			progressViewer = tmpWin.document.getElementById('response_detail');
			progressDiv = tmpWin.document.getElementById('response_detail_div');
			progressDiv.style.visibility='hidden';
			}
		else
			{
			progressViewer = document.getElementById(name);
			//progressDiv = document.getElementById('response_detail_div');
			}      
		
		progressViewer.innerHTML = "";
		progressViewer.align='left'    
	}
/**************************************      ASSESSED PRODUCTS SPECIFIC FUNCTIONS      ***************************************/
function initValues()
	{
	// Resets the Quick Search form values to their initial settings.
	if(typeof(document.frm_quick_search) != 'undefined')
		{
		document.frm_quick_search.product_name.value ='*Any Product Name*';
		document.frm_quick_search.product_reference.value ='*Any Product Reference*';
		document.frm_quick_search.supplier.selectedIndex=0;
		document.frm_quick_search.assessment_period.selectedIndex=0;
		document.frm_quick_search.product_class.selectedIndex=0;
		document.frm_quick_search.approval_type.selectedIndex=0;
		document.frm_quick_search.approval_type_list.value ="";
		document.frm_quick_search.product_class_list.value ="";
		document.frm_quick_search.product_class_display.value ="";
		document.frm_quick_search.class_opt.value ="";
		document.frm_quick_search.approval_opt.value ="";
		document.frm_quick_search.dt_from.value ="";
		document.frm_quick_search.dt_to.value ="";
		document.frm_quick_search.run_print.value ="false";
		document.frm_quick_search.run_csv.value ="false";
		ingredients_only =false;
		}
	}

function getOn(nom){
document.images[nom].src = eval(nom + 'on').src;
}
function getOff(nom){
document.images[nom].src = eval(nom + 'off').src;
}

function checkForOpener()
{
var result=false
if(typeof(self.opener))
	{
	result=true;
	}
}

function retrievePage(pageOption)
{
runOpener=false;
if(checkForOpener) {runOpener=true}
if(!runOpener)
	{
	switch(pageOption)
		{
		case 'faq':
		var url="appProdIndex.cfm?app_ProdAction=faq";
		break;
		case 'contactInfo':
		var url="appProdIndex.cfm?app_ProdAction=contactInfo";
		break;
		case 'appForm':
		var url="appProdIndex.cfm?app_ProdAction=appForm";
		break;
		}
	self.location.href=url;
	}
else
	{
	switch(pageOption)
		{
		/*Await locations known within the asureQuality.com website.*/
		case 'faq':
			var url="https://secure.asurequality.com";
		break;
		case 'contactInfo':
			var url="https://secure.asurequality.com";
		break;
		case 'appForm':
			var url="https://secure.asurequality.com";
		break;
		opener.location.href=url;
		self.close();
		}
	}

}
function onloadAction()
	{
	
	setTimeout("ajaxAction('getHome','frm_quick_search',false);", 500);
	setTimeout('document.frm_quick_search.reset(); document.frm_quick_search.product_name.focus();document.frm_quick_search.product_name.select();', 1000);
	}
	function validateForm()
	{
	result = true;
	var formObj = document.frm_quick_search;
	var nameDefault = (formObj.product_name.value ==('*Any Product Name*' || '') ? true : false);
	
	var refDefault = (formObj.product_reference.value ==('*Any Product Reference*' || '') ? true : false);	
	
	var supDefault = (formObj.supplier.value =='All' ? true : false);
	
	var periodDefault = (formObj.assessment_period.value == 'none' ? true : false);
	
	var classDefault = (formObj.product_class_list.value == '' ? true : false);
	
	var typeDefault = (formObj.approval_type_list.value == '' ? true : false);
	if(nameDefault && refDefault && supDefault && periodDefault && classDefault && typeDefault)
		{
		alert('No criteria selected to search on')
		result = false;
		}
	if(result && !classDefault)
		{
		var classVal = formObj.product_class_list.value;
		if(eval(classVal.valueOf()-0) == 'NaN') {result=false;}
		}
	if(result && !typeDefault)
		{
		var typeVal = formObj.approval_type_list.value;
		if(eval(typeVal.valueOf()-0) == 'NaN') {result=false;}
		}
	return(result)
	}
/*
function getOn(nom){
document.images[nom].src = eval(nom + 'on').src;
}
function getOff(nom){
document.images[nom].src = eval(nom + 'off').src;
}

function checkForOpener()
{
var result=false
if(typeof(self.opener))
	{
	result=true;
	}
}*/
function divPrint()
{
	//var ajaxDiv = getRef('response_detail_div');
	if(typeof(document.frm_quick_search.run_print) == 'object' && typeof(document.self_submit.query_receive_vals) == 'object')
		{
		document.frm_quick_search.run_print.value='true';
		document.self_submit.query_send_vals='';
		document.frm_quick_search.query_send_vals.value = document.self_submit.query_receive_vals.value;
		document.frm_quick_search.run_csv.value='false';	
		if(arguments.length > 0 && arguments[0]== 'csv')
			{
			document.frm_quick_search.run_csv.value='true';	
			//alert('Running runSearch')
			}
		//
		ajaxAction('runSearch','frm_quick_search',false);
		}
	else
		{
			alert('Error!\n\nMissing values. Could not run print request!');
		}
	
			
	
		
}
/*
function retrievePage(pageOption)
{
runOpener=false;
if(checkForOpener) {runOpener=true}
if(!runOpener)
	{
	switch(pageOption)
		{
		case 'faq':
		var url="appProdIndex.cfm?app_ProdAction=faq";
		break;
		case 'contactInfo':
		var url="appProdIndex.cfm?app_ProdAction=contactInfo";
		break;
		case 'appForm':
		var url="appProdIndex.cfm?app_ProdAction=appForm";
		break;
		}
	self.location.href=url;
	}
else
	{
	switch(pageOption)
		{
		case 'faq':
			var url="https://secure.asurequality.com";
		break;
		case 'contactInfo':
			var url="https://secure.asurequality.com";
		break;
		case 'appForm':
			var url="https://secure.asurequality.com";
		break;
		opener.location.href=url;
		self.close();
		}
	}

}
*/

function generateBreadCrumb(fuse)
{
	try
	{
	//var excludeFuseList = 'getFaq,getAppForm,getContact,processlogin,getQuickSearch';//Set at top of script
	var fuseOk =true;
	var arXList = excludeFuseList.split(',');
	var bc_codeString="";
	var bc_DisplayString ="";
	var bcObj=null;
	var sDelimiter="~";
	var bRunSearchFound = false;
	var bLoginFound =false;
	var bFuseExists = false;
	var sAnchorStart="<A href=\'javascript:void(0)\' onClick=\"ajaxAction(";
	var sAnchorMid="";
	var sAnchorEnd="<\/a>";
	for(var f=0; f< arXList.length; f++)
		{
			if(fuse == arXList[f]){fuseOk=false; break;}// fuse found in exclude list
				
		}/**/
	if(fuseOk && typeof(document.bread_crumb.breadcrumb) == 'object')
		{
			bcObj= getRef('breadcrumbs');
			bc_codeString=document.bread_crumb.breadcrumb.value;
			bc_DisplayString = bcObj.innerHTML;
			var arBC = bc_codeString.split(sDelimiter);
			var arDS = bc_DisplayString.split('~');
			if(bc_codeString.length > 0)// If already filled then create array for further analysis
				{
					
					for(var b=0;b<arBC.length; b++)
						{
							/*if(arBC[b] == 'runSearch')
								{
									bRunSearchFound=true; 
								
								}*/
							
								
							if(arBC[b] == fuse && fuse  != 'getHome' && fuse != 'login')// Does the fuse already exist in the breadcrumb?
								{
									bFuseExists=true;
									break;
								}
						}
				}
			if(fuse == 'getHome' )//Is the request to return to home?
				{
					bc_codeString='getHome';
					sDelimiter="";
					bc_DisplayString = sAnchorStart+"\'"+fuse+"\',\'frm_quick_search\',false)\">"+displayFuse+sAnchorEnd // displayFuse set above;
					fuseOk =false;
					bFuseExists=false;// dont bother with the bFuseExist clause
				}// For home empty the delimiter
			if(fuse == 'login' )//Is the request to return to home?
				{
					bc_codeString='getHome~login';
					sDelimiter="";
					bc_DisplayString=sAnchorStart+"\'getHome\',\'frm_quick_search\',false)\">Home<\/a> ~ "+sAnchorStart+"\'login\',\'frm_quick_search\',false)\">Login"+sAnchorEnd
					fuseOk =false;
					bFuseExists = false;// dont bother with the bFuseExist clause
				}// For login empty the delimiter
				
			if(fuseOk && bFuseExists)
				{
					
					bFuseExists = false;
					// Confirm as supplier detail and product detail use the same fuse but display differently
					for(var d=0;d<arDS.length;d++)
						{
							var thisText = arDS[d];
							var rl = thisText.match(displayFuse);
							//alert(rl)
							if(rl != null)
								{
									bFuseExists=true; 
									break;
								}
						}
			if(fuseOk && fuse == 'runSearch' && bRunSearchFound )//Has a second results been found.
				{
					//bc_DisplayString= 'Home~Results';
					bc_codeString='getHome';
					bc_DisplayString=sAnchorStart+"\'getHome\',\'frm_quick_search\',false)\">Home<\/a>"
					if(bLoginFound)
						{
							bc_DisplayString+= " "+sDelimiter+" "+sAnchorStart+"\'login\',\'frm_quick_search\',false)\">Login"+sAnchorEnd
							bc_codeString+= '~login';
						}
					bc_DisplayString+= " "+sDelimiter+" "+sAnchorStart+"\'runSearch\',\'frm_quick_search\',false)\">Results"+sAnchorEnd
					bc_codeString+= '~runSearch';
					fuseOk =false;
					bFuseExists=false;
				}
				
				if(bFuseExists)// Still exists after confimation
					{
						fuseOk=false;
						bc_DisplayString=sAnchorStart+"\'getHome\',\'frm_quick_search\',false)\">Home<\/a> ";
						bc_codeString='getHome';
						for(var b=0;b<arBC.length; b++)
							{
								if(arBC[b] == fuse)// Does the fuse already exist in the breadcrumb?
									{
										bc_codeString += (b>0)?sDelimiter+arBC[b]:'';
										bc_DisplayString+= (b>0)?sDelimiter+arDS[b]:'';
										break;// Exit after finding matching fuse.
									}
								else
									{
									bc_codeString += (b>0)?sDelimiter+arBC[b]:'';
									bc_DisplayString+= (b>0)?sDelimiter+arDS[b]:'';
									}
							}
					}
				
				}
			
			
			if(fuseOk )
				{
				bc_codeString += sDelimiter+operationVal
				
				bc_DisplayString += " "+sDelimiter+" "+sAnchorStart+"\'"+fuse+"\',\'frm_quick_search\',false)\">"+displayFuse+sAnchorEnd // displayFuse set above;
				
				}
				//alert(bc_DisplayString)
				bcObj.innerHTML=bc_DisplayString;
				document.bread_crumb.breadcrumb.value='';
				document.bread_crumb.breadcrumb.value=bc_codeString;/**/
			
		}
	}
	catch(e)
		{
			alert(e.message);
		}
}
