1627. Araxis Merge File Comparison Report

Produced by Araxis Merge on 2/1/2017 2:58:00 PM Eastern Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

1627.1 Files compared

# Location File Last Modified
1 C:\Araxis_Merge_Comprasion\Pub_un\BTSSS_CIF_122016.zip\BTSSS_CIF_12_20_16\clean\CRM Portal\trunk\BTSSSPortal\js jquery.validate.min.js Tue Dec 20 19:50:52 2016 UTC
2 Wed Feb 1 19:58:00 2017 UTC

1627.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 0 0
Changed 0 0
Inserted 0 0
Removed 1 12

1627.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

1627.4 Active regular expressions

No regular expressions were active.

1627.5 Comparison detail

1   /*        
2   jQuery Val idation Pl ugin - v1. 13.1 - 10/ 14/2014        
3   http://jqu eryvalidat ion.org/        
4   Copyright  (c) 2014 J örn Zaeffe rer        
5          
6   Permission  is hereby  granted,  free of ch arge, to a ny person  obtaining  a copy of  this softw are and as sociated d ocumentati on files ( the "Softw are"), to  deal in th e Software  without r estriction , includin g without  limitation  the right s to use,  copy, modi fy, merge,  publish,  distribute , sublicen se, and/or  sell copi es of the  Software,  and to per mit person s to whom  the Softwa re is furn ished to d o so, subj ect to the  following  condition s:        
7          
8   The above  copyright  notice and  this perm ission not ice shall  be include d in all c opies or s ubstantial  portions  of the Sof tware.        
9          
10   THE SOFTWA RE IS PROV IDED "AS I S", WITHOU T WARRANTY  OF ANY KI ND, EXPRES S OR IMPLI ED, INCLUD ING BUT NO T LIMITED  TO THE WAR RANTIES OF  MERCHANTA BILITY, FI TNESS FOR  A PARTICUL AR PURPOSE  AND NONIN FRINGEMENT . IN NO EV ENT SHALL  THE AUTHOR S OR COPYR IGHT HOLDE RS BE LIAB LE FOR ANY  CLAIM, DA MAGES OR O THER LIABI LITY, WHET HER IN AN  ACTION OF  CONTRACT,  TORT OR OT HERWISE, A RISING FRO M, OUT OF  OR IN CONN ECTION WIT H THE SOFT WARE OR TH E USE OR O THER DEALI NGS IN THE  SOFTWARE.        
11   */        
12   !function  (a) { "fun ction" ==  typeof def ine && def ine.amd ?  define(["j query"], a ) : a(jQue ry) }(func tion (a) {  a.extend( a.fn, { va lidate: fu nction (b)  { if (!th is.length)  return vo id (b && b .debug &&  window.con sole && co nsole.warn ("Nothing  selected,  can't vali date, retu rning noth ing.")); v ar c = a.d ata(this[0 ], "valida tor"); ret urn c ? c  : (this.at tr("novali date", "no validate") , c = new  a.validato r(b, this[ 0]), a.dat a(this[0],  "validato r", c), c. settings.o nsubmit &&  (this.val idateDeleg ate(":subm it", "clic k", functi on (b) { c .settings. submitHand ler && (c. submitButt on = b.tar get), a(b. target).ha sClass("ca ncel") &&  (c.cancelS ubmit = !0 ), void 0  !== a(b.ta rget).attr ("formnova lidate") & & (c.cance lSubmit =  !0) }), th is.submit( function ( b) { funct ion d() {  var d, e;  return c.s ettings.su bmitHandle r ? (c.sub mitButton  && (d = a( "<input ty pe='hidden '/>").attr ("name", c .submitBut ton.name). val(a(c.su bmitButton ).val()).a ppendTo(c. currentFor m)), e = c .settings. submitHand ler.call(c , c.curren tForm, b),  c.submitB utton && d .remove(),  void 0 != = e ? e :  !1) : !0 }  return c. settings.d ebug && b. preventDef ault(), c. cancelSubm it ? (c.ca ncelSubmit  = !1, d() ) : c.form () ? c.pen dingReques t ? (c.for mSubmitted  = !0, !1)  : d() : ( c.focusInv alid(), !1 ) })), c)  }, valid:  function ( ) { var b,  c; return  a(this[0] ).is("form ") ? b = t his.valida te().form( ) : (b = ! 0, c = a(t his[0].for m).validat e(), this. each(funct ion () { b  = c.eleme nt(this) & & b })), b  }, remove Attrs: fun ction (b)  { var c =  {}, d = th is; return  a.each(b. split(/\s/ ), functio n (a, b) {  c[b] = d. attr(b), d .removeAtt r(b) }), c  }, rules:  function  (b, c) { v ar d, e, f , g, h, i,  j = this[ 0]; if (b)  switch (d  = a.data( j.form, "v alidator") .settings,  e = d.rul es, f = a. validator. staticRule s(j), b) {  case "add ": a.exten d(f, a.val idator.nor malizeRule (c)), dele te f.messa ges, e[j.n ame] = f,  c.messages  && (d.mes sages[j.na me] = a.ex tend(d.mes sages[j.na me], c.mes sages)); b reak; case  "remove":  return c  ? (i = {},  a.each(c. split(/\s/ ), functio n (b, c) {  i[c] = f[ c], delete  f[c], "re quired" == = c && a(j ).removeAt tr("aria-r equired")  }), i) : ( delete e[j .name], f)  } return  g = a.vali dator.norm alizeRules (a.extend( {}, a.vali dator.clas sRules(j),  a.validat or.attribu teRules(j) , a.valida tor.dataRu les(j), a. validator. staticRule s(j)), j),  g.require d && (h =  g.required , delete g .required,  g = a.ext end({ requ ired: h },  g), a(j). attr("aria -required" , "true")) , g.remote  && (h = g .remote, d elete g.re mote, g =  a.extend(g , { remote : h })), g  } }), a.e xtend(a.ex pr[":"], {  blank: fu nction (b)  { return  !a.trim(""  + a(b).va l()) }, fi lled: func tion (b) {  return !! a.trim(""  + a(b).val ()) }, unc hecked: fu nction (b)  { return  !a(b).prop ("checked" ) } }), a. validator  = function  (b, c) {  this.setti ngs = a.ex tend(!0, { }, a.valid ator.defau lts, b), t his.curren tForm = c,  this.init () }, a.va lidator.fo rmat = fun ction (b,  c) { retur n 1 === ar guments.le ngth ? fun ction () {  var c = a .makeArray (arguments ); return  c.unshift( b), a.vali dator.form at.apply(t his, c) }  : (argumen ts.length  > 2 && c.c onstructor  !== Array  && (c = a .makeArray (arguments ).slice(1) ), c.const ructor !==  Array &&  (c = [c]),  a.each(c,  function  (a, c) { b  = b.repla ce(new Reg Exp("\\{"  + a + "\\} ", "g"), f unction ()  { return  c }) }), b ) }, a.ext end(a.vali dator, { d efaults: {  messages:  {}, group s: {}, rul es: {}, er rorClass:  "error", v alidClass:  "valid",  errorEleme nt: "label ", focusCl eanup: !1,  focusInva lid: !0, e rrorContai ner: a([]) , errorLab elContaine r: a([]),  onsubmit:  !0, ignore : ":hidden ", ignoreT itle: !1,  onfocusin:  function  (a) { this .lastActiv e = a, thi s.settings .focusClea nup && (th is.setting s.unhighli ght && thi s.settings .unhighlig ht.call(th is, a, thi s.settings .errorClas s, this.se ttings.val idClass),  this.hideT hese(this. errorsFor( a))) }, on focusout:  function ( a) { this. checkable( a) || !(a. name in th is.submitt ed) && thi s.optional (a) || thi s.element( a) }, onke yup: funct ion (a, b)  { (9 !==  b.which ||  "" !== th is.element Value(a))  && (a.name  in this.s ubmitted | | a === th is.lastEle ment) && t his.elemen t(a) }, on click: fun ction (a)  { a.name i n this.sub mitted ? t his.elemen t(a) : a.p arentNode. name in th is.submitt ed && this .element(a .parentNod e) }, high light: fun ction (b,  c, d) { "r adio" ===  b.type ? t his.findBy Name(b.nam e).addClas s(c).remov eClass(d)  : a(b).add Class(c).r emoveClass (d) }, unh ighlight:  function ( b, c, d) {  "radio" = == b.type  ? this.fin dByName(b. name).remo veClass(c) .addClass( d) : a(b). removeClas s(c).addCl ass(d) } } , setDefau lts: funct ion (b) {  a.extend(a .validator .defaults,  b) }, mes sages: { r equired: " This field  is requir ed.", remo te: "Pleas e fix this  field.",  email: "Pl ease enter  a valid e mail addre ss.", url:  "Please e nter a val id URL.",  date: "Ple ase enter  a valid da te.", date ISO: "Plea se enter a  valid dat e ( ISO ). ", number:  "Please e nter a val id number. ", digits:  "Please e nter only  digits.",  creditcard : "Please  enter a va lid credit  card numb er.", equa lTo: "Plea se enter t he same va lue again. ", maxleng th: a.vali dator.form at("Please  enter no  more than  {0} charac ters."), m inlength:  a.validato r.format(" Please ent er at leas t {0} char acters."),  rangeleng th: a.vali dator.form at("Please  enter a v alue betwe en {0} and  {1} chara cters long ."), range : a.valida tor.format ("Please e nter a val ue between  {0} and { 1}."), max : a.valida tor.format ("Please e nter a val ue less th an or equa l to {0}." ), min: a. validator. format("Pl ease enter  a value g reater tha n or equal  to {0}.")  }, autoCr eateRanges : !1, prot otype: { i nit: funct ion () { f unction b( b) { var c  = a.data( this[0].fo rm, "valid ator"), d  = "on" + b .type.repl ace(/^vali date/, "") , e = c.se ttings; e[ d] && !thi s.is(e.ign ore) && e[ d].call(c,  this[0],  b) } this. labelConta iner = a(t his.settin gs.errorLa belContain er), this. errorConte xt = this. labelConta iner.lengt h && this. labelConta iner || a( this.curre ntForm), t his.contai ners = a(t his.settin gs.errorCo ntainer).a dd(this.se ttings.err orLabelCon tainer), t his.submit ted = {},  this.value Cache = {} , this.pen dingReques t = 0, thi s.pending  = {}, this .invalid =  {}, this. reset(); v ar c, d =  this.group s = {}; a. each(this. settings.g roups, fun ction (b,  c) { "stri ng" == typ eof c && ( c = c.spli t(/\s/)),  a.each(c,  function ( a, c) { d[ c] = b })  }), c = th is.setting s.rules, a .each(c, f unction (b , d) { c[b ] = a.vali dator.norm alizeRule( d) }), a(t his.curren tForm).val idateDeleg ate(":text , [type='p assword'],  [type='fi le'], sele ct, textar ea, [type= 'number'],  [type='se arch'] ,[t ype='tel'] , [type='u rl'], [typ e='email'] , [type='d atetime'],  [type='da te'], [typ e='month'] , [type='w eek'], [ty pe='time'] , [type='d atetime-lo cal'], [ty pe='range' ], [type=' color'], [ type='radi o'], [type ='checkbox ']", "focu sin focuso ut keyup",  b).valida teDelegate ("select,  option, [t ype='radio '], [type= 'checkbox' ]", "click ", b), thi s.settings .invalidHa ndler && a (this.curr entForm).b ind("inval id-form.va lidate", t his.settin gs.invalid Handler),  a(this.cur rentForm). find("[req uired], [d ata-rule-r equired],  .required" ).attr("ar ia-require d", "true" ) }, form:  function  () { retur n this.che ckForm(),  a.extend(t his.submit ted, this. errorMap),  this.inva lid = a.ex tend({}, t his.errorM ap), this. valid() ||  a(this.cu rrentForm) .triggerHa ndler("inv alid-form" , [this]),  this.show Errors(),  this.valid () }, chec kForm: fun ction () {  this.prep areForm();  for (var  a = 0, b =  this.curr entElement s = this.e lements()  ; b[a]; a+ +) this.ch eck(b[a]);  return th is.valid()  }, elemen t: functio n (b) { va r c = this .clean(b),  d = this. validation TargetFor( c), e = !0 ; return t his.lastEl ement = d,  void 0 == = d ? dele te this.in valid[c.na me] : (thi s.prepareE lement(d),  this.curr entElement s = a(d),  e = this.c heck(d) != = !1, e ?  delete thi s.invalid[ d.name] :  this.inval id[d.name]  = !0), a( b).attr("a ria-invali d", !e), t his.number OfInvalids () || (thi s.toHide =  this.toHi de.add(thi s.containe rs)), this .showError s(), e },  showErrors : function  (b) { if  (b) { a.ex tend(this. errorMap,  b), this.e rrorList =  []; for ( var c in b ) this.err orList.pus h({ messag e: b[c], e lement: th is.findByN ame(c)[0]  }); this.s uccessList  = a.grep( this.succe ssList, fu nction (a)  { return  !(a.name i n b) }) }  this.setti ngs.showEr rors ? thi s.settings .showError s.call(thi s, this.er rorMap, th is.errorLi st) : this .defaultSh owErrors()  }, resetF orm: funct ion () { a .fn.resetF orm && a(t his.curren tForm).res etForm(),  this.submi tted = {},  this.last Element =  null, this .prepareFo rm(), this .hideError s(), this. elements() .removeCla ss(this.se ttings.err orClass).r emoveData( "previousV alue").rem oveAttr("a ria-invali d") }, num berOfInval ids: funct ion () { r eturn this .objectLen gth(this.i nvalid) },  objectLen gth: funct ion (a) {  var b, c =  0; for (b  in a) c++ ; return c  }, hideEr rors: func tion () {  this.hideT hese(this. toHide) },  hideThese : function  (a) { a.n ot(this.co ntainers). text(""),  this.addWr apper(a).h ide() }, v alid: func tion () {  return 0 = == this.si ze() }, si ze: functi on () { re turn this. errorList. length },  focusInval id: functi on () { if  (this.set tings.focu sInvalid)  try { a(th is.findLas tActive()  || this.er rorList.le ngth && th is.errorLi st[0].elem ent || []) .filter(": visible"). focus().tr igger("foc usin") } c atch (b) {  } }, find LastActive : function  () { var  b = this.l astActive;  return b  && 1 === a .grep(this .errorList , function  (a) { ret urn a.elem ent.name = == b.name  }).length  && b }, el ements: fu nction ()  { var b =  this, c =  {}; return  a(this.cu rrentForm) .find("inp ut, select , textarea ").not(":s ubmit, :re set, :imag e, [disabl ed], [read only]").no t(this.set tings.igno re).filter (function  () { retur n !this.na me && b.se ttings.deb ug && wind ow.console  && consol e.error("% o has no n ame assign ed", this) , this.nam e in c ||  !b.objectL ength(a(th is).rules( )) ? !1 :  (c[this.na me] = !0,  !0) }) },  clean: fun ction (b)  { return a (b)[0] },  errors: fu nction ()  { var b =  this.setti ngs.errorC lass.split (" ").join ("."); ret urn a(this .settings. errorEleme nt + "." +  b, this.e rrorContex t) }, rese t: functio n () { thi s.successL ist = [],  this.error List = [],  this.erro rMap = {},  this.toSh ow = a([]) , this.toH ide = a([] ), this.cu rrentEleme nts = a([] ) }, prepa reForm: fu nction ()  { this.res et(), this .toHide =  this.error s().add(th is.contain ers) }, pr epareEleme nt: functi on (a) { t his.reset( ), this.to Hide = thi s.errorsFo r(a) }, el ementValue : function  (b) { var  c, d = a( b), e = b. type; retu rn "radio"  === e ||  "checkbox"  === e ? a ("input[na me='" + b. name + "'] :checked") .val() : " number" == = e && "un defined" ! = typeof b .validity  ? b.validi ty.badInpu t ? !1 : d .val() : ( c = d.val( ), "string " == typeo f c ? c.re place(/\r/ g, "") : c ) }, check : function  (b) { b =  this.vali dationTarg etFor(this .clean(b)) ; var c, d , e, f = a (b).rules( ), g = a.m ap(f, func tion (a, b ) { return  b }).leng th, h = !1 , i = this .elementVa lue(b); fo r (d in f)  { e = { m ethod: d,  parameters : f[d] };  try { if ( c = a.vali dator.meth ods[d].cal l(this, i,  b, e.para meters), " dependency -mismatch"  === c &&  1 === g) {  h = !0; c ontinue }  if (h = !1 , "pending " === c) r eturn void  (this.toH ide = this .toHide.no t(this.err orsFor(b)) ); if (!c)  return th is.formatA ndAdd(b, e ), !1 } ca tch (j) {  throw this .settings. debug && w indow.cons ole && con sole.log(" Exception  occurred w hen checki ng element  " + b.id  + ", check  the '" +  e.method +  "' method .", j), j  } } if (!h ) return t his.object Length(f)  && this.su ccessList. push(b), ! 0 }, custo mDataMessa ge: functi on (b, c)  { return a (b).data(" msg" + c.c harAt(0).t oUpperCase () + c.sub string(1). toLowerCas e()) || a( b).data("m sg") }, cu stomMessag e: functio n (a, b) {  var c = t his.settin gs.message s[a]; retu rn c && (c .construct or === Str ing ? c :  c[b]) }, f indDefined : function  () { for  (var a = 0 ; a < argu ments.leng th; a++) i f (void 0  !== argume nts[a]) re turn argum ents[a]; r eturn void  0 }, defa ultMessage : function  (b, c) {  return thi s.findDefi ned(this.c ustomMessa ge(b.name,  c), this. customData Message(b,  c), !this .settings. ignoreTitl e && b.tit le || void  0, a.vali dator.mess ages[c], " <strong>Wa rning: No  message de fined for  " + b.name  + "</stro ng>") }, f ormatAndAd d: functio n (b, c) {  var d = t his.defaul tMessage(b , c.method ), e = /\$ ?\{(\d+)\} /g; "funct ion" == ty peof d ? d  = d.call( this, c.pa rameters,  b) : e.tes t(d) && (d  = a.valid ator.forma t(d.replac e(e, "{$1} "), c.para meters)),  this.error List.push( { message:  d, elemen t: b, meth od: c.meth od }), thi s.errorMap [b.name] =  d, this.s ubmitted[b .name] = d  }, addWra pper: func tion (a) {  return th is.setting s.wrapper  && (a = a. add(a.pare nt(this.se ttings.wra pper))), a  }, defaul tShowError s: functio n () { var  a, b, c;  for (a = 0 ; this.err orList[a];  a++) c =  this.error List[a], t his.settin gs.highlig ht && this .settings. highlight. call(this,  c.element , this.set tings.erro rClass, th is.setting s.validCla ss), this. showLabel( c.element,  c.message ); if (thi s.errorLis t.length & & (this.to Show = thi s.toShow.a dd(this.co ntainers)) , this.set tings.succ ess) for ( a = 0; thi s.successL ist[a]; a+ +) this.sh owLabel(th is.success List[a]);  if (this.s ettings.un highlight)  for (a =  0, b = thi s.validEle ments() ;  b[a]; a++)  this.sett ings.unhig hlight.cal l(this, b[ a], this.s ettings.er rorClass,  this.setti ngs.validC lass); thi s.toHide =  this.toHi de.not(thi s.toShow),  this.hide Errors(),  this.addWr apper(this .toShow).s how() }, v alidElemen ts: functi on () { re turn this. currentEle ments.not( this.inval idElements ()) }, inv alidElemen ts: functi on () { re turn a(thi s.errorLis t).map(fun ction () {  return th is.element  }) }, sho wLabel: fu nction (b,  c) { var  d, e, f, g  = this.er rorsFor(b) , h = this .idOrName( b), i = a( b).attr("a ria-descri bedby"); g .length ?  (g.removeC lass(this. settings.v alidClass) .addClass( this.setti ngs.errorC lass), g.h tml(c)) :  (g = a("<"  + this.se ttings.err orElement  + ">").att r("id", h  + "-error" ).addClass (this.sett ings.error Class).htm l(c || "") , d = g, t his.settin gs.wrapper  && (d = g .hide().sh ow().wrap( "<" + this .settings. wrapper +  "/>").pare nt()), thi s.labelCon tainer.len gth ? this .labelCont ainer.appe nd(d) : th is.setting s.errorPla cement ? t his.settin gs.errorPl acement(d,  a(b)) : d .insertAft er(b), g.i s("label")  ? g.attr( "for", h)  : 0 === g. parents("l abel[for=' " + h + "' ]").length  && (f = g .attr("id" ).replace( /(:|\.|\[| \])/g, "\\ $1"), i ?  i.match(ne w RegExp(" \\b" + f +  "\\b")) | | (i += "  " + f) : i  = f, a(b) .attr("ari a-describe dby", i),  e = this.g roups[b.na me], e &&  a.each(thi s.groups,  function ( b, c) { c  === e && a ("[name='"  + b + "'] ", this.cu rrentForm) .attr("ari a-describe dby", g.at tr("id"))  }))), !c & & this.set tings.succ ess && (g. text(""),  "string" = = typeof t his.settin gs.success  ? g.addCl ass(this.s ettings.su ccess) : t his.settin gs.success (g, b)), t his.toShow  = this.to Show.add(g ) }, error sFor: func tion (b) {  var c = t his.idOrNa me(b), d =  a(b).attr ("aria-des cribedby") , e = "lab el[for='"  + c + "'],  label[for ='" + c +  "'] *"; re turn d &&  (e = e + " , #" + d.r eplace(/\s +/g, ", #" )), this.e rrors().fi lter(e) },  idOrName:  function  (a) { retu rn this.gr oups[a.nam e] || (thi s.checkabl e(a) ? a.n ame : a.id  || a.name ) }, valid ationTarge tFor: func tion (b) {  return th is.checkab le(b) && ( b = this.f indByName( b.name)),  a(b).not(t his.settin gs.ignore) [0] }, che ckable: fu nction (a)  { return  /radio|che ckbox/i.te st(a.type)  }, findBy Name: func tion (b) {  return a( this.curre ntForm).fi nd("[name= '" + b + " ']") }, ge tLength: f unction (b , c) { swi tch (c.nod eName.toLo werCase())  { case "s elect": re turn a("op tion:selec ted", c).l ength; cas e "input":  if (this. checkable( c)) return  this.find ByName(c.n ame).filte r(":checke d").length  } return  b.length } , depend:  function ( a, b) { re turn this. dependType s[typeof a ] ? this.d ependTypes [typeof a] (a, b) : ! 0 }, depen dTypes: {  "boolean":  function  (a) { retu rn a }, st ring: func tion (b, c ) { return  !!a(b, c. form).leng th }, "fun ction": fu nction (a,  b) { retu rn a(b) }  }, optiona l: functio n (b) { va r c = this .elementVa lue(b); re turn !a.va lidator.me thods.requ ired.call( this, c, b ) && "depe ndency-mis match" },  startReque st: functi on (a) { t his.pendin g[a.name]  || (this.p endingRequ est++, thi s.pending[ a.name] =  !0) }, sto pRequest:  function ( b, c) { th is.pending Request--,  this.pend ingRequest  < 0 && (t his.pendin gRequest =  0), delet e this.pen ding[b.nam e], c && 0  === this. pendingReq uest && th is.formSub mitted &&  this.form( ) ? (a(thi s.currentF orm).submi t(), this. formSubmit ted = !1)  : !c && 0  === this.p endingRequ est && thi s.formSubm itted && ( a(this.cur rentForm). triggerHan dler("inva lid-form",  [this]),  this.formS ubmitted =  !1) }, pr eviousValu e: functio n (b) { re turn a.dat a(b, "prev iousValue" ) || a.dat a(b, "prev iousValue" , { old: n ull, valid : !0, mess age: this. defaultMes sage(b, "r emote") })  } }, clas sRuleSetti ngs: { req uired: { r equired: ! 0 }, email : { email:  !0 }, url : { url: ! 0 }, date:  { date: ! 0 }, dateI SO: { date ISO: !0 },  number: {  number: ! 0 }, digit s: { digit s: !0 }, c reditcard:  { creditc ard: !0 }  }, addClas sRules: fu nction (b,  c) { b.co nstructor  === String  ? this.cl assRuleSet tings[b] =  c : a.ext end(this.c lassRuleSe ttings, b)  }, classR ules: func tion (b) {  var c = { }, d = a(b ).attr("cl ass"); ret urn d && a .each(d.sp lit(" "),  function ( ) { this i n a.valida tor.classR uleSetting s && a.ext end(c, a.v alidator.c lassRuleSe ttings[thi s]) }), c  }, attribu teRules: f unction (b ) { var c,  d, e = {} , f = a(b) , g = b.ge tAttribute ("type");  for (c in  a.validato r.methods)  "required " === c ?  (d = b.get Attribute( c), "" ===  d && (d =  !0), d =  !!d) : d =  f.attr(c) , /min|max /.test(c)  && (null = == g || /n umber|rang e|text/.te st(g)) &&  (d = Numbe r(d)), d | | 0 === d  ? e[c] = d  : g === c  && "range " !== g &&  (e[c] = ! 0); return  e.maxleng th && /-1| 2147483647 |524288/.t est(e.maxl ength) &&  delete e.m axlength,  e }, dataR ules: func tion (b) {  var c, d,  e = {}, f  = a(b); f or (c in a .validator .methods)  d = f.data ("rule" +  c.charAt(0 ).toUpperC ase() + c. substring( 1).toLower Case()), v oid 0 !==  d && (e[c]  = d); ret urn e }, s taticRules : function  (b) { var  c = {}, d  = a.data( b.form, "v alidator") ; return d .settings. rules && ( c = a.vali dator.norm alizeRule( d.settings .rules[b.n ame]) || { }), c }, n ormalizeRu les: funct ion (b, c)  { return  a.each(b,  function ( d, e) { if  (e === !1 ) return v oid delete  b[d]; if  (e.param | | e.depend s) { var f  = !0; swi tch (typeo f e.depend s) { case  "string":  f = !!a(e. depends, c .form).len gth; break ; case "fu nction": f  = e.depen ds.call(c,  c) } f ?  b[d] = voi d 0 !== e. param ? e. param : !0  : delete  b[d] } }),  a.each(b,  function  (d, e) { b [d] = a.is Function(e ) ? e(c) :  e }), a.e ach(["minl ength", "m axlength"] , function  () { b[th is] && (b[ this] = Nu mber(b[thi s])) }), a .each(["ra ngelength" , "range"] , function  () { var  c; b[this]  && (a.isA rray(b[thi s]) ? b[th is] = [Num ber(b[this ][0]), Num ber(b[this ][1])] : " string" ==  typeof b[ this] && ( c = b[this ].replace( /[\[\]]/g,  "").split (/[\s,]+/) , b[this]  = [Number( c[0]), Num ber(c[1])] )) }), a.v alidator.a utoCreateR anges && ( null != b. min && nul l != b.max  && (b.ran ge = [b.mi n, b.max],  delete b. min, delet e b.max),  null != b. minlength  && null !=  b.maxleng th && (b.r angelength  = [b.minl ength, b.m axlength],  delete b. minlength,  delete b. maxlength) ), b }, no rmalizeRul e: functio n (b) { if  ("string"  == typeof  b) { var  c = {}; a. each(b.spl it(/\s/),  function ( ) { c[this ] = !0 }),  b = c } r eturn b },  addMethod : function  (b, c, d)  { a.valid ator.metho ds[b] = c,  a.validat or.message s[b] = voi d 0 !== d  ? d : a.va lidator.me ssages[b],  c.length  < 3 && a.v alidator.a ddClassRul es(b, a.va lidator.no rmalizeRul e(b)) }, m ethods: {  required:  function ( b, c, d) {  if (!this .depend(d,  c)) retur n "depende ncy-mismat ch"; if (" select" == = c.nodeNa me.toLower Case()) {  var e = a( c).val();  return e & & e.length  > 0 } ret urn this.c heckable(c ) ? this.g etLength(b , c) > 0 :  a.trim(b) .length >  0 }, email : function  (a, b) {  return thi s.optional (b) || /^[ a-zA-Z0-9. !#$%&'*+\/ =?^_`{|}~- ]+@[a-zA-Z 0-9](?:[a- zA-Z0-9-]{ 0,61}[a-zA -Z0-9])?(? :\.[a-zA-Z 0-9](?:[a- zA-Z0-9-]{ 0,61}[a-zA -Z0-9])?)* $/.test(a)  }, url: f unction (a , b) { ret urn this.o ptional(b)  || /^(htt ps?|s?ftp) :\/\/(((([ a-z]|\d|-| \.|_|~|[\u 00A0-\uD7F F\uF900-\u FDCF\uFDF0 -\uFFEF])| (%[\da-f]{ 2})|[!\$&' \(\)\*\+,; =]|:)*@)?( ((\d|[1-9] \d|1\d\d|2 [0-4]\d|25 [0-5])\.(\ d|[1-9]\d| 1\d\d|2[0- 4]\d|25[0- 5])\.(\d|[ 1-9]\d|1\d \d|2[0-4]\ d|25[0-5]) \.(\d|[1-9 ]\d|1\d\d| 2[0-4]\d|2 5[0-5]))|( (([a-z]|\d |[\u00A0-\ uD7FF\uF90 0-\uFDCF\u FDF0-\uFFE F])|(([a-z ]|\d|[\u00 A0-\uD7FF\ uF900-\uFD CF\uFDF0-\ uFFEF])([a -z]|\d|-|\ .|_|~|[\u0 0A0-\uD7FF \uF900-\uF DCF\uFDF0- \uFFEF])*( [a-z]|\d|[ \u00A0-\uD 7FF\uF900- \uFDCF\uFD F0-\uFFEF] )))\.)+(([ a-z]|[\u00 A0-\uD7FF\ uF900-\uFD CF\uFDF0-\ uFFEF])|(( [a-z]|[\u0 0A0-\uD7FF \uF900-\uF DCF\uFDF0- \uFFEF])([ a-z]|\d|-| \.|_|~|[\u 00A0-\uD7F F\uF900-\u FDCF\uFDF0 -\uFFEF])* ([a-z]|[\u 00A0-\uD7F F\uF900-\u FDCF\uFDF0 -\uFFEF])) )\.?)(:\d* )?)(\/((([ a-z]|\d|-| \.|_|~|[\u 00A0-\uD7F F\uF900-\u FDCF\uFDF0 -\uFFEF])| (%[\da-f]{ 2})|[!\$&' \(\)\*\+,; =]|:|@)+(\ /(([a-z]|\ d|-|\.|_|~ |[\u00A0-\ uD7FF\uF90 0-\uFDCF\u FDF0-\uFFE F])|(%[\da -f]{2})|[! \$&'\(\)\* \+,;=]|:|@ )*)*)?)?(\ ?((([a-z]| \d|-|\.|_| ~|[\u00A0- \uD7FF\uF9 00-\uFDCF\ uFDF0-\uFF EF])|(%[\d a-f]{2})|[ !\$&'\(\)\ *\+,;=]|:| @)|[\uE000 -\uF8FF]|\ /|\?)*)?(# ((([a-z]|\ d|-|\.|_|~ |[\u00A0-\ uD7FF\uF90 0-\uFDCF\u FDF0-\uFFE F])|(%[\da -f]{2})|[! \$&'\(\)\* \+,;=]|:|@ )|\/|\?)*) ?$/i.test( a) }, date : function  (a, b) {  return thi s.optional (b) || !/I nvalid|NaN /.test(new  Date(a).t oString())  }, dateIS O: functio n (a, b) {  return th is.optiona l(b) || /^ \d{4}[\/\- ](0?[1-9]| 1[012])[\/ \-](0?[1-9 ]|[12][0-9 ]|3[01])$/ .test(a) } , number:  function ( a, b) { re turn this. optional(b ) || /^-?( ?:\d+|\d{1 ,3}(?:,\d{ 3})+)?(?:\ .\d+)?$/.t est(a) },  digits: fu nction (a,  b) { retu rn this.op tional(b)  || /^\d+$/ .test(a) } , creditca rd: functi on (a, b)  { if (this .optional( b)) return  "dependen cy-mismatc h"; if (/[ ^0-9 \-]+/ .test(a))  return !1;  var c, d,  e = 0, f  = 0, g = ! 1; if (a =  a.replace (/\D/g, "" ), a.lengt h < 13 ||  a.length >  19) retur n !1; for  (c = a.len gth - 1; c  >= 0; c-- ) d = a.ch arAt(c), f  = parseIn t(d, 10),  g && (f *=  2) > 9 &&  (f -= 9),  e += f, g  = !g; ret urn e % 10  === 0 },  minlength:  function  (b, c, d)  { var e =  a.isArray( b) ? b.len gth : this .getLength (b, c); re turn this. optional(c ) || e >=  d }, maxle ngth: func tion (b, c , d) { var  e = a.isA rray(b) ?  b.length :  this.getL ength(b, c ); return  this.optio nal(c) ||  d >= e },  rangelengt h: functio n (b, c, d ) { var e  = a.isArra y(b) ? b.l ength : th is.getLeng th(b, c);  return thi s.optional (c) || e > = d[0] &&  e <= d[1]  }, min: fu nction (a,  b, c) { r eturn this .optional( b) || a >=  c }, max:  function  (a, b, c)  { return t his.option al(b) || c  >= a }, r ange: func tion (a, b , c) { ret urn this.o ptional(b)  || a >= c [0] && a < = c[1] },  equalTo: f unction (b , c, d) {  var e = a( d); return  this.sett ings.onfoc usout && e .unbind(". validate-e qualTo").b ind("blur. validate-e qualTo", f unction ()  { a(c).va lid() }),  b === e.va l() }, rem ote: funct ion (b, c,  d) { if ( this.optio nal(c)) re turn "depe ndency-mis match"; va r e, f, g  = this.pre viousValue (c); retur n this.set tings.mess ages[c.nam e] || (thi s.settings .messages[ c.name] =  {}), g.ori ginalMessa ge = this. settings.m essages[c. name].remo te, this.s ettings.me ssages[c.n ame].remot e = g.mess age, d = " string" ==  typeof d  && { url:  d } || d,  g.old ===  b ? g.vali d : (g.old  = b, e =  this, this .startRequ est(c), f  = {}, f[c. name] = b,  a.ajax(a. extend(!0,  { url: d,  mode: "ab ort", port : "validat e" + c.nam e, dataTyp e: "json",  data: f,  context: e .currentFo rm, succes s: functio n (d) { va r f, h, i,  j = d ===  !0 || "tr ue" === d;  e.setting s.messages [c.name].r emote = g. originalMe ssage, j ?  (i = e.fo rmSubmitte d, e.prepa reElement( c), e.form Submitted  = i, e.suc cessList.p ush(c), de lete e.inv alid[c.nam e], e.show Errors())  : (f = {},  h = d ||  e.defaultM essage(c,  "remote"),  f[c.name]  = g.messa ge = a.isF unction(h)  ? h(b) :  h, e.inval id[c.name]  = !0, e.s howErrors( f)), g.val id = j, e. stopReques t(c, j) }  }, d)), "p ending") }  } }), a.f ormat = fu nction ()  { throw "$ .format ha s been dep recated. P lease use  $.validato r.format i nstead." } ; var b, c  = {}; a.a jaxPrefilt er ? a.aja xPrefilter (function  (a, b, d)  { var e =  a.port; "a bort" ===  a.mode &&  (c[e] && c [e].abort( ), c[e] =  d) }) : (b  = a.ajax,  a.ajax =  function ( d) { var e  = ("mode"  in d ? d  : a.ajaxSe ttings).mo de, f = (" port" in d  ? d : a.a jaxSetting s).port; r eturn "abo rt" === e  ? (c[f] &&  c[f].abor t(), c[f]  = b.apply( this, argu ments), c[ f]) : b.ap ply(this,  arguments)  }), a.ext end(a.fn,  { validate Delegate:  function ( b, c, d) {  return th is.bind(c,  function  (c) { var  e = a(c.ta rget); ret urn e.is(b ) ? d.appl y(e, argum ents) : vo id 0 }) }  }) });