// JavaScript Document
function createWin(rid){
ColdFusion.Window.create('Window1','some window','',{x:100,y:100,height:300,width:400,modal:false,closable:true,collapsible:true,draggable:true,resizable:true,center:true,initshow:true})
var w = ColdFusion.Window.getWindowObject('Window1');
ColdFusion.navigate('/inc/productedit.cfm?rid='+rid,'Window1');
}

function createUploadWin(){
ColdFusion.Window.create('Window2','Image Upload','',{x:100,y:100,height:300,width:400,modal:false,closable:true,collapsible:true,draggable:true,resizable:true,center:true,initshow:true})
var w = ColdFusion.Window.getWindowObject('Window2');
ColdFusion.navigate('/inc/iframe.cfm','Window2');
}

function createHelpWin(){
ColdFusion.Window.create('HelpWin','','',{x:100,y:100,height:300,width:400,modal:false,closable:true,collapsible:true,draggable:true,resizable:true,center:true,initshow:true})
var w = ColdFusion.Window.getWindowObject('HelpWin');
ColdFusion.navigate('/inc/help.cfm','HelpWin');
}

function hideUploadWin(){
ColdFusion.Window.hide('Window2');
}


getSelectedString = function(){
   var s = ColdFusion.getElementValue('supplierid');
   return s; 
}

getNextTab = function(){
   var s = ColdFusion.Layout.enableTab('productInfoLayout','nutritionTab');
   ColdFusion.Layout.selectTab('productInfoLayout','nutritionTab');return false;
	return s;
}

cancelNewIngrediant = function(){ColdFusion.navigate('/inc/catalogs/catalogs_inc.cfm','content-main');}

function RemoveProductFromWatchlist(userId, productId)
{
	var p = new productsProxy();
	p.setSyncMode();
	p.RemoveFromWatchList(userId, productId);
	ColdFusion.Grid.refresh('catalogsGrid', true);
}

function AddProductToWatchlist(userId, productId)
{
		
	var p = new productsProxy();
	p.setSyncMode();
	p.AddToWatchList(userId, productId);
	ColdFusion.Grid.refresh('catalogsGrid', true);
}

function productPreview(rid) {
	ColdFusion.Window.create('productPreview', 'Product Preview', '', {center: true, initshow: true, resizable: false, modal: true, height: 650,width:900, closable: true, collapsible:true}); 
	ColdFusion.navigate('/inc/ProductPreview.cfm?rid='+ rid, 'productPreview'); 
}

function editProduct(rid) {
	ColdFusion.navigate('/inc/catalogs/updateProduct.cfm?rid='+ rid,'catProdDiv'); 
}

function deleteThisProduct(rid) {
if (confirm('Are you sure you want to delete this product?')) {DeleteProduct(rid);} 
}

function DeleteProduct(productId)
{
	var p = new productsProxy();
	p.setSyncMode();
	p.DeleteProduct(productId);
	ColdFusion.Grid.refresh('catalogsGrid', true);
}

function fixgrid() {
   g = ColdFusion.Grid.getGridObject('catalogsGrid');
   cols = g.getColumnModel();
   for(var i=0; i < cols.getColumnCount(); i++) {
      var thisid = cols.getColumnId(i);
      var thiscol = cols.getColumnById(thisid);
      if ((thiscol.header == "Action") || (thiscol.header == "Description")) thiscol.sortable = false;
   }
   
   
   
    function submitFormToSession() {
        ColdFusion.Ajax.submitForm('myform', 'inc/recipes/recipeformhandler.cfm', callback,
            errorHandler);
    }
    
    function callback(text)
    {
        alert("Callback: " + text);
    }
    
    function errorHandler(code, msg)
    {
        alert("Error!!! " + code + ": " + msg);
    }
   
}

