/** * 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; } } 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; }