//requires jquery!
function FormBuilder(){}

FormBuilder.constrainFieldLength = function(fieldName, maxChar)
{
	$("span#"+fieldName+"_total").text(maxChar); 
	var s = "[name='"+fieldName+"']";
	var value = $(s).val();
	var used = value.length;
	if(used>maxChar){
		$(s).val(value.substr(0, maxChar));
		used = maxChar;
	}
	$("span#"+fieldName+"_used").text(used);
};

FormBuilder.isValidEmail = function(email) {	
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

 	if(reg.test(email)) return true;
	else return false;
}

FormBuilder.checkEmailField = function(jqWidget) {	
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	if( reg.test(jqWidget.val()) )
	{
		jqWidget.removeClass("border-red");
		return true;	
	} else {
		jqWidget.addClass("border-red");
		return false;
	}
}

FormBuilder.checkFields = function(fields)
{
	var isValid = true;
	for(var i=0; i<fields.length; i++){
		var jqWidget = $("[name='"+fields[i]+"']");
		jqWidget.val( $.trim(jqWidget.val()) );
		var isFieldValid = (FormBuilder.satisfiesMinLength(jqWidget, 1));
//		var isFieldValid = (FormBuilder.satisfiesMinLength($("[name='"+fields[i]+"']"), 1));
		isValid = isValid && isFieldValid;
	}
	return isValid;
}

FormBuilder.satisfiesMinLength = function(jqWidget, minLen)
{
	if( jqWidget.val().length < minLen )
	{
		jqWidget.addClass("border-red");
		return false;
	} else {
		jqWidget.removeClass("border-red");
		return true;
	}
}