function selectAllAttributesInCategory(categoryId)
{
	if (document.getElementById('selectAll' + categoryId).checked)
	{
		for (i = 0; i < document.attributeForm.attributes.length; i++)
		{
			if (document.attributeForm.attributes[i].className == 'CATEGORY' + categoryId)
			{
				document.attributeForm.attributes[i].checked = true;
			}				
		}
	}
	else
	{
		for (i = 0; i < document.attributeForm.attributes.length; i++)
		{
			if (document.attributeForm.attributes[i].className == 'CATEGORY' + categoryId)
			{
				document.attributeForm.attributes[i].checked = false;
			}				
		}
	}
}

function initcatalogsGrid(){
	var grid = ColdFusion.Grid.getGridObject("catalogsGrid");
	var gridHead = grid.getView().getHeaderPanel(true);  
	var tbar = new Ext.Toolbar(gridHead);

	tbar.addButton({
		text:"Add Product",
		cls:"x-btn-text-icon",
		icon:"/img/add.png",
		handler:onAddCat
	});
	tbar.addButton({
		text: "Import Order Guide",
		cls: "x-btn-text-icon",
		icon: "/img/add.png",
		handler: onUploadPriceSheetClick
	});
	tbar.addElement('msgDiv');
	tbar.addFill();
	tbar.addText('Catalogs');
	tbar.addElement('filterValue');
	tbar.addText("Search Catalogs");
	tbar.addElement('searchValue');
	tbar.addButton({	
		text:"Clear",		   
		cls:"x-btn-text-icon",
		icon:"/img/icon-filter.gif",
		handler:onRemoveFilter
	});
	tbar.addButton({
		cls:"x-btn-text-icon",
		icon:"/img/information.png",
		handler:onCatalogHelp
	});	
	
	grid.getDataSource().on('load', function() { setTimeout( "document.getElementById('filterValue').disabled = false;", 1000)});
}

function onAddCat()
{
	var catvar = (document.getElementById('filterValue').value); 
	ColdFusion.navigate('/inc/catalogs/newProduct.cfm?cat=' +catvar,'catProdDiv');
}

onUploadPriceSheetClick = function() {
	ColdFusion.Window.create(
		"uploadPriceSheetWindow",
		"Upload Price Sheet",
		"",
		{width: 990, height: 555, center: true, modal: true, resizable: false}
	);
	ColdFusion.navigate("/inc/catalogs/pricesheetuploadformcontainer.cfm", "uploadPriceSheetWindow");
}

function onAddCatalogItem()
{
	//ColdFusion.navigate('/inc/productinformation_inc.cfm','content-main');
}

function onCatalogHelp()
{
	window.open('/help.cfm?mapID=301','help','width=700,height=400,menubar=no,status=yes,location=no,toolbar=no,scrollbars=yes');
}

function onRemoveFilter()
{
	document.getElementById('searchValue').value = "";
//	document.getElementById('filterValue').value = "";
	ColdFusion.Grid.refresh('catalogsGrid', true);
}

function initProductToolbar00(){
	tbProducts = new Ext.Toolbar('productToolbarContainer');	
	tbProducts.addElement('msgDiv');
	tbProducts.addFill();
	
  {
	  
	tbProducts.addButton({						 
			text: "Save and Finish",
			cls: "x-btn-text-icon",
			icon: "/img/disk.png",
			handler: onProductSaveAndFinish
		});
	
	tbProducts.addButton({
		text: "Save and New",
		cls: "x-btn-text-icon",
		icon: "/img/disk_multiple.png",
		handler: onProductSaveAndNew
	});
	
	tbProducts.addButton({
		text: "Cancel",
		cls: "x-btn-text-icon",
		icon: "/img/delete.png",
		handler: onPreviousPageProducts
	});
	
	tbProducts.add(new Ext.Toolbar.Separator());
	
	tbProducts.addButton({
		cls: "x-btn-text-icon",
		icon: "/img/information.png",
		handler: onProductsHelp
	});
	
	}
}	

function initProductToolbar0(){
	tbProducts = new Ext.Toolbar('productToolbarContainer');	
	tbProducts.addElement('msgDiv');
	tbProducts.addFill();
	
  {	  
	
	tbProducts.addButton({
		text: "Cancel",
		cls: "x-btn-text-icon",
		icon: "/img/delete.png",
		handler: onPreviousPageProducts
	});
	
	tbProducts.add(new Ext.Toolbar.Separator());
	
	tbProducts.addButton({
		cls: "x-btn-text-icon",
		icon: "/img/information.png",
		handler: onProductsHelp
	});
	
	}
}	

