
// 
//   Validation for waitinglist
 //  Created by R.Anusuya - 09.03.2009
//

function focus(){
    document.NewLetterFormBean.firstname.focus();
    document.NewLetterFormBean.firstname.value="";
    document.NewLetterFormBean.lastname.value="";
    document.NewLetterFormBean.country.value=0;
    document.NewLetterFormBean.state.value ="";
    document.NewLetterFormBean.emailaddress.value="";
    document.NewLetterFormBean.readdress.value="";

    
}

function waitinglistcheck(){
    var err=0;
    var message ="";  
    var count =0;
    var fcheck=true;
      var stateid=document.getElementById('substate').value;
    document.NewLetterFormBean.state.value=stateid;
  //alert('step11'+document.NewLetterFormBean.state.value);

// Check for firstname
    if(document.NewLetterFormBean.firstname.value =="" )
    {
	    err++;
        message=message+"Enter your first name\n";
        document.NewLetterFormBean.firstname.value="";     
    }
   else if(document.NewLetterFormBean.firstname.value!="") {
        FN=document.NewLetterFormBean.firstname.value;
        	var str1="0123456789";
		var i,index;
		for(i = 0; i < str1.length; i++)
		{
		index=str1.charAt(i);
		if(FN.charAt(0) == index)
		{
		   err++;
		   message=message+"Invalid first name\n";
                   document.NewLetterFormBean.firstname.value=""; 
		}
		}
            if(FN.charAt(0)==" ") {
            err++;
            message=message+"Invalid first name\n";
            document.NewLetterFormBean.firstname.value=""; 
            
        }
        else if(document.NewLetterFormBean.firstname.value!="") {   
            FN=document.NewLetterFormBean.firstname.value;                   
            var i,index,j;
            var str="!@#$%^&*()~`_-=*/<+\|?:{],}[;'.> 0123456789";
            
            if(FN.length<3) { 
                err++;
                message=message+"Firstname should contain atleast 3 characters\n";
                
           }
           else {
                for (i = 0; i < FN.length; i++) {
                    var c = FN.charAt(i);                  
                    index=str.indexOf(c) ;                         
                    if(index!=-1) {
                        err++;
                        message=message+"Invalid first name\n";
                        document.NewLetterFormBean.firstname.value=""; 
                        break;
                    }
                }
            }
        }
    }
    
// Check for Lastname
    if(document.NewLetterFormBean.lastname.value =="" )
    {
	err++;
        message=message+"Enter your last name\n";
    }                 
    else if(document.NewLetterFormBean.lastname.value!="") { 
        LN = document.NewLetterFormBean.lastname.value;
        var str1="0123456789";
		var i,index;
		for(i = 0; i < str1.length; i++)
		{
		index=str1.charAt(i);
		if(LN.charAt(0) == index)
		{
		   err++;
		   message=message+"Invalid last name\n";
                   document.NewLetterFormBean.lastname.value=""; 
		}
		}
        if(LN.charAt(0)==" ") {
            err++;
            message=message+"Invalid last name\n";
            document.NewLetterFormBean.lastname.value=""; 
        }
        else if(document.NewLetterFormBean.lastname.value!="") {
            LN=document.NewLetterFormBean.lastname.value;                             
            var i,index,j;
            var str="!@#$%^&*()~`_-=*/<+\|?:{],}[;'.> 0123456789";
            
            if(LN.length<3) { 
                err++;
                message=message+"Lastname should contain atleast 3 characters\n";
                
            }
            else{
                for (i = 0; i < LN.length; i++) {
                    var c = LN.charAt(i);                  
                    index=str.indexOf(c) ;                         
                    if(index!=-1) {
                        err++;
                        message=message+"Invalid last name\n";
                        document.NewLetterFormBean.lastname.value=""; 
                        break;
                    }
                }
            }
        }
    }

   

//check for country

     if(document.NewLetterFormBean.country.value=="0") {
        err++;
        message=message+"Select the country\n";
        document.NewLetterFormBean.country.value="0"; 
    }
    
  //check for State

     if(document.NewLetterFormBean.state.value=="0") {
        err++;
        message=message+"Select the State\n";
        document.NewLetterFormBean.state.value="0"; 
    }


// Check for emailaddress

    if(document.NewLetterFormBean.emailaddress.value=="") {
        err++;
        message=message+"Enter the email address\n";   
        document.NewLetterFormBean.emailaddress.value=""; 
    }                   
    else if(document.NewLetterFormBean.emailaddress.value!="") {
        EA=document.NewLetterFormBean.emailaddress.value; 
        if(EA.charAt(0)==" ") {
            err++;
            message=message+"Invalid emailaddress address\n";
            document.NewLetterFormBean.emailaddress.value=""; 
        } 
        EA = EA.toLowerCase();
        if((EA.substring(0,1)<"a" || EA.substring(0,1)>"z") && (EA.substring(0,1)<"A" || EA.substring(0,1)>"Z")) {
            err++;
            message=message+"Invalid emailaddress address\n";
            document.NewLetterFormBean.emailaddress.value=""; 
            
        }
        else {
            if(!validateEmail(EA,1,0)) {       
                err++;
                message=message+"Invalid email address\n";
                document.NewLetterFormBean.emailaddress.value=""; 
                
            }
        }   
    }

//check for retype email address

        var conemail = document.NewLetterFormBean.readdress.value; 
        if(conemail.charAt(0)==" ") {
            err++;
            message=message+"Invalid email address\n";
            document.NewLetterFormBean.readdress.value=""; 
        } 
	else if(conemail.length == 0)
        {
            err++;
            message = message + "Enter retype e-mail address\n";
            document.NewLetterFormBean.readdress.value=""; 
        }	
	else if(document.NewLetterFormBean.emailaddress.value!=document.NewLetterFormBean.readdress.value)
	{
	   err++;
           message=message+"Email address not matching\n";
           document.NewLetterFormBean.readdress.value=""; 
	}
    
//Message Return
    
    if(err>=1) {
        var i;
        var almsg;
        var errmsg="";
        almsg = new Array(err);
        for(i=0;i<err;i++) {
            almsg=message.split('\n');
            errmsg=almsg[i];
            
          
            if(( errmsg=="Invalid first name") || ( errmsg == "Enter your first name") || (errmsg =="Firstname should contain atleast 3 characters")) {
                alert(message);
                document.NewLetterFormBean.firstname.focus();
                document.NewLetterFormBean.firstname.value="";                
                return false;
            }
            else if(( errmsg=="Invalid last name") || ( errmsg == "Enter your last name") || (errmsg =="Lasttname should contain atleast 3 characters")) {
                alert(message);
                document.NewLetterFormBean.lastname.focus();
                document.NewLetterFormBean.lastname.value="";                
                return false;
            }
            else if( errmsg=="Select the country"){
                alert(message);
                document.NewLetterFormBean.country.focus();
                document.NewLetterFormBean.country.value="";                
                return false;
            } 
            else if(errmsg=="Select the State") {
                alert(message);
                document.NewLetterFormBean.state.focus();
                document.NewLetterFormBean.state.value="";                
                return false;
            }  
            else if((errmsg=="Enter the email address") || (errmsg=="Invalid email address") || (errmsg=="Invalid email address")) {
                alert(message);
                document.NewLetterFormBean.emailaddress.focus();
                document.NewLetterFormBean.emailaddress.value="";                
                return false;
            }
            else if((errmsg=="Enter retype e-mail address") || (errmsg=="Email address not matching") || (errmsg=="Invalid email address")) {
                alert(message);
                document.NewLetterFormBean.readdress.focus();
                document.NewLetterFormBean.readdress.value="";                
                return false;
            }
        }
    }
}

