String.prototype.trim = function()
{
    return this.replace(/^\s+|\s+$/g,"");
}


function CheckFields() 
{
	var reqstr = document.getElementById("reqFields").value;

	if (reqstr.length == 0) 
        return true;

	var reqarr = reqstr.split(",");

	for (i=0;i<reqarr.length;i++) 
    {
		var str = document.getElementById(reqarr[i]).value;
		if (str.length == 0) 
        {
			document.getElementById(reqarr[i]).focus();
			alert("Please fill in your " + reqarr[i] + ' to complete the form.');
			return false;
		}
	}

	var fa = document.getElementsByTagName("input");
	var len = fa.length;
	var ca = 0;

	for (i=0;i<len;i++) 
    {
        //Check valid name
        if(fa[i].id == "first_name" || fa[i].id == "last_name")
        {
           if( CheckTextOnly(fa[i].id) ) 
           {
                alert('Please enter a valid '+fa[i].id);
                document.getElementById(fa[i].id).focus();
                return false;
           }
        }

        if(fa[i].id == "zip" || fa[i].id == "zipcode")
        {
            if( CheckNumText(fa[i].id) )
            {
                alert('Please enter a valid Zip Code');
                document.getElementById(fa[i].id).focus();
                return false;
            } 
        }

		//skip none locationId fields
		if (fa[i].id!="locationId[]") 
            continue;

		//if it's a hidden field, then it's already filled in and we can okay it
		if (fa[i].type=="hidden") 
        {
			ca = 1;
			break;
		}

		//if it's a checkbox and it's checked, set our bit to 1
		if (fa[i].type=="checkbox" && fa[i].checked == true) 
        {
			ca = 1;
			break;
		}

        //Check email is valid
        if( fa[i].id == "email")
        {
            str = fa[i].trim();
            if(str.length <= 0)
            {
                alert('Please enter a valid e-mail address.');
                return false;
            }
        }

	}
	return true;
}
