From e2a33ba2275fbb89b47aca46ac64238d586c80d1 Mon Sep 17 00:00:00 2001 From: Julio Cesar Laura Date: Mon, 25 Jun 2012 10:21:48 -0400 Subject: [PATCH] BUG 0000 Conflict with "input" class --- gulliver/js/form/core/form.js | 568 +++++++++++++++++----------------- 1 file changed, 284 insertions(+), 284 deletions(-) diff --git a/gulliver/js/form/core/form.js b/gulliver/js/form/core/form.js index bd91c889b..e05a5517e 100755 --- a/gulliver/js/form/core/form.js +++ b/gulliver/js/form/core/form.js @@ -62,7 +62,7 @@ function G_Field ( form, element, name ) this.name=name; this.dependentFields=[]; this.dependentOf=[]; - + this.hide = function( parentLevel ){ if (typeof(parentLevel)==='undefined') parentLevel = 1; var parent = me.element; @@ -70,7 +70,7 @@ function G_Field ( form, element, name ) parent = parent.parentNode; parent.style.display = 'none'; }; - + this.show = function( parentLevel ){ if (typeof(parentLevel)==='undefined') parentLevel = 1; var parent = me.element; @@ -99,9 +99,9 @@ function G_Field ( form, element, name ) if (me.dependentOf[i]===field) exists = true; if (!exists) me.dependentOf[i] = field; }; - + this.updateDepententFields=function(event) { - + var tempValue; if (me.dependentFields.length===0) return true; var fields=[],Fields = [],i,grid='',row=0; @@ -119,12 +119,12 @@ function G_Field ( form, element, name ) aux.push('?'); if (aux.join('*').indexOf(fieldName + '*') == -1){ Fields.push(fieldName); - eval("var oAux2 = {" + fieldName + ":'" + oAux.value() + "'}"); + eval("var oAux2 = {" + fieldName + ":'" + oAux.value() + "'}"); fields = fields.concat(oAux2); } }else{ Fields.push(fieldName); - eval("var oAux2 = {" + fieldName + ":'" + oAux.value() + "'}"); + eval("var oAux2 = {" + fieldName + ":'" + oAux.value() + "'}"); fields = fields.concat(oAux2); } } @@ -139,7 +139,7 @@ function G_Field ( form, element, name ) } }else{ Fields.push(oAux.name); - fields = fields.concat(me.dependentFields[i].dependentOf); + fields = fields.concat(me.dependentFields[i].dependentOf); } } } @@ -204,7 +204,7 @@ function G_Field ( form, element, name ) // this checks the dependent fields that doesn't have assigned a value // but their master yes and their dependence must be fulfilled within one // onchange event - + /* if (grid!='') { @@ -219,15 +219,15 @@ function G_Field ( form, element, name ) args : 'function=showDependentFields&fields='+response+'&fieldName='+fieldName+'&DYN_UID='+me.form.id+'&form='+encodeURIComponent(fields.toJSONString()) +(grid!=''?'&grid='+grid:'')+(row>0?'&row='+row:'') }); checkCallServer.make(); - + var dependentList = eval(checkCallServer.xmlhttp.responseText); var field ; var oAuxJs; for ( index in dependentList ){ field = 'form[grid]['+ row +']['+dependentList[index]+']'; - + oAuxJs = document.getElementById(field); - + if ( oAuxJs!=null ){ if (oAuxJs.value!="") { if ( oAuxJs.fireEvent ) { @@ -247,16 +247,16 @@ function G_Field ( form, element, name ) me.element.value = newValue; }; this.setContent = function(newContent) { - + }; - + this.setAttributes = function (attributes) { for(var a in attributes) { if(a=='formula' && attributes[a]){ //here we called a this function if it has a formula sumaformu(this.element,attributes[a],attributes['mask']); }//end formula - + switch (typeof(attributes[a])) { case 'string': case 'int': @@ -277,7 +277,7 @@ function G_Field ( form, element, name ) me[a] = attributes[a]; } } - + } }; this.value=function() { @@ -334,13 +334,13 @@ function G_Text( form, element, name) this.mType = 'text'; this.parent = G_Field; this.browser = {}; - + this.checkBrowser = function(){ var nVer = navigator.appVersion; var nAgt = navigator.userAgent; //alert(navigator.userAgent); var browserName = navigator.appName; - var fullVersion = ''+parseFloat(navigator.appVersion); + var fullVersion = ''+parseFloat(navigator.appVersion); var majorVersion = parseInt(navigator.appVersion,10); var nameOffset,verOffset,ix; @@ -348,7 +348,7 @@ function G_Text( form, element, name) if ((verOffset=nAgt.indexOf("Opera"))!=-1) { browserName = "Opera"; fullVersion = nAgt.substring(verOffset+6); - if ((verOffset=nAgt.indexOf("Version"))!=-1) + if ((verOffset=nAgt.indexOf("Version"))!=-1) fullVersion = nAgt.substring(verOffset+8); } // In MSIE, the true version is after "MSIE" in userAgent @@ -356,26 +356,26 @@ function G_Text( form, element, name) browserName = "Microsoft Internet Explorer"; fullVersion = nAgt.substring(verOffset+5); } - // In Chrome, the true version is after "Chrome" + // In Chrome, the true version is after "Chrome" else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) { browserName = "Chrome"; fullVersion = nAgt.substring(verOffset+7); } - // In Safari, the true version is after "Safari" or after "Version" + // In Safari, the true version is after "Safari" or after "Version" else if ((verOffset=nAgt.indexOf("Safari"))!=-1) { browserName = "Safari"; fullVersion = nAgt.substring(verOffset+7); - if ((verOffset=nAgt.indexOf("Version"))!=-1) + if ((verOffset=nAgt.indexOf("Version"))!=-1) fullVersion = nAgt.substring(verOffset+8); } - // In Firefox, the true version is after "Firefox" + // In Firefox, the true version is after "Firefox" else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) { browserName = "Firefox"; fullVersion = nAgt.substring(verOffset+8); } - // In most other browsers, "name/version" is at the end of userAgent - else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < - (verOffset=nAgt.lastIndexOf('/')) ) + // In most other browsers, "name/version" is at the end of userAgent + else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < + (verOffset=nAgt.lastIndexOf('/')) ) { browserName = nAgt.substring(nameOffset,verOffset); fullVersion = nAgt.substring(verOffset+1); @@ -391,7 +391,7 @@ function G_Text( form, element, name) majorVersion = parseInt(''+fullVersion,10); if (isNaN(majorVersion)) { - fullVersion = ''+parseFloat(navigator.appVersion); + fullVersion = ''+parseFloat(navigator.appVersion); majorVersion = parseInt(navigator.appVersion,10); } this.browser = { @@ -401,33 +401,33 @@ function G_Text( form, element, name) userAgent: navigator.userAgent }; }; - + this.parent( form, element, name ); if (element) { this.prev = element.value; } - + this.validate = 'Any'; this.mask = ''; this.required = false; this.formula = ''; this.key_Change = false; var doubleChange = false; - + //FUNCTIONS - + function IsUnsignedInteger(YourNumber){ var Template = /^d+$/; //Formato de numero entero sin signo return (Template.test(YourNumber)) ? 1 : 0; //Compara "YourNumber" con el formato "Template" y si coincidevuelve verdadero si no devuelve falso } - - function replaceAll( text, busca, reemplaza ){ - while (text.toString().indexOf(busca) != -1){ + + function replaceAll( text, busca, reemplaza ){ + while (text.toString().indexOf(busca) != -1){ text = text.toString().replace(busca,reemplaza); } return text; } - + function isNumberMask (mask){ for ( var key in mask){ if (mask[key]!='#'&&mask[key]!=','&&mask[key]!='.'&&typeof(mask[key])=='string'){ @@ -436,7 +436,7 @@ function G_Text( form, element, name) } return true; } - + //function renderNewValue(element, keyCode){ /*var myField = element; var myValue = myField.value; @@ -473,7 +473,7 @@ function G_Text( form, element, name) } return {result: newValue, cursor: startPos};*/ //} - + //MEMBERS this.setContent = function(content) { me.element.value = ''; @@ -483,7 +483,7 @@ function G_Text( form, element, name) } } }; - + //this.validateKey = function(event){ /* attributes = elementAttributesNS(element, 'pm'); @@ -491,16 +491,16 @@ function G_Text( form, element, name) me.prev = me.element.value; if (window.event) event=window.event; var keyCode= window.event ? event.keyCode : event.which ; - me.mask = typeof(me.mask)==='undefined'?'':me.mask; - if(me.mask=='yyyy-mm-dd'){ - attributes.mask=attributes.mask.replace('%d','dd'); + me.mask = typeof(me.mask)==='undefined'?'':me.mask; + if(me.mask=='yyyy-mm-dd'){ + attributes.mask=attributes.mask.replace('%d','dd'); attributes.mask=attributes.mask.replace('%m','mm'); attributes.mask=attributes.mask.replace('%y','yy'); - attributes.mask=attributes.mask.replace('%Y','yyyy'); + attributes.mask=attributes.mask.replace('%Y','yyyy'); attributes.mask=attributes.mask.replace('%H','mm'); attributes.mask=attributes.mask.replace('%M','mm'); - attributes.mask=attributes.mask.replace('%S','mm'); - me.mask=attributes.mask; + attributes.mask=attributes.mask.replace('%S','mm'); + me.mask=attributes.mask; } //alert(me.mask); if (me.mask !=='' ) { @@ -509,7 +509,7 @@ function G_Text( form, element, name) if (event.ctrlKey) return true; if (event.altKey) return true; if (event.shiftKey) return true; - } + } if ((keyCode===0) ) if (event.keyCode===46) return true; else return true; if ( (keyCode===8)) return true; if (me.mask ==='') { @@ -536,7 +536,7 @@ function G_Text( form, element, name) break; case "Alpha": if (keyCode==8) return true; - patron =/[A-Za-z\sáéíóúäëïöüñçÇÑ�É�ÓÚÄË�ÖÜ]/; + patron =/[A-Za-z\sáéíóúäëïöüñçÇÑ�É�ÓÚÄË�ÖÜ]/; te = String.fromCharCode(keyCode); return patron.test(te); break; @@ -564,28 +564,28 @@ function G_Text( form, element, name) var myField = me.element; var oldValue = myField.value; var newValue = ''; - + newValue = oldValue.substring(0, startPos); newValue = newValue + myValue; newValue = newValue + oldValue.substring(endPos, oldValue.length); - - - + + + startPos++; - + var newValue2; if (mType !== 'text'){ newValue2 = G.toMask(newValue, me.mask, startPos); }else{ newValue2 = G.toMask(newValue, me.mask, startPos, 'normal'); } - + //alert(newValue + ' -> ' + mType + ' -> ' + newValue2.result); //alert(newValue2.result); me.element.value = newValue2.result; //alert(me.element.value); me.setSelectionRange(newValue2.cursor, newValue2.cursor); - + if (me.element.fireEvent){ me.element.fireEvent("onchange"); }else{ @@ -596,17 +596,17 @@ function G_Text( form, element, name) return true; }*/ //}; - + this.putFormatNumber =function (evt) { /* - if((typeof(evt)==="undefined" || evt===0) && me.mask!='' ){*/ + if((typeof(evt)==="undefined" || evt===0) && me.mask!='' ){*/ // var numberSet=me.element.value.split('.'); // maskD = me.mask.split(';'); -// maskL = (maskD.length >1)?maskD[1]:maskD[0]; +// maskL = (maskD.length >1)?maskD[1]:maskD[0]; // if (maskL.search(",")==-1){ // return false; // } -// maskWithoutC =replaceAll(maskL,",",""); +// maskWithoutC =replaceAll(maskL,",",""); // maskWithoutC =replaceAll(maskWithoutC," ",""); // maskWithoutPto=replaceAll(maskWithoutC,".",""); // if(numberSet.length >=2){ @@ -614,24 +614,24 @@ function G_Text( form, element, name) // me.element.value = me.element.value+' '+maskWithoutPto.substr( (maskWithoutPto.length -1) ,maskWithoutPto.length); // return; // } -// +// // maskElemnts = maskWithoutC.split('.'); // maskpartInt = maskElemnts[0].split(''); -// numberwc = replaceAll(me.element.value,",", ""); +// numberwc = replaceAll(me.element.value,",", ""); // numberwc = replaceAll(numberwc,".", ""); // onlynumber = replaceAll(numberwc,".", ""); // onlynumber = replaceAll(numberwc," ", ""); // onlynumber = replaceAll(numberwc,"%", ""); // if(onlynumber=='') return false; -// cd = parseInt(Math.log(onlynumber)/Math.LN10+1); +// cd = parseInt(Math.log(onlynumber)/Math.LN10+1); // var auxnumber = onlynumber; // var cdaux=0; // while(auxnumber > 0){ // cdaux++; // auxnumber =parseInt(auxnumber / 10); -// } +// } // cd=cdaux; -// +// // if (isNumberMask(maskpartInt)){ // if(cd < maskpartInt.length && cd >= 4 && cd !=3){ // var newNumber=''; @@ -664,10 +664,10 @@ function G_Text( form, element, name) // } //} }; - + //this.preValidateChange=function(event) { /*var oNewValue; - var newValueR; + var newValueR; me.putFormatNumber(event); if(me.element.readOnly) return true; if (me.mask ==='') return true; @@ -703,7 +703,7 @@ function G_Text( form, element, name) me.prev=me.element.value; return true;*/ //}; - + this.execFormula=function(event) { if( me.formula != ''){ leimnud.event.add(getField('faa'),'keypress',function(){ @@ -712,7 +712,7 @@ function G_Text( form, element, name) } return false; }; - + /*this.validateChange=function(event) { /*if (me.mask ==='') return true; var sel=me.getSelectionRange(); @@ -722,12 +722,12 @@ function G_Text( form, element, name) me.setSelectionRange(newValue2.cursor, newValue2.cursor); return true;*/ //};*/ - + this.value = function() { return me.element.value; }; - + //Get Cursor Position this.getCursorPos = function () { var textElement=me.element; @@ -756,7 +756,7 @@ function G_Text( form, element, name) } } }; - + this.setSelectionRange = function(selectionStart, selectionEnd) { var input=me.element; if (input.createTextRange) { @@ -773,7 +773,7 @@ function G_Text( form, element, name) input.setSelectionRange(selectionStart, selectionEnd); } }; - + //FUNCTION MAYBE IT'S DEPRECATED /*this.getSelectionRange = function() { if (document.selection) { @@ -806,32 +806,32 @@ function G_Text( form, element, name) return sel; } }; -*/ +*/ //FUNCTION MAYBE IT'S DEPRECATED - /*this.getCursorP =function (field) { - if (document.selection) { - field.focus(); - var oSel = document.selection.createRange(); - oSel.moveStart('character', -field.value.length); - field.selectionEnd = oSel.text.length; - oSel.setEndPoint('EndToStart', document.selection.createRange() ); - field.selectionStart = oSel.text.length; - } - return {selectionStart: field.selectionStart, selectionEnd: field.selectionEnd}; - };*/ - + /*this.getCursorP =function (field) { + if (document.selection) { + field.focus(); + var oSel = document.selection.createRange(); + oSel.moveStart('character', -field.value.length); + field.selectionEnd = oSel.text.length; + oSel.setEndPoint('EndToStart', document.selection.createRange() ); + field.selectionStart = oSel.text.length; + } + return {selectionStart: field.selectionStart, selectionEnd: field.selectionEnd}; + };*/ + //Gets cursor position this.getCursorPosition = function(){ if(navigator.appName == 'Microsoft Internet Explorer'){ var field = me.element; - if (document.selection) { - field.focus(); - var oSel = document.selection.createRange(); - oSel.moveStart('character', -field.value.length); - field.selectionEnd = oSel.text.length; - oSel.setEndPoint('EndToStart', document.selection.createRange() ); - field.selectionStart = oSel.text.length; - } + if (document.selection) { + field.focus(); + var oSel = document.selection.createRange(); + oSel.moveStart('character', -field.value.length); + field.selectionEnd = oSel.text.length; + oSel.setEndPoint('EndToStart', document.selection.createRange() ); + field.selectionStart = oSel.text.length; + } return {selectionStart: field.selectionStart, selectionEnd: field.selectionEnd}; }else{ if (document.selection) { @@ -863,9 +863,9 @@ function G_Text( form, element, name) sel.selectionEnd = me.element.selectionEnd; return sel; } - } + } }; - + this.removeMask = function(){ value = me.element.value; cursor = me.getCursorPosition(); @@ -899,7 +899,7 @@ function G_Text( form, element, name) return {result: newValue, cursor: cursor}; } else{ - return {result: newValue, cursor: {selectionStart: newCursor, selectionEnd: newCursor}}; + return {result: newValue, cursor: {selectionStart: newCursor, selectionEnd: newCursor}}; } }; @@ -914,7 +914,7 @@ function G_Text( form, element, name) } return G.ApplyMask(value, mask, cursor, dir, comma); }; - + this.replaceMasks= function(newValue, newCursor){ masks = me.mask; aMasks = masks.split(';'); @@ -937,7 +937,7 @@ function G_Text( form, element, name) } return aResults[minIndex]; }; - + this.getCleanMask = function(){ aMask = me.mask.split(''); maskOut = ''; @@ -962,7 +962,7 @@ function G_Text( form, element, name) } return maskOut; } - + this.applyMask = function(keyCode){ if (me.mask != ''){ dataWOMask = me.removeMask(); @@ -978,7 +978,7 @@ function G_Text( form, element, name) action = 'none'; break; case 8: - + newValue = currentValue.substring(0, cursorStart - 1); newValue += currentValue.substring(cursorEnd, currentValue.length); newCursor = cursorStart - 1; @@ -1028,14 +1028,14 @@ function G_Text( form, element, name) if (testData.indexOf(me.comma_separator) == -1){ aux = cleanMask.split('_'); tamMask = aux[0].length; - sw = true; + sw = true; } if (tamData >= tamMask){ if (sw && !swPeriod && testData.indexOf(me.comma_separator) == -1){ - action = 'none'; + action = 'none'; } if (!sw) action = 'none'; - + } } switch(action){ @@ -1090,7 +1090,7 @@ function G_Text( form, element, name) break; } if (newCursor < 0) newCursor = 0; - + me.element.value = newValue; me.setSelectionRange(newCursor,newCursor); } @@ -1103,7 +1103,7 @@ function G_Text( form, element, name) me.element.dispatchEvent(evObj); }*/ }; - + this.sendOnChange = function(){ if (me.element.fireEvent){ me.element.fireEvent("onchange"); @@ -1113,7 +1113,7 @@ function G_Text( form, element, name) me.element.dispatchEvent(evObj); } }; - + this.handleKeyDown = function(event){ if (me.element.readOnly) { return true; @@ -1133,7 +1133,7 @@ function G_Text( form, element, name) event.returnValue = false; } else{ - return false; + return false; } break; case 9: @@ -1152,16 +1152,16 @@ function G_Text( form, element, name) } return true; }; - + this.handleKeyPress = function(event){ if (me.element.readOnly) { return true; } - + if ((me.mType != 'currency' && me.mType != 'percentage' && me.mType != 'date') && (me.element.value.length > me.element.maxLength - 1)) { return true; } - + if (me.validate == 'Any' && me.mask == '') return true; //THIS FUNCTION HANDLE ALL KEYS EXCEPT BACKSPACE AND DELETE //keyCode = event.keyCode; @@ -1188,7 +1188,7 @@ function G_Text( form, element, name) if (event.ctrlKey) return true; if (event.shiftKey) return validShiftKey; } - + me.checkBrowser(); // if ((me.browser.name == 'Firefox') && (keyCode == 8 || keyCode == 46)){ if ((me.browser.name == 'Firefox') && (keyCode == 8 )){ @@ -1196,7 +1196,7 @@ function G_Text( form, element, name) event.returnValue = false; } else{ - return false; + return false; } } else{ @@ -1221,16 +1221,16 @@ function G_Text( form, element, name) else { patron = /[0-9,\.]/; } - + key = String.fromCharCode(pressKey); keyValid = patron.test(key); keyValid = keyValid || (pressKey == 45); - if (typeof me.comma_separator != 'undefined') { + if (typeof me.comma_separator != 'undefined') { if (me.comma_separator == '.'){ if (me.element.value.indexOf('.')==-1){ - keyValid = keyValid || (pressKey == 46); - } + keyValid = keyValid || (pressKey == 46); + } } else{ if (me.element.value.indexOf(',')==-1){ @@ -1240,12 +1240,12 @@ function G_Text( form, element, name) } break; case 'Alpha': - patron =/[a-zA-Z]/; // \sáéíóúäëïöüñçÇÑ�É�ÓÚÄË�ÖÜ]/; + patron =/[a-zA-Z]/; // \sáéíóúäëïöüñçÇÑ�É�ÓÚÄË�ÖÜ]/; key = String.fromCharCode(pressKey); keyValid = patron.test(key); break; case 'AlphaNum': - patron =/[a-zA-Z0-9\sáéíóúäëïöüñçÇÑ�É�ÓÚÄË�ÖÜ]/; + patron =/[a-zA-Z0-9\sáéíóúäëïöüñçÇÑ�É�ÓÚÄË�ÖÜ]/; key = String.fromCharCode(pressKey); keyValid = patron.test(key); break; @@ -1271,7 +1271,7 @@ function G_Text( form, element, name) lang :(typeof(me.language)!=='undefined')? me.language:"en" }); keyValid = k.result(); - + break; } if (keyValid){ @@ -1284,16 +1284,16 @@ function G_Text( form, element, name) } if (updateOnChange) me.sendOnChange(); } - + if (me.browser.name == 'Firefox') { if (keyCode == 0) return true; } - + if (me.browser.name == 'Chrome' || me.browser.name == 'Safari'){ event.returnValue = false; } else{ - return false; + return false; } } }; @@ -1304,9 +1304,9 @@ function G_Text( form, element, name) var evt = event || window.event; var keyPressed = evt.which || evt.keyCode; me.putFormatNumber(keyPressed); - + if(this.validate=="Email") - { + { //var pat=/^[\w\_\-\.çñ]{2,255}@[\w\_\-]{2,255}\.[a-z]{1,3}\.?[a-z]{0,3}$/; var pat=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})+$/; if(!pat.test(this.element.value)) @@ -1316,8 +1316,8 @@ function G_Text( form, element, name) this.element.className="module_app_input___gray"; return; } - else { - this.element.className=this.element.className.split(" ")[0]+" FormFieldInvalid"; + else { + this.element.className=this.element.className.split(" ")[0]+" FormFieldInvalid"; } } else @@ -1325,7 +1325,7 @@ function G_Text( form, element, name) this.element.className=this.element.className.split(" ")[0]+" FormFieldValid"; } } - + if (this.strTo) { switch (this.strTo){ case 'UPPER': @@ -1352,7 +1352,7 @@ function G_Text( form, element, name) this.element.onkeypress = this.handleKeyPress; this.element.onchange = this.updateDepententFields; //this.element.onblur = this.handleOnChange; - }else{ + }else{ //THIS ASSIGN FUNCTIONS FOR IE/CHROME leimnud.event.add(this.element,'keydown',this.handleKeyDown); leimnud.event.add(this.element,'keypress',this.handleKeyPress); @@ -1419,7 +1419,7 @@ function G() for(r=num0.length-1;r>=0;r--) num+= num0.substr(r,1); return num; } - + function __toMask(num, mask, cursor) { var inv=false; @@ -1437,11 +1437,11 @@ function G() var newCursorPosition=cursor; var betterOut=""; for(var r0=0;r0< mask.length; r0++){ - var out="";var j=0; - var loss=0; + var out="";var j=0; + var loss=0; var add=0; var cursorPosition=cursor;var i=-1;var dayPosition=0;var mounthPosition=0; - var dayAnalized ='';var mounthAnalized =''; + var dayAnalized ='';var mounthAnalized =''; var blocks={}; //Declares empty object for(var r=0;r< r0 ;r++) { var e=false; @@ -1555,7 +1555,7 @@ function G() if (ok) { out+=e; i++; - + } else { //loss loss++; @@ -1581,7 +1581,7 @@ function G() r--; } break; - + default: if (e===false) { out+=''; @@ -1591,7 +1591,7 @@ function G() out+=e; i++; }else { - + //if (m==='.') alert(i.toString() +'.'+ cursor.toString()); out+=m; /////here was krlos @@ -1603,7 +1603,7 @@ function G() //alert(m) //out+=m; //alert(m) - + break }*/ //alert(m+'\n'+mask+'\n'+out+'\n'+num) } @@ -1614,7 +1614,7 @@ function G() } } } - + //Get only numbers including decimal separator function _getOnlyNumbers(num, _DEC){ var _num = ''; @@ -1629,7 +1629,7 @@ function G() } return _num; } - + //Get only mask characters can be replaced by digits. function _getOnlyMask(mask, _DEC){ var _mask=''; @@ -1665,7 +1665,7 @@ function G() _outM = iNum[0] + __DECIMAL_SEP + iNum[1].substr(0,iMask[1].length); }else{ if (iNum[0].length > iMask[0].length){ - _outM = iNum[0].substr(0, iMask[0].length) + __DECIMAL_SEP + iNum[1]; + _outM = iNum[0].substr(0, iMask[0].length) + __DECIMAL_SEP + iNum[1]; } } }else{ //Number has not decimal separator @@ -1689,7 +1689,7 @@ function G() //alert(_outM); return _outM; } - + //Apply a mask to a number this.ApplyMask = function(num, mask, cursor, dir, comma_sep){ myOut = ''; @@ -1772,7 +1772,7 @@ function G() cNum = aNum[1]; } _dout = ''; - + pMask = dMask.split(''); pNum = dNum.split(''); for (p=0; p < pMask.length; p++){ @@ -1789,7 +1789,7 @@ function G() _dout += pMask[p]; } }else{ - + } break; default: @@ -1833,7 +1833,7 @@ function G() if (cursor == 0){ for(l=0; l < aOut.length; l++){ switch(aOut[l]){ - case '0': case '1': case '2': case '3': case '4': + case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case __DECIMAL_SEP: myCursor = l; @@ -1845,7 +1845,7 @@ function G() else if(cursor == num.length){ for(l=0; l < aOut.length; l++){ switch(aOut[l]){ - case '0': case '1': case '2': case '3': case '4': + case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case __DECIMAL_SEP: last = l; @@ -1870,7 +1870,7 @@ function G() } myCursor = cursor + offset; } - + break; } //myCursor += 1; @@ -1955,7 +1955,7 @@ function G() cNum = aNum[1]; } _dout = ''; - + pMask = dMask.split(''); pNum = dNum.split(''); for (p=0; p < pMask.length; p++){ @@ -1972,7 +1972,7 @@ function G() _dout += pMask[p]; } }else{ - + } break; default: @@ -2020,7 +2020,7 @@ function G() 'cursor': myCursor }; }; - + //Manage Multiple Mask and Integer/Real Number restrictions this.toMask = function(num, mask, cursor, direction){ if (mask==='') return { @@ -2031,19 +2031,19 @@ function G() var result = []; var subMasks=mask.split(';'); for(var r=0; r 0 ){ sRequiredFields = sRequiredFields.replace(/%27/gi, '"'); } @@ -2716,30 +2716,30 @@ var validateForm = function(sRequiredFields) { sRequiredFields = sRequiredFields.replace(/%39/gi, "'"); } aRequiredFields = eval(sRequiredFields); - + var sMessage = ''; - var invalid_fields = Array(); - var fielEmailInvalid = Array(); + var invalid_fields = Array(); + var fielEmailInvalid = Array(); for (var i = 0; i < aRequiredFields.length; i++) { aRequiredFields[i].label=(aRequiredFields[i].label=='')?aRequiredFields[i].name:aRequiredFields[i].label; - + if (!notValidateThisFields.inArray(aRequiredFields[i].name)) { - + if (typeof aRequiredFields[i].required != 'undefined'){ required = aRequiredFields[i].required; } else { required = 1; } - + if (typeof aRequiredFields[i].validate != 'undefined') { validate = aRequiredFields[i].validate; } else { validate = ''; } - + if(required == 1) { switch(aRequiredFields[i].type) { @@ -2762,7 +2762,7 @@ var validateForm = function(sRequiredFields) { vtext.passed(); } break; - + case 'dropdown': var vtext = new input(getField(aRequiredFields[i].name)); if(getField(aRequiredFields[i].name).value==''){ @@ -2772,9 +2772,9 @@ var validateForm = function(sRequiredFields) { vtext.passed(); } break; - + case 'textarea': - + var vtext = new input(getField(aRequiredFields[i].name)); if(getField(aRequiredFields[i].name).value==''){ invalid_fields.push(aRequiredFields[i].label); @@ -2782,9 +2782,9 @@ var validateForm = function(sRequiredFields) { } else { vtext.passed(); } - + break; - + case 'password': var vpass = new input(getField(aRequiredFields[i].name)); if(getField(aRequiredFields[i].name).value==''){ @@ -2794,7 +2794,7 @@ var validateForm = function(sRequiredFields) { vpass.passed(); } break; - + case 'currency': var vcurr = new input(getField(aRequiredFields[i].name)); if(getField(aRequiredFields[i].name).value==''){ @@ -2804,7 +2804,7 @@ var validateForm = function(sRequiredFields) { vcurr.passed(); } break; - + case 'percentage': var vper = new input(getField(aRequiredFields[i].name)); if(getField(aRequiredFields[i].name).value==''){ @@ -2814,7 +2814,7 @@ var validateForm = function(sRequiredFields) { vper.passed(); } break; - + case 'yesno': var vtext = new input(getField(aRequiredFields[i].name)); if(getField(aRequiredFields[i].name).value==''){ @@ -2824,7 +2824,7 @@ var validateForm = function(sRequiredFields) { vtext.passed(); } break; - + case 'date': var vtext = new input(getField(aRequiredFields[i].name)); if(getField(aRequiredFields[i].name).value==''){ @@ -2834,7 +2834,7 @@ var validateForm = function(sRequiredFields) { vtext.passed(); } break; - + case 'file': var vtext = new input(getField(aRequiredFields[i].name)); if(getField(aRequiredFields[i].name).value==''){ @@ -2844,7 +2844,7 @@ var validateForm = function(sRequiredFields) { vtext.passed(); } break; - + case 'listbox': var oAux = getField(aRequiredFields[i].name); var bOneSelected = false; @@ -2857,7 +2857,7 @@ var validateForm = function(sRequiredFields) { if(bOneSelected == false) invalid_fields.push(aRequiredFields[i].label); break; - + case 'radiogroup': var x=aRequiredFields[i].name; var oAux = document.getElementsByName('form['+ x +']'); @@ -2869,12 +2869,12 @@ var validateForm = function(sRequiredFields) { k = oAux.length; } } - + if(bOneChecked == false) invalid_fields.push(aRequiredFields[i].label); - + break; - + case 'checkgroup': var bOneChecked = false; var aAux = document.getElementsByName('form[' + aRequiredFields[i].name + '][]'); @@ -2887,110 +2887,110 @@ var validateForm = function(sRequiredFields) { if(!bOneChecked) { invalid_fields.push(aRequiredFields[i].label); } - + break; } - } - + } + if(validate != '') { //validate_fields - switch(aRequiredFields[i].type) { + switch(aRequiredFields[i].type) { case 'suggest': break; - + case 'text': - - if(validate=="Email") { - var vtext = new input(getField(aRequiredFields[i].name)); + + if(validate=="Email") { + var vtext = new input(getField(aRequiredFields[i].name)); if(getField(aRequiredFields[i].name).value!='') { - var email = getField(aRequiredFields[i].name); + var email = getField(aRequiredFields[i].name); //var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; //var filter = /^[\w\_\-\.çñ]{2,255}@[\w\_\-]{2,255}\.[a-z]{1,3}\.?[a-z]{0,3}$/; var filter =/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; - if (!filter.test(email.value)&&email.value!="") { - fielEmailInvalid.push(aRequiredFields[i].label); + if (!filter.test(email.value)&&email.value!="") { + fielEmailInvalid.push(aRequiredFields[i].label); vtext.failed(); - email.focus(); + email.focus(); } else { - vtext.passed(); - } - } + vtext.passed(); + } + } } break; - } + } } } } - + // call added by gustavo - cruz, gustavo-at-colosa.com validate grid forms invalid_fields = validateGridForms(invalid_fields); - + if (invalid_fields.length > 0 ||fielEmailInvalid.length> 0) { //alert(G_STRINGS.ID_REQUIRED_FIELDS + ": \n\n" + sMessage); - - - - // loop for invalid_fields + + + + // loop for invalid_fields for(j=0; j 0)? ', ': ''; sMessage += invalid_fields[j]; } - + // Loop for invalid_emails var emailInvalidMessage = ""; for(j=0; j 0)? ', ': ''; emailInvalidMessage += fielEmailInvalid[j]; } - - + + /* new leimnud.module.app.alert().make({ label:G_STRINGS.ID_REQUIRED_FIELDS + ":

