  function errorMessage(str,error,flag){
    if(flag==null || flag==false)alert(str+" "+error);
    return false;
  } 
  function isEmpty(str){
    var not=-1;
    for(i=0;i<str.length;i++)
      if(str.charAt(i)!=' ')not=i;
    if(not == -1)return true;
    else return false;
  }
  function isIPAddress(address,flag){
      var countOfPoints = 0;
      var startPost=0;
      var point="";
      for(i=0;i<address.length;i++){
        if(address.charAt(i)=='.'){
            countOfPoints++;
            if(point > 255)
             return errorMessage(address," is not IP address!",flag);
            point="";
        }else
          point+=address.charAt(i);
        if(address.charAt(i)!='0' && address.charAt(i)!='1' && address.charAt(i)!='3' && address.charAt(i)!='4' &&
           address.charAt(i)!='5' && address.charAt(i)!='6' && address.charAt(i)!='7' && address.charAt(i)!='8' &&
           address.charAt(i)!='2' && address.charAt(i)!='9' && address.charAt(i)!='.')
             return errorMessage(address," is not IP address!",flag);
    }
    if(countOfPoints < 2)
        return errorMessage(address," is not IP address!",flag);
    return true;
  }
  function isEmailAddress(email,flag){
    var dogPosition=0;
    for(i=0;i<email.length;i++)
       if(email.charAt(i)=='@')dogPosition=i;
    if(dogPosition == 0)return errorMessage(email," is not E-Mail address!",flag);
    return true;
  }
  function trim(str){
     var otv="";
     var i=0,j=str.length,i1=0;
     while(str.charAt(i++)==' ');
     while(str.charAt(--j)==' ');
     for(i1=i-1;i1<j+1;i1++)otv+=str.charAt(i1);
     return otv;
  }
  function isDomainName(domain1,flag){
    var domain = trim(domain1);
    if(domain.charAt(0)=='-')return errorMessage(domain,"is not domainname!",flag);
     for(i=1;i<domain.length;i++){
       if(!( (domain.charAt(i)>=0  && domain.charAt(i)<=9) ||
             (domain.charAt(i)>='a' && domain.charAt(i)<='z')||
             (domain.charAt(i)>='A' && domain.charAt(i)<='Z') ||
             (domain.charAt(i)=='-' && domain.charAt(i-1)!='-') 
             )||domain.charAt(i)==' ')return errorMessage(domain,"is not Domain Name!",flag);
     }
     return true;
  }
  function isNameServer(domain1,flag){
    var domain = trim(domain1);
    if(domain.charAt(0)=='-')return errorMessage(domain,"is not Name Server!",flag);
     for(i=1;i<domain.length;i++){
       if(!( (domain.charAt(i)>=0  && domain.charAt(i)<=9) ||
             (domain.charAt(i)>='a' && domain.charAt(i)<='z')||
             (domain.charAt(i)>='A' && domain.charAt(i)<='Z') ||
             (domain.charAt(i)=='-' && domain.charAt(i-1)!='-')||
             (domain.charAt(i)=='.' && domain.charAt(i-1)!='.')
             )||domain.charAt(i)==' ')return errorMessage(domain,"is not Name Server!",flag);
     }
     if(domain.indexOf('.')<2)return errorMessage(domain,"is not Name Server!",flag);
     return true;
  }

  function isWildCard(domain1,flag){
    var domain = trim(domain1);
    if(domain.charAt(0)=='-')return errorMessage(domain," is not Wildcard!",flag);
     for(i=1;i<domain.length;i++){
       if(!( (domain.charAt(i)>=0  && domain.charAt(i)<=9) ||
             (domain.charAt(i)>='a' && domain.charAt(i)<='z')||
             (domain.charAt(i)>='A' && domain.charAt(i)<='Z') ||
             (domain.charAt(i)=='-' && domain.charAt(i-1)!='-') ||
             (domain.charAt(i)=='*') || (domain.charAt(i)=='?') 
             )||domain.charAt(i)==' ') return errorMessage(domain," is not Wildcard!",flag);
     }
     return true;
  }
  function isTelephoneNumber(telephone,flag){
      var parensisBalance=0;
      if(telephone.charAt(0)!='+')return errorMessage(telephone," is not international telephone number!",flag);
      if(telephone.length < 6)return errorMessage(telephone," is not international telephone number!",flag);
      for(i=1;i<telephone.length;i++){
        if(telephone.charAt(i)==')' && parensisBalance==0)return errorMessage(telephone," is not telephone number!",flag);
        if(telephone.charAt(i)==')')parensisBalance--;
        if(telephone.charAt(i)=='(')parensisBalance++;
        if(parensisBalance > 1)return errorMessage(telephone," is not telephone number!",flag);
        if(! ( (telephone.charAt(i)>=0 && telephone.charAt(i)<=9)||
               (telephone.charAt(i)==' ')||
               (telephone.charAt(i)=='-') ||
               (telephone.charAt(i)=='(' ) || (telephone.charAt(i)==')' ) 
           ))
             return errorMessage(telephone," is not telephone number!",flag);
      }
      if(parensisBalance != 0)return errorMessage(telephone," is not telephone number!",flag);
      return true;
  }

  function isNotEmpty(str,flag){
    if(str.length == 0)return errorMessage("Error : ","this field is EMPTY!",flag);
    var b=0;
    for(i=0;i<str.length;i++)
      if(str.charAt(i)!=' ')b++;
    if(b==0)return errorMessage("Error : ","this field is EMPTY!",flag);
    return true;
  }
