1function validateForm(nameForm, arrayId, arrayType, arrayParams, arrayErrorMessages, typeShowError, css_class_error){� this.idEl = arrayId;� this.type = arrayType;� this.params = arrayParams;� this.messages = arrayErrorMessages;� this.errorsMsg = new Array();� this.errorId = new Array();� this.current = 0;� this.end = this.idEl.length;� this.errorMsg = '';� this.typeShowError = typeShowError;� this.nameForm = nameForm;� if (css_class_error){� this.css_class_error = css_class_error;� }else{� this.css_class_error = 'fielderror';� }�� this.addError = function(){� if (this.getType() == 'eqne' || this.getType() == 'eq'){� this.errorId[this.errorId.length] = this.getParam();� }� this.errorId[this.errorId.length] = this.getId();� this.errorsMsg[this.errorsMsg.length] = this.getMessage();� };�� this.parseNumber = function(){� var reg = /^(\d*),(\d*)$/;� var pattern = (reg.test(this.getParam())) ? (new RegExp('^(\\d){' + RegExp.$1 + ',' + RegExp.$2 + '}$')) : (new RegExp('^(\\d){' + this.getParam() + '}$'));� if (!pattern.test(this.getValue(0))){� this.addError();� }� };�� this.checkNumber = function(pattern){� this.parseNumber();� };�� this.checkFloat = function(){� var value = parseFloat(this.getValue(0));� if (isNaN(value) || value<=0) this.addError();� };�� this.checkRegular = function(){� var pattern = new RegExp(this.getParam());� if (!pattern.test(this.getValue(0))) this.addError();� };�� this.checkFloatOrEmpty = function(){� var value = parseFloat(this.getValue(0));� if (!this.checkNotEmptyFunc(this.getValue())) return true; else this.checkFloat();� };� � this.checkFloatOrEmptyOrZero = function(){� if (this.getValue(0)==0) return true; else this.checkFloatOrEmpty();� };�� this.checkNotNull = function(){� if (this.getValue(0)==0) this.addError();� };�� this.checkMoreLength = function(){� if (this.getValue(0).length<this.getParam()) this.addError();� };�� this.checkLessLength = function(){� if (this.getValue(0).length>this.getParam()) this.addError();� };�� this.checkEqualNotEmpty = function(notEmpty){� var element2 = this.getValue(0);� var element1 = this.getValue(this.getParam());� if (element1 != element2){� this.addError();� } else if (notEmpty) {� if (!this.checkNotEmptyFunc(element1)){� this.addError();� }� }� };�� this.checkNotEmptyFunc = function(value){� var pattern = /\S/;� return (value) ? (pattern.test(value)) : (pattern.test(this.getValue(0)));� };�� this.checkNotEmpty = function(){� if (!this.checkNotEmptyFunc()){� this.addError();� }� };�� this.checkMail = function(){� var pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;� if (!pattern.test(this.getValue(0))){� this.addError();� }� };�� this.checkZipCode = function(){� var pattern = /\S/;� if (!pattern.test(this.getValue(0)) ){� this.addError();� }� };�� this.checkDate = function(){� var tempDate = this.getValue(0);� var pattern = new RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})$");� if (pattern.test(tempDate)){� var year = RegExp.$1;� var month = RegExp.$2;� var day = RegExp.$3;� if (month<1 || month>12){� this.addError();� } else if (year>2099 || year<1900){� this.addError();� } else if (day<1 || day>31){� this.addError();� }� }else{� this.addError();� }� };�� this.checkDateOrEmpty = function(){� if (!this.checkNotEmptyFunc(this.getValue())) return true; else this.checkDate();� };�� this.naturalNumber = function(){� var value = parseInt(this.getValue(0));� if (isNaN(value) || value<=0) this.addError();� };�� this.checked = function(){� if (!this.$().checked) this.addError();� };�� this.getType = function(){� return this.type[this.current];� };�� this.getForm = function(){� return document.forms[nameForm];� };�� this.getId = function(){� return this.idEl[this.current];� };�� this.getParam = function(){� return this.params[this.current];� };�� this.getMessage = function(){� return this.messages[this.current];� };�� this.getCurrent = function(){� return this.idEl[this.current];� };�� this.next = function(){� this.current++;� };�� this.notEnd = function(){� return (this.current < this.end);� };�� this.$ = function(idElement){� return (idElement) ? (document.getElementById(idElement)) : (document.getElementById(this.getCurrent()));� };�� this.getValue = function(idElement){� if (!idElement){� var element = this.$(this.getCurrent());� } else {� var element = this.$(idElement);� }
1� switch(element.type){� case 'select-one':� return element.options[element.selectedIndex].value;� break;� case 'radio':� case 'checkbox':� return element.checked;� break;� case 'text':� case 'password':� case 'textarea':� return element.value;� break;� }� };�� this.validate = function(){� this.unhighlightFields();� while(this.notEnd()){� if (this.$(0)){� switch(this.getType()){� case 'num':� this.checkNumber();� break;� case 'nem':� this.checkNotEmpty();� break;� case 'em':� this.checkMail();� break;� case 'nat':� this.naturalNumber();� break;� case 'chk':� this.checked();� break;� case 'fl':� this.checkFloat();� break;� case 'fl|em':� this.checkFloatOrEmpty();� break;� case 'fl|em|0':� this.checkFloatOrEmptyOrZero();� break;� case 'notn':� this.checkNotNull();� break;� case 'eq':� this.checkEqualNotEmpty(0);� break;� case 'eqne':� this.checkEqualNotEmpty(1);� break;� case 'more':� this.checkMoreLength();� break;� case 'less':� this.checkLessLength();� break;� case 'date':� this.checkDate(this.getParam());� break;� case 'reg':� this.checkRegular();� break;� case 'date|em':� this.checkDateOrEmpty(this.getParam());� break;� case 'zip':� this.checkZipCode();� break;� }� }� this.next();� }�� if (this.errorsMsg.length){� this.$(this.errorId[0]).focus();� switch(this.typeShowError){� case 1:� this.showErrors();� break;� case 2:� this.highlightFields();� break;� case 3: � this.showErrors();� this.highlightFields();� break;� }� return false;� }else{� return true;� }� };�� this.showErrors = function(){� var countErrors = this.errorsMsg.length;� for(var i=0;i<countErrors;i++){� this.errorMsg += this.errorsMsg[i]+"\n";� }� alert(this.errorMsg);� };�� this.unhighlightFields = function(){� var form = this.getForm();� var countElements = form.length;� for(i=0;i<countElements;i++){� if (form.elements[i].type == 'button' || form.elements[i].type == 'submit' || form.elements[i].type == 'hidden')� continue;� else if (form.elements[i].type == 'checkbox'){� jQuery(form.elements[i].parentNode).removeClass(this.css_class_error);� }else{� jQuery(form.elements[i]).removeClass(this.css_class_error);� }� }� };�� this.highlightFields = function(){� var countErrors = this.errorId.length;� for(var i=0;i<countErrors;i++){� if (this.$(this.errorId[i]).type == 'checkbox'){� jQuery(this.$(this.errorId[i]).parentNode).addClass(this.css_class_error);� }else{� jQuery(this.$(this.errorId[i])).addClass(this.css_class_error);� }� }� };�}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.