// JavaScript Document
// Javascript for phpLedMailer (validation steps and such)
// by Jon Coulter
// 4/20/2005

var v_sub_action = '/optin/phpLedMailer/subscribe.php';
var v_unsub_action = '/optin/phpLedMailer/unsubscribe.php';

function ChangePostTo( )
{
	var frm = document.frmMain;
	if(! frm )
		return true;

	var obj = frm.sub_type;

	if(! obj )
	{
		// do this by default
		return true;
	}
	
	if(obj[0].checked)
	{
		frm.action = v_sub_action;
	}
	else
	{
		frm.action = v_unsub_action;
	}

	return true;
}

function validateForm( )
{
		var frm = document.frmMain;

		if(! ValidateEmail(frm.emailaddr) )
		{
				return false;
		}

// added so we can decide to care about first and
// last names
if(frm.sub_type[0].checked)
{
			if(frm.firstname.value == "")
			{
				 alert('Must fill in your first name!');
				 frm.firstname.focus();
				 return false;
			}
}

		return true;
}

function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
			alert("Invalid E-mail ID")
			return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
			alert("Invalid E-mail ID")
			return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
			alert("Invalid E-mail ID")
			return false
		 }
		
		 if (str.indexOf(dot,(lat+2))==-1){
			alert("Invalid E-mail ID")
			return false
		 }
		
		 if (str.indexOf(" ")!=-1){
			alert("Invalid E-mail ID")
			return false
		 }
		 
		 return true
}

function ValidateEmail(emailID){
		if ((emailID.value==null)||(emailID.value=="")){
				alert("Please Enter your Email ID")
				emailID.focus()
				return false   
		}
		if (echeck(emailID.value)==false){
				emailID.value="" 
				emailID.focus()  
				return false
		}
		return true
 }
