// general functions

function checkEmail( emailToCheck ) {
        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,8})+$/.test( emailToCheck )) {
                return (true)
        } else { return false; }
}

// Become a Provider form

function validateServiceRequests(form)
{
	var valid = true;
	if (false) {
		
		valid = false;
	}
	
	if (valid)
	{
		document.form.submit();
	}
	else
	{
		return false;
	}
}


// Impact calculator
function validateCalculatorInput(form) {
	
	var valid = true;
	var error_message = '';
	if ((document.getElementById('zipcode').value == '') || (document.getElementById('zipcode').value.length != 5)) {
		valid = false;
		error_message += 'Please enter a valid zipcode.<br />';
	}
	
	if (valid)
	{
		form.submit();
		return true;
	}
	else
	{
		document.getElementById('calculator_response').innerHTML = error_message;
		return false;
	}
}

function validateCalculatorLink(form) {
	if ((document.getElementById('project_email').value == '') || !checkEmail(document.getElementById('project_email').value)) {
		var email_address = document.getElementById('project_email').value;
		window.setTimeout("swapInnerHtml('project_email', 'error: invalid email')", 0);
		window.setTimeout("swapInnerHtml('project_email', '" + email_address + "')", 1000);
		return false;
	}
	return true;
}

function swapInnerHtml(elementId, elementHtml) {
	
	document.getElementById(elementId).value = elementHtml;
}

function toggleFilterView ( hiddenDivId )
{
	var hiddenDiv = document.getElementById(hiddenDivId);
	var hiddenDivTop = document.getElementById(hiddenDivId + '_top');
	if(hiddenDiv.style.display == 'none')
	{	
        new Effect.Appear(hiddenDiv);
        hiddenDivTop.className = 'filter-on';
	}
	else
	{
        new Effect.Fade(hiddenDiv);
        hiddenDivTop.className = 'filter-off';
	}
} 


/* this is to clear out the default form values when a user clicks on it.
   It will loop through all the inputs and look for those with class="reset"
*/

function resetFields()
{
	var fields = document.getElementsByTagName('input');
	
	for (var i=0; i<fields.length; i++)
	{         
		var field = fields[i];
		if(field.className && 
			(' ' + field.className + ' ').indexOf(' reset ') != -1)
		{
			field.onfocus = function()
			{
				if(this.value == this.defaultValue)
				{
					this.value = "";
				}
			}  
			field.onblur = function()
			{
				if(this.value == "")
				{
					this.value = this.defaultValue;
				}
			}        
		} 
	}
}            



addLoadEvent(resetFields);
