

 

String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

/**
 * returns string with all leading and trailing characters 
 * eliminated.
 */
function trim(str){
  var s = new String(str);
  //trailing spaces
  while (s.length>0 && isSpaceCharacter(""+s.charAt(s.length-1))){
    s = s.substring(0,s.length-1);
  }
  //leading spaces
  while (s.length>0 && isSpaceCharacter(""+s.charAt(0))){
    s = s.substring(1);
  }
  return s
}

var spaces = " \t\r\n"+String.fromCharCode(160);

function isSpaceCharacter(ch){
  return spaces.indexOf(ch) >-1;
}
/**
 * Validates that input's value is correct email address
 */
function validateEmail(elem) {
  var str = "";
  if(elem.value){
    str = new String(elem.value);
  }else{
    str = new String(elem);
  }
  if (window.RegExp) {
    var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
    var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$";
    var reg1 = new RegExp(reg1str);
    var reg2 = new RegExp(reg2str);
    if (!reg1.test(str) && reg2.test(str)) {
      return true;
    }
    return false;
  } else {
    if(str.indexOf("@") >= 0)
      return true;
    return false;
  }
}
function checkCustomForm(f){
  var els = f.elements["element"];
  if(!els){
     return true;
  }
  if(!els.length){
     if(! _validateField(els.value,f)){
        f.elements["_"+els.value].focus();
        return false;
     }else{
        return true;
     }
  }

  for(var i=0 ; i < els.length; i++){
     if(! _validateField(els[i].value,f)){
        f.elements["_"+els[i].value].focus();
        return false;
     }
  }

  if(f.securetext && f.securetext.value.length == 0){
     alert("Please enter symbols from the picture");
     f.securetext.focus();
     return false;
  }

  return true;
}

function _validateField(fieldName, f){
   var isMandat = (f.elements[fieldName+"__mandatory"].value=="true");
   var isEmailFrom = xplorex_form_email_from_field == fieldName;
   if(!isMandat){
      return true;
   }
   if(trim(f.elements["_"+fieldName].value).length == 0){
      alert("Please enter value into \""+fieldName+"\" field");
      return false;
   }
   if (isEmailFrom){
      if (!validateEmail(f.elements["_"+fieldName])){
        alert("Please enter valid email into \""+fieldName+"\" field");
        return false;
      }
   }
   return true;
} 