function initProductToolbar1(){
	tbProducts = new Ext.Toolbar('productToolbarContainer');	
	tbProducts.addElement('msgDiv');
	tbProducts.addFill();
	
  {	  
	
	tbProducts.addButton({
		text: "Cancel",
		cls: "x-btn-text-icon",
		icon: "/img/delete.png",
		handler: onPreviousPageProducts
	});
	
	tbProducts.add(new Ext.Toolbar.Separator());
	
	tbProducts.addButton({
		cls: "x-btn-text-icon",
		icon: "/img/information.png",
		handler: onProductsHelp
	});
	
	}
}	

function initProductToolbar2(){
	tbProducts = new Ext.Toolbar('productToolbarContainer');	
	tbProducts.addElement('msgDiv');
	tbProducts.addFill();
	
  {	  
	
		tbProducts.addButton({						 
			text: "Save and Finish",
			cls: "x-btn-text-icon",
			icon: "/img/disk.png",
			handler: onProductSaveAndFinish
		});		
	
	tbProducts.addButton({
		text: "Cancel",
		cls: "x-btn-text-icon",
		icon: "/img/delete.png",
		handler: onPreviousPageProducts
	});
	
	tbProducts.add(new Ext.Toolbar.Separator());
	
	tbProducts.addButton({
		cls: "x-btn-text-icon",
		icon: "/img/information.png",
		handler: onProductsHelp
	});
	
	}
}	

function initProductToolbar3(){
	tbProducts = new Ext.Toolbar('productToolbarContainer');	
	tbProducts.addElement('msgDiv');
	tbProducts.addFill();
	
  {	  
	
	tbProducts.addButton({						 
			text: "Save and Finish",
			cls: "x-btn-text-icon",
			icon: "/img/disk.png",
			handler: onProductSaveAndFinish
		});
	
	tbProducts.addButton({
		text: "Save and New",
		cls: "x-btn-text-icon",
		icon: "/img/disk_multiple.png",
		handler: onProductSaveAndNew
	});
	
	tbProducts.addButton({
		text: "Cancel",
		cls: "x-btn-text-icon",
		icon: "/img/delete.png",
		handler: onPreviousPageProducts
	});
	
	tbProducts.add(new Ext.Toolbar.Separator());
	
	tbProducts.addButton({
		cls: "x-btn-text-icon",
		icon: "/img/information.png",
		handler: onProductsHelp
	});
	
	}
}	

function initProductToolbar4(){
	tbProducts = new Ext.Toolbar('productToolbarContainer');	
	tbProducts.addElement('msgDiv');
	tbProducts.addFill();
	
  {	  		
	
	tbProducts.addButton({
		text: "Cancel",
		cls: "x-btn-text-icon",
		icon: "/img/delete.png",
		handler: onPreviousPageProducts
	});
	
	tbProducts.add(new Ext.Toolbar.Separator());
	
	tbProducts.addButton({
		cls: "x-btn-text-icon",
		icon: "/img/information.png",
		handler: onProductsHelp
	});
	
	}
}	

function initProductToolbar5(){
	tbProducts = new Ext.Toolbar('productToolbarContainer');	
	tbProducts.addElement('msgDiv');
	tbProducts.addFill();
	
  {	  
	
	tbProducts.addButton({						 
			text: "Save and Finish",
			cls: "x-btn-text-icon",
			icon: "/img/disk.png",
			handler: onProductSaveAndFinish
		});
	
	tbProducts.addButton({
		text: "Save and New",
		cls: "x-btn-text-icon",
		icon: "/img/disk_multiple.png",
		handler: onProductSaveAndNew
	});
	
	tbProducts.addButton({
		text: "Cancel",
		cls: "x-btn-text-icon",
		icon: "/img/delete.png",
		handler: onPreviousPageProducts
	});
	
	tbProducts.add(new Ext.Toolbar.Separator());
	
	tbProducts.addButton({
		cls: "x-btn-text-icon",
		icon: "/img/information.png",
		handler: onProductsHelp
	});
	
	}
}	

		
	
	
	
	

	

