
function emailCheck (emailStr) 
    {
        var emailPat=/^(.+)@(.+)$/
        var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
        var validChars="\[^\\s" + specialChars + "\]"
        var quotedUser="(\"[^\"]*\")"
        var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
        var atom=validChars + '+'
        var word="(" + atom + "|" + quotedUser + ")"
        var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
        var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
        var matchArray=emailStr.match(emailPat)
        
        if (matchArray==null)
            {
                alert("Your E-mail address is not valid! ")
                return false
            }
        var user=matchArray[1]
        var domain=matchArray[2]
        
        if (user.match(userPat)==null) 
            {
                alert("Your E-mail address is not valid!")
                return false
            }
            
        var IPArray=domain.match(ipDomainPat)
        if (IPArray!=null) 
            {
                // this is an IP address
                for (var i=1;i<=4;i++) 
                    {
                        if (IPArray[i]>255) 
                            {
                                alert("E-mail is not exist!")
                                return false
                            }
                    }
                return true
            }
            
        var domainArray=domain.match(domainPat)
        
        if (domainArray==null) 
            {
                alert("Your E-mail address is not valid!")
                return false
            }
            
        var atomPat=new RegExp(atom,"g")
        var domArr=domain.match(atomPat)
        var len=domArr.length
        if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) 
            {
                alert("Your E-mail address is not valid! ")
                return false
            }
        if (len<2) 
            {
                var errStr="Your E-mail address is not valid!"
                alert(errStr)
            return false
            }
        return true;
    }

// Form Validation

// Validate Name
function Validate()
    {
        if (contact_form.name.value=='')
            {
                alert("Please enter your contact name!");
                document.contact_form.name.focus();
                return (false);
            }
        
        // Validate Email
        if (contact_form.email.value=='')
            {
                alert("Please enter your e-mail address!");
                document.contact_form.email.focus();
                return (false);
            }
        if (!emailCheck (contact_form.email.value) )
            {
                document.contact_form.email.focus();
                return (false);
            }
        
        // Validate Subject
        /*if (contact_form.subject.value=='')
            {
                alert("Please specify a subject for your contact!");
                document.contact_form.subject.focus();
                return (false);
            }
        */
        // Validate Message
        if (contact_form.message.value=='')
            {
                alert("Please enter your Message or request!");
                document.contact_form.message.focus();
                return (false);
            }        
        return(true);
    }
	
function Validate_Subscribe()
    {
      
        // Validate Email
        if (subscribe_form.email.value=='')
            {
                alert("Please enter your e-mail address!");
                document.subscribe_form.email.focus();
                return (false);
            }
			
        if (subscribe_form.emailconfirm.value=='')
            {
                alert("Please confirm your e-mail address!");
                document.subscribe_form.emailconfirm.focus();
                return (false);
            }
			
        if (!emailCheck (subscribe_form.email.value) || !emailCheck (subscribe_form.emailconfirm.value) )
            {
                document.subscribe_form.email.focus();
                return (false);
            }
			
		if (subscribe_form.email.value != subscribe_form.emailconfirm.value)
			{
				alert ("Your email and confirm email must be same!");
				document.subscribe_form.emailconfirm.focus();
				return (false);
			}

        
        // Validate Subject
        /*if (contact_form.subject.value=='')
            {
                alert("Please specify a subject for your contact!");
                document.contact_form.subject.focus();
                return (false);
            }
        
        // Validate Message
        if (contact_form.message.value=='')
            {
                alert("Please enter your Message or request!");
                document.contact_form.message.focus();
                return (false);
            }        
        return(true);
		*/
    }