[ " + sMessage + " ]", width:450, height:140 + (parseInt(invalid_fields.length/10)*10) });*/ - + //!create systemMessaggeInvalid of field invalids var systemMessaggeInvalid = ""; - + if(invalid_fields.length > 0) { - systemMessaggeInvalid += "\n \n"+G_STRINGS.ID_REQUIRED_FIELDS + ": \n \n [ " + sMessage + " ]"; + systemMessaggeInvalid += "\n \n"+G_STRINGS.ID_REQUIRED_FIELDS + ": \n \n [ " + sMessage + " ]"; } if(fielEmailInvalid.length > 0) { systemMessaggeInvalid += "\n \n" + G_STRINGS.ID_VALIDATED_FIELDS + ": \n \n [ " + emailInvalidMessage + " ]"; - } - - + } + + alert(systemMessaggeInvalid); return false; } else { var arrayForm = document.getElementsByTagName("form"); - + for (var i = 0; i <= arrayForm.length - 1; i++) { var frm = arrayForm[i]; - + for (var i = 0; i <= frm.elements.length - 1; i++) { var elem = frm.elements[i]; - + if (elem.type == "checkbox" && elem.disabled && elem.checked) { var id = elem.id + "_"; - + if (!document.getElementById(id)) { - var input = document.createElement("input"); - input.type = "hidden"; - input.id = id; - input.name = elem.name; - input.value = elem.value; - - frm.appendChild(input); + var input2 = document.createElement("input"); + input2.type = "hidden"; + input2.id = id; + input2.name = elem.name; + input2.value = elem.value; + + frm.appendChild(input2); } } } } - + return true; } }; @@ -3128,7 +3128,7 @@ function verifyFieldName1(){ var newFieldName=fieldName.value; var validatedFieldName=getField("PME_VALIDATE_NAME",fieldForm).value; var dField = new input(getField('PME_XMLNODE_NAME')); - + var valid=(newFieldName!=='')&&(((newFieldName!==savedFieldName)&&(validatedFieldName===''))||((newFieldName===savedFieldName))); if (valid){ dField.passed(); @@ -3162,19 +3162,19 @@ function sumaformu(ee,fma,mask){ fma=nfma; j++; } - + } //without spaces in the inicio of the formula wos=nfma.replace(/^\s+/g,''); nfma=wos.replace(/\s+$/g,''); theelemts=nfma.split(" "); - + objectsWithFormula[objectsWithFormula.length]= {ee:ee,fma:afma,mask:mask,theElements:theelemts}; for (var i = 0; i < theelemts.length; i++) { leimnud.event.add(getField(theelemts[i]), 'keyup', function(key) { //leimnud.event.add(getField(objectsWithFormula[objectsWithFormula.length-1].theElements[i]),'keyup',function(){ - + var eventElement = key.srcElement ? key.srcElement : key.target; if ( typeof(this.id) == 'undefined' ) { myId = eventElement.id.replace("form[", "").replace("]", ""); @@ -3184,25 +3184,25 @@ function sumaformu(ee,fma,mask){ } for(i_elements=0;i_elements < objectsWithFormula.length; i_elements++){ - - + + for(i_elements2=0;i_elements2 < objectsWithFormula[i_elements].theElements.length;i_elements2++){ if(objectsWithFormula[i_elements].theElements[i_elements2]==myId) { - + //calValue(afma,nfma,ee,mask); - + formula = objectsWithFormula[i_elements].fma; ans = objectsWithFormula[i_elements].ee; theelemts=objectsWithFormula[i_elements].theElements; - + nfk = ''; //to replace the field for the value and to evaluate the formula var symbol = mask.replace(/[0-9.#,-_\s]/g,''); for (var i=0; i < theelemts.length; i++){ if(!isnumberk(theelemts[i])){//alert(getField(theelemts[i]).name); val = (getField(theelemts[i]).value == '')? 0 : getField(theelemts[i]).value.replace(/[$a-zA-Z\s]/g,''); - formula=formula.replace(theelemts[i],val); + formula=formula.replace(theelemts[i],val); } } if (isnumberk(getField(theelemts['0']).value)) @@ -3214,12 +3214,12 @@ function sumaformu(ee,fma,mask){ }else{ ans.value=rstop; } - + } } - } - }); - } + } + }); + } } function calValue(afma,nfma,ans,mask){ @@ -3233,7 +3233,7 @@ function calValue(afma,nfma,ans,mask){ } } } - + //ans.value=eval(nfk); var rstop=eval(nfk); if(mask!=''){ @@ -3242,7 +3242,7 @@ function calValue(afma,nfma,ans,mask){ //alert('without mask'); ans.value=rstop; } - + } function isnumberk(texto){ @@ -3250,7 +3250,7 @@ function isnumberk(texto){ var letters="abcdefghijklmnopqrstuvwxyz"; var i=0; var sw=1; - + //for(var i=0; i 1) { maskDecimal=maskDecimal[1].split("."); @@ -3273,7 +3273,7 @@ function putmask(numb,mask,ans){ maskDecimal=mask.split("."); } numDecimal=maskDecimal[1].length; - + ans.value=numb.toFixed(numDecimal); var symbol = mask.replace(/[0-9.#,-_\s]/g,''); if (isnumberk(ans.value)) ans.value = symbol+' '+ans.value; @@ -3295,33 +3295,33 @@ function putmask(numb,mask,ans){ i++; } break; - + case '.': nnum+=mask.charAt(j).toString(); i=cd+1; cd=i +4; break; - + default: //alert(mask.charAt(i)); nnum+=mask.charAt(j).toString(); break; } - + j++; } - + ans.value=nnum; - + } function showRowsById(aFields){ - + for(i=0; i