(function(n){"use strict";n.fn["ibanInput"]=function(t){function r(n){var t=n.replace(/ /g,"").toUpperCase(),u="",h=!0,f="",c="",l,e,o,a,s,v,y,i,r,p=5;if(t.length<p||(l=t.substring(0,2),v={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"},s=v[l],typeof s!="undefined"&&(y=new RegExp("^[A-Z]{2}\\d{2}"+s+"$",""),!y.test(t))))return!1;for(e=t.substring(4,t.length)+t.substring(0,4),i=0;i<e.length;i++)o=e.charAt(i),o!=="0"&&(h=!1),h||(u+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(o));for(r=0;r<u.length;r++)a=u.charAt(r),c=""+f+""+a,f=c%97;return f===1}var i=n.extend({validationErrorClass:"elementerror"},t);return this.each(function(){var t=n(this);t.mask("SS00 AAAA AAAA AAAA AAAA AAAA AAAA AAAA AA",{placeholder:"____ ____ ____ ____ ____ ____ ____ ____ __"});t.blur(function(){var t=n(this).val(),u;if(!t||t===""){n(this).parents(".input").first().removeClass(i.validationErrorClass);return}u=r(t);u?n(this).parents(".input").first().removeClass(i.validationErrorClass):n(this).parents(".input").first().addClass(i.validationErrorClass)})})}})(jQuery)