function formatCurrency(num) 
{
			num = num.toString().replace(/\$|\,/g,'');
			if(isNaN(num))
				num = "0";
			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));
				return (((sign)?'':'-') + num + '.' + cents);
}

function radioValue (formName,fieldname)
{
	var myForm = eval ("document."+formName);
	var value = "";
	for (var i = 0; i < myForm[fieldname].length; i++)	
	{
		if (myForm[fieldname][i].checked)
			value = myForm[fieldname][i].value;
	}
	return value;
}



// Return true if the object exist
function checkObj(name)
{
	var status;
	if (document.getElementById)
		status  = document.getElementById(name);
	else if (document.all)
		status   = document.all[name];
  	else if (document.layers)
   		status  = document.layers[name];
		
	return status != null;
}

function getObj(name)
{
	if (document.getElementById)
 	{
		this.obj   = document.getElementById(name);
		this.style = document.getElementById(name).style;
	}
	else if (document.all)
	{
		this.obj   = document.all[name];
		this.style = document.all[name].style;
	}
  	else if (document.layers)
	{
   		this.obj   = document.layers[name];
	   	this.style = document.layers[name];
	}
}

function SetVisibility(flag,divName)
{
	var DHTML          = (document.getElementById || document.all || document.layers);
	if (!DHTML) return;

	if (checkObj(divName))
	{
		var x              = new getObj(divName);
		//x.style.visibility = (flag) ? 'visible' : 'hidden';
		x.obj.className        = (flag) ? 'visible' : 'invisible';
	}
}

function event_registration (formName)
{
	var myForm = eval ("document."+formName);
	
	var selected = myForm["form_type"].selectedIndex;

	if (myForm["form_type"].options[selected].value == "Register Now")
	{
		SetVisibility(1,"registor_option");
		SetVisibility(0,"sponsor_option");		
		
		SetVisibility(1,"registor_option2");
		SetVisibility(0,"sponsor_option2");		
	}
	else
	{
		SetVisibility(0,"registor_option");		
		SetVisibility(1,"sponsor_option");
		
		SetVisibility(0,"registor_option2");		
		SetVisibility(1,"sponsor_option2");		
	}
	updatePricing (formName);
}

function updatePricing (formName)
{
	var myForm     = eval ("document."+formName);

	var selected = myForm["form_type"].selectedIndex;

	if (myForm["form_type"].options[selected].value == "Register Now")
	{
		var bspf_type  = radioValue (formName,"bspf_radio");	
		var bspf_qty   = myForm["bspf_value_"+bspf_type].value-0;
		var bspf_price = myForm["bspf_value_"+bspf_type+"_price"].value-0;

		var fwc_type   = radioValue (formName,"fwc_radio");
		var fwc_qty    = myForm["fwc_value_"+fwc_type].value-0;
		var fwc_price  = myForm["fwc_value_"+fwc_type+"_price"].value-0;

		var total = (bspf_qty * bspf_price) + (fwc_qty * fwc_price);
	}
	else
	{
		var total = 0;
		for (var i = 0; i < myForm["sponsorship_radio[]"].length; i++)	
		{
			if (myForm["sponsorship_radio[]"][i].checked)
			{
				total +=sponsorship_price[myForm["sponsorship_radio[]"][i].value];
			}
		}
	}
	myForm["total"].value = formatCurrency(total);
}

// Return only the numerical string from given string
function getNumerical (mystring)
{
	var numbers = ''
	for(var i = 0; i < mystring.length; i++) {
		var myChar = mystring.charAt(i);
		if(!(isNaN(myChar) || myChar == " "))
			numbers += myChar;
	}
	return numbers;
}

function doPhoneFormat (form)
{
	var input = form.value;
	var numbers = ""; //store all the numbers here
	var newformat;
	if(input.length > 0) 
	{
		// strip non-numerical number
		numbers = getNumerical (input);
		
		// strip out leading 1's
		if (numbers.length == 11)
			numbers = numbers.substring(1, numbers.length)

		if (numbers.length == 10)
			form.value = phoneFilter(numbers, '(###) ###-####')
	}
}

function phoneFilter(phone, format) 
{
	if(phone.length > 0) { //do not perform if empty input
		var output = ""; //assign numbers here

		//assign numbers to chosen format
		var n = 0, i = 0;
		while(i < format.length && n < phone.length) {
			var mychar = format.charAt(i);
			if(mychar == "#") {
				output += phone.charAt(n++)
			} else {
				output += mychar;
			}
			i++;
		}

		return output; //output to form
	}
}

function validForm(formName, msg)
{
	var myForm       = eval ("document."+formName);
	var reqField     = (myForm["req"].value).split(",");
	var valid        = true;	
	var error_fields = "";
	for (i=0; i < reqField.length; i++)
	{
		var tmp = reqField[i].split("|");
		
		if (tmp[0] == "text" && myForm[tmp[1]].value == "")
		{
			valid         = false;
			error_fields += "\n- "+tmp[2];
		}
		else if (tmp[0] == "email" && ((myForm[tmp[1]].value).indexOf("@") == -1 || (myForm[tmp[1]].value).indexOf(".") == -1))
		{
			valid         = false;
			error_fields += "\n- "+tmp[2];

		}
	}
	if (!valid)
		alert (msg+error_fields);
	return valid;
}

//Validate find zip form
function validateZipForm(id){
	if (isNaN (id))
		id = '';

   if(document.forms['find_zip_code'+id].elements['zip_code'].value == "Zip Code" || document.forms['find_zip_code'+id].elements['zip_code'].value == "")
   {
     document.location = 'biodiesel_results.php?e=1';
      }
 else
 document.forms['find_zip_code'+id].submit();
}


//Validate Search form
function validateSearchForm(){
   if(document.forms['search'].elements['q'].value == ""){
     document.location = 'search_results.php?e=1';
      }
 else
 document.forms['search'].submit();
}

//Validate contact form
function validateContactForm(){
   if(document.forms['contact'].elements['first_name'].value == ""){
     document.getElementById('first_name_img').src = "images/required_field.gif";
      }
  else if(document.forms['contact'].elements['email_address'].value.indexOf('@',0) < 0  || document.forms['contact'].elements['email_address'].value == '' ){
    document.getElementById('email_address_img').src = "images/required_field.gif";
    }
  else if(document.forms['contact'].elements['message'].value == '' ){
    document.getElementById('message_img').src = "images/required_field.gif";
    }	
 else
 document.forms['contact'].submit();
}