//	if ((document.getElementById('acl').value == 1) || (document.getElementById('acl').value ==2))

//	
//	
//	{
//		tbProducts.addButton({
//			text: "Save and Finish",
//			cls: "x-btn-text-icon",
//			icon: "/img/disk.png",
//			handler: onProductSaveAndFinish
//		});
//		
//}
	
	
//if (document.getElementById('acl').value == 2) 
//	{
//	tbProducts.add(new Ext.Toolbar.Separator());
//	tbProducts.addButton({
//		text: "Save and New",
//		cls: "x-btn-text-icon",
//		icon: "/img/disk_multiple.png",
//		handler: onProductSaveAndNew
//	});
//	}
//	
//	tbProducts.add(new Ext.Toolbar.Separator());
//	tbProducts.addButton({
//		text: "Cancel",
//		cls: "x-btn-text-icon",
//		icon: "/img/delete.png",
//		handler: onPreviousPageProducts
//	});
//	tbProducts.add(new Ext.Toolbar.Separator());
//	tbProducts.addButton({
//		cls: "x-btn-text-icon",
//		icon: "/img/information.png",
//		handler: onProductsHelp
//	});
//	


 				isOnlySpaces = function(s) {
                for (var i = 0; i < s.length; i++) {
                                if (s.charAt(i) != " ") {
                                                return false;
                                }
                }
                return true;
}


				isEmptyStr = function(s) {
					if( (s == '')||(isOnlySpaces(s)))
					return true;
				}

	
	function validateMap(){
		
	
	if (isEmptyStr(document.getElementById('displayname').value)) {		
		alert('You must fill in the Display Name to map a product to an ESHA value');			
		return false;
		}
		
		else {validateGramWeight();}
	}
	
	function validateGramWeight(){
	if (isEmptyStr(document.getElementById('ServingsInGrams').value)) {		
		alert('You must specify Servings in Grams to map a product to an ESHA value');						 
		return false;
		}
		else{createESHASearchWindow(document.getElementById('displayname').value);}
	}
	
	
	
	function validateFields (){		
		var errorMessage = '';		
		var formisvalid = true;
		
		
		
		if (isEmptyStr(document.getElementById('sku').value)) {
			errorMessage += 'A Product SKU is required\n';
			formisvalid = false;
		}
		
		if (isEmptyStr(document.getElementById('price').value)) {
			errorMessage += 'A Price Per Case is required\n';
			formisvalid = false;
		}
		
		if (isEmptyStr(document.getElementById('displayname').value)) {
			errorMessage += 'A Display Name is required\n';
			formisvalid = false;
		}
		
		if (isEmptyStr(document.getElementById('name').value)) { 
			errorMessage += 'A Product Name is required\n';
			formisvalid = false;
		}
		
		// Units per case
		if (document.getElementById('packageQuantity').value != '') {
			if (document.getElementById('packageQuantity').value != parseInt(document.getElementById('packageQuantity').value)) {
				errorMessage += 'Please enter a valid whole number for Units Per Case.\n';
				formisvalid = false;
			}
		}
		
		// Unit size
		if (document.getElementById('packageSize').value != '') {
			if (document.getElementById('packageSize').value != parseInt(document.getElementById('packageSize').value)) {
				errorMessage += 'Please enter a valid whole number for Unit Size.\n';
				formisvalid = false;
			}
		}

		// Servings per unit
		if (document.getElementById('ServingsPerPackage').value != '') {
			if (document.getElementById('ServingsPerPackage').value != parseInt(document.getElementById('ServingsPerPackage').value)) {
				errorMessage += 'Please enter a valid whole number for Servings Per Unit.\n';
				formisvalid = false;
			}
		}

		// Serving Size
		if (document.getElementById('ServingsSize').value != '') {
			if (document.getElementById('ServingsSize').value != parseInt(document.getElementById('ServingsSize').value)) {
				errorMessage += 'Please enter a valid whole number for Serving Size.\n';
				formisvalid = false;
			}
		}

		if (!formisvalid) {
			alert(errorMessage);
			return false
		}
		
		return true
	}
	
	function isEmpty (id){
		if (document.getElementById(id)) {
//			ColdFusion.Log.debug(id);
			if (document.getElementById(id).value == '')
				return true;
			else
				return false;
		}
		else
			return true;
	}

	function onProductSaveAndNew() {     
		if (validateFields()) {
			//var catvar = (document.getElementById('filterValue').value); 
			ColdFusion.Ajax.submitForm(
				'newProductFrm',
				'/inc/catalogs/newProduct.cfm',
				function(rb) {console.log("New Product form submission - Response body: " + rb)},
				function(sc, em) {console.log("New Product form submission error - Status code: " + sc + ", Error message: " + em)},
				"POST",
				false
			);
			ColdFusion.navigate('/inc/catalogs/newProduct.cfm', 'catProdDiv');
			//location.assign("/catalogs.cfm")
		}
	}
	
	function onProductSaveAndFinish() {
	
		if (validateFields()) {
			//var catvar = (document.getElementById('thiscat').value); 
			ColdFusion.Ajax.submitForm(
				'newProductFrm',
				'/inc/catalogs/newProduct.cfm',
				function(rb) {console.log("New Product form submission - Response body: " + rb)},
				function(sc, em) {console.log("New Product form submission error - Status code: " + sc + ", Error message: " + em)},
				"POST",
				false
			);
			//ColdFusion.navigate('/inc/catalogs/catalogsProductList.cfm?cat=' +catvar, 'catProdDiv');
			location.assign("/catalogs.cfm");
		}
	}
    	
	
	function onPreviousPageProducts()
	{
		
		location.assign("/catalogs.cfm?clearSysMsg")
		
		//ColdFusion.navigate('/catalogs.cfm')
		//ColdFusion.navigate('/inc/catalogs/catalogsProductList.cfm', 'catProdDiv')
		//ColdFusion.Grid.refresh('catalogsGrid', true);
		
	}
	
	
	function onProductsHelp()
{
	window.open('/help.cfm?mapID=302','help','width=700,height=400,menubar=no,status=yes,location=no,toolbar=no,scrollbars=yes');
}
	  








