diff --git a/gulliver/js/form/core/form.js b/gulliver/js/form/core/form.js index aad196d0f..851b53aea 100755 --- a/gulliver/js/form/core/form.js +++ b/gulliver/js/form/core/form.js @@ -1213,8 +1213,8 @@ function G_Text(form, element, name) if (me.validate == 'Any' && me.mask == '') return true; var pressKey = (window.event)? window.event.keyCode : event.which; - if (pressKey == 107 || pressKey == 187) { - pressKey = 43; + if (pressKey == 107 || pressKey == 187 || pressKey == 192 || pressKey == 172 || pressKey == 171 || pressKey == 226 || pressKey == 220 || pressKey == 226 || pressKey == 0 || pressKey == 221 || pressKey == 222 || pressKey == 186) { + pressKey = 43; } switch(pressKey){ @@ -1229,6 +1229,14 @@ function G_Text(form, element, name) return true; } + if (me.validate == "Email" && pressKey != 8 &&(me.element.value.length > me.element.maxLength - 1)) { + return false; + } + + if (pressKey == 43 && me.validate == "AlphaNum" ) { + return false; + } + me.applyMask(pressKey); if ((pressKey == 8 || pressKey == 46) && (me.validate != 'Login' && me.validate != 'NodeName')) me.sendOnChange(); @@ -1244,6 +1252,9 @@ function G_Text(form, element, name) return true; break; default: + if (me.validate == 'NodeName' && (pressKey == 190 || pressKey == 189)) { + return false; + } if (me.mType == 'date' || me.mType == 'currency' || me.mType == 'percentage' || me.validate == 'Real' || me.validate == 'Int') { if ((48 <= pressKey && pressKey <= 57) || (pressKey == 109 || pressKey == 190 || pressKey == 188 || pressKey == 189) || (96 <= pressKey && pressKey <= 111)) { return true; @@ -1375,9 +1386,13 @@ function G_Text(form, element, name) keyValid = patron.test(key); break; case 'AlphaNum': - patron =/[a-zA-Z0-9\sáéíóúäëïöüñçÇÑ�É�ÓÚÄË�ÖÜ]/; - key = String.fromCharCode(pressKey); - keyValid = patron.test(key); + patron =/[a-zA-Z0-9\sáéíóúäëïöüñçÇÑ�É�ÓÚÄË�ÖÜ]/; + key = String.fromCharCode(pressKey); + keyValid = patron.test(key); + if (pressKey == 220 || pressKey == 189 || pressKey == 8364 || pressKey == 182 || pressKey == 172 || pressKey == 33 || pressKey == 35 || pressKey == 63 || pressKey == 123 || pressKey == 124 || pressKey == 125 || pressKey == 126 || pressKey == 162 || pressKey == 171 || pressKey == 8220 ) { + keyValid = false; + return false; + } break; case 'NodeName': case 'Login': updateOnChange = false; @@ -1398,6 +1413,18 @@ function G_Text(form, element, name) keyValid = k.result(); } break; + case 'Email': + var k = new leimnud.module.validator({ + valid :[me.validate], + key :(window.event) ? window.event : event, + lang :(typeof(me.language)!=='undefined')? me.language:"en" + }); + keyValid = k.result(); + if (pressKey == 220 || pressKey == 189 || pressKey == 8364 || pressKey == 182 || pressKey == 172 || pressKey == 33 || pressKey == 35 || pressKey == 63 || pressKey == 123 || pressKey == 124 || pressKey == 125 || pressKey == 126 || pressKey == 162 || pressKey == 171 || pressKey == 8220) { + keyValid = false; + return false; + } + break; default: var k = new leimnud.module.validator({ valid :[me.validate], diff --git a/gulliver/js/maborak/core/maborak.js b/gulliver/js/maborak/core/maborak.js index 2e7619068..9cd94b4a6 100644 --- a/gulliver/js/maborak/core/maborak.js +++ b/gulliver/js/maborak/core/maborak.js @@ -1024,12 +1024,15 @@ switch(action){case'mask':case'move':dataNewMask=me.replaceMasks(newValue,newCur break;case 256:newValue=currentValue.substring(0,cursorStart);newValue+='.';newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;case 35:case 36:case 37:case 38:case 39:case 40:newValue=currentValue;switch(keyCode){case 36:newCursor=0;break;case 35:newCursor=currentValue.length;break;case 37:newCursor=cursorStart-1;break;case 39:newCursor=cursorStart+1;break;} break;default:newKey=String.fromCharCode(keyCode);newValue=currentValue.substring(0,cursorStart);newValue+=newKey;newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;} if(newCursor<0)newCursor=0;me.element.value=newValue;me.setSelectionRange(newCursor,newCursor);}};this.sendOnChange=function(){if(me.element.fireEvent){me.element.fireEvent("onchange");}else{var evObj=document.createEvent('HTMLEvents');evObj.initEvent('change',true,true);me.element.dispatchEvent(evObj);}};this.handleKeyDown=function(event){if(me.element.readOnly){return true;} -if(me.validate=='Any'&&me.mask=='')return true;var pressKey=(window.event)?window.event.keyCode:event.which;if(pressKey==107||pressKey==187){pressKey=43;} +if(me.validate=='Any'&&me.mask=='')return true;var pressKey=(window.event)?window.event.keyCode:event.which;if(pressKey==107||pressKey==187||pressKey==192||pressKey==172||pressKey==171||pressKey==226||pressKey==220||pressKey==226||pressKey==0||pressKey==221||pressKey==222||pressKey==186){pressKey=43;} switch(pressKey){case 8:case 46:case 35:case 36:case 37:case 38:case 39:case 40:case 43:if((pressKey==8||pressKey==46)&&me.validate=="NodeName"){return true;} if(pressKey==46&&me.validate=="Email"){return true;} +if(me.validate=="Email"&&pressKey!=8&&(me.element.value.length>me.element.maxLength-1)){return false;} +if(pressKey==43&&me.validate=="AlphaNum"){return false;} me.applyMask(pressKey);if((pressKey==8||pressKey==46)&&(me.validate!='Login'&&me.validate!='NodeName'))me.sendOnChange();me.checkBrowser();if(me.browser.name=='Chrome'||me.browser.name=='Safari'){event.returnValue=false;} else{return false;} -break;case 9:return true;break;default:if(me.mType=='date'||me.mType=='currency'||me.mType=='percentage'||me.validate=='Real'||me.validate=='Int'){if((48<=pressKey&&pressKey<=57)||(pressKey==109||pressKey==190||pressKey==188||pressKey==189)||(96<=pressKey&&pressKey<=111)){return true;} +break;case 9:return true;break;default:if(me.validate=='NodeName'&&(pressKey==190||pressKey==189)){return false;} +if(me.mType=='date'||me.mType=='currency'||me.mType=='percentage'||me.validate=='Real'||me.validate=='Int'){if((48<=pressKey&&pressKey<=57)||(pressKey==109||pressKey==190||pressKey==188||pressKey==189)||(96<=pressKey&&pressKey<=111)){return true;} else{return false;}} break;} return true;};this.handleKeyPress=function(event){if(me.element.readOnly){return true;} @@ -1045,8 +1048,10 @@ else{var pressKey=(window.event)?window.event.keyCode:event.which;keyValid=true; else{patron=/[0-9,\.]/;} key=String.fromCharCode(pressKey);keyValid=patron.test(key);keyValid=keyValid||(pressKey==45);if(typeof me.comma_separator!='undefined'){if(me.comma_separator=='.'){if(me.element.value.indexOf('.')==-1){keyValid=keyValid||(pressKey==46);}} else{if(me.element.value.indexOf(',')==-1){keyValid=keyValid||(pressKey==44);}}} -break;case'Alpha':patron=/[a-zA-Z]/;key=String.fromCharCode(pressKey);keyValid=patron.test(key);break;case'AlphaNum':patron=/[a-zA-Z0-9\sáéíóúäëïöüñçÇÑ�É�ÓÚÄË�ÖÜ]/;key=String.fromCharCode(pressKey);keyValid=patron.test(key);break;case'NodeName':case'Login':updateOnChange=false;if(me.getCursorPos()==0){if((pressKey>=48)&&(pressKey<=57)){keyValid=false;break;}} +break;case'Alpha':patron=/[a-zA-Z]/;key=String.fromCharCode(pressKey);keyValid=patron.test(key);break;case'AlphaNum':patron=/[a-zA-Z0-9\sáéíóúäëïöüñçÇÑ�É�ÓÚÄË�ÖÜ]/;key=String.fromCharCode(pressKey);keyValid=patron.test(key);if(pressKey==220||pressKey==189||pressKey==8364||pressKey==182||pressKey==172||pressKey==33||pressKey==35||pressKey==63||pressKey==123||pressKey==124||pressKey==125||pressKey==126||pressKey==162||pressKey==171||pressKey==8220){keyValid=false;return false;} +break;case'NodeName':case'Login':updateOnChange=false;if(me.getCursorPos()==0){if((pressKey>=48)&&(pressKey<=57)){keyValid=false;break;}} if((keyCode==8)&&(me.validate=='NodeName')){keyValid=true;}else{var k=new leimnud.module.validator({valid:['Login'],key:(window.event)?window.event:event,lang:(typeof(me.language)!=='undefined')?me.language:"en"});keyValid=k.result();} +break;case'Email':var k=new leimnud.module.validator({valid:[me.validate],key:(window.event)?window.event:event,lang:(typeof(me.language)!=='undefined')?me.language:"en"});keyValid=k.result();if(pressKey==220||pressKey==189||pressKey==8364||pressKey==182||pressKey==172||pressKey==33||pressKey==35||pressKey==63||pressKey==123||pressKey==124||pressKey==125||pressKey==126||pressKey==162||pressKey==171||pressKey==8220){keyValid=false;return false;} break;default:var k=new leimnud.module.validator({valid:[me.validate],key:(window.event)?window.event:event,lang:(typeof(me.language)!=='undefined')?me.language:"en"});keyValid=k.result();break;} if(keyValid){if(me.mask==""&&(me.validate=='Real'||me.validate=='Int')&&me.mType=='text'){if(key=='-'){currentValue=me.element.value;if(currentValue.charAt(0)=='-'){currentValue=currentValue.substring(1,currentValue.length);me.element.value=currentValue;}else{me.element.value='-'+currentValue;}}} if((me.validate=="Login"||me.validate=="NodeName")&&me.mask==""){return true;} @@ -1628,11 +1633,12 @@ function storeEntryProcessAjax(o,cnn,table,pk,pkt,fld) function html_entity_decode(string,quote_style){var histogram={},symbol='',tmp_str='',entity='';tmp_str=string.toString();if(false===(histogram=get_html_translation_table('HTML_ENTITIES',quote_style))){return false;} delete(histogram['&']);histogram['&']='&';for(symbol in histogram){entity=histogram[symbol];tmp_str=tmp_str.split(entity).join(symbol);} return tmp_str;} -var pmtooltip=false;var pmtooltipShadow=false;var pmshadowSize=4;var pmtooltipMaxWidth=400;var pmtooltipMinWidth=100;var pmiframe=false;var tooltip_is_msie=(navigator.userAgent.indexOf('MSIE')>=0&&navigator.userAgent.indexOf('opera')==-1&&document.all)?true:false;function showTooltip(e,tooltipTxt){var bodyWidth=Math.max(document.body.clientWidth,document.documentElement.clientWidth)-20;if(!pmtooltip){pmtooltip=document.createElement('DIV');pmtooltip.id='pmtooltip';pmtooltipShadow=document.createElement('DIV');pmtooltipShadow.id='pmtooltipShadow';document.body.appendChild(pmtooltip);document.body.appendChild(pmtooltipShadow);if(tooltip_is_msie){pmiframe=document.createElement('IFRAME');pmiframe.frameborder='5';pmiframe.style.backgroundColor='#FFFFFF';pmiframe.src='#';pmiframe.style.zIndex=100;pmiframe.style.position='absolute';document.body.appendChild(pmiframe);}} -pmtooltip.style.display='block';pmtooltipShadow.style.display='block';if(tooltip_is_msie)pmiframe.style.display='block';var st=Math.max(document.body.scrollTop,document.documentElement.scrollTop);if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0;var leftPos=e.clientX+10;pmtooltip.style.width=null;pmtooltip.innerHTML=tooltipTxt;pmtooltip.style.left=leftPos+5+'px';pmtooltip.style.top=e.clientY+st+'px';pmtooltipShadow.style.left=leftPos+pmshadowSize+'px';pmtooltipShadow.style.top=e.clientY+st+pmshadowSize+'px';if(pmtooltip.offsetWidth>pmtooltipMaxWidth){pmtooltip.style.width=pmtooltipMaxWidth+'px';} -var tooltipWidth=pmtooltip.offsetWidth;if(tooltipWidthbodyWidth){pmtooltip.style.left=(pmtooltipShadow.style.left.replace('px','')-((leftPos+tooltipWidth)-bodyWidth))+'px';pmtooltipShadow.style.left=(pmtooltipShadow.style.left.replace('px','')-((leftPos+tooltipWidth)-bodyWidth)+pmshadowSize)+'px';} -if(tooltip_is_msie){pmiframe.style.left=pmtooltip.style.left;pmiframe.style.top=pmtooltip.style.top;pmiframe.style.width=pmtooltip.offsetWidth+'px';pmiframe.style.height=pmtooltip.offsetHeight+'px';}} -function hideTooltip(){pmtooltip.style.display='none';pmtooltipShadow.style.display='none';if(tooltip_is_msie)pmiframe.style.display='none';} +var pmtooltip=false;var pmtooltipShadow=false;var pmshadowSize=4;var pmtooltipMaxWidth=400;var pmtooltipMinWidth=100;var pmiframe=false;var tooltip_is_msie=(navigator.userAgent.indexOf('MSIE')>=0&&navigator.userAgent.indexOf('opera')==-1&&document.all)?true:false;function showTooltip(e,tooltipTxt){if(!pmtooltip){pmtooltip=document.createElement('DIV');pmtooltip.id='pmtooltip';pmtooltipShadow=document.createElement('DIV');pmtooltipShadow.id='pmtooltipShadow';document.body.appendChild(pmtooltip);document.body.appendChild(pmtooltipShadow);} +var w=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var h=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var xOffset=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft);var yOffset=Math.max(document.documentElement.scrollTop,document.body.scrollTop);var length=tooltipTxt.length*4.5;if(length<100) +length=100;if(length>400) +length=400;var x=e.clientX+10+xOffset;var y=e.clientY+5+yOffset;if(x+length>w){x=x-length-20;} +pmtooltip.style.display='block';pmtooltip.innerHTML=tooltipTxt;pmtooltip.style.left=x+'px';pmtooltip.style.top=y+'px';pmtooltip.style.width=length+'px';pmtooltipShadow.style.display='block';pmtooltipShadow.style.left=(x+pmshadowSize)+'px';pmtooltipShadow.style.top=(y+pmshadowSize)+'px';pmtooltipShadow.style.width=pmtooltip.offsetWidth+'px';pmtooltipShadow.style.height=pmtooltip.offsetHeight+'px';} +function hideTooltip(){pmtooltip.style.display='none';pmtooltipShadow.style.display='none';} (function(win){var whiteSpaceRe=/^\s*|\s*$/g,undef,isRegExpBroken='B'.replace(/A(.)|B/,'$1')==='$1';var tinymce={majorVersion:'3',minorVersion:'5.7',releaseDate:'2012-09-20',_init:function(){var t=this,d=document,na=navigator,ua=na.userAgent,i,nl,n,base,p,v;t.isOpera=win.opera&&opera.buildNumber;t.isWebKit=/WebKit/.test(ua);t.isIE=!t.isWebKit&&!t.isOpera&&(/MSIE/gi).test(ua)&&(/Explorer/gi).test(na.appName);t.isIE6=t.isIE&&/MSIE [56]/.test(ua);t.isIE7=t.isIE&&/MSIE [7]/.test(ua);t.isIE8=t.isIE&&/MSIE [8]/.test(ua);t.isIE9=t.isIE&&/MSIE [9]/.test(ua);t.isGecko=!t.isWebKit&&/Gecko/.test(ua);t.isMac=ua.indexOf('Mac')!=-1;t.isAir=/adobeair/i.test(ua);t.isIDevice=/(iPad|iPhone)/.test(ua);t.isIOS5=t.isIDevice&&ua.match(/AppleWebKit\/(\d*)/)[1]>=534;if(win.tinyMCEPreInit){t.suffix=tinyMCEPreInit.suffix;t.baseURL=tinyMCEPreInit.base;t.query=tinyMCEPreInit.query;return;} t.suffix='';nl=d.getElementsByTagName('base');for(i=0;i