function calculate() {
	var buyer = Math.round(convertToNum(document.getElementById('buyers').value));
	var unit  = Math.round(convertToNum(document.getElementById('units').value));
	var price = convertToNum(document.getElementById('price').value);
	var forecast = buyer*unit*price;
	document.getElementById('buyers').value = formatNumber(buyer,false,true);
	document.getElementById('units').value = formatNumber(unit,false,true);
	document.getElementById('price').value = formatNumber(price,true,false);
	document.getElementById('forecast').value = formatNumber(forecast,true,true);
}

function convertToNum(str) {
	var num = str.toString().replace(/\$|\,/g,'');
	if (isNaN(num))
		return "0";
	return num;
}

function formatNumber(num,currency,integer) {
	var result = "";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if (cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	
	if (integer)
		result = (((sign)?'':'-') + ((currency)?'$':'') + num);
	else
		result = (((sign)?'':'-') + ((currency)?'$':'') + num + '.' + cents);
		
	return result;
}

function clearCalculator() {
	document.getElementById('buyers').value = '1';
}

function validateEmail(str) {
	var regEmail = /^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$/;
	if (!regEmail.test(str))
	{
		alert("Invalid Email Address");
		return false;
	}

	 return true					
}

function validatePhone(phone) {
	var regPhone = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;
	if (!regPhone.test(phone))
	{
		alert("Invalid Phone Number");
		return false;
	}
	return true;
}
	
function validateForm() {
	var inventorID = document.getElementById('inventor');
	var phoneID = document.getElementById('phone');
	var emailID = document.getElementById('email_address');

	if ((inventorID.value==null)||(inventorID.value==""))
	{
		alert("Please Enter Your Name");
		inventorID.focus();
		return false;
	}

	if (!((phoneID.value==null)||(phoneID.value=="")))
	{
		if (!validatePhone(phoneID.value))
		{
			phoneID.focus();
			return false;
		}
	}
	
	if ((emailID.value==null)||(emailID.value==""))
	{
		alert("Please Enter your Email Address");
		emailID.focus();
		return false;
	}
	else
	{
		if (!validateEmail(emailID.value))
		{
			emailID.focus();
			return false;
		}
	}
	
	return true;
}

function resetForm() {
	document.rf_form.reset();
}