function allDigits(str)
{
	return inValidCharSet(str,"0123456789.");
}

function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
		
	
	return result;
}


function validNum(formField,fieldLabel,required)
{
	var result = true;

	if (formField.val() + "" == "" || formField.val() == null)
	{
		formField.val(0);
	}
		
  
 	if (result)
 	{
 		if (!allDigits(formField.val()))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
		else
		{
			formField.val(Math.ceil(formField.val()));
		}
	} 
	
	
	return result;
}

function validInt(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var num = parseInt(formField.value,10);
 		if (isNaN(num))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}

function validateInteriorForm()
{
	if (!validNum( jQuery('#facebox .content #roomPerimeterFeet'),"Room Perimeter (Feet)",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #roomPerimeterInches'),"Room Perimeter (Inches)", false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #wallHeightFeet'),"Wall Height (Feet)",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #wallHeightInches'),"Wall Height (Inches)",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #numberOfSingleDoors'),"Single Doors",false))
	{
		return false;
	} else if (!validNum( jQuery('#facebox .content #numberOfDoubleDoors'),"Double Doors",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #numberOfSmallWindows'),"Small Window",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #numberOfLargeWindows'),"Large Window",false))
	{
		return false;
	} else 
	{
		calculateInteriorPaintTotal();
		return true;
	}
	// <--------- End
	
}


function validateExteriorForm() {
	
	if (!validNum(jQuery('#facebox .content #txtPft'),"Perimeter (Feet)",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #txtPin'),"Perimeter (Inches)",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #txtHft'),"Height (Feet)",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #txtHin'),"Height (Inches)",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #txtGHft'),"Gable Height (Feet)",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #txtGHin'),"Gable Height (Inches)",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #txtGLft'),"Gable Length (Feet)",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #txtGLin'),"Gable Length (Inches)",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #txtSDoor'),"Single Doors",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #txtDDoor'),"Double Doors",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #txtSWindow'),"Small Window",false))
	{
		return false;
	} else if (!validNum(jQuery('#facebox .content #txtLWindow'),"Large Window",false))
	{
		return false;
	} else 
	{
		calculateExteriorPaintTotal();
		return true;
	}
	// <--------- End
	
}











function calculateInteriorPaintTotal() {
	
	// Form variable values
	var roomPerimeterFeet = jQuery('#facebox .content #roomPerimeterFeet').val() ;
	var roomPerimeterInches = jQuery('#facebox .content #roomPerimeterInches').val();
	var wallHeightFeet = jQuery('#facebox .content #wallHeightFeet').val();
	var wallHeightInches =jQuery('#facebox .content #wallHeightInches').val();
	var numberOfSingleDoors = jQuery('#facebox .content #numberOfSingleDoors').val();
	var numberOfDoubleDoors = jQuery('#facebox .content #numberOfDoubleDoors').val();
	var numberOfSmallWindows = jQuery('#facebox .content #numberOfSmallWindows').val();
	var numberOfLargeWindows = jQuery('#facebox .content #numberOfLargeWindows').val();
	var surfaceMultiplier = null;
	
	// The total interior area to paint
	var interiorArea = 
	(
		parseInt(roomPerimeterFeet) *
		parseInt(wallHeightFeet) +
		parseInt(roomPerimeterInches) *
		parseInt(wallHeightInches) /
		12
	) - (
		parseInt(numberOfSingleDoors) * 20 +
		parseInt(numberOfDoubleDoors) * 40 +
		parseInt(numberOfSmallWindows) * 10 +
		parseInt(numberOfLargeWindows) * 25
	);
	
	if ( jQuery('#facebox .content #primerRadio:checked').val() == 'primer') {
		surfaceMultiplier = 1;
	} else if (jQuery('#facebox .content #paintRadio:checked').val() == 'paint') {
		surfaceMultiplier = 2;
	}
	
	var paintTotal = Math.ceil(parseInt(interiorArea) / 375 * parseInt(surfaceMultiplier));
	if (paintTotal < 0) paintTotal = 0;
	jQuery('#facebox .content #totalPaintNeeded').val(paintTotal);

}









function calculateExteriorPaintTotal() {
		var Pft = jQuery('#facebox .content #txtPft').val(); 
        var Pin = jQuery('#facebox .content #txtPin').val(); 
        var Hft = jQuery('#facebox .content #txtHft').val(); 
        var Hin = jQuery('#facebox .content #txtHin').val();  
        var GHft = jQuery('#facebox .content #txtGHft').val();  
        var GHin = jQuery('#facebox .content #txtGHin').val();  
        var GLft = jQuery('#facebox .content #txtGLft').val();  
        var GLin = jQuery('#facebox .content #txtGLin').val();  
        var SDoor = jQuery('#facebox .content #txtSDoor').val();  
        var DDoor = jQuery('#facebox .content #txtDDoor').val();  
        var SWindow = jQuery('#facebox .content #txtSWindow').val();  
        var LWindow = jQuery('#facebox .content #txtLWindow').val(); 
        var Multiplier; 
 
        var ExteriorTotal = (parseInt(Pft)*parseInt(Hft) + parseInt(Pin)*parseInt(Hin)/12 + ((parseInt(GLft)*parseInt(GHft) + parseInt(GLin)*parseInt(GHin)/12)/2)) - (parseInt(SDoor)*20 + parseInt(DDoor)*40 + parseInt(SWindow)*10 + parseInt(LWindow)*25);
 
        Multiplier = 2; 
        
        //alert(ExteriorTotal); 
        
        ExteriorTotal = Math.ceil(parseInt(ExteriorTotal)/375*parseInt(Multiplier)); 
        
        if(ExteriorTotal < 0)
		{
         ExteriorTotal = 0;
		}
        jQuery('#facebox .content #txtGallons').val(ExteriorTotal); 
 

}