function initUpdateProductToolbar() {
	tbUpdateProducts = new Ext.Toolbar('updateProductToolbarContainer');	
	tbUpdateProducts.addElement('msgDiv');
	tbUpdateProducts.addFill();
	tbUpdateProducts.addButton({
		text:"Save and Finish",
		cls:"x-btn-text-icon",
		icon:"/img/disk.png",
		handler:onUpdateProductSaveAndFinish
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
    text:"Save and New",
	cls:"x-btn-text-icon",
	icon:"/img/disk_multiple.png",
	handler:onUpdateProductSaveAndNew
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		text:"Cancel",
		cls:"x-btn-text-icon",
		icon:"/img/delete.png",
		handler:onUpdatePreviousPageProducts
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		cls:"x-btn-text-icon",
		icon:"/img/information.png",
		handler:onUpdateProductsHelp
	});	
	
}

function initUpdateProductToolbar00() {
	tbUpdateProducts = new Ext.Toolbar('updateProductToolbarContainer');	
	tbUpdateProducts.addElement('msgDiv');
	tbUpdateProducts.addFill();
	tbUpdateProducts.addButton({
		text:"Save and Finish",
		cls:"x-btn-text-icon",
		icon:"/img/disk.png",
		handler:onUpdateProductSaveAndFinish
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
    text:"Save and New",
	cls:"x-btn-text-icon",
	icon:"/img/disk_multiple.png",
	handler:onUpdateProductSaveAndNew
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		text:"Cancel",
		cls:"x-btn-text-icon",
		icon:"/img/delete.png",
		handler:onUpdatePreviousPageProducts
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		cls:"x-btn-text-icon",
		icon:"/img/information.png",
		handler:onUpdateProductsHelp
	});	
	
}

