﻿  window.onload = checkSamples;
  
  var Reg_first= /[0-9\(\)\<\>\,\;\:\\\/\"\[\]\`\~\!\@\#\$\%\^\&\*\_\-\+\+\\\|\{\}\.\<\>\?]/;
  var Reg_address = /[\(\)\<\>\,\;\:\\\/\"\[\]\`\~\!\@\#\$\%\^\&\*\_\-\+\+\\\|\{\}\.\<\>\?]/;
  var Reg_middle= /[\(\)\<\>\,\;\:\\\/\"\[\]\`\~\!\#\$\%\^\&\*\+\+\\\|\{\}\<\>\?]/;
  var Reg_last=  /[\(\)\<\>\,\;\\\/\"\[\]\ \`\~\!\@\#\$\%\^\&\*\_\-\+\+\\\|\{\}\<\>\?]/;
  //var Add_first= /[0-9\(\)\<\>\,\;\"\[\]\ \`\~\!\$\%\^\&\*\-\{\}\.\<\>\?]/;
  var Add_first= /[\(\)\<\>\,\;\"\[\]\ \`\~\!\$\@\%\^\&\*\-\{\}\.\<\>\?]/;
  var Add_middle= /[\(\)\<\>\;\:\"\[\]\`\~\!\$\%\^\&\*\{\}\<\>\?]/;
  var Add_last=  /[\(\)\<\>\,\;\:\\\/\"\[\]\`\~\!\$\%\^\&\*\\\|\{\}\<\>\?]/;
  var Reg_mail= /[\(\)\<\>\,\;\:\\\/\"\[\]\ \`\~\!\#\$\%\^\&\*\+\+\\\|\{\}\<\>\?]/;
  //var regex_postal =/^[0-9a-zA-Z]+[0-9a-zA-Z\ ]+([0-9a-zA-Z\ -])+[0-9a-zA-Z]$/; zipcode
  var regex_postal= /[\(\)\<\>\,\;\\\/\"\[\]\`\~\!\@\#\$\%\^\&\*\_\-\+\+\\\|\{\}\<\>\?]/;
  var reg_phone =/^[0-9+-]+[0-9+-]+([0-9+ -])+[0-9+-]$/;
  

       function isValidzip(src)
       {
         var res = src.replace(/ /g,"");
         if(regex_postal.test(src) || (res.length==0))
            return false;
         else
            return true;
       }

       function isValidphone(src)
       {
          src=trim(src);
          sp_occ=src.split("  ");
          if(sp_occ.length<2) 
              return reg_phone.test(src);
          else 
              return false;
       } 

       function isValidCompanyname(src)
       {
          var res = src.replace(/ /g,"");
          if(res.length==0)
            return true;
          else
            return false;
      }


       function isValidusername(src)
       {
          var first=src.charAt(0);
          var middle=src.substring(1,(src.length-1));
          var last=src.charAt(src.length-1);
          if((Reg_first.test(first))||(Reg_middle.test(middle))||(Reg_last.test(last))||(src.length==0))
             return true;
          else
            return false;
       }


      function isValidAddress(src) 
      {
         var first=src.charAt(0);
         var middle=src.substring(1,(src.length-1));
         var last=src.charAt(src.length-1);
         if((Add_first.test(first))||(Add_middle.test(middle))||(Add_last.test(last))||(src.length==0))
            return true;
         else
            return false;
       }

      function trim(str)
      {
        return str.replace(/^\s*|\s*$/g,"");
      }
/*function validateMail(src)
 {
		src=trim(src);
		at_occ=src.split('@');
		dot_occ=src.split('.');
		if((at_occ.length==2))
		{
			var first=src.charAt(0);
			middle=src.substring(1,(src.indexOf('@')));
			if (middle.length==0)
				middle="s";
			var len_middle=middle.length;
			dot_occ=middle.split('.');
			if(dot_occ.length>0)
				if((!(Reg_address.test(first))) && (!(Reg_mail.test(middle))) && middle.length!=(middle.indexOf('.')+1))
				{
					middle=src.substring((src.indexOf('@'))+1,src.length);
					first=middle.charAt(0);
					last=middle.charAt(middle.length-1);
					dot_occ=middle.split('.');
					
					if( (!(Reg_mail.test(middle))) && (first!='.') && (last!='.'))
							return true;
					else
						return false;     
				} 
			else
				return false;
		} 
		else
			return false; 
}*/


function validateMail(src) 
{
  var atSym = src.lastIndexOf("@");
  if (atSym < 1) { return false; } // no local-part
  if (atSym == src.length - 1) { return false; } // no domain
  if (atSym > 64) { return false; } // there may only be 64 octets in the local-part
  if (src.length - atSym > 255) { return false; } // there may only be 255 octets in the domain

  // Is the domain plausible?
  var lastDot = src.lastIndexOf(".");
  //alert(str.charAt(atSym - 1));
  // Check if it is a dot-atom such as example.com
  if(src.charAt(0) == '.')	{ return false; }
  else if(src.charAt(atSym - 1) == '.') { return false; }		
  else if (lastDot > atSym + 1 && lastDot < src.length - 1) {
	if (src.charAt(lastDot-1)== '.') { return false; }
	else
		return true;
 }
  
  //  Check if could be a domain-literal.
  if (src.charAt(atSym + 1) == '[' &&  src.charAt(src.length - 1) == ']') { return true; }
  return false;

}
function checkSamples() {
  var validAddress = [
    'me@example.com',
    'a.nonymous@example.com',
    'name+tag@example.com',
    'name\\@tag@example.com',
    'spaces\\ are\\ allowed@example.com',
    '"spaces may be quoted"@example.com',
    '!#$%&\'*+-/=.?^_`{|}~@[1.0.0.127]',
    '!#$%&\'*+-/=.?^_`{|}~@[IPv6:0123:4567:89AB:CDEF:0123:4567:89AB:CDEF]',
    'me(this is a comment)@example.com'
  ];
  var invalidAddress = [
    'me@',
    '@example.com',
    'me.@example.com',
    '.me@example.com',
    'me@example..com',
    'me.example@com',
    'me\\@example.com'
  ];

  var results = new StringBuffer();
}

function StringBuffer() {
  this.buffer = [];
}

StringBuffer.prototype.append = function append(string) {
  this.buffer.push(string);
  return this;
};

StringBuffer.prototype.toString = function toString() {
  return this.buffer.join("");
};

 function setcategory(catname)
 {
     createCookie('catname',catname,1);
     return true;     
 }

