/* 
	registration.js 
	JavaScript functions for registration pages 
 */


function verifyEmail(oForm, oEmail)
{
	if ((null == oEmail.value) || ("" == oEmail.value))
	{
		alert("Enter an email address");
		oEmail.focus();
		return false;
	}
	
	if (echeck(oEmail.value)==false)
	{
		alert("Please Enter a Valid Email Address");
		oEmail.value="";
		oEmail.focus();
		return false;
	}	
	
	return true;
}

function verifyPhone(oForm, oPhone, flagCanBeBlank)
{
			// Valiedate Phone Number
		if (null == oPhone.value || "" == oPhone.value)
		{
			if (flagCanBeBlank)
			{
				return true;
			}
			
			alert("Enter a phone number.");
			oPhone.focus();
			return false;
		}
		
		if (checkInternationalPhone(oPhone.value)==false)
		{
			alert("Please Enter a Valid Phone Number");
			oPhone.value="";
			oPhone.focus();
			return false;
		}
		
		// oPhone.value = getNormalizedPhone(oPhone.value);
		return true;
}

function verifyFedID(oForm, oReg, oID)
{

	if ("nonprofit" != oReg.value)
	{
		return true;
	}
	
	if ((null == oID.value) || ("" == oID.value))
	{
		alert("Nonprofits must provide their Federal Taxpayer ID.");
		oID.focus();
		return false;
	}
	
	return true;
	
}

function verifyRegistrationForm(oForm)
{
	var flagCheckEmail = true;
	var flagCheckPhone = true;
	var flagCheckFedID = true;

	// Validate Email Address
	if (flagCheckEmail) 
	{
		if (false == verifyEmail(oForm, oForm.contactemail))
		{
			return false;
		}
	}
	
	if (flagCheckPhone)
	{
		if (false == verifyPhone(oForm, oForm.billphone1, false))
		{
			return false;
		}
		if (false == verifyPhone(oForm, oForm.billphone2, true))
		{
			return false;
		}		
	}
	
	if (flagCheckFedID)
	{
		if (false == verifyFedID(oForm, oForm.custcatregcode, oForm.billtext))
		{
			return false;
		}
	}
	
	return true;
}

function handleRegistrationSubmit(oForm)
{
/*
	if (false == verifyRegistrationForm(oForm))
	{
		return false;
	}
*/	
	if (oForm.enewsletter_signup.checked) 
	{
		var callback =
		{
	  		success: function(o) {/*success handler code*/},
	  		failure: function(o) {/*failure handler code*/},
	  		timeout: 5000
		}

        oForm.email_address.value = oForm.contactemail.value;
        document.getElementById('first_name').value = oForm.billfirstname.value;
        document.getElementById('last_name').value = oForm.billlastname.value;
       	document.getElementById('city').value = oForm.billcity.value;
        document.getElementById('state').value = oForm.billstate.value;
		if ("" == document.getElementById('city').value) { document.getElementById('state').value = oForm.billprovince.value; }
        document.getElementById('zip_code').value = oForm.billzip.value;
        document.getElementById('country').value = oForm.billcountry.value;

		YAHOO.util.Connect.setForm(oForm);
		//var cObj = YAHOO.util.Connect.asyncRequest('POST', 'http://i.ms00.net/subscribe', callback);
		var cObj = YAHOO.util.Connect.asyncRequest('POST', '/HTN/sendEnewsletterRegistration.php', callback);
	}
	
	return false;
}

function verifyUserUpdateForm(oForm, strTrigger)
{
	var flagCheckEmail = true;
	var flagCheckPhone = true;
	var flagCheckFedID = true;
	
	switch(strTrigger)
	{
		case 'updatecustdetails':
			flagCheckEmail = true;
			flagCheckPhone = false;
			flagCheckFedID = false;		
			break;
		
		case 'updatecontact':
		case 'addnewcontact':
			flagCheckEmail = false;
			flagCheckPhone = true;
			flagCheckFedID = true;	
			break;
			
		default:
			return true;
			break;
	}
	
	// Validate Email Address
	if (flagCheckEmail) 
	{
		if (false == verifyEmail(oForm, oForm.contactemail))
		{
			return false;
		}
	}
	
	if (flagCheckPhone)
	{
		if (false == verifyPhone(oForm, oForm.Conphone1, false))
		{
			return false;
		}
		if (false == verifyPhone(oForm, oForm.Conphone2, true))
		{
			return false;
		}		
	}
	
	return true;
}