function initUpdateProductToolbar1() {
	tbUpdateProducts = new Ext.Toolbar('updateProductToolbarContainer');	
	tbUpdateProducts.addElement('msgDiv');
	tbUpdateProducts.addFill();	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		cls:"x-btn-text-icon",
		icon:"/img/information.png",
		handler:onUpdateProductsHelp
	});	
	
}

function initUpdateProductToolbar2() {
	tbUpdateProducts = new Ext.Toolbar('updateProductToolbarContainer');	
	tbUpdateProducts.addElement('msgDiv');
	tbUpdateProducts.addFill();
	tbUpdateProducts.addButton({
		text:"Save and Finish",
		cls:"x-btn-text-icon",
		icon:"/img/disk.png",
		handler:onUpdateProductSaveAndFinish
	});		
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		text:"Cancel",
		cls:"x-btn-text-icon",
		icon:"/img/delete.png",
		handler:onUpdatePreviousPageProducts
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		cls:"x-btn-text-icon",
		icon:"/img/information.png",
		handler:onUpdateProductsHelp
	});	
	
}

function initUpdateProductToolbar3() {
	tbUpdateProducts = new Ext.Toolbar('updateProductToolbarContainer');	
	tbUpdateProducts.addElement('msgDiv');
	tbUpdateProducts.addFill();
	tbUpdateProducts.addButton({
		text:"Save and Finish",
		cls:"x-btn-text-icon",
		icon:"/img/disk.png",
		handler:onUpdateProductSaveAndFinish
	});	
	//tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	//tbUpdateProducts.addButton({
    //text:"Save and New",
	//cls:"x-btn-text-icon",
	//icon:"/img/disk_multiple.png",
	//handler:onUpdateProductSaveAndNew
	//});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		text:"Cancel",
		cls:"x-btn-text-icon",
		icon:"/img/delete.png",
		handler:onUpdatePreviousPageProducts
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		cls:"x-btn-text-icon",
		icon:"/img/information.png",
		handler:onUpdateProductsHelp
	});	
	
}

function initUpdateProductToolbar4() {
	tbUpdateProducts = new Ext.Toolbar('updateProductToolbarContainer');	
	tbUpdateProducts.addElement('msgDiv');
	tbUpdateProducts.addFill();
	tbUpdateProducts.addButton({
		text:"Save and Finish",
		cls:"x-btn-text-icon",
		icon:"/img/disk.png",
		handler:onUpdateProductSaveAndFinish
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
    text:"Save and New",
	cls:"x-btn-text-icon",
	icon:"/img/disk_multiple.png",
	handler:onUpdateProductSaveAndNew
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		text:"Cancel",
		cls:"x-btn-text-icon",
		icon:"/img/delete.png",
		handler:onUpdatePreviousPageProducts
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		cls:"x-btn-text-icon",
		icon:"/img/information.png",
		handler:onUpdateProductsHelp
	});	
	
}

function initUpdateProductToolbar5() {
	tbUpdateProducts = new Ext.Toolbar('updateProductToolbarContainer');	
	tbUpdateProducts.addElement('msgDiv');
	tbUpdateProducts.addFill();
	tbUpdateProducts.addButton({
		text:"Save and Finish",
		cls:"x-btn-text-icon",
		icon:"/img/disk.png",
		handler:onUpdateProductSaveAndFinish
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
    text:"Save and New",
	cls:"x-btn-text-icon",
	icon:"/img/disk_multiple.png",
	handler:onUpdateProductSaveAndNew
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		text:"Cancel",
		cls:"x-btn-text-icon",
		icon:"/img/delete.png",
		handler:onUpdatePreviousPageProducts
	});	
	tbUpdateProducts.add(new Ext.Toolbar.Separator()); 
	tbUpdateProducts.addButton({
		cls:"x-btn-text-icon",
		icon:"/img/information.png",
		handler:onUpdateProductsHelp
	});	
	
}


