
function fSetTotals(pmObject)
{
	var myObject = pmObject;
	//remove all errors
	//var myList = myForm.getElementsByTagName('input');
	//if(myObject.id.indexOf("")>-1){ alert(myObject.id.slice(myObject.id.indexOf("valuePerBottle")+14)); };
	
	var myGrandTotal = 0;
	for(var i=0; i< 15; i++)
	{
		var myValue = -1;
		var myBottlePriceId = document.getElementById("valuePerBottle" + (i+1));
		var myBottlePriceValue = parseFloat(myBottlePriceId.value);
		var myBottleCountId = document.getElementById("noOfBottles" + (i+1));
		var myBottleCountValue = parseInt(myBottleCountId.value);
		
		//if(isNaN(myBottlePriceValue) || isNaN(myBottleCountValue)){ myValue = -1; };
		
		var myValue = (isNaN(myBottlePriceValue * myBottleCountValue)) ? "" : (myBottlePriceValue * myBottleCountValue);
		//if(myValue!=""){ myValue = myValue.toFixed(2); };
		
		var myRowTotalId = document.getElementById("totalValue" + (i+1));
		myRowTotalId.value = myValue;
		//alert(myBottlePriceValue + " , " + myBottleCountValue);
		
		if(myValue!=""){ myGrandTotal+=myValue; };
	};//end for
	
	var myGrandTotalId = document.getElementById("total");
	var roundedNumber = myGrandTotal.toFixed(2);
	myGrandTotalId.value = roundedNumber;
};//end funnction

function fSetTotals2(pmObject)
{
	var myObject = pmObject;
	
	var myGrandTotal = 0;
	for(var i=0; i< 15; i++)
	{
		var myRowTotalId = "price" + (i+1);
		var myRowTotalObj = document.getElementById(myRowTotalId);
		var myRowTotal = parseFloat(myRowTotalObj.value);
		
		if(!isNaN(myRowTotal)){ myGrandTotal += myRowTotal; };
	};//end for
	
	var myGrandTotalId = document.getElementById("total");
	var roundedNumber = myGrandTotal.toFixed(2);//roundNumber(myGrandTotal,2)
	myGrandTotalId.value = roundedNumber;
};//end function

//function roundNumber(num, dec) {
	//var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	//return result;
//}