//Email Validation

function validateEmail(addr,man,db) {
    // alert('Inside validateEmail');
    if (addr == '' && man) {
        if (db) alert('Email address is mandatory');
        return false;
    }
    if (addr == '') return true;
    var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
    for (i=0; i<invalidChars.length; i++) {
        if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
            if (db) alert('Email address contains invalid characters');
            return false;
        }
    }
    for (i=0; i<addr.length; i++) {
        if (addr.charCodeAt(i)>127) {
            if (db) alert("Email address contains non ascii characters.");
            return false;
        }
    }
    
    var atPos = addr.indexOf('@',0);
    if (atPos == -1) {
        if (db) alert('Email address must contain an @');
        return false;
    }
    if (atPos == 0) {
        if (db) alert('Email address must not start with @');
        return false;
    }
    if (addr.indexOf('@', atPos + 1) > - 1) {
        if (db) alert('Email address must contain only one @');
        return false;
    }
    if (addr.indexOf('.', atPos) == -1) {
        if (db) alert('Email address must contain a period in the domain name');
        return false;
    }
    if (addr.indexOf('@.',0) != -1) {
        if (db) alert('Period must not immediately follow @ in email address');
        return false;
    }
    if (addr.indexOf('.@',0) != -1){
        if (db) alert('Period must not immediately precede @ in email address');
        return false;
    }
    if (addr.indexOf('..',0) != -1) {
        if (db) alert('Two periods must not be adjacent in email address');
        return false;
    }
    var suffix = addr.substring(addr.lastIndexOf('.')+1);
    if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'de' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
        if (db) alert('Invalid primary domain in email address');
        return false;
    }
    return true;
}

function ShowAlert(e) {       
    var keypressed;
    var code;   
    if (navigator.appName.indexOf("Microsoft Internet Explorer")>(-1)) {       
        
        code =e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
        if (code == 13) {
            var chkvalue=waitinglistcheck();
           // alert('chkdata'+chkvalue);     
            return chkvalue;    
            
        } 
    } 
    else if(navigator.appName.indexOf("Netscape")!=-1) {     
        
        code =e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;       
        if (code == 13) {
            // alert('chk browser'+navigator.appName.indexOf("Netscape"));             
             var chkvalue=waitinglistcheck();
            //alert('chkdata'+chkvalue);     
            return chkvalue;    
            
        } 
    }      
}