{
	function onUpdateProductsHelp() {
		window.open('/help.cfm?mapID=004','help','width=700,height=400,menubar=no,status=yes,location=no,toolbar=no,scrollbars=yes');
	}
	
/*
	function validateFields (){		
		var myHumps = '';		
		var formisvalid=true;
		if(isEmpty('sku')) {
			myHumps+='A Product SKU is required\n';
			formisvalid=false;
			}
			if(isEmpty('price')) {
			myHumps+='A Product Price is required\n';
			formisvalid=false;
			}
			if(isEmpty('displayname')) {
			myHumps+='A Display Name is required\n';
			formisvalid=false;
			}
			if(isEmpty('name')) {
			myHumps+='A Product Name is required\n';
			formisvalid=false;
			}
		if(!formisvalid){alert(myHumps); return false} return true
	}
	*/
	
/*
function isEmpty (id){
		if(document.getElementById(id).value=='') return true; else return false
	}
	*/
	
	function onUpdateProductSaveAndNew() { 	    	
		if (validateFields()) {
			alert('Your Product has been saved');
			ColdFusion.Ajax.submitForm(
				'editProductFrm',
				'/inc/catalogs/updateProduct.cfm',
				function(rb) {console.log("New Product form submission - Response body: " + rb)},
				function(sc, em) {console.log("New Product form submission error - Status code: " + sc + ", Error message: " + em)},
				"POST",
				false
			);
			ColdFusion.navigate('/inc/catalogs/newProduct.cfm', 'catProdDiv');
		}
	}
	
	function onUpdateProductSaveAndFinish() {      	
		if (validateFields()) {
			ColdFusion.Ajax.submitForm(
				'editProductFrm',
				'/inc/catalogs/updateProduct.cfm',
				function(rb) {console.log("New Product form submission - Response body: " + rb)},
				function(sc, em) {console.log("New Product form submission error - Status code: " + sc + ", Error message: " + em)},
				"POST",
				false
			);
			//ColdFusion.navigate('/inc/catalogs/catalogsProductList.cfm', 'catProdDiv');
			location.assign("/catalogs.cfm")
		}
	}
    	
	
	function onUpdatePreviousPageProducts()
	{
		//ColdFusion.navigate('/inc/catalogs/catalogsProductList.cfm', 'catProdDiv');	
		location.assign("/catalogs.cfm")
	}
	
/*	
	function onProductsHelp()
{
		 ColdFusion.Window.create('WindowPlateHelp', 'Create a New Plate',
        '/inc/help/helpMessaging.cfm',
        {x:100,y:100,height:400,width:600, padding:0, modal:true,closable:true,
        draggable:true,resizable:true,center:true,initshow:true,
        minheight:200,minwidth:200 })
}*/
function onProductsHelp(button, event)
{
	window.open('/help.cfm?mapID=302','help','width=700,height=400,menubar=no,status=yes,location=no,toolbar=no,scrollbars=yes');
}
	  
}

isEsha = function(val) {
	return ((val > 0) && (val < 1000000000)) ? '<img src="/img/esha.png" border="0" />' : '';
}


