// ming-on@rocketmail.com
// Ming

//-----------------------------------------------------------------------------------------
// Check for un-allow char < > " '
//-----------------------------------------------------------------------------------------
function NotAllowChar(str) {
for(var j=0; j<str.length; j++) {
 var temp = str.charAt(j);
 if(temp=="<" || temp==">" || temp=="\"" || temp=="'"){
  return false;
  break;
  }
 }

return true;
}

//-----------------------------------------------------------------------------------------
// Check only numeric 0, 1, 2,.......9
//-----------------------------------------------------------------------------------------
function isNumeric(str) {
for(var j=0; j<str.length; j++) {
  var temp = str.charAt(j);
  if(!((temp=="0") || (temp=="1") || (temp=="2") || (temp=="3") || (temp=="4") || (temp=="5") || (temp=="6") || (temp=="7") || (temp=="8") || (temp=="9"))){
    return false;
    break;
    }

  // if j = last term, it means true - all char are digits!! Great!!
  // str.length-1 since j starts from 0!
  if(j == str.length-1)
    return true;
    }
}


//-----------------------------------------------------------------------------------------
// Check only numeric 0, 1, 2,.......9, ' ', '-'
//-----------------------------------------------------------------------------------------
function isTelephone(str) {
for(var j=0; j<str.length; j++) {
  var temp = str.charAt(j);
  if(!((temp=="0") || (temp=="1") || (temp=="2") || (temp=="3") || (temp=="4") || (temp=="5") || (temp=="6") || (temp=="7") || (temp=="8") || (temp=="9") || (temp==" ") || (temp=="-"))){
    return false;
    break;
    }

// if j = last term, it means true - all char are digits!! Great!!
// str.length-1 since j starts from 0!
  if(j == str.length-1)
    return true;
    }
}


//-----------------------------------------------------------------------------------------
// 顯示個error message出來，再setfocus去特別field到，再set errState=true
//-----------------------------------------------------------------------------------------
function error(elem,text)
{
alert(text);
elem.focus();
errState=true;
}


//-----------------------------------------------------------------------------------------
// Check for text length of a textfield
//-----------------------------------------------------------------------------------------
function validLength(item, len) {
  // changed by tracy
  //return (item.length >= len);
  var s=item;
  for(var i =0; i<s.length;i++)
  {
    var c = s.charAt(i);
    if(!(/\s/.test(c))) return true;
  }
  return false;
  
}



//-----------------------------------------------------------------------------------------
// Check for correct email address
//-----------------------------------------------------------------------------------------
 function gjfValidEmail(item) {
//  var alertEmailAddrNotEntered         ="Sorry, you must enter your
//  email address.";
//  var alertInvalidCharFoundInEmailAddr ="Sorry, this email address seems
//  wrong.";
//  var alertAtSignMissingInEmailAddr    ="Sorry, this email address seems
//  wrong.";
//  var alertBlankSpaceFoundInEmailAddr  ="Sorry, this email address seems
//  wrong.";
  var invalidEmailChars = "\"|&;<>!*\\";

  email = item

   if (! gjfValidateAsciiData (email)) {
     //alert(alertInvalidCharFoundInEmailAddr);
     return false
   }

   var invalidChars = invalidEmailChars;
   for (var i = 0; i < invalidChars.length; i++) {
     if (email.indexOf(invalidChars.charAt(i)) != -1) {
       //alert(alertInvalidCharFoundInEmailAddr);
       return false;
     }
   }

    if (email == ""){
     //alert(alertEmailAddrNotEntered);
     return false;
   }
   if (email.indexOf("@") == -1){
     //alert(alertAtSignMissingInEmailAddr);
     return false;
   }

   if (email.indexOf(" ") != -1){
     //alert(alertBlankSpaceFoundInEmailAddr);
     return false;
   }

   if (window.RegExp) {
     var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
     var reg2str =
"^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";

     var reg1 = new RegExp (reg1str);
     var reg2 = new RegExp (reg2str);

     if (reg1.test(email) || !reg2.test(email)) {
       //alert(alertInvalidCharFoundInEmailAddr);
       return false;
     }
   }
   return true;
 }

 function gjfValidateAsciiData(urstr) {
 //use by gjfValidEmail
   var i;
   var result;

   for (i=0; i<urstr.length; i++) {
     if ((urstr.charAt(i) < " ") || (urstr.charAt(i) > "~"))
       return false;
   }
   return true;
 }
 
 function CheckPositiveValue(oStr) {
  if (isNaN(oStr)){
    return true;
  }else{
    if (parseInt(oStr)<0) {
      return true;
    }
  }
  return false;
 }
 
function CheckRadio(oObject , oText)
{
  var i=oObject.length;
  for (var j=0;j<i;j++) {
          if (oObject[j].checked) 
          {         
            return false;
          }
  }
  return true;
}
 
function CheckSelected(oObject) {
  
  if (oObject.options[oObject.selectedIndex].value=='' || oObject.options[oObject.selectedIndex].value==-1){
    return true;
  }
  return false;
}