//*******************************************************************************************
//FORMS
//*******************************************************************************************
//DESCRIPTION: handles validating forms
//PARAMETERS: myFormID(string) - form object id
function f_formValidate(pmFormId)
{
	//expecting form element parameter
	//get form object
	var myFormID = pmFormId;
	var myForm = document.getElementById(myFormID);
	
	var myErrorAlpha;
	
	switch(myFormID)
	{
		case("alcoholForm"):
			//name
			var myElement = document.getElementById('name');
			if(!myElement){ return(false); };
			if(myElement.value=='')
			{
				ClassUtil.addClass(myElement,"error");
				if(myErrorAlpha==undefined){ myErrorAlpha = myElement; };
			}
			else
			{
				ClassUtil.deleteClass(myElement,"error");
			};
			
			//email
			var myElement = document.getElementById('email');
			if(!myElement){ return(false); };
			if(f_formValidateEmail(myElement.value)!=true)
			{
				ClassUtil.addClass(myElement,"error");
				if(myErrorAlpha==undefined){ myErrorAlpha = myElement; };
			}
			else
			{
				ClassUtil.deleteClass(myElement,"error");
			};
			
			//country of origin
			var myElement = document.getElementById('countryOrigin');
			if(!myElement){ return(false); };
			if(myElement.value=='')
			{
				ClassUtil.addClass(myElement,"error");
				if(myErrorAlpha==undefined){ myErrorAlpha = myElement; };
			}
			else
			{
				ClassUtil.deleteClass(myElement,"error");
			};
			
			//destination
			var myElement = document.getElementById('destination');
			if(!myElement){ return(false); };
			if(myElement.value=='')
			{
				ClassUtil.addClass(myElement,"error");
				if(myErrorAlpha==undefined){ myErrorAlpha = myElement; };
			}
			else
			{
				ClassUtil.deleteClass(myElement,"error");
			};
			
			//date
			var myElement = document.getElementById('date');
			if(!myElement){ return(false); };
			if(myElement.value=='')
			{
				ClassUtil.addClass(myElement,"error");
				if(myErrorAlpha==undefined){ myErrorAlpha = myElement; };
			}
			else
			{
				ClassUtil.deleteClass(myElement,"error");
			};
			
			break;
			
		case("tobaccoForm"):
			//name
			var myElement = document.getElementById('name');
			if(!myElement){ return(false); };
			if(myElement.value=='')
			{
				ClassUtil.addClass(myElement,"error");
				if(myErrorAlpha==undefined){ myErrorAlpha = myElement; };
			}
			else
			{
				ClassUtil.deleteClass(myElement,"error");
			};
			
			//email
			var myElement = document.getElementById('email');
			if(!myElement){ return(false); };
			if(f_formValidateEmail(myElement.value)!=true)
			{
				ClassUtil.addClass(myElement,"error");
				if(myErrorAlpha==undefined){ myErrorAlpha = myElement; };
			}
			else
			{
				ClassUtil.deleteClass(myElement,"error");
			};
			
			//country of origin
			var myElement = document.getElementById('countryOrigin');
			if(!myElement){ return(false); };
			if(myElement.value=='')
			{
				ClassUtil.addClass(myElement,"error");
				if(myErrorAlpha==undefined){ myErrorAlpha = myElement; };
			}
			else
			{
				ClassUtil.deleteClass(myElement,"error");
			};
			
			//destination
			var myElement = document.getElementById('destination');
			if(!myElement){ return(false); };
			if(myElement.value=='')
			{
				ClassUtil.addClass(myElement,"error");
				if(myErrorAlpha==undefined){ myErrorAlpha = myElement; };
			}
			else
			{
				ClassUtil.deleteClass(myElement,"error");
			};
			
			//date
			var myElement = document.getElementById('date');
			if(!myElement){ return(false); };
			if(myElement.value=='')
			{
				ClassUtil.addClass(myElement,"error");
				if(myErrorAlpha==undefined){ myErrorAlpha = myElement; };
			}
			else
			{
				ClassUtil.deleteClass(myElement,"error");
			};
			
			break;
			
	};//end switch
	
	if(myErrorAlpha!=undefined){ alert("Elements of this form are required in the correct format before we can process."); myErrorAlpha.focus(); };
	
	return(myErrorAlpha==undefined);
};//end function

//handles validating an email address
function f_formValidateEmail(pmEmail){
	//get email address to validate
	var myEmail = pmEmail;
	
	//EMPTY EMAIL
	//check if email is empty
	if(myEmail==""){return('EMAIL field is required')};
	
	//INVALID CHARACTERS
	//set invalid email character set
	var myInvalidCharSet = " /:,;";
	
	//check for invalid chars in email
	for(i=0;i<myInvalidCharSet.length;i++){
		var myChar = myInvalidCharSet.charAt(i);
		if(myEmail.indexOf(myChar)>-1){return('EMAIL field entry does not appear to be in the right format')};
	}//end for
	
	//PRESENCE AND POSITION OF @ SYMBOL
	//get position of first at symbol from second char of email
	var atPos = myEmail.indexOf("@",1);
	//check for at least one @ symbol later than second char
	if(atPos==-1){return('EMAIL field entry does not appear to be in the right format')};
	//second @ symbol present after first @ symbol not valid
	if(myEmail.indexOf("@",atPos+1) != -1){return('EMAIL field entry does not appear to be in the right format')};
	
	//PRESENCE AND POSITION OF PERIOD SYMBOL
	//get position of first period symbol from after first @ symbol
	var periodPos = myEmail.indexOf(".",(atPos+2));
	//period required after @ symbol
	if(periodPos==-1){return('EMAIL field entry does not appear to be in the right format')};
	//if not enough space for TLD (Top Level Domain) then send error
	if(periodPos+3>myEmail.length){return('EMAIL field entry does not appear to be in the right format')};
	
	//email validates
	return(true);
}//end function f_formValidateEmail
//*******************************************************************************************
//END FORMS
//*******************************************************************************************