/* main.js */
function check_email(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) 
	{		 
		 return "E-mail Address is incorrect (check '@' and '.')"
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	
	if (user.match(userPat)==null) 
	{
	    return "Check e-mail format"
	}
	
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) 
	{
		  for (var i=1;i<=4;i++) 
		  {
		    if (IPArray[i]>255) 
		    {
		    	 return "Check IP address"
		    }
	    }
	    return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) 
	{
		return "The domain entered for the email address appears incorrect. It should be in the format 'domain.com'"
	}	
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2) 
	{
	   return "Check domain address"
	}	
	if (len<2) 
	{
	   return "Email address is incorrect"
	}	
	return 1; // no error
}


function check_allowed_characters(param,goodSigns) 
{ 	 
	 for (i=0; i<param.length; i++) 
	 {
	 	 sign=param.charAt(i)
	    if (goodSigns.indexOf(sign,0) == -1){ return false }
	 }
	 return true;
}



function input_show_default(selector, defvalue) 
{
    if($.trim($(selector).val()) == "") 
    {
        $(selector).val(defvalue);
    }
    $(selector).focus(function() 
    {
        if($(selector).val() == defvalue) 
        {
            $(selector).val("");
        }
    });
    $(selector).blur(function() 
    {
        if($.trim($(selector).val()) == "") 
        {
            $(selector).val(defvalue);
        }
    });
}