/* * #%L * synat-portal-webapp Maven Webapp * %% * Copyright (C) 2010 - 2013 ICM, Warsaw University * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ /** * @license Input Mask plugin for jquery * http://github.com/RobinHerbots/jquery.inputmask * Copyright (c) 2010 - 2012 Robin Herbots * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) * Version: 2.0.4 */ (function(e){if(e.fn.inputmask==undefined){e.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},escapeChar:"\\",mask:null,oncomplete:e.noop,onincomplete:e.noop,oncleared:e.noop,repeat:0,greedy:true,autoUnmask:false,clearMaskOnLostFocus:true,insertMode:true,clearIncomplete:false,aliases:{},onKeyUp:e.noop,onKeyDown:e.noop,showMaskOnHover:true,onKeyValidation:e.noop,numericInput:false,radixPoint:".",definitions:{9:{validator:"[0-9]",cardinality:1},a:{validator:"[A-Za-zА-яЁё]",cardinality:1},"*":{validator:"[A-Za-zА-яЁё0-9]",cardinality:1}},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91},ignorables:[8,9,13,16,17,18,20,27,33,34,35,36,37,38,39,40,46,91,93,108]},val:e.fn.val,escapeRegex:function(e){var t=["/",".","*","+","?","|","(",")","[","]","{","}","\\"];return e.replace(new RegExp("(\\"+t.join("|\\")+")","gim"),"\\$1")}};e.fn.inputmask=function(t,n){function h(e){var t=document.createElement("input"),e="on"+e,n=e in t;if(!n){t.setAttribute(e,"return;");n=typeof t[e]=="function"}t=null;return n}function p(t){var i=r.aliases[t];if(i){if(i.alias)p(i.alias);e.extend(true,r,i);e.extend(true,r,n);return true}return false}function d(t){var n=false,i=0;if(t.length==1&&r.greedy==false){r.placeholder=""}var s=e.map(t.split(""),function(e,t){var s=[];if(e==r.escapeChar){n=true}else if(e!=r.optionalmarker.start&&e!=r.optionalmarker.end||n){var o=r.definitions[e];if(o&&!n){for(var u=0;u=l?a[l-1]:[],h=c["validator"],p=c["cardinality"];o.push({fn:h?typeof h=="string"?new RegExp(h):new function(){this.test=h}:new RegExp("."),cardinality:p?p:1,optionality:n,newBlockMarker:n==true?s:false,offset:0,casing:u["casing"],def:e});if(n==true)s=false}o.push({fn:u.validator?typeof u.validator=="string"?new RegExp(u.validator):new function(){this.test=u.validator}:new RegExp("."),cardinality:u.cardinality,optionality:n,newBlockMarker:s,offset:0,casing:u["casing"],def:e})}else{o.push({fn:null,cardinality:0,optionality:n,newBlockMarker:s,offset:0,casing:null,def:e});i=false}s=false;return o}})}function m(){function t(n,i){var s=i.split(r.optionalmarker.end,2);var o;var u=s[0].split(r.optionalmarker.start);if(u.length>1){o=n+u[0]+u[1]+(s.length>1?s[1]:"");e.push({_buffer:d(o),tests:v(o),lastValidPosition:0});o=n+u[0]+(s.length>1?s[1]:"");e.push({_buffer:d(o),tests:v(o),lastValidPosition:0});if(s.length>1&&s[1].split(r.optionalmarker.start).length>1){t(n+u[0]+u[1],s[1]);t(n+u[0],s[1])}}else{o=n+s;e.push({_buffer:d(o),tests:v(o),lastValidPosition:0})}}var e=[];t("",r.mask);return e}function g(){return l[c]}function y(){return g()["tests"]}function b(){return g()["_buffer"]}function w(t,n,i,s,o){var u=[],a=false,f=c;e.each(l,function(e,a){var l=this;c=e;var h=t;if(f!=c&&!S(t)){if(n==l["_buffer"][h]){u[e]={refresh:true};l["lastValidPosition"]=h;return false}h=o?k(i,t):C(i,t)}if(o?l["lastValidPosition"]<=C(i,h):l["lastValidPosition"]>=k(i,h)){if(h>=0&&hd;m--){v+=A(i,p-(m-1))}if(n){v+=n}u[e]=l["tests"][p].fn!=null?l["tests"][p].fn.test(v,i,h,s,r):false;if(u[e]!==false){if(u[e]===true){u[e]={pos:h}}l["lastValidPosition"]=u[e].pos||h}else l["lastValidPosition"]=o?C(i,t):k(i,t)}}});c=f;E(i,t,f,o);a=u[c]||a;setTimeout(function(){r.onKeyValidation.call(this,a,r)},0);return a}function E(t,n,r,i){e.each(l,function(e,s){var o=this;if(i?o["lastValidPosition"]<=n:o["lastValidPosition"]>=n){c=e;if(c!=r){var u=N(),a=b();if(i){t.reverse();a.reverse()}t.length=n;for(var f=n;f1){e+=b().length*(r.repeat-1)}return e}function C(e,t){var n=N();if(t>=n)return n;var r=t;while(++r0&&!S(n)){}return n}function L(e,t,n){var r=y()[x(t)];var i=n;if(i!=undefined){switch(r.casing){case"upper":i=n.toUpperCase();break;case"lower":i=n.toLowerCase();break}}e[t]=i}function A(e,t,n){if(n)t=O(e,t);return e[t]}function O(e,t,n){var r;if(n){while(t<0&&e.length=0;i--){var s=x(i);if(y()[s].optionality){if(T(i)==n[i]||!S(i))r.pop();else break}else break}}M(t,r)}function F(t,n){var r=t[0];if(y()&&(n===true||!t.hasClass("hasDatepicker"))){var i=b().slice();P(r,i);return e.map(i,function(e,t){return S(t)&&e!=A(b().slice(),t)?e:null}).join("")}else{return r._valueGet()}}function I(e,t,n){var i=e.jquery&&e.length>0?e[0]:e;if(typeof t=="number"){n=typeof n=="number"?n:t;if(r.insertMode==false&&t==n)n++;if(i.setSelectionRange){i.setSelectionRange(t,n)}else if(i.createTextRange){var s=i.createTextRange();s.collapse(true);s.moveEnd("character",n);s.moveStart("character",t);s.select()}i.focus();if(o&&n!=i.selectionEnd)a={begin:t,end:n}}else{var u=o?a:null,a=null;if(u==null){if(i.setSelectionRange){t=i.selectionStart;n=i.selectionEnd}else if(document.selection&&document.selection.createRange){var s=document.selection.createRange();t=0-s.duplicate().moveStart("character",-1e5);n=t+s.text.length}u={begin:t,end:n}}return u}}function q(t){function R(t){var n=false,r=t._valueGet(),i=r.length;currentActiveMasksetIndex=c,highestValidPosition=0;e.each(l,function(e,t){c=e;var i=N();if(t["lastValidPosition"]>=highestValidPosition&&t["lastValidPosition"]==i-1){var s=true;for(var o=0;o0;s--){r[s]=r[s-1]}r[0]=i})}function z(t){var n;if(Object.getOwnPropertyDescriptor)n=Object.getOwnPropertyDescriptor(t,"value");if(n&&n.get){if(!t._valueGet){t._valueGet=n.get;t._valueSet=n.set;Object.defineProperty(t,"value",{get:function(){var t=e(this),n=e(this).data("inputmask"),r=n["masksets"],i=n["activeMasksetIndex"];return n&&n["autoUnmask"]?t.inputmask("unmaskedvalue"):this._valueGet()!=r[i]["_buffer"].join("")?this._valueGet():""},set:function(t){this._valueSet(t);e(this).triggerHandler("setvalue.inputmask")}})}}else if(document.__lookupGetter__&&t.__lookupGetter__("value")){if(!t._valueGet){t._valueGet=t.__lookupGetter__("value");t._valueSet=t.__lookupSetter__("value");t.__defineGetter__("value",function(){var t=e(this),n=e(this).data("inputmask"),r=n["masksets"],i=n["activeMasksetIndex"];return n&&n["autoUnmask"]?t.inputmask("unmaskedvalue"):this._valueGet()!=r[i]["_buffer"].join("")?this._valueGet():""});t.__defineSetter__("value",function(t){this._valueSet(t);e(this).triggerHandler("setvalue.inputmask")})}}else{if(!t._valueGet){t._valueGet=function(){return this.value};t._valueSet=function(e){this.value=e}}if(e.fn.val.inputmaskpatch!=true){e.fn.val=function(){if(arguments.length==0){var t=e(this);if(t.data("inputmask")){if(t.data("inputmask")["autoUnmask"])return t.inputmask("unmaskedvalue");else{var n=e.inputmask.val.apply(t);var r=e(this).data("inputmask"),i=r["masksets"],s=r["activeMasksetIndex"];return n!=i[s]["_buffer"].join("")?n:""}}else return e.inputmask.val.apply(t)}else{var o=arguments;return this.each(function(){var t=e(this);var n=e.inputmask.val.apply(t,o);if(t.data("inputmask"))t.triggerHandler("setvalue.inputmask");return n})}};e.extend(e.fn.val,{inputmaskpatch:true})}}}function W(e,t,n){while(!S(e)&&e-1>=0)e--;for(var r=e;r1||o.end-o.begin==1&&r.insertMode){_(a,o.begin,o.end);E(a,o.begin,c);M(n,a,g?P(n,a,false):o.begin)}else{var m=o.begin-(i==r.keyCode.DELETE?0:1);if(m=v){if(r.numericInput&&r.greedy&&i==r.keyCode.DELETE&&a[m]==r.radixPoint){m=C(a,m);g=false}if(g){m=X(v,m,T(m),true);m=r.numericInput&&r.greedy&&i==r.keyCode.BACKSPACE&&a[m+1]==r.radixPoint?m+1:C(a,m)}else m=W(m,d);E(a,m,c);M(n,a,m)}}if(n._valueGet()==b().join(""))e(n).trigger("cleared");return false}else if(i==r.keyCode.END||i==r.keyCode.PAGE_DOWN){setTimeout(function(){var e=P(n,a,false,true);if(!r.insertMode&&e==N()&&!t.shiftKey)e--;I(n,t.shiftKey?o.begin:e,e)},0);return false}else if(i==r.keyCode.HOME||i==r.keyCode.PAGE_UP){I(n,0,t.shiftKey?o.begin:0);return false}else if(i==r.keyCode.ESCAPE){n._valueSet(f);I(n,0,P(n,a));return false}else if(i==r.keyCode.INSERT){r.insertMode=!r.insertMode;I(n,!r.insertMode&&o.begin==N()?o.begin-1:o.begin);return false}else if(t.ctrlKey&&i==88){setTimeout(function(){I(n,P(n,a,true))},0)}else if(!r.insertMode){if(i==r.keyCode.RIGHT){var y=o.begin==o.end?o.end+1:o.end;y=y0?y:0;I(n,y,t.shiftKey?o.end:y);return false}}r.onKeyDown.call(this,t,r);p=e.inArray(i,r.ignorables)!=-1}function J(t){if(h)return false;h=true;var n=this,i=e(n);t=t||window.event;var s=t.which||t.charCode||t.keyCode;if(r.numericInput&&s==r.radixPoint.charCodeAt(r.radixPoint.length-1)){var u=n._valueGet();var f=u.indexOf(r.radixPoint);I(n,C(a,f!=-1?f:N()))}if(t.ctrlKey||t.altKey||t.metaKey||p){return true}else{if(s){i.trigger("input");var l=I(n),c=String.fromCharCode(s),d=N();_(a,l.begin,l.end);if(g){var m=r.numericInput?l.end:k(a,l.end),y;if((y=w(m==d||A(a,m)==r.radixPoint?k(a,m):m,c,a,false,g))!==false){var b=false;if(y!==true){b=y["refresh"];m=y.pos||m;c=y.c||c}if(b!==true){var E=v;if(r.insertMode==true){if(r.greedy==true){var S=a.slice();while(A(S,E,true)!=T(E)&&E<=m){E=E==d?d+1:C(a,E)}}if(E<=m&&(r.greedy||a.length=m){D=D==0?-1:k(a,D)}if(D>=m)X(m,a.length,c);else return false}else L(a,m,c)}var P=C(a,m);M(n,a,P);setTimeout(function(){if(R(n))i.trigger("complete")},0)}else if(o)M(n,a,l.begin)}return false}}}function K(t){var n=e(this),i=this;var s=t.keyCode;r.onKeyUp.call(this,t,r);if(s==r.keyCode.TAB&&n.hasClass("focus.inputmask")&&i._valueGet().length==0){a=b().slice();M(i,a);if(!g)I(i,0);f=i._valueGet()}}var n=e(t);if(!n.is(":input"))return;r.greedy=r.greedy?r.greedy:r.repeat==0;var u=n.prop("maxLength");if(N()>u&&u>-1){if(ud&&(w(n,a[n],a,true,g)!==false||!S(n))?n:d);else I(e,n