function initEshaSearchGrid() {
	var grid = ColdFusion.Grid.getGridObject("ESHASearchGrid");
	var gridHead = grid.getView().getHeaderPanel(true);  
	var tbEshaSearch = new Ext.Toolbar(gridHead);
	tbEshaSearch.addElement('magnifier');
	tbEshaSearch.addElement('EshaSearchText');
	tbEshaSearch.addButton({	
		test:"Clear",		   
		cls:"x-btn-text-icon",
		icon:"/img/icon-filter.gif",
		handler:onRemoveFilterEsha
	});
	tbEshaSearch.addFill();
	tbEshaSearch.addButton({
		cls:"x-btn-text-icon",
		icon:"/img/information.png",
		handler:onEshaSearchHelp
	});
	
	grid.on("rowclick", function(g, rowIndex, e) {submitEshaSearchForm(grid.getDataSource().getAt(rowIndex).get("REFNUM"), document.getElementById("ServingsInGrams").value);});
	
	// Disable sorting on columns with blank headers
	cols = grid.getColumnModel();
	for (var i = 0; i < cols.getColumnCount(); i++)
	{
		var thisid = cols.getColumnId(i);
		var thiscol = cols.getColumnById(thisid);
		if (thiscol.header == "")
		{
			thiscol.sortable = false;
			if (thiscol.dataIndex == "REFNUM") {
				thiscol.renderer = isEsha;
			}
		}
	}
	
	//ColdFusion.Grid.refresh('EshaSearchGrid', true);
	
function onRemoveFilterEsha()
	{
		document.getElementById('searchValue').value = "";
		ColdFusion.Grid.refresh('ESHASearchGrid', true);
	}

function onEshaSearchHelp()
{
	window.open('/help.cfm?mapID=304','help','width=700,height=400,menubar=no,status=yes,location=no,toolbar=no,scrollbars=yes');
}
}


    function submitEshaSearchForm(refNum) {
		var gramWeight = document.getElementById('ServingsInGrams').value;
		ColdFusion.navigate('/inc/catalogs/nutInfoForm.cfm?search='+ refNum + '&gramWeight='+gramWeight , 'nutInfoDiv')    
		
	}
	
	 function submitEshaMapForm() {
		var theName = document.getElementById('displayName').value;
		ColdFusion.navigate('/inc/catalogs/eshagrid.cfm?searchVar='+ theName, 'WindowEsha')    
		
	}
	
function onUploadProductImage() {
	ColdFusion.Window.create(
		'WindowUploadProductImage',
		'Upload an image of your Product',
        '',
        {height: 240, width: 340, modal: true, resizable: false, center: true}
	);
	ColdFusion.navigate('/inc/catalogs/uploadProductImageIFrame.cfm', 'WindowUploadProductImage');
}

function showProductImage() {
	var productImage = document.getElementById('productImage');
	var imageUploadLink = document.getElementById('imageUploadLink');

	productImage.style.top = imageUploadLink.style.top;
	productImage.style.left = (imageUploadLink.style.left + imageUploadLink.style.width);
	productImage.style.display = 'inline';	
}

function hideProductImage() {
	document.getElementById('productImage').style.display = 'none';
}

function setProductImageFilename(productImageFilename) {
	var productImage = document.getElementById('productImage');
	var imageUploadLink = document.getElementById('imageUploadLink');
	
	imageUploadLink.innerHTML = 'Click here to upload (mouse over to view)';
	document.getElementById('productImageFilename').value = productImageFilename.split('/').reverse()[0];
	productImage.src = productImageFilename;
	imageUploadLink.onmouseover = showProductImage;
	imageUploadLink.onmouseout = hideProductImage;
}

function calculateGramWeight ()
 {
var p = new getGramWeightProxy();
p.setSyncMode();	
document.getElementById('ServingsInGrams').value =  p.GetGramWeightForServingsInGrams(document.getElementById('ServingsSize').value, document.getElementById('ServingsSizeFractionID').value, document.getElementById('ServingsMeasureID').value);
 }
 
 function clearAll(){
      var frms = document.forms;
      for(var i = 0; i < frms.length; i++) { // for each form obj
            for(var j = 0; j < frms[i].length; j++) {
                  var input = frms[i][j]
                  inputType = input.type;
                  if(inputType == 'text') {
                        input.value = "";
                  }else if(inputType == 'radio'){
                        input.checked = false;
                  }else if(inputType == 'checkbox'){
                        input.checked = false;
                  }else if(inputType == 'select-one'){
                        input.selectedIndex = -1;
                  }else if(inputType == 'select-multiple'){
                        input.selectedIndex = -1;
                  }
            }
      }
}
 
createESHASearchWindow = function(searchText) {
	ColdFusion.Window.create(
		'WindowEsha',
		'Search ESHA Nutrient Database',
		'',
		{
			x: 80,
			y: 80,
			height: 478,
			width: 680
		}
	);
	ColdFusion.navigate('/inc/catalogs/eshaGrid.cfm?searchValue=' + searchText, 'WindowEsha');
}