PageSourceSearch

https://fedgar.com/site/assets/js/uni-form-validation.jquery.js

js fedgar.com collected 2026-10-05 03:41:12 UTC 209,009 bytes, 1,372 lines download raw bytes

1
2
3
4<!DOCTYPE html>
5<html>
6  <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# githubog: http://ogp.me/ns/fb/githubog#">
7    <meta charset='utf-8'>
8    <meta http-equiv="X-UA-Compatible" content="IE=edge">
9        <title>uni-form/js/uni-form-validation.jquery.js at master · draganbabic/uni-form · GitHub</title>
10    <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" />
11    <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub" />
12    <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-114.png" />
13    <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114.png" />
14    <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-144.png" />
15    <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144.png" />
16    <link rel="logo" type="image/svg" href="https://github-media-downloads.s3.amazonaws.com/github-logo.svg" />
17    <meta property="og:image" content="https://github.global.ssl.fastly.net/images/modules/logos_page/Octocat.png">
18    <meta name="hostname" content="github-fe119-cp1-prd.iad.github.net">
19    <meta name="ruby" content="ruby 1.9.3p194-tcs-github-tcmalloc (0e75de19f8) [x86_64-linux]">
20    <link rel="assets" href="https://github.global.ssl.fastly.net/">
21    <link rel="conduit-xhr" href="https://ghconduit.com:25035/">
22    <link rel="xhr-socket" href="/_sockets" />
23    
24
25
26    <meta name="msapplication-TileImage" content="/windows-tile.png" />
27    <meta name="msapplication-TileColor" content="#ffffff" />
28    <meta name="selected-link" value="repo_source" data-pjax-transient />
29    <meta content="collector.githubapp.com" name="octolytics-host" /><meta content="collector-cdn.github.com" name="octolytics-script-host" /><meta content="github" name="octolytics-app-id" /><meta content="AD45B99A:5C1D:313E17B:52727CA3" name="octolytics-dimension-request_id" />
30    
31
32    
33    
34    <link rel="icon" type="image/x-icon" href="/favicon.ico" />
35
36    <meta content="authenticity_token" name="csrf-param" />
37<meta content="scqlHj9rq676TYD9qKpgtcEuEqbz6+2Xzyjcw1n9Wok=" name="csrf-token" />
38
39    <link href="https://github.global.ssl.fastly.net/assets/github-c1c8f4d1225e3ae12e7eed7a87e6125ec4f4c50a.css" media="all" rel="stylesheet" type="text/css" />
40    <link href="https://github.global.ssl.fastly.net/assets/github2-6ca1cf184423f082ccd30296372104601de151e8.css" media="all" rel="stylesheet" type="text/css" />
41    
42
43    
44
45      <script src="https://github.global.ssl.fastly.net/assets/frameworks-fedd15115b82c3d5d2afa34f475ba2caa6283613.js" type="text/javascript"></script>
46      <script src="https://github.global.ssl.fastly.net/assets/github-32c6bb6e4158fa642e474640b8074f3fb50b3795.js" type="text/javascript"></script>
47      
48      <meta http-equiv="x-pjax-version" content="4715596bc36f40085dee20cc3a6c2497">
49
50        <link data-pjax-transient rel='permalink' href='/draganbabic/uni-form/blob/3bb94bf919dfa0d99cab3f5619d7bcde7fcee6cc/js/uni-form-validation.jquery.js'>
51  <meta property="og:title" content="uni-form"/>
52  <meta property="og:type" content="githubog:gitrepository"/>
53  <meta property="og:url" content="https://github.com/draganbabic/uni-form"/>
54  <meta property="og:image" content="https://github.global.ssl.fastly.net/images/gravatars/gravatar-user-420.png"/>
55  <meta property="og:site_name" content="GitHub"/>
56  <meta property="og:description" content="Uni-Form is a framework that standardizes form markup and styles it with CSS giving you two most widely used layout options to choose from. Anyone can get nice looking, well structured, highly customizable, accessible and usable forms. To put it simply: it makes a developer&#39;s life a lot easier. Support → http://getsatisfaction.com/uni-form"/>
57
58  <meta name="description" content="Uni-Form is a framework that standardizes form markup and styles it with CSS giving you two most widely used layout options to choose from. Anyone can get nice looking, well structured, highly customizable, accessible and usable forms. To put it simply: it makes a developer&#39;s life a lot easier. Support → http://getsatisfaction.com/uni-form" />
59
60  <meta content="7902" name="octolytics-dimension-user_id" /><meta content="draganbabic" name="octolytics-dimension-user_login" /><meta content="11104" name="octolytics-dimension-repository_id" /><meta content="draganbabic/uni-form" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="11104" name="octolytics-dimension-repository_network_root_id" /><meta content="draganbabic/uni-form" name="octolytics-dimension-repository_network_root_nwo" />
61  <link href="https://github.com/draganbabic/uni-form/commits/master.atom" rel="alternate" title="Recent 
61Commits to uni-form:master" type="application/atom+xml" />
62
63  </head>
64
65
66  <body class="logged_out  env-production macintosh vis-public  page-blob">
67    <div class="wrapper">
68      
69      
70      
71
72
73      
74      <div class="header header-logged-out">
75  <div class="container clearfix">
76
77    <a class="header-logo-wordmark" href="https://github.com/">
78      <span class="mega-octicon octicon-logo-github"></span>
79    </a>
80
81    <div class="header-actions">
82        <a class="button primary" href="/join">Sign up</a>
83      <a class="button signin" href="/login?return_to=%2Fdraganbabic%2Funi-form%2Fblob%2Fmaster%2Fjs%2Funi-form-validation.jquery.js">Sign in</a>
84    </div>
85
86    <div class="command-bar js-command-bar  in-repository">
87
88      <ul class="top-nav">
89          <li class="explore"><a href="/explore">Explore</a></li>
90        <li class="features"><a href="/features">Features</a></li>
91          <li class="enterprise"><a href="https://enterprise.github.com/">Enterprise</a></li>
92          <li class="blog"><a href="/blog">Blog</a></li>
93      </ul>
94        <form accept-charset="UTF-8" action="/search" class="command-bar-form" id="top_search_form" method="get">
95
96<input type="text" data-hotkey="/ s" name="q" id="js-command-bar-field" placeholder="Search or type a command" tabindex="1" autocapitalize="off"
97    
98    
99      data-repo="draganbabic/uni-form"
100      data-branch="master"
101      data-sha="a93ffbaac944c1634d132c1ed1b85d74b29dbadf"
102  >
103
104    <input type="hidden" name="nwo" value="draganbabic/uni-form" />
105
106    <div class="select-menu js-menu-container js-select-menu search-context-select-menu">
107      <span class="minibutton select-menu-button js-menu-target">
108        <span class="js-select-button">This repository</span>
109      </span>
110
111      <div class="select-menu-modal-holder js-menu-content js-navigation-container">
112        <div class="select-menu-modal">
113
114          <div class="select-menu-item js-navigation-item js-this-repository-navigation-item selected">
115            <span class="select-menu-item-icon octicon octicon-check"></span>
116            <input type="radio" class="js-search-this-repository" name="search_target" value="repository" checked="checked" />
117            <div class="select-menu-item-text js-select-button-text">This repository</div>
118          </div> <!-- /.select-menu-item -->
119
120          <div class="select-menu-item js-navigation-item js-all-repositories-navigation-item">
121            <span class="select-menu-item-icon octicon octicon-check"></span>
122            <input type="radio" name="search_target" value="global" />
123            <div class="select-menu-item-text js-select-button-text">All repositories</div>
124          </div> <!-- /.select-menu-item -->
125
126        </div>
127      </div>
128    </div>
129
130  <span class="octicon help tooltipped downwards" title="Show command bar help">
131    <span class="octicon octicon-question"></span>
132  </span>
133
134
135  <input type="hidden" name="ref" value="cmdform">
136
137</form>
138    </div>
139
140  </div>
141</div>
142
143
144      
145
146
147          <div class="site" itemscope itemtype="http://schema.org/WebPage">
148    
149    <div class="pagehead repohead instapaper_ignore readability-menu">
150      <div class="container">
151        
152
153<ul class="pagehead-actions">
154
155
156  <li>
157  <a href="/login?return_to=%2Fdraganbabic%2Funi-form"
158  class="minibutton with-count js-toggler-target star-button entice tooltipped upwards"
159  title="You must be signed in to use this feature" rel="nofollow">
160  <span class="octicon octicon-star"></span>Star
161</a>
162<a class="social-count js-social-count" href="/draganbabic/uni-form/stargazers">
163  458
164</a>
165
166  </li>
167
168    <li>
169      <a href="/login?return_to=%2Fdraganbabic%2Funi-form"
170        class="minibutton with-count js-toggler-target fork-button entice tooltipped upwards"
171        title="You must be signed in to fork a repository" rel="nofollow">
172        <span class="octicon octicon-git-branch"></span>Fork
173      </a>
174      <a href="/draganbabic/uni-form/network" class="social-count">
175        52
176      </a>
177    </li>
178</ul>
179
180        <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public">
181          <span class="repo-label"><span>public</span></span>
182          <span class="mega-octicon octicon-repo"></span>
183          <span class="author">
184            <a href="/draganbabic" class="url fn" itemprop="url" rel="author"><span itemprop="title">draganbabic</span></a>
185          </span>
186          <span class="repohead-name-divider">/</span>
187          <strong><a href="/draganbabic/uni-form" class="js-current-repository js-repo-home-link">uni-form</a></strong>
188
189          <span class="page-context-loader">
190            <img alt="Octocat-spinner-32" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
191          </span>
192
193        </h1>
194      </div><!-- /.container -->
195    </div><!-- /.repohead -->
196
197    <div class="container">
198
199      <div class="repository-with-sidebar repo-container ">
200
201        <div class="repository-sidebar">
202            
203
204<div class="sunken-menu vertical-right repo-nav js-repo-nav js-repository-container-pjax js-octicon-loaders">
205  <div class="sunken-menu-contents">
206    <ul class="sunken-menu-group">
207      <li class="tooltipped leftwards" title="Code">
208        <a href="/draganbabic/uni-form" aria-label="Code" class="selected js-selected-navigation-item sunken-menu-item" data-gotokey="c" data-pjax="true" data-selected-links="repo_source repo_downloads repo_commits repo_tags repo_branches /draganbabic/uni-form">
209          <span class="octicon octicon-code"></span> <span class="full-word">Code</span>
210          <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
211</a>      </li>
212
213        <li class="tooltipped leftwards" title="Issues">
214          <a href="/draganbabic/uni-form/issues" aria-label="Issues" class="js-selected-navigation-item sunken-menu-item js-disable-pjax" data-gotokey="i" data-selected-links="repo_issues /draganbabic/uni-form/issues">
215            <span class="octicon octicon-issue-opened"></span> <span class="full-word">Issues</span>
216            <span class='counter'>2</span>
217            <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
218</a>        </li>
219
220      <li class="tooltipped leftwards" title="Pull Requests"><a href="/draganbabic/uni-form/pulls" aria-label="Pull Requests" class="js-selected-navigation-item sunken-menu-item js-disable-pjax" data-gotokey="p" data-selected-links="repo_pulls /draganbabic/uni-form/pulls">
221            <span class="octicon octicon-git-pull-request"></span> <span class="full-word">Pull Requests</span>
222            <span class='counter'>0</span>
223            <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
224</a>      </li>
225
226
227    </ul>
228    <div class="sunken-menu-separator"></div>
229    <ul class="sunken-menu-group">
230
231      <li class="tooltipped leftwards" title="Pulse">
232        <a href="/draganbabic/uni-form/pulse" aria-label="Pulse" class="js-selected-navigation-item sunken-menu-item" data-pjax="true" data-selected-links="pulse /draganbabic/uni-form/pulse">
233          <span class="octicon octicon-pulse"></span> <span class="full-word">Pulse</span>
234          <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
235</a>      </li>
236
237      <li class="tooltipped leftwards" title="Graphs">
238        <a href="/draganbabic/uni-form/graphs" aria-label="Graphs" class="js-selected-navigation-item sunken-menu-item" data-pjax="true" data-selected-links="repo_graphs repo_contributors /draganbabic/uni-form/graphs">
239          <span class="octicon octicon-graph"></span> <span class="full-word">Graphs</span>
240          <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
241</a>      </li>
242
243      <li class="tooltipped leftwards" title="Network">
244        <a href="/draganbabic/uni-form/network" aria-label="Network" class="js-selected-navigation-item sunken-menu-item js-disable-pjax" data-selected-links="repo_network /draganbabic/uni-form/network">
245          <span class="octicon octicon-git-branch"></span> <span class="full-word">Network</span>
246          <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" />
247</a>      </li>
248    </ul>
249
250
251  </div>
252</div>
253
254            <div class="only-with-full-nav">
255              
256
257  
258
259<div class="clone-url open"
260  data-protocol-type="http"
261  data-url="/users/set_protocol?protocol_selector=http&amp;protocol_type=clone">
262  <h3><strong>HTTPS</strong> clone URL</h3>
263  <div class="clone-url-box">
264    <input type="text" class="clone js-url-field"
265           value="https://github.com/draganbabic/uni-form.git" readonly="readonly">
266
267    <span class="js-zeroclipboard url-box-clippy minibutton zeroclipboard-button" data-clipboard-text="https://github.com/draganbabic/uni-form.git" data-copied-hint="copied!" title="copy to clipboard"><span class="octicon octicon-clippy"></span></span>
268  </div>
269</div>
270
271  
272
273<div class="clone-url "
274  data-protocol-type="subversion"
275  data-url="/users/set_protocol?protocol_selector=subversion&amp;protocol_type=clone">
276  <h3><strong>Subversion</strong> checkout URL</h3>
277  <div class="clone-url-box">
278    <input type="text" class="clone js-url-field"
279           value="https://github.com/draganbabic/uni-form" readonly="readonly">
280
281    <span class="js-zeroclipboard url-box-clippy minibutton zeroclipboard-button" data-clipboard-text="https://github.com/draganbabic/uni-form" data-copied-hint="copied!" title="copy to clipboard"><span class="octicon octicon-clippy"></span></span>
282  </div>
283</div>
284
285
286<p class="clone-options">You can clone with
287      <a href="#" class="js-clone-selector" data-protocol="http">HTTPS</a>,
288      or <a href="#" class="js-clone-selector" data-protocol="subversion">Subversion</a>.
289  <span class="octicon help tooltipped upwards" title="Get help on which URL is right for you.">
290    <a href="https://help.github.com/articles/which-remote-url-should-i-use">
291    <span class="octicon octicon-question"></span>
292    </a>
293  </span>
294</p>
295
296  <a href="http://mac.github.com" data-url="github-mac://openRepo/https://github.com/draganbabic/uni-form" class="minibutton sidebar-button js-conduit-rewrite-url">
297    <span class="octicon octicon-device-desktop"></span>
298    Clone in Desktop
299  </a>
300
301
302              <a href="/draganbabic/uni-form/archive/master.zip"
303                 class="minibutton sidebar-button"
304                 title="Download this repository as a zip file"
305                 rel="nofollow">
306                <span class="octicon octicon-cloud-download"></span>
307                Download ZIP
308              </a>
309            </div>
310        </div><!-- /.repository-sidebar -->
311
312        <div id="js-repo-pjax-container" class="repository-content context-loader-container" data-pjax-container>
313          
314
315
316<!-- blob contrib key: blob_contributors:v21:a928ef283a47101dbbd92e8dae881a76 -->
317
318<p title="This is a placeholder element" class="js-history-link-replace hidden"></p>
319
320<a href="/draganbabic/uni-form/find/master" data-pjax data-hotkey="t" class="js-show-file-finder" style="display:none">Show File Finder</a>
321
322<div class="file-navigation">
323  
324  
325
326<div class="select-menu js-menu-container js-select-menu" >
327  <span class="minibutton select-menu-button js-menu-target" data-hotkey="w"
328    data-master-branch="master"
329    data-ref="master"
330    role="button" aria-label="Switch branches or tags" tabindex="0">
331    <span class="octicon octicon-git-branch"></span>
332    <i>branch:</i>
333    <span class="js-select-button">master</span>
334  </span>
335
336  <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax>
337
338    <div class="select-menu-modal">
339      <div class="select-menu-header">
340        <span class="select-menu-title">Switch branches/tags</span>
341        <span class="octicon octicon-remove-close js-menu-close"></span>
342      </div> <!-- /.select-menu-header -->
343
344      <div class="select-menu-filters">
345        <div class="select-menu-text-filter">
346          <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
347        </div>
348        <div class="select-menu-tabs">
349          <ul>
350            <li class="select-menu-tab">
351              <a href="#" data-tab-filter="branches" class="js-select-menu-tab">Branches</a>
352            </li>
353            <li class="select-menu-tab">
354              <a href="#" data-tab-filter="tags" class="js-select-menu-tab">Tags</a>
355            </li>
356          </ul>
357        </div><!-- /.select-menu-tabs -->
358      </div><!-- /.select-menu-filters -->
359
360      <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches">
361
362        <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
363
364
365            <div class="select-menu-item js-navigation-item ">
366              <span class="select-menu-item-icon octicon octicon-check"></span>
367              <a href="/draganbabic/uni-form/blob/development/js/uni-form-validation.jquery.js"
368                 data-name="development"
369                 data-skip-pjax="true"
370                 rel="nofollow"
371                 class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target"
372                 title="development">development</a>
373            </div> <!-- /.select-menu-item -->
374            <div class="select-menu-item js-navigation-item selected">
375              <span class="select-menu-item-icon octicon octicon-check"></span>
376              <a href="/draganbabic/uni-form/blob/master/js/uni-form-validation.jquery.js"
377                 data-name="master"
378                 data-skip-pjax="true"
379                 rel="nofollow"
380                 class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target"
381                 title="master">master</a>
382            </div> <!-- /.select-menu-item -->
383            <div class="select-menu-item js-navigation-item ">
384              <span class="select-menu-item-icon octicon octicon-check"></span>
385              <a href="/draganbabic/uni-form/blob/uni-form-v-1-5/js/uni-form-validation.jquery.js"
386                 data-name="uni-form-v-1-5"
387                 data-skip-pjax="true"
388                 rel="nofollow"
389                 class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target"
390                 title="uni-form-v-1-5">uni-form-v-1-5</a>
391            </div> <!-- /.select-menu-item -->
392        </div>
393
394          <div class="select-menu-no-results">Nothing to show</div>
395      </div> <!-- /.select-menu-list -->
396
397      <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags">
398        <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
399
400
401        </div>
402
403        <div class="select-menu-no-results">Nothing to show</div>
404      </div> <!-- /.select-menu-list -->
405
406    </div> <!-- /.select-menu-modal -->
407  </div> <!-- /.select-menu-modal-holder -->
408</div> <!-- /.select-menu -->
409
410  <div class="breadcrumb">
411    <span class='repo-root js-repo-root'><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/draganbabic/uni-form" data-branch="master" data-direction="back" data-pjax="true" itemscope="url"><span itemprop="title">uni-form</span></a></span></span><span class="separator"> / </span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/draganbabic/uni-form/tree/master/js" data-branch="master" data-direction="back" data-pjax="true" itemscope="url"><span itemprop="title">js</span></a></span><span class="separator"> / </span><strong class="final-path">uni-form-validation.jquery.js</strong> <span class="js-zeroclipboard minibutton zeroclipboard-button" data-clipboard-text="js/uni-form-validation.jquery.js" data-copied-hint="copied!" title="copy to clipboard"><span class="octicon octicon-clippy"></span></span>
412  </div>
413</div>
414
415
416
417  <div class="commit file-history-tease">
418    <img class="main-avatar" height="24" src="https://2.gravatar.com/avatar/c5cf475840d8677444d21ee3bf9cfcb7?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png&amp;r=x&amp;s=140" width="24" />
419    <span class="author"><span rel="author">Vladimir Garvardt</span></span>
420    <time class="js-relative-date" datetime="2011-08-17T01:32:35-07:00" title="2011-08-17 01:32:35">August 17, 2011</time>
421    <div class="commit-title">
422        <a href="/draganbabic/uni-form/commit/dae7087869c123373d2c6d13f06059f78a9ffd36" class="message" data-pjax="true" title="User form context for validateSameAs validator for multiple forms page c...
423
424...orrect processing (e.g. password field exists on both sign in and sign up forms on a single page)">User form context for validateSameAs validator for multiple forms pag…</a>
425    </div>
426
427    <div class="participation">
428      <p class="quickstat"><a href="#blob_contributors_box" rel="facebox"><strong>2</strong> contributors</a></p>
429          <a class="avatar tooltipped downwards" title="LearningStation" href="/draganbabic/uni-form/commits/master/js/uni-form-validation.jquery.js?author=LearningStation"><img height="20" src="https://1.gravatar.com/avatar/675735cce81cc107292db65f629f37fe?d=https%3A%2F%2Fidenticons.github.com%2F4dd864607a39aa162227ce98b4c1af74.png&amp;r=x&amp;s=140" width="20" /></a>
430    <a class="avatar tooltipped downwards" title="gimler" href="/draganbabic/uni-form/commits/master/js/uni-form-validation.jquery.js?author=gimler"><img height="20" src="https://1.gravatar.com/avatar/0f64f3a8813318d28190897d621bf27d?d=https%3A%2F%2Fidenticons.github.com%2Fd69d7ac9fea6fe0abc426399302e06f0.png&amp;r=x&amp;s=140" width="20" /></a>
431
432
433    </div>
434    <div id="blob_contributors_box" style="display:none">
435      <h2 class="facebox-header">Users who have contributed to this file</h2>
436      <ul class="facebox-user-list">
437          <li class="facebox-user-list-item">
438            <img height="24" src="https://1.gravatar.com/avatar/675735cce81cc107292db65f629f37fe?d=https%3A%2F%2Fidenticons.github.com%2F4dd864607a39aa162227ce98b4c1af74.png&amp;r=x&amp;s=140" width="24" />
439            <a href="/LearningStation">LearningStation</a>
440          </li>
441          <li class="facebox-user-list-item">
442            <img height="24" src="https://1.gravatar.com/avatar/0f64f3a8813318d28190897d621bf27d?d=https%3A%2F%2Fidenticons.github.com%2Fd69d7ac9fea6fe0abc426399302e06f0.png&amp;r=x&amp;s=140" width="24" />
443            <a href="/gimler">gimler</a>
444          </li>
445      </ul>
446    </div>
447  </div>
448
449<div id="files" class="bubble">
450  <div class="file">
451    <div class="meta">
452      <div class="info">
453        <span class="icon"><b class="octicon octicon-file-text"></b></span>
454        <span class="mode" title="File Mode">file</span>
455          <span>800 lines (717 sloc)</span>
456        <span>26.313 kb</span>
457      </div>
458      <div class="actions">
459        <div class="button-group">
460            <a class="minibutton tooltipped leftwards js-conduit-openfile-check"
461               href="http://mac.github.com"
462               data-url="github-mac://openRepo/https://github.com/draganbabic/uni-form?branch=master&amp;filepath=js%2Funi-form-validation.jquery.js"
463               title="Open this file in GitHub for Mac"
464               data-failed-title="Your version of GitHub for Mac is too old to open this file. Try checking for updates.">
465                <span class="octicon octicon-device-desktop"></span> Open
466            </a>
467              <a class="minibutton disabled js-entice" href=""
468                 data-entice="You must be signed in to make or propose changes">Edit</a>
469          <a href="/draganbabic/uni-form/raw/master/js/uni-form-validation.jquery.js" class="button minibutton " id="raw-url">Raw</a>
470            <a href="/draganbabic/uni-form/blame/master/js/uni-form-validation.jquery.js" class="button minibutton ">Blame</a>
471          <a href="/draganbabic/uni-form/commits/master/js/uni-form-validation.jquery.js" class="button minibutton " rel="nofollow">History</a>
472        </div><!-- /.button-group -->
473          <a class="minibutton danger empty-icon js-entice" href=""
474             data-entice="You must be signed in and on a branch to make or propose changes">
475          Delete
476        </a>
477      </div><!-- /.actions -->
478
479    </div>
480        <div class="blob-wrapper data type-javascript js-blob-data">
481        <table class="file-code file-diff">
482          <tr class="file-code-line">
483            <td class="blob-line-nums">
484              <span id="L1" rel="#L1">1</span>
485<span id="L2" rel="#L2">2</span>
486<span id="L3" rel="#L3">3</span>
487<span id="L4" rel="#L4">4</span>
488<span id="L5" rel="#L5">5</span>
489<span id="L6" rel="#L6">6</span>
490<span id="L7" rel="#L7">7</span>
491<span id="L8" rel="#L8">8</span>
492<span id="L9" rel="#L9">9</span>
493<span id="L10" rel="#L10">10</span>
494<span id="L11" rel="#L11">11</span>
495<span id="L12" rel="#L12">12</span>
496<span id="L13" rel="#L13">13</span>
497<span id="L14" rel="#L14">14</span>
498<span id="L15" rel="#L15">15</span>
499<span id="L16" rel="#L16">16</span>
500<span id="L17" rel="#L17">17</span>
501<span id="L18" rel="#L18">18</span>
502<span id="L19" rel="#L19">19</span>
503<span id="L20" rel="#L20">20</span>
504<span id="L21" rel="#L21">21</span>
505<span id="L22" rel="#L22">22</span>
506<span id="L23" rel="#L23">23</span>
507<span id="L24" rel="#L24">24</span>
508<span id="L25" rel="#L25">25</span>
509<span id="L26" rel="#L26">26</span>
510<span id="L27" rel="#L27">27</span>
511<span id="L28" rel="#L28">28</span>
512<span id="L29" rel="#L29">29</span>
513<span id="L30" rel="#L30">30</span>
514<span id="L31" rel="#L31">31</span>
515<span id="L32" rel="#L32">32</span>
516<span id="L33" rel="#L33">33</span>
517<span id="L34" rel="#L34">34</span>
518<span id="L35" rel="#L35">35</span>
519<span id="L36" rel="#L36">36</span>
520<span id="L37" rel="#L37">37</span>
521<span id="L38" rel="#L38">38</span>
522<span id="L39" rel="#L39">39</span>
523<span id="L40" rel="#L40">40</span>
524<span id="L41" rel="#L41">41</span>
525<span id="L42" rel="#L42">42</span>
526<span id="L43" rel="#L43">43</span>
527<span id="L44" rel="#L44">44</span>
528<span id="L45" rel="#L45">45</span>
529<span id="L46" rel="#L46">46</span>
530<span id="L47" rel="#L47">47</span>
531<span id="L48" rel="#L48">48</span>
532<span id="L49" rel="#L49">49</span>
533<span id="L50" rel="#L50">50</span>
534<span id="L51" rel="#L51">51</span>
535<span id="L52" rel="#L52">52</span>
536<span id="L53" rel="#L53">53</span>
537<span id="L54" rel="#L54">54</span>
538<span id="L55" rel="#L55">55</span>
539<span id="L56" rel="#L56">56</span>
540<span id="L57" rel="#L57">57</span>
541<span id="L58" rel="#L58">58</span>
542<span id="L59" rel="#L59">59</span>
543<span id="L60" rel="#L60">60</span>
544<span id="L61" rel="#L61">61</span>
545<span id="L62" rel="#L62">62</span>
546<span id="L63" rel="#L63">63</span>
547<span id="L64" rel="#L64">64</span>
548<span id="L65" rel="#L65">65</span>
549<span id="L66" rel="#L66">66</span>
550<span id="L67" rel="#L67">67</span>
551<span id="L68" rel="#L68">68</span>
552<span id="L69" rel="#L69">69</span>
553<span id="L70" rel="#L70">70</span>
554<span id="L71" rel="#L71">71</span>
555<span id="L72" rel="#L72">72</span>
556<span id="L73" rel="#L73">73</span>
557<span id="L74" rel="#L74">74</span>
558<span id="L75" rel="#L75">75</span>
559<span id="L76" rel="#L76">76</span>
560<span id="L77" rel="#L77">77</span>
561<span id="L78" rel="#L78">78</span>
562<span id="L79" rel="#L79">79</span>
563<span id="L80" rel="#L80">80</span>
564<span id="L81" rel="#L81">81</span>
565<span id="L82" rel="#L82">82</span>
566<span id="L83" rel="#L83">83</span>
567<span id="L84" rel="#L84">84</span>
568<span id="L85" rel="#L85">85</span>
569<span id="L86" rel="#L86">86</span>
570<span id="L87" rel="#L87">87</span>
571<span id="L88" rel="#L88">88</span>
572<span id="L89" rel="#L89">89</span>
573<span id="L90" rel="#L90">90</span>
574<span id="L91" rel="#L91">91</span>
575<span id="L92" rel="#L92">92</span>
576<span id="L93" rel="#L93">93</span>
577<span id="L94" rel="#L94">
57794</span>
578<span id="L95" rel="#L95">95</span>
579<span id="L96" rel="#L96">96</span>
580<span id="L97" rel="#L97">97</span>
581<span id="L98" rel="#L98">98</span>
582<span id="L99" rel="#L99">99</span>
583<span id="L100" rel="#L100">100</span>
584<span id="L101" rel="#L101">101</span>
585<span id="L102" rel="#L102">102</span>
586<span id="L103" rel="#L103">103</span>
587<span id="L104" rel="#L104">104</span>
588<span id="L105" rel="#L105">105</span>
589<span id="L106" rel="#L106">106</span>
590<span id="L107" rel="#L107">107</span>
591<span id="L108" rel="#L108">108</span>
592<span id="L109" rel="#L109">109</span>
593<span id="L110" rel="#L110">110</span>
594<span id="L111" rel="#L111">111</span>
595<span id="L112" rel="#L112">112</span>
596<span id="L113" rel="#L113">113</span>
597<span id="L114" rel="#L114">114</span>
598<span id="L115" rel="#L115">115</span>
599<span id="L116" rel="#L116">116</span>
600<span id="L117" rel="#L117">117</span>
601<span id="L118" rel="#L118">118</span>
602<span id="L119" rel="#L119">119</span>
603<span id="L120" rel="#L120">120</span>
604<span id="L121" rel="#L121">121</span>
605<span id="L122" rel="#L122">122</span>
606<span id="L123" rel="#L123">123</span>
607<span id="L124" rel="#L124">124</span>
608<span id="L125" rel="#L125">125</span>
609<span id="L126" rel="#L126">126</span>
610<span id="L127" rel="#L127">127</span>
611<span id="L128" rel="#L128">128</span>
612<span id="L129" rel="#L129">129</span>
613<span id="L130" rel="#L130">130</span>
614<span id="L131" rel="#L131">131</span>
615<span id="L132" rel="#L132">132</span>
616<span id="L133" rel="#L133">133</span>
617<span id="L134" rel="#L134">134</span>
618<span id="L135" rel="#L135">135</span>
619<span id="L136" rel="#L136">136</span>
620<span id="L137" rel="#L137">137</span>
621<span id="L138" rel="#L138">138</span>
622<span id="L139" rel="#L139">139</span>
623<span id="L140" rel="#L140">140</span>
624<span id="L141" rel="#L141">141</span>
625<span id="L142" rel="#L142">142</span>
626<span id="L143" rel="#L143">143</span>
627<span id="L144" rel="#L144">144</span>
628<span id="L145" rel="#L145">145</span>
629<span id="L146" rel="#L146">146</span>
630<span id="L147" rel="#L147">147</span>
631<span id="L148" rel="#L148">148</span>
632<span id="L149" rel="#L149">149</span>
633<span id="L150" rel="#L150">150</span>
634<span id="L151" rel="#L151">151</span>
635<span id="L152" rel="#L152">152</span>
636<span id="L153" rel="#L153">153</span>
637<span id="L154" rel="#L154">154</span>
638<span id="L155" rel="#L155">155</span>
639<span id="L156" rel="#L156">156</span>
640<span id="L157" rel="#L157">157</span>
641<span id="L158" rel="#L158">158</span>
642<span id="L159" rel="#L159">159</span>
643<span id="L160" rel="#L160">160</span>
644<span id="L161" rel="#L161">161</span>
645<span id="L162" rel="#L162">162</span>
646<span id="L163" rel="#L163">163</span>
647<span id="L164" rel="#L164">164</span>
648<span id="L165" rel="#L165">165</span>
649<span id="L166" rel="#L166">166</span>
650<span id="L167" rel="#L167">167</span>
651<span id="L168" rel="#L168">168</span>
652<span id="L169" rel="#L169">169</span>
653<span id="L170" rel="#L170">170</span>
654<span id="L171" rel="#L171">171</span>
655<span id="L172" rel="#L172">172</span>
656<span id="L173" rel="#L173">173</span>
657<span id="L174" rel="#L174">174</span>
658<span id="L175" rel="#L175">175</span>
659<span id="L176" rel="#L176">176</span>
660<span id="L177" rel="#L177">177</span>
661<span id="L178" rel="#L178">178</span>
662<span id="L179" rel="#L179">179</span>
663<span id="L180" rel="#L180">180</span>
664<span id="L181" rel="#L181">181</span>
665<span id="L182" rel="#L182">182</span>
666<span id="L183" rel="#L183">183</span>
667<span id="L184" rel="#L184">184</span>
668<span id="L185" rel="#L185">185</span>
669<span id="L186" rel="#L186">186</span>
670<span id="L187" rel="#L187">187</span>
671<span id="L188" rel="#L188">188</span>
672<span id="L189" rel="#L189">189</span>
673<span id="L190" rel="#L190">190</span>
674<span id="L191" rel="#L191">191</span>
675<span id="L192" rel="#L192">192</span>
676<span id="L193" rel="#L193">193</span>
677<span id="L194" rel="#L194">194</span>
678<span id="L195" rel="#L195">195</span>
679<span id="L196" rel="#L196">196</span>
680<span id="L197" rel="#L197">197</span>
681<span id="L198" rel="#L198">198</span>
682<span id="L199" rel="#L199">199</span>
683<span id="L200" rel="#L200">200</span>
684<span id="L201" rel="#L201">201</span>
685<span id="L202" rel="#L202">202</span>
686<span id="L203" rel="#L203">203</span>
687<span id="L204" rel="#L204">204</span>
688<span id="L205" rel="#L205">205</span>
689<span id="L206" rel="#L206">206</span>
690<span id="L207" rel="#L207">207</span>
691<span id="L208" rel="#L208">208</span>
692<span id="L209" rel="#L209">209</span>
693<span id="L210" rel="#L210">210</span>
694<span id="L211" rel="#L211">211</span>
695<span id="L212" rel="#L212">212</span>
696<span id="L213" rel="#L213">213</span>
697<span id="L214" rel="#L214">214</span>
698<span id="L215" rel="#L215">215</span>
699<span id="L216" rel="#L216">216</span>
700<span id="L217" rel="#L217">217</span>
701<span id="L218" rel="#L218">218</span>
702<span id="L219" rel="#L219">219</span>
703<span id="L220" rel="#L220">220</span>
704<span id="L221" rel="#L221">221</span>
705<span id="L222" rel="#L222">222</span>
706<span id="L223" rel="#L223">223</span>
707<span id="L224" rel="#L224">224</span>
708<span id="L225" rel="#L225">225</span>
709<span id="L226" rel="#L226">226</span>
710<span id="L227" rel="#L227">227</span>
711<span id="L228" rel="#L228">228</span>
712<span id="L229" rel="#L229">229</span>
713<span id="L230" rel="#L230">230</span>
714<span id="L231" rel="#L231">231</span>
715<span id="L232" rel="#L232">232</span>
716<span id="L233" rel="#L233">233</span>
717<span id="L234" rel="#L234">234</span>
718<span id="L235" rel="#L235">235</span>
719<span id="L236" rel="#L236">236</span>
720<span id="L237" rel="#L237">237</span>
721<span id="L238" rel="#L238">238</span>
722<span id="L239" rel="#L239">239</span>
723<span id="L240" rel="#L240">240</span>
724<span id="L241" rel="#L241">241</span>
725<span id="L242" rel="#L242">242</span>
726<span id="L243" rel="#L243">243</span>
727<span id="L244" rel="#L244">244</span>
728<span id="L245" rel="#L245">245</span>
729<span id="L246" rel="#L246">246</span>
730<span id="L247" rel="#L247">247</span>
731<span id="L248" rel="#L248">248</span>
732<span id="L249" rel="#L249">249</span>
733<span id="L250" rel="#L250">250</span>
734<span id="L251" rel="#L251">251</span>
735<span id="L252" rel="#L252">252</span>
736<span id="L253" rel="#L253">253</span>
737<span id="L254" rel="#L254">254</span>
738<span id="L255" rel="#L255">255</span>
739<span id="L256" rel="#L256">256</span>
740<span id="L257" rel="#L257">257</span>
741<span id="L258" rel="#L258">258</span>
742<span id="L259" rel="#L259">259</span>
743<span id="L260" rel="#L260">260</span>
744<span id="L261" rel="#L261">261</span>
745<span id="L262" rel="#L262">262</span>
746<span id="L263" rel="#L263">263</span>
747<span id="L264" rel="#L264">264</span>
748<span id="L265" rel="#L265">265</span>
749<span id="L266" rel="#L266">266</span>
750<span id="L267" rel="#L267">267</span>
751<span id="L268" rel="#L268">268</span>
752<span id="L269" rel="#L269">269</span>
753<span id="L270" rel="#L270">270</span>
754<span id="L271" rel="#L271">271</span>
755<span id="L272" rel="#L272">272</span>
756<span id="L273" rel="#L273">273</span>
757<span id="L274" rel="#L274">
757274</span>
758<span id="L275" rel="#L275">275</span>
759<span id="L276" rel="#L276">276</span>
760<span id="L277" rel="#L277">277</span>
761<span id="L278" rel="#L278">278</span>
762<span id="L279" rel="#L279">279</span>
763<span id="L280" rel="#L280">280</span>
764<span id="L281" rel="#L281">281</span>
765<span id="L282" rel="#L282">282</span>
766<span id="L283" rel="#L283">283</span>
767<span id="L284" rel="#L284">284</span>
768<span id="L285" rel="#L285">285</span>
769<span id="L286" rel="#L286">286</span>
770<span id="L287" rel="#L287">287</span>
771<span id="L288" rel="#L288">288</span>
772<span id="L289" rel="#L289">289</span>
773<span id="L290" rel="#L290">290</span>
774<span id="L291" rel="#L291">291</span>
775<span id="L292" rel="#L292">292</span>
776<span id="L293" rel="#L293">293</span>
777<span id="L294" rel="#L294">294</span>
778<span id="L295" rel="#L295">295</span>
779<span id="L296" rel="#L296">296</span>
780<span id="L297" rel="#L297">297</span>
781<span id="L298" rel="#L298">298</span>
782<span id="L299" rel="#L299">299</span>
783<span id="L300" rel="#L300">300</span>
784<span id="L301" rel="#L301">301</span>
785<span id="L302" rel="#L302">302</span>
786<span id="L303" rel="#L303">303</span>
787<span id="L304" rel="#L304">304</span>
788<span id="L305" rel="#L305">305</span>
789<span id="L306" rel="#L306">306</span>
790<span id="L307" rel="#L307">307</span>
791<span id="L308" rel="#L308">308</span>
792<span id="L309" rel="#L309">309</span>
793<span id="L310" rel="#L310">310</span>
794<span id="L311" rel="#L311">311</span>
795<span id="L312" rel="#L312">312</span>
796<span id="L313" rel="#L313">313</span>
797<span id="L314" rel="#L314">314</span>
798<span id="L315" rel="#L315">315</span>
799<span id="L316" rel="#L316">316</span>
800<span id="L317" rel="#L317">317</span>
801<span id="L318" rel="#L318">318</span>
802<span id="L319" rel="#L319">319</span>
803<span id="L320" rel="#L320">320</span>
804<span id="L321" rel="#L321">321</span>
805<span id="L322" rel="#L322">322</span>
806<span id="L323" rel="#L323">323</span>
807<span id="L324" rel="#L324">324</span>
808<span id="L325" rel="#L325">325</span>
809<span id="L326" rel="#L326">326</span>
810<span id="L327" rel="#L327">327</span>
811<span id="L328" rel="#L328">328</span>
812<span id="L329" rel="#L329">329</span>
813<span id="L330" rel="#L330">330</span>
814<span id="L331" rel="#L331">331</span>
815<span id="L332" rel="#L332">332</span>
816<span id="L333" rel="#L333">333</span>
817<span id="L334" rel="#L334">334</span>
818<span id="L335" rel="#L335">335</span>
819<span id="L336" rel="#L336">336</span>
820<span id="L337" rel="#L337">337</span>
821<span id="L338" rel="#L338">338</span>
822<span id="L339" rel="#L339">339</span>
823<span id="L340" rel="#L340">340</span>
824<span id="L341" rel="#L341">341</span>
825<span id="L342" rel="#L342">342</span>
826<span id="L343" rel="#L343">343</span>
827<span id="L344" rel="#L344">344</span>
828<span id="L345" rel="#L345">345</span>
829<span id="L346" rel="#L346">346</span>
830<span id="L347" rel="#L347">347</span>
831<span id="L348" rel="#L348">348</span>
832<span id="L349" rel="#L349">349</span>
833<span id="L350" rel="#L350">350</span>
834<span id="L351" rel="#L351">351</span>
835<span id="L352" rel="#L352">352</span>
836<span id="L353" rel="#L353">353</span>
837<span id="L354" rel="#L354">354</span>
838<span id="L355" rel="#L355">355</span>
839<span id="L356" rel="#L356">356</span>
840<span id="L357" rel="#L357">357</span>
841<span id="L358" rel="#L358">358</span>
842<span id="L359" rel="#L359">359</span>
843<span id="L360" rel="#L360">360</span>
844<span id="L361" rel="#L361">361</span>
845<span id="L362" rel="#L362">362</span>
846<span id="L363" rel="#L363">363</span>
847<span id="L364" rel="#L364">364</span>
848<span id="L365" rel="#L365">365</span>
849<span id="L366" rel="#L366">366</span>
850<span id="L367" rel="#L367">367</span>
851<span id="L368" rel="#L368">368</span>
852<span id="L369" rel="#L369">369</span>
853<span id="L370" rel="#L370">370</span>
854<span id="L371" rel="#L371">371</span>
855<span id="L372" rel="#L372">372</span>
856<span id="L373" rel="#L373">373</span>
857<span id="L374" rel="#L374">374</span>
858<span id="L375" rel="#L375">375</span>
859<span id="L376" rel="#L376">376</span>
860<span id="L377" rel="#L377">377</span>
861<span id="L378" rel="#L378">378</span>
862<span id="L379" rel="#L379">379</span>
863<span id="L380" rel="#L380">380</span>
864<span id="L381" rel="#L381">381</span>
865<span id="L382" rel="#L382">382</span>
866<span id="L383" rel="#L383">383</span>
867<span id="L384" rel="#L384">384</span>
868<span id="L385" rel="#L385">385</span>
869<span id="L386" rel="#L386">386</span>
870<span id="L387" rel="#L387">387</span>
871<span id="L388" rel="#L388">388</span>
872<span id="L389" rel="#L389">389</span>
873<span id="L390" rel="#L390">390</span>
874<span id="L391" rel="#L391">391</span>
875<span id="L392" rel="#L392">
875392</span>
876<span id="L393" rel="#L393">393</span>
877<span id="L394" rel="#L394">394</span>
878<span id="L395" rel="#L395">395</span>
879<span id="L396" rel="#L396">396</span>
880<span id="L397" rel="#L397">397</span>
881<span id="L398" rel="#L398">398</span>
882<span id="L399" rel="#L399">399</span>
883<span id="L400" rel="#L400">400</span>
884<span id="L401" rel="#L401">401</span>
885<span id="L402" rel="#L402">402</span>
886<span id="L403" rel="#L403">403</span>
887<span id="L404" rel="#L404">404</span>
888<span id="L405" rel="#L405">405</span>
889<span id="L406" rel="#L406">406</span>
890<span id="L407" rel="#L407">407</span>
891<span id="L408" rel="#L408">408</span>
892<span id="L409" rel="#L409">409</span>
893<span id="L410" rel="#L410">410</span>
894<span id="L411" rel="#L411">411</span>
895<span id="L412" rel="#L412">412</span>
896<span id="L413" rel="#L413">413</span>
897<span id="L414" rel="#L414">414</span>
898<span id="L415" rel="#L415">415</span>
899<span id="L416" rel="#L416">416</span>
900<span id="L417" rel="#L417">417</span>
901<span id="L418" rel="#L418">418</span>
902<span id="L419" rel="#L419">419</span>
903<span id="L420" rel="#L420">420</span>
904<span id="L421" rel="#L421">421</span>
905<span id="L422" rel="#L422">422</span>
906<span id="L423" rel="#L423">423</span>
907<span id="L424" rel="#L424">424</span>
908<span id="L425" rel="#L425">425</span>
909<span id="L426" rel="#L426">426</span>
910<span id="L427" rel="#L427">427</span>
911<span id="L428" rel="#L428">428</span>
912<span id="L429" rel="#L429">429</span>
913<span id="L430" rel="#L430">430</span>
914<span id="L431" rel="#L431">431</span>
915<span id="L432" rel="#L432">432</span>
916<span id="L433" rel="#L433">433</span>
917<span id="L434" rel="#L434">434</span>
918<span id="L435" rel="#L435">435</span>
919<span id="L436" rel="#L436">436</span>
920<span id="L437" rel="#L437">437</span>
921<span id="L438" rel="#L438">438</span>
922<span id="L439" rel="#L439">439</span>
923<span id="L440" rel="#L440">440</span>
924<span id="L441" rel="#L441">441</span>
925<span id="L442" rel="#L442">442</span>
926<span id="L443" rel="#L443">443</span>
927<span id="L444" rel="#L444">444</span>
928<span id="L445" rel="#L445">445</span>
929<span id="L446" rel="#L446">446</span>
930<span id="L447" rel="#L447">447</span>
931<span id="L448" rel="#L448">448</span>
932<span id="L449" rel="#L449">449</span>
933<span id="L450" rel="#L450">450</span>
934<span id="L451" rel="#L451">451</span>
935<span id="L452" rel="#L452">452</span>
936<span id="L453" rel="#L453">453</span>
937<span id="L454" rel="#L454">454</span>
938<span id="L455" rel="#L455">455</span>
939<span id="L456" rel="#L456">456</span>
940<span id="L457" rel="#L457">457</span>
941<span id="L458" rel="#L458">458</span>
942<span id="L459" rel="#L459">459</span>
943<span id="L460" rel="#L460">460</span>
944<span id="L461" rel="#L461">461</span>
945<span id="L462" rel="#L462">462</span>
946<span id="L463" rel="#L463">463</span>
947<span id="L464" rel="#L464">464</span>
948<span id="L465" rel="#L465">465</span>
949<span id="L466" rel="#L466">466</span>
950<span id="L467" rel="#L467">467</span>
951<span id="L468" rel="#L468">468</span>
952<span id="L469" rel="#L469">469</span>
953<span id="L470" rel="#L470">470</span>
954<span id="L471" rel="#L471">471</span>
955<span id="L472" rel="#L472">472</span>
956<span id="L473" rel="#L473">473</span>
957<span id="L474" rel="#L474">474</span>
958<span id="L475" rel="#L475">475</span>
959<span id="L476" rel="#L476">476</span>
960<span id="L477" rel="#L477">477</span>
961<span id="L478" rel="#L478">478</span>
962<span id="L479" rel="#L479">479</span>
963<span id="L480" rel="#L480">480</span>
964<span id="L481" rel="#L481">481</span>
965<span id="L482" rel="#L482">482</span>
966<span id="L483" rel="#L483">483</span>
967<span id="L484" rel="#L484">484</span>
968<span id="L485" rel="#L485">485</span>
969<span id="L486" rel="#L486">486</span>
970<span id="L487" rel="#L487">487</span>
971<span id="L488" rel="#L488">488</span>
972<span id="L489" rel="#L489">489</span>
973<span id="L490" rel="#L490">490</span>
974<span id="L491" rel="#L491">491</span>
975<span id="L492" rel="#L492">492</span>
976<span id="L493" rel="#L493">493</span>
977<span id="L494" rel="#L494">494</span>
978<span id="L495" rel="#L495">495</span>
979<span id="L496" rel="#L496">496</span>
980<span id="L497" rel="#L497">497</span>
981<span id="L498" rel="#L498">498</span>
982<span id="L499" rel="#L499">499</span>
983<span id="L500" rel="#L500">500</span>
984<span id="L501" rel="#L501">501</span>
985<span id="L502" rel="#L502">502</span>
986<span id="L503" rel="#L503">503</span>
987<span id="L504" rel="#L504">
987504</span>
988<span id="L505" rel="#L505">505</span>
989<span id="L506" rel="#L506">506</span>
990<span id="L507" rel="#L507">507</span>
991<span id="L508" rel="#L508">508</span>
992<span id="L509" rel="#L509">509</span>
993<span id="L510" rel="#L510">510</span>
994<span id="L511" rel="#L511">511</span>
995<span id="L512" rel="#L512">512</span>
996<span id="L513" rel="#L513">513</span>
997<span id="L514" rel="#L514">514</span>
998<span id="L515" rel="#L515">515</span>
999<span id="L516" rel="#L516">516</span>
1000<span id="L517" rel="#L517">517</span>
1001<span id="L518" rel="#L518">518</span>
1002<span id="L519" rel="#L519">519</span>
1003<span id="L520" rel="#L520">520</span>
1004<span id="L521" rel="#L521">521</span>
1005<span id="L522" rel="#L522">522</span>
1006<span id="L523" rel="#L523">523</span>
1007<span id="L524" rel="#L524">524</span>
1008<span id="L525" rel="#L525">525</span>
1009<span id="L526" rel="#L526">526</span>
1010<span id="L527" rel="#L527">527</span>
1011<span id="L528" rel="#L528">528</span>
1012<span id="L529" rel="#L529">529</span>
1013<span id="L530" rel="#L530">530</span>
1014<span id="L531" rel="#L531">531</span>
1015<span id="L532" rel="#L532">532</span>
1016<span id="L533" rel="#L533">533</span>
1017<span id="L534" rel="#L534">534</span>
1018<span id="L535" rel="#L535">535</span>
1019<span id="L536" rel="#L536">536</span>
1020<span id="L537" rel="#L537">537</span>
1021<span id="L538" rel="#L538">538</span>
1022<span id="L539" rel="#L539">539</span>
1023<span id="L540" rel="#L540">540</span>
1024<span id="L541" rel="#L541">541</span>
1025<span id="L542" rel="#L542">542</span>
1026<span id="L543" rel="#L543">543</span>
1027<span id="L544" rel="#L544">544</span>
1028<span id="L545" rel="#L545">545</span>
1029<span id="L546" rel="#L546">546</span>
1030<span id="L547" rel="#L547">547</span>
1031<span id="L548" rel="#L548">548</span>
1032<span id="L549" rel="#L549">549</span>
1033<span id="L550" rel="#L550">550</span>
1034<span id="L551" rel="#L551">551</span>
1035<span id="L552" rel="#L552">552</span>
1036<span id="L553" rel="#L553">553</span>
1037<span id="L554" rel="#L554">554</span>
1038<span id="L555" rel="#L555">555</span>
1039<span id="L556" rel="#L556">556</span>
1040<span id="L557" rel="#L557">557</span>
1041<span id="L558" rel="#L558">558</span>
1042<span id="L559" rel="#L559">559</span>
1043<span id="L560" rel="#L560">560</span>
1044<span id="L561" rel="#L561">561</span>
1045<span id="L562" rel="#L562">562</span>
1046<span id="L563" rel="#L563">563</span>
1047<span id="L564" rel="#L564">564</span>
1048<span id="L565" rel="#L565">565</span>
1049<span id="L566" rel="#L566">566</span>
1050<span id="L567" rel="#L567">567</span>
1051<span id="L568" rel="#L568">568</span>
1052<span id="L569" rel="#L569">569</span>
1053<span id="L570" rel="#L570">570</span>
1054<span id="L571" rel="#L571">571</span>
1055<span id="L572" rel="#L572">572</span>
1056<span id="L573" rel="#L573">573</span>
1057<span id="L574" rel="#L574">574</span>
1058<span id="L575" rel="#L575">575</span>
1059<span id="L576" rel="#L576">576</span>
1060<span id="L577" rel="#L577">577</span>
1061<span id="L578" rel="#L578">578</span>
1062<span id="L579" rel="#L579">579</span>
1063<span id="L580" rel="#L580">580</span>
1064<span id="L581" rel="#L581">581</span>
1065<span id="L582" rel="#L582">582</span>
1066<span id="L583" rel="#L583">583</span>
1067<span id="L584" rel="#L584">584</span>
1068<span id="L585" rel="#L585">585</span>
1069<span id="L586" rel="#L586">586</span>
1070<span id="L587" rel="#L587">587</span>
1071<span id="L588" rel="#L588">588</span>
1072<span id="L589" rel="#L589">589</span>
1073<span id="L590" rel="#L590">590</span>
1074<span id="L591" rel="#L591">591</span>
1075<span id="L592" rel="#L592">592</span>
1076<span id="L593" rel="#L593">593</span>
1077<span id="L594" rel="#L594">594</span>
1078<span id="L595" rel="#L595">595</span>
1079<span id="L596" rel="#L596">596</span>
1080<span id="L597" rel="#L597">597</span>
1081<span id="L598" rel="#L598">598</span>
1082<span id="L599" rel="#L599">599</span>
1083<span id="L600" rel="#L600">600</span>
1084<span id="L601" rel="#L601">601</span>
1085<span id="L602" rel="#L602">602</span>
1086<span id="L603" rel="#L603">603</span>
1087<span id="L604" rel="#L604">604</span>
1088<span id="L605" rel="#L605">605</span>
1089<span id="L606" rel="#L606">606</span>
1090<span id="L607" rel="#L607">607</span>
1091<span id="L608" rel="#L608">608</span>
1092<span id="L609" rel="#L609">609</span>
1093<span id="L610" rel="#L610">610</span>
1094<span id="L611" rel="#L611">611</span>
1095<span id="L612" rel="#L612">612</span>
1096<span id="L613" rel="#L613">613</span>
1097<span id="L614" rel="#L614">614</span>
1098<span id="L615" rel="#L615">615</span>
1099<span id="L616" rel="#L616">616</span>
1100<span id="L617" rel="#L617">617</span>
1101<span id="L618" rel="#L618">618</span>
1102<span id="L619" rel="#L619">619</span>
1103<span id="L620" rel="#L620">620</span>
1104<span id="L621" rel="#L621">621</span>
1105<span id="L622" rel="#L622">622</span>
1106<span id="L623" rel="#L623">623</span>
1107<span id="L624" rel="#L624">624</span>
1108<span id="L625" rel="#L625">625</span>
1109<span id="L626" rel="#L626">626</span>
1110<span id="L627" rel="#L627">627</span>
1111<span id="L628" rel="#L628">628</span>
1112<span id="L629" rel="#L629">629</span>
1113<span id="L630" rel="#L630">630</span>
1114<span id="L631" rel="#L631">631</span>
1115<span id="L632" rel="#L632">632</span>
1116<span id="L633" rel="#L633">633</span>
1117<span id="L634" rel="#L634">634</span>
1118<span id="L635" rel="#L635">635</span>
1119<span id="L636" rel="#L636">636</span>
1120<span id="L637" rel="#L637">637</span>
1121<span id="L638" rel="#L638">
1121638</span>
1122<span id="L639" rel="#L639">639</span>
1123<span id="L640" rel="#L640">640</span>
1124<span id="L641" rel="#L641">641</span>
1125<span id="L642" rel="#L642">642</span>
1126<span id="L643" rel="#L643">643</span>
1127<span id="L644" rel="#L644">644</span>
1128<span id="L645" rel="#L645">645</span>
1129<span id="L646" rel="#L646">646</span>
1130<span id="L647" rel="#L647">647</span>
1131<span id="L648" rel="#L648">648</span>
1132<span id="L649" rel="#L649">649</span>
1133<span id="L650" rel="#L650">650</span>
1134<span id="L651" rel="#L651">651</span>
1135<span id="L652" rel="#L652">652</span>
1136<span id="L653" rel="#L653">653</span>
1137<span id="L654" rel="#L654">654</span>
1138<span id="L655" rel="#L655">655</span>
1139<span id="L656" rel="#L656">656</span>
1140<span id="L657" rel="#L657">657</span>
1141<span id="L658" rel="#L658">658</span>
1142<span id="L659" rel="#L659">659</span>
1143<span id="L660" rel="#L660">660</span>
1144<span id="L661" rel="#L661">661</span>
1145<span id="L662" rel="#L662">662</span>
1146<span id="L663" rel="#L663">663</span>
1147<span id="L664" rel="#L664">664</span>
1148<span id="L665" rel="#L665">665</span>
1149<span id="L666" rel="#L666">666</span>
1150<span id="L667" rel="#L667">667</span>
1151<span id="L668" rel="#L668">668</span>
1152<span id="L669" rel="#L669">669</span>
1153<span id="L670" rel="#L670">670</span>
1154<span id="L671" rel="#L671">671</span>
1155<span id="L672" rel="#L672">672</span>
1156<span id="L673" rel="#L673">673</span>
1157<span id="L674" rel="#L674">674</span>
1158<span id="L675" rel="#L675">675</span>
1159<span id="L676" rel="#L676">676</span>
1160<span id="L677" rel="#L677">677</span>
1161<span id="L678" rel="#L678">678</span>
1162<span id="L679" rel="#L679">679</span>
1163<span id="L680" rel="#L680">680</span>
1164<span id="L681" rel="#L681">681</span>
1165<span id="L682" rel="#L682">682</span>
1166<span id="L683" rel="#L683">683</span>
1167<span id="L684" rel="#L684">684</span>
1168<span id="L685" rel="#L685">685</span>
1169<span id="L686" rel="#L686">686</span>
1170<span id="L687" rel="#L687">687</span>
1171<span id="L688" rel="#L688">688</span>
1172<span id="L689" rel="#L689">689</span>
1173<span id="L690" rel="#L690">690</span>
1174<span id="L691" rel="#L691">691</span>
1175<span id="L692" rel="#L692">692</span>
1176<span id="L693" rel="#L693">693</span>
1177<span id="L694" rel="#L694">694</span>
1178<span id="L695" rel="#L695">695</span>
1179<span id="L696" rel="#L696">696</span>
1180<span id="L697" rel="#L697">697</span>
1181<span id="L698" rel="#L698">698</span>
1182<span id="L699" rel="#L699">699</span>
1183<span id="L700" rel="#L700">700</span>
1184<span id="L701" rel="#L701">701</span>
1185<span id="L702" rel="#L702">702</span>
1186<span id="L703" rel="#L703">703</span>
1187<span id="L704" rel="#L704">704</span>
1188<span id="L705" rel="#L705">705</span>
1189<span id="L706" rel="#L706">706</span>
1190<span id="L707" rel="#L707">707</span>
1191<span id="L708" rel="#L708">708</span>
1192<span id="L709" rel="#L709">709</span>
1193<span id="L710" rel="#L710">710</span>
1194<span id="L711" rel="#L711">711</span>
1195<span id="L712" rel="#L712">712</span>
1196<span id="L713" rel="#L713">713</span>
1197<span id="L714" rel="#L714">714</span>
1198<span id="L715" rel="#L715">715</span>
1199<span id="L716" rel="#L716">716</span>
1200<span id="L717" rel="#L717">717</span>
1201<span id="L718" rel="#L718">718</span>
1202<span id="L719" rel="#L719">719</span>
1203<span id="L720" rel="#L720">720</span>
1204<span id="L721" rel="#L721">721</span>
1205<span id="L722" rel="#L722">722</span>
1206<span id="L723" rel="#L723">723</span>
1207<span id="L724" rel="#L724">724</span>
1208<span id="L725" rel="#L725">725</span>
1209<span id="L726" rel="#L726">726</span>
1210<span id="L727" rel="#L727">727</span>
1211<span id="L728" rel="#L728">728</span>
1212<span id="L729" rel="#L729">729</span>
1213<span id="L730" rel="#L730">730</span>
1214<span id="L731" rel="#L731">731</span>
1215<span id="L732" rel="#L732">732</span>
1216<span id="L733" rel="#L733">733</span>
1217<span id="L734" rel="#L734">734</span>
1218<span id="L735" rel="#L735">735</span>
1219<span id="L736" rel="#L736">736</span>
1220<span id="L737" rel="#L737">737</span>
1221<span id="L738" rel="#L738">738</span>
1222<span id="L739" rel="#L739">739</span>
1223<span id="L740" rel="#L740">740</span>
1224<span id="L741" rel="#L741">741</span>
1225<span id="L742" rel="#L742">742</span>
1226<span id="L743" rel="#L743">743</span>
1227<span id="L744" rel="#L744">744</span>
1228<span id="L745" rel="#L745">745</span>
1229<span id="L746" rel="#L746">746</span>
1230<span id="L747" rel="#L747">747</span>
1231<span id="L748" rel="#L748">748</span>
1232<span id="L749" rel="#L749">749</span>
1233<span id="L750" rel="#L750">750</span>
1234<span id="L751" rel="#L751">751</span>
1235<span id="L752" rel="#L752">752</span>
1236<span id="L753" rel="#L753">753</span>
1237<span id="L754" rel="#L754">754</span>
1238<span id="L755" rel="#L755">755</span>
1239<span id="L756" rel="#L756">756</span>
1240<span id="L757" rel="#L757">757</span>
1241<span id="L758" rel="#L758">758</span>
1242<span id="L759" rel="#L759">759</span>
1243<span id="L760" rel="#L760">760</span>
1244<span id="L761" rel="#L761">761</span>
1245<span id="L762" rel="#L762">762</span>
1246<span id="L763" rel="#L763">763</span>
1247<span id="L764" rel="#L764">
1247764</span>
1248<span id="L765" rel="#L765">765</span>
1249<span id="L766" rel="#L766">766</span>
1250<span id="L767" rel="#L767">767</span>
1251<span id="L768" rel="#L768">768</span>
1252<span id="L769" rel="#L769">769</span>
1253<span id="L770" rel="#L770">770</span>
1254<span id="L771" rel="#L771">771</span>
1255<span id="L772" rel="#L772">772</span>
1256<span id="L773" rel="#L773">773</span>
1257<span id="L774" rel="#L774">774</span>
1258<span id="L775" rel="#L775">775</span>
1259<span id="L776" rel="#L776">776</span>
1260<span id="L777" rel="#L777">777</span>
1261<span id="L778" rel="#L778">778</span>
1262<span id="L779" rel="#L779">779</span>
1263<span id="L780" rel="#L780">780</span>
1264<span id="L781" rel="#L781">781</span>
1265<span id="L782" rel="#L782">782</span>
1266<span id="L783" rel="#L783">783</span>
1267<span id="L784" rel="#L784">784</span>
1268<span id="L785" rel="#L785">785</span>
1269<span id="L786" rel="#L786">786</span>
1270<span id="L787" rel="#L787">787</span>
1271<span id="L788" rel="#L788">788</span>
1272<span id="L789" rel="#L789">789</span>
1273<span id="L790" rel="#L790">790</span>
1274<span id="L791" rel="#L791">791</span>
1275<span id="L792" rel="#L792">792</span>
1276<span id="L793" rel="#L793">793</span>
1277<span id="L794" rel="#L794">794</span>
1278<span id="L795" rel="#L795">795</span>
1279<span id="L796" rel="#L796">796</span>
1280<span id="L797" rel="#L797">797</span>
1281<span id="L798" rel="#L798">798</span>
1282<span id="L799" rel="#L799">799</span>
1283
1284            </td>
1285            <td class="blob-line-code">
1286                    <div class="highlight"><pre><div class='line' id='LC1'><span class="cm">/**</span></div><div class='line' id='LC2'><span class="cm"> * Uni-Form jQuery Plugin with Validation</span></div><div class='line' id='LC3'><span class="cm"> *</span></div><div class='line' id='LC4'><span class="cm"> * Provides form actions for use with the Uni-Form markup style</span></div><div class='line' id='LC5'><span class="cm"> * This version adds additional support for client side validation</span></div><div class='line' id='LC6'><span class="cm"> *</span></div><div class='line' id='LC7'><span class="cm"> * Author: Ilija Studen for the purposes of Uni-Form</span></div><div class='line' id='LC8'><span class="cm"> *</span></div><div class='line' id='LC9'><span class="cm"> * Modified by Aris Karageorgos to use the parents function</span></div><div class='line' id='LC10'><span class="cm"> *</span></div><div class='line' id='LC11'><span class="cm"> * Modified by Toni Karlheinz to support input fields&#39; text</span></div><div class='line' id='LC12'><span class="cm"> * coloring and removal of their initial values on focus</span></div><div class='line' id='LC13'><span class="cm"> *</span></div><div class='line' id='LC14'><span class="cm"> * Modified by Jason Brumwell for optimization, addition</span></div><div class='line' id='LC15'><span class="cm"> * of valid and invalid states and default data attribues</span></div><div class='line' id='LC16'><span class="cm"> *</span></div><div class='line' id='LC17'><span class="cm"> * Modified by LearningStation to add support for client</span></div><div class='line' id='LC18'><span class="cm"> * side validation routines. The validation routines based on an</span></div><div class='line' id='LC19'><span class="cm"> * open source library of unknown authorship.</span></div><div class='line' id='LC20'><span class="cm"> *</span></div><div class='line' id='LC21'><span class="cm"> * @see http://sprawsm.com/uni-form/</span></div><div class='line' id='LC22'><span class="cm"> * @license MIT http://www.opensource.org/licenses/mit-license.php</span></div><div class='line' id='LC23'><span class="cm"> */</span></div><div class='line' id='LC24'>&nbsp;<span class="cm">/*jslint devel: true, bitwise: true, browser: true, plusplus: true, maxerr: 50, indent: 4 */</span></div><div class='line' id='LC25'><span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">extended_settings</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC26'><br/></div><div class='line' id='LC27'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC28'><span class="cm">     * Self reference for closures</span></div><div class='line' id='LC29'><span class="cm">     *</span></div><div class='line' id='LC30'><span class="cm">     * @var object</span></div><div class='line' id='LC31'><span class="cm">     */</span></div><div class='line' id='LC32'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">
1286self</span> <span class="o">=</span> <span class="k">this</span><span class="p">;</span></div><div class='line' id='LC33'><br/></div><div class='line' id='LC34'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC35'><span class="cm">     * Errors of all fields by their names</span></div><div class='line' id='LC36'><span class="cm">     *</span></div><div class='line' id='LC37'><span class="cm">     * @var object</span></div><div class='line' id='LC38'><span class="cm">     */</span></div><div class='line' id='LC39'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">errors</span> <span class="o">=</span> <span class="p">{};</span></div><div class='line' id='LC40'><br/></div><div class='line' id='LC41'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC42'><span class="cm">     * Object extending the defaults object</span></div><div class='line' id='LC43'><span class="cm">     *</span></div><div class='line' id='LC44'><span class="cm">     * @var object</span></div><div class='line' id='LC45'><span class="cm">     */</span></div><div class='line' id='LC46'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">settings</span> <span class="o">=</span> <span class="nx">jQuery</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span></div><div class='line' id='LC47'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">defaults</span><span class="p">,</span></div><div class='line' id='LC48'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">extended_settings</span></div><div class='line' id='LC49'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">);</span></div><div class='line' id='LC50'><br/></div><div class='line' id='LC51'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC52'><span class="cm">     * Language abstration string</span></div><div class='line' id='LC53'><span class="cm">     *</span></div><div class='line' id='LC54'><span class="cm">     * to extend, use a script tag to include a file from the localization folder</span></div><div class='line' id='LC55'><span class="cm">     *</span></div><div class='line' id='LC56'><span class="cm">     * @var object</span></div><div class='line' id='LC57'><span class="cm">     */</span></div><div class='line' id='LC58'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">i18n_strings</span> <span class="o">=</span> <span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">language</span><span class="p">;</span></div><div class='line' id='LC59'><br/></div><div class='line' id='LC60'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC61'><span class="cm">     * Supported validators</span></div><div class='line' id='LC62'><span class="cm">     *</span></div><div class='line' id='LC63'><span class="cm">     * @var Object</span></div><div class='line' id='LC64'><span class="cm">     */</span></div><div class='line' id='LC65'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">this</span><span class="p">.</span><span class="nx">validators</span> <span class="o">=</span> <span class="p">{</span></div><div class='line' id='LC66'><br/></div><div class='line' id='LC67'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC68'><span class="cm">         * Get the value for a validator that takes parameters</span></div><div class='line' id='LC69'><span class="cm">         *</span></div><div class='line' id='LC70'><span class="cm">         * @param string name</span></div><div class='line' id='LC71'><span class="cm">         * @param string all classes on element</span></div><div class='line' id='LC72'><span class="cm">         *</span></div><div class='line' id='LC73'><span class="cm">         * @return mixed || null</span></div><div class='line' id='LC74'><span class="cm">         */</span></div><div class='line' id='LC75'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">get_val</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">
1286name</span><span class="p">,</span> <span class="nx">classes</span><span class="p">,</span> <span class="nx">default_value</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC76'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">value</span> <span class="o">=</span> <span class="nx">default_value</span><span class="p">;</span></div><div class='line' id='LC77'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">classes</span> <span class="o">=</span> <span class="nx">classes</span><span class="p">.</span><span class="nx">split</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">);</span></div><div class='line' id='LC78'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">classes</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">+=</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC79'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span> <span class="o">===</span> <span class="nx">name</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC80'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">((</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;undefined&#39;</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="s1">&#39;val-&#39;</span> <span class="o">===</span> <span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">].</span><span class="nx">substr</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">4</span><span class="p">)))</span> <span class="p">{</span></div><div class='line' id='LC81'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">value</span> <span class="o">=</span> <span class="nb">parseInt</span><span class="p">(</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">].</span><span class="nx">substr</span><span class="p">(</span><span class="mi">4</span><span class="p">),</span> <span class="mi">10</span><span class="p">);</span></div><div class='line' id='LC82'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">value</span><span class="p">;</span></div><div class='line' id='LC83'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC84'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC85'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC86'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">value</span><span class="p">;</span></div><div class='line' id='LC87'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC88'><br/></div><div class='line' id='LC89'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC90'><span class="cm">         * Value of field is not empty, whitespace will be counted as empty</span></div><div class='line' id='LC91'><span class="cm">         *</span></div><div class='line' id='LC92'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC93'><span class="cm">         * @param string caption</span></div><div class='line' id='LC94'><span class="cm">         */</span></div><div class='line' id='LC95'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">required</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC96'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">
1286name</span><span class="p">;</span></div><div class='line' id='LC97'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">is</span><span class="p">(</span><span class="s1">&#39;:radio&#39;</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC98'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">name</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;name&#39;</span><span class="p">);</span></div><div class='line' id='LC99'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="s2">&quot;input[name=&quot;</span> <span class="o">+</span> <span class="nx">name</span> <span class="o">+</span> <span class="s2">&quot;]:checked&quot;</span><span class="p">).</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC100'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC101'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC102'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;req_radio&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC103'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC104'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">is</span><span class="p">(</span><span class="s1">&#39;:checkbox&#39;</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC105'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">name</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;name&#39;</span><span class="p">);</span></div><div class='line' id='LC106'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">is</span><span class="p">(</span><span class="s2">&quot;:checked&quot;</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC107'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC108'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC109'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;req_checkbox&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC110'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC111'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">jQuery</span><span class="p">.</span><span class="nx">trim</span><span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">())</span> <span class="o">===</span> <span class="s1">&#39;&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC112'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;required&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC113'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC114'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC115'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC116'><br/></div><div class='line' id='LC117'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC118'><span class="cm">         * Value is shorter than allowed</span></div><div class='line' id='LC119'><span class="cm">         *</span></div><div class='line' id='LC120'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC121'><span class="cm">         * @param sting caption</span></div><div class='line' id='LC122'><span class="cm">         */</span></div><div class='line' id='LC123'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateMinLength</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC124'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">min_length</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get_val</span><span class="p">(</span><span class="s1">&#39;validateMinLength&#39;</span><span class="p">,</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;class&#39;</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span></div><div class='line' id='LC125'><br/></div><div class='line' id='LC126'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">((</span><span class="nx">min_length</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">length</span> <span class="o">&lt;</span> <span class="nx">min_length</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC127'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;minlength&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">,</span> <span class="nx">min_length</span><span class="p">);</span></div><div class='line' id='LC128'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC129'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC130'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC131'><br/></div><div class='line' id='LC132'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC133'><span class="cm">         * Value is less than min</span></div><div class='line' id='LC134'><span class="cm">         *</span></div><div class='line' id='LC135'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC136'><span class="cm">         * @param sting caption</span></div><div class='line' id='LC137'><span class="cm">         */</span></div><div class='line' id='LC138'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateMin</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC139'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">min_val</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get_val</span><span class="p">(</span><span class="s1">&#39;validateMin&#39;</span><span class="p">,</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;class&#39;</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span></div><div class='line' id='LC140'><br/></div><div class='line' id='LC141'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">((</span><span class="nb">parseInt</span><span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">(),</span> <span class="mi">10</span><span class="p">)</span> <span class="o">&lt;</span> <span class="nx">min_val</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC142'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;min&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">,</span> <span class="nx">min_val</span><span class="p">);</span></div><div class='line' id='LC143'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC144'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC145'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC146'><br/></div><div class='line' id='LC147'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC148'><span class="cm">         * Value is longer than allowed</span></div><div class='line' id='LC149'><span class="cm">         *</span></div><div class='line' id='LC150'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC151'><span class="cm">         * @param string caption</span></div><div class='line' id='LC152'><span class="cm">         */</span></div><div class='line' id='LC153'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateMaxLength</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC154'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">max_length</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get_val</span><span class="p">(</span><span class="s1">&#39;validateMaxLength&#39;</span><span class="p">,</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;class&#39;</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span></div><div class='line' id='LC155'><br/></div><div class='line' id='LC156'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">((</span><span class="nx">max_length</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">length</span> <span class="o">&gt;</span> <span class="nx">max_length</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC157'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;maxlength&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">,</span> <span class="nx">max_length</span><span class="p">);</span></div><div class='line' id='LC158'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC159'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC160'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC161'><br/></div><div class='line' id='LC162'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC163'><span class="cm">         * Value is greater than max</span></div><div class='line' id='LC164'><span class="cm">         *</span></div><div class='line' id='LC165'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC166'><span class="cm">         * @param sting caption</span></div><div class='line' id='LC167'><span class="cm">         */</span></div><div class='line' id='LC168'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateMax</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC169'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">max_val</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get_val</span><span class="p">(</span><span class="s1">&#39;validateMax&#39;</span><span class="p">,</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;class&#39;</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span></div><div class='line' id='LC170'><br/></div><div class='line' id='LC171'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">((</span><span class="nb">parseInt</span><span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">(),</span> <span class="mi">10</span><span class="p">)</span> <span class="o">&gt;</span> <span class="nx">max_val</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC172'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;max&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">,</span> <span class="nx">max_val</span><span clas
1286s="p">);</span></div><div class='line' id='LC173'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC174'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC175'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC176'><br/></div><div class='line' id='LC177'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC178'><span class="cm">         * Element has same value as that of the target Element</span></div><div class='line' id='LC179'><span class="cm">         *</span></div><div class='line' id='LC180'><span class="cm">         * This does not use the val-{name} format, and instead</span></div><div class='line' id='LC181'><span class="cm">         * is only the name of the element</span></div><div class='line' id='LC182'><span class="cm">         *</span></div><div class='line' id='LC183'><span class="cm">         * class=&quot;validateSameAs field_id&quot;</span></div><div class='line' id='LC184'><span class="cm">         *</span></div><div class='line' id='LC185'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC186'><span class="cm">         * @param string caption</span></div><div class='line' id='LC187'><span class="cm">         */</span></div><div class='line' id='LC188'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateSameAs</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC189'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">classes</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;class&#39;</span><span class="p">).</span><span class="nx">split</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">),</span></div><div class='line' id='LC190'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">target_field</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">,</span></div><div class='line' id='LC191'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">target_field_name</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">,</span></div><div class='line' id='LC192'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">target_field_caption</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span></div><div class='line' id='LC193'><br/></div><div class='line' id='LC194'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">classes</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">+=</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC195'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span> <span class="o">===</span> <span class="s1">&#39;validateSameAs&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC196'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;undefined&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC197'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">target_field_name</span> <span class="o">=</span> <span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">];
1286</span></div><div class='line' id='LC198'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">break</span><span class="p">;</span></div><div class='line' id='LC199'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC200'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC201'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC202'><br/></div><div class='line' id='LC203'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">target_field_name</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC204'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">form</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">parents</span><span class="p">(</span><span class="s1">&#39;form:first&#39;</span><span class="p">);</span></div><div class='line' id='LC205'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">target_field</span> <span class="o">=</span> <span class="nx">jQuery</span><span class="p">(</span><span class="s1">&#39;input[name=&quot;&#39;</span> <span class="o">+</span> <span class="nx">target_field_name</span> <span class="o">+</span> <span class="s1">&#39;&quot;]&#39;</span><span class="p">,</span> <span class="nx">form</span><span class="p">);</span></div><div class='line' id='LC206'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">target_field</span><span class="p">.</span><span class="nx">length</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC207'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">target_field</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">!=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">())</span> <span class="p">{</span></div><div class='line' id='LC208'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">target_field_caption</span> <span class="o">=</span> <span class="nx">get_label_text</span><span class="p">(</span><span class="nx">target_field</span><span class="p">);</span></div><div class='line' id='LC209'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;same_as&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">,</span> <span class="nx">target_field_caption</span><span class="p">);</span></div><div class='line' id='LC210'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC211'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC212'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC213'><br/></div><div class='line' id='LC214'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC215'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC216'><br/></div><div class='line' id='LC217'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC218'><span class="cm">         * Valid email address</span></div><div class='line' id='LC219'><span class="cm">         *</span></div><div class='line' id='LC220'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC221'><span class="cm">         * @param string caption</span></div><div class='line' id='LC222'><span class="cm">         */</span></div><div class='line' id='LC223'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateEmail</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC224'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC225'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC226'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span> <span class="k">else</span> <span class="p">{</span></div><div class='line' id='LC227'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;email&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC228'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC229'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC230'><br/></div><div class='line' id='LC231'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC232'><span class="cm">         * Valid URL (http://,https://,ftp://)</span></div><div class='line' id='LC233'><span class="cm">         *</span></div><div class='line' id='LC234'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC235'><span class="cm">         * @param string caption</span></div><div class='line' id='LC236'><span class="cm">         */</span></div><div class='line' id='LC237'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateUrl</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC238'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_\-]*)(\.[A-Z0-9][A-Z0-9_\-]*)+)(:(\d+))?\/?/i</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC239'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC240'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC241'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;url&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC242'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC243'><br/></div><div class='line' id='LC244'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC245'><span class="cm">         * Number is only valid value (integers and floats)</span></div><div class='line' id='LC246'><span class="cm">         *</span></div><div class='line' id='LC247'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC248'><span class="cm">         * @param string caption</span></div><div class='line' id='LC249'><span class="cm">         */</span></div><div class='line' id='LC250'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateNumber</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC251'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/</span><span class="p">)</span> <span class="o">||</span> <span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="s1">&#39;&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC252'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC253'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC254'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;number&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC255'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC256'><br/></div><div class='line' id='LC257'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC258'><span class="cm">         * Whole numbers are allowed</span></div><div class='line' id='LC259'><span class="cm">         *</span></div><div class='line' id='LC260'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC261'><span class="cm">         * @param string caption</span></div><div class='line' id='LC262'><span class="cm">         */</span></div><div class='line' id='LC263'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateInteger</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC264'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/(^-?\d\d*$)/</span><span class="p">)</span> <span class="o">||</span> <span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="s1">&#39;&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC265'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC266'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC267'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;integer&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC268'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC269'><br/></div><div class='line' id='LC270'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC271'><span class="cm">         * Letters only</span></div><div class='line' id='LC272'><span class="cm">         *</span></div><div class='line' id='LC273'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC274'><span class="cm">         * @param string caption</span></div><div class='line' id='LC275'><span class="cm">         */</span></div><div class='line' id='LC276'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateAlpha</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC277'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/^[a-zA-Z]+$/</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC278'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC279'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC280'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;alpha&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC281'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC282'><br/></div><div class='line' id='LC283'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC284'><span class="cm">         * Letters and numbers</span></div><div class='line' id='LC285'><span class="cm">         *</span></div><div class='line' id='LC286'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC287'><span class="cm">         * @param string caption</span></div><div class='line' id='LC288'><span class="cm">         */</span></div><div class='line' id='LC289'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateAlphaNum</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <spa
1286n class="p">{</span></div><div class='line' id='LC290'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/\W/</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC291'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;alphanum&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC292'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC293'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC294'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC295'><br/></div><div class='line' id='LC296'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC297'><span class="cm">         * Simple phrases</span></div><div class='line' id='LC298'><span class="cm">         *</span></div><div class='line' id='LC299'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC300'><span class="cm">         * @param string caption</span></div><div class='line' id='LC301'><span class="cm">         */</span></div><div class='line' id='LC302'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validatePhrase</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC303'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">((</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="s1">&#39;&#39;</span><span class="p">)</span> <span class="o">||</span> <span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/^[\w\d\.\-_\(\)\*&#39;# :,]+$/i</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC304'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC305'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC306'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;phrase&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC307'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC308'><br/></div><div class='line' id='LC309'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC310'><span class="cm">         * Phone number</span></div><div class='line' id='LC311'><span class="cm">         *</span></div><div class='line' id='LC312'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC313'><span class="cm">         * @param string caption</span></div><div class='line' id='LC314'><span class="cm">         */</span></div><div class='line' id='LC315'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validatePhone</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC316'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">phoneNumber</span> <span class="o">=</span> <span class="sr">/^\(?(\d{3})\)?[\- ]?(\d{3})[\- ]?(\d{4})$/</span><span class="p">;</span></div><div class='line' id='LC317'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">phoneNumber</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">()))</span> <span class="p">{</span></div><div class='line' id='LC318'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC319'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC320'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;phone&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC321'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC322'><br/></div><div class='line' id='LC323'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC324'><span class="cm">         * Date in MM/DD/YYYY format</span></div><div class='line' id='LC325'><span class="cm">         *</span></div><div class='line' id='LC326'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC327'><span class="cm">         * @param string caption</span></div><div class='line' id='LC328'><span class="cm">         */</span></div><div class='line' id='LC329'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateDate</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC330'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="s1">&#39;([0]?[1-9]|[1][0-2])/([0]?[1-9]|[1|2][0-9]|[3][0|1])/([0-9]{4}|[0-9]{2})$&#39;</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC331'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC332'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC333'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;date&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC334'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span></div><div class='line' id='LC335'><br/></div><div class='line' id='LC336'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC337'><span class="cm">         * Callback validator</span></div><div class='line' id='LC338'><span class="cm">         *</span></div><div class='line' id='LC339'><span class="cm">         * Lets you define your own validators. Usage:</span></div><div class='line' id='LC340'><span class="cm">         *</span></div><div class='line' id='LC341'><span class="cm">         * &lt;input name=&quot;myinput&quot; class=&quot;validateCallback my_callback&quot; /&gt;</span></div><div class='line' id='LC342'><span class="cm">         *</span></div><div class='line' id='LC343'><span class="cm">         * This will result in UniForm searching for window.my_callback funciton and</span></div><div class='line' id='LC344'><span class="cm">         * executing it with field and caption arguments. Sample implementation:</span></div><div class='line' id='LC345'><span class="cm">         *</span></div><div class='line' id='LC346'><span class="cm">         * window.my_callback = function (field, caption) {</span></div><div class='line' id='LC347'><span class="cm">         *   if (field.val() === &#39;34&#39;) {</span></div><div class='line' id='LC348'><span class="cm">         *     return true;</span></div><div class='line' id='LC349'><span class="cm">         *   } else {</span></div><div class='line' id='LC350'><span class="cm">         *     return caption + &#39; value should be &quot;34&quot;&#39;;</span></div><div class='line' id='LC351'><span class="cm">         *   }</span></div><div class='line' id='LC352'><span class="cm">         * }</span></div><div class='line' id='LC353'><span class="cm">         *</span></div><div class='line' id='LC354'><span class="cm">         * @param jQuery field</span></div><div class='line' id='LC355'><span class="cm">         * @param caption</span></div><div class='line' id='LC356'><span class="cm">         */</span></div><div class='line' id='LC357'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validateCallback</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC358'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">classes</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;class&#39;</span><span class="p">).</span><span class="nx">split</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">),</span></div><div class='line' id='LC359'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">callback_function</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span></div><div class='line' id='LC360'><br/></div><div class='line' id='LC361'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">classes</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">+=</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC362'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span> <span class="o">===</span> <span class="s1">&#39;validateCallback&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC363'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;undefined&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC364'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">callback_function</span> <span class="o">=</span> <span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">];
1286</span></div><div class='line' id='LC365'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">break</span><span class="p">;</span></div><div class='line' id='LC366'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC367'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC368'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC369'><br/></div><div class='line' id='LC370'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">[</span><span class="nx">callback_function</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">&#39;undefined&#39;</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="k">typeof</span> <span class="nb">window</span><span class="p">[</span><span class="nx">callback_function</span><span class="p">]</span> <span class="o">===</span> <span class="s1">&#39;function&#39;</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC371'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nb">window</span><span class="p">[</span><span class="nx">callback_function</span><span class="p">](</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC372'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC373'><br/></div><div class='line' id='LC374'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;callback&#39;</span><span class="p">,</span> <span class="nx">caption</span><span class="p">,</span> <span class="nx">callback_function</span><span class="p">);</span></div><div class='line' id='LC375'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC376'><br/></div><div class='line' id='LC377'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">};</span></div><div class='line' id='LC378'><br/></div><div class='line' id='LC379'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC380'><span class="cm">     * get the text of the label that belongs to the field</span></div><div class='line' id='LC381'><span class="cm">     * @param field jQ object, e.g. $(&quot;#email&quot;)</span></div><div class='line' id='LC382'><span class="cm">     */</span></div><div class='line' id='LC383'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">get_label_text</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC384'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">text</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">closest</span><span class="p">(</span><span class="s1">&#39;label&#39;</span><span class="p">).</span><span class="nx">text</span><span class="p">();</span></div><div class='line' id='LC385'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">text</span> <span class="o">===</span> <span class="s1">&#39;&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC386'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">text</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">closest</span><span class="p">(</span><span class="s1">&#39;div.&#39;</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">holder_class</span><span class="p">).</span><span class="nx">find</span><span class="p">(</span><span class="s1">&#39;label&#39;</span><span class="p">).</span><span class="nx">text</span><span class="p">();</span></div><div class='line' id='LC387'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC388'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">text</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="s1">&#39;*&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">).</span><span class="nx">replace</span><span class="p">(</span><span class="s1">&#39;:&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">);</span></div><div class='line' id='LC389'>
1286&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">};</span></div><div class='line' id='LC390'><br/></div><div class='line' id='LC391'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC392'><span class="cm">     * Simple replacement for i18n + sprintf</span></div><div class='line' id='LC393'><span class="cm">     *</span></div><div class='line' id='LC394'><span class="cm">     * @param string language for for the local i18n object</span></div><div class='line' id='LC395'><span class="cm">     * @param mixed substitution vars</span></div><div class='line' id='LC396'><span class="cm">     *</span></div><div class='line' id='LC397'><span class="cm">     * @return internationalized string</span></div><div class='line' id='LC398'><span class="cm">     */</span></div><div class='line' id='LC399'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">i18n</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">lang_key</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC400'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">lang_string</span> <span class="o">=</span> <span class="nx">i18n_strings</span><span class="p">[</span><span class="nx">lang_key</span><span class="p">],</span></div><div class='line' id='LC401'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">bits</span> <span class="o">=</span> <span class="nx">lang_string</span><span class="p">.</span><span class="nx">split</span><span class="p">(</span><span class="s1">&#39;%&#39;</span><span class="p">),</span></div><div class='line' id='LC402'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">out</span> <span class="o">=</span> <span class="nx">bits</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span></div><div class='line' id='LC403'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">re</span> <span class="o">=</span> <span class="sr">/^([ds])(.*)$/</span><span class="p">,</span></div><div class='line' id='LC404'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">p</span><span class="p">;</span></div><div class='line' id='LC405'><br/></div><div class='line' id='LC406'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">bits</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">+=</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC407'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">p</span> <span class="o">=</span> <span class="nx">re</span><span class="p">.</span><span class="nx">exec</span><span class="p">(</span><span class="nx">bits</span><span class="p">[</span><span class="nx">i</span><span class="p">]);</span></div><div class='line' id='LC408'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">p</span> <span class="o">||</span> <span class="nx">arguments</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span> <span class="o">===</span> <span class="kc">null</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC409'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">continue</span><span class="p">;</span></div><div class='line' id='LC410'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC411'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">p</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">===</span> <span class="s1">&#39;d&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC412'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">out</span> <span class="o">+=</span> <span class="nb">parseInt</span><span class="p">(</span><span class="nx">arguments</span><span class="p">[</span><span class="nx">i</span><span class="p">],</span> <span class="mi">10</span><span class="p">);</span></div><div class='line' id='LC413'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">p</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">===</span> <span class="s1">&#39;s&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC414'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">out</span> <span class="o">+=</span> <span class="nx">arguments</span><span class="p">[</span><span class="nx">i</span><span class="p">];
1286</span></div><div class='line' id='LC415'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC416'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">out</span> <span class="o">+=</span> <span class="nx">p</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span></div><div class='line' id='LC417'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC418'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">out</span><span class="p">;</span></div><div class='line' id='LC419'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">};</span></div><div class='line' id='LC420'><br/></div><div class='line' id='LC421'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC422'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">form</span> <span class="o">=</span> <span class="nx">jQuery</span><span class="p">(</span><span class="k">this</span><span class="p">);</span></div><div class='line' id='LC423'><br/></div><div class='line' id='LC424'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC425'><span class="cm">         * Set the results of form validation on the form element</span></div><div class='line' id='LC426'><span class="cm">         *</span></div><div class='line' id='LC427'><span class="cm">         * @param object $input jQuery form element</span></div><div class='line' id='LC428'><span class="cm">         * @param bool   valid  true if the form value passed all validation</span></div><div class='line' id='LC429'><span class="cm">         * @param string text   validation error message to display</span></div><div class='line' id='LC430'><span class="cm">         *</span></div><div class='line' id='LC431'><span class="cm">         * @return null</span></div><div class='line' id='LC432'><span class="cm">         */</span></div><div class='line' id='LC433'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">validate</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">$input</span><span class="p">,</span> <span class="nx">valid</span><span class="p">,</span> <span class="nx">text</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC434'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">$p</span> <span class="o">=</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">closest</span><span class="p">(</span><span class="s1">&#39;div.&#39;</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">holder_class</span><span class="p">)</span></div><div class='line' id='LC435'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">.</span><span class="nx">andSelf</span><span class="p">()</span></div><div class='line' id='LC436'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">.</span><span class="nx">toggleClass</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">invalid_class</span><span class="p">,</span> <span class="o">!</span><span class="nx">valid</span><span class="p">)</span></div><div class='line' id='LC437'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">.</span><span class="nx">toggleClass</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">error_class</span><span class="p">,</span> <span class="o">!</span><span class="nx">valid</span><span class="p">)</span></div><div class='line' id='LC438'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">.</span><span class="nx">toggleClass</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">valid_class</span><span class="p">,</span> <span class="nx">valid</span><span class="p">)</span></div><div class='line' id='LC439'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">&#39;p.formHint&#39;</span><span class="p">);</span></div><div class='line' id='LC440'><br/></div><div class='line' id='LC441'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// store this into the errors array, can be used by the custom callback</span></div><div class='line' id='LC442'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="o">!</span> <span class="nx">valid</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC443'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">errors</span><span class="p">[</span><span class="nx">
1286name</span><span class="p">]</span> <span class="o">=</span> <span class="nx">text</span><span class="p">;</span></div><div class='line' id='LC444'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC445'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">name</span> <span class="k">in</span> <span class="nx">errors</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC446'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">delete</span> <span class="nx">errors</span><span class="p">[</span><span class="nx">name</span><span class="p">];</span></div><div class='line' id='LC447'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC448'><br/></div><div class='line' id='LC449'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// if the validation failed we&#39;ll stash the p help text into the info-data</span></div><div class='line' id='LC450'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// and then put the error message in it&#39;s place.</span></div><div class='line' id='LC451'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="o">!</span> <span class="nx">valid</span> <span class="o">&amp;&amp;</span> <span class="o">!</span> <span class="nx">$p</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">&#39;info-text&#39;</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC452'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$p</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">&#39;info-text&#39;</span><span class="p">,</span> <span class="nx">$p</span><span class="p">.</span><span class="nx">html</span><span class="p">());</span></div><div class='line' id='LC453'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC454'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">valid</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC455'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">text</span> <span class="o">=</span> <span class="nx">$p</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">&#39;info-text&#39;</span><span class="p">);</span></div><div class='line' id='LC456'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC457'><br/></div><div class='line' id='LC458'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">text</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC459'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$p</span><span class="p">.</span><span class="nx">html</span><span class="p">(</span><span class="nx">text</span><span class="p">);</span></div><div class='line' id='LC460'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC461'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">};</span></div><div class='line' id='LC462'><br/></div><div class='line' id='LC463'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC464'><span class="cm">         * Select form fields and attach the higlighter functionality</span></div><div class='line' id='LC465'><span class="cm">         *</span></div><div class='line' id='LC466'><span class="cm">         */</span></div><div class='line' id='LC467'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">).</span><span class="nx">each</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC468'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">$input</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">),</span></div><div class='line' id='LC469'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">value</span> <span class="o">=</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">();</span></div><div class='line' id='LC470'><br/></div><div class='line' id='LC471'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">&#39;default-color&#39;</span><span class="p">,</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">css</span><span class="p">(</span><span class="s1">&#39;color&#39;</span><span class="p">));</span></div><div class='line' id='LC472'><br/></div><div class='line' id='LC473'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">value</span> <span class="o">===</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">&#39;default-value&#39;</span><span class="p">)</span> <span class="o">||</span> <span class="o">!</span> <span class="nx">value</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC474'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$input</span><span class="p">.</span><span class="nx">not</span><span class="p">(</span><span class="s1">&#39;select&#39;</span><span class="p">).</span><span class="nx">css</span><span class="p">(</span><span class="s2">&quot;color&quot;</span><span class="p">,</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">default_value_color</span><span class="p">);</span></div><div class='line' id='LC475'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// Issue 15, we use .attr() here because we want the string value</span></div><div class='line' id='LC476'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// and the .data() can type cast</span></div><div class='line' id='LC477'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">(</span><span class="nx">$input</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;data-default-value&#39;</span><span class="p">));</span></div><div class='line' id='LC478'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC479'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});
1286</span></div><div class='line' id='LC480'><br/></div><div class='line' id='LC481'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC482'><span class="cm">         * If we&#39;ve set ask_on_leave we&#39;ll register a handler here</span></div><div class='line' id='LC483'><span class="cm">         *</span></div><div class='line' id='LC484'><span class="cm">         * We need to serialize the form data, wait for a beforeunload,</span></div><div class='line' id='LC485'><span class="cm">         * then serialize and compare for changes</span></div><div class='line' id='LC486'><span class="cm">         *</span></div><div class='line' id='LC487'><span class="cm">         * If they changed things, and haven&#39;t submitted, we&#39;ll let them</span></div><div class='line' id='LC488'><span class="cm">         * know about it</span></div><div class='line' id='LC489'><span class="cm">         *</span></div><div class='line' id='LC490'><span class="cm">         * Note that you can turn on askOnLeave with either uniform.settings</span></div><div class='line' id='LC491'><span class="cm">         * or with a form class.</span></div><div class='line' id='LC492'><span class="cm">         *</span></div><div class='line' id='LC493'><span class="cm">         */</span></div><div class='line' id='LC494'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">ask_on_leave</span> <span class="o">||</span> <span class="nx">form</span><span class="p">.</span><span class="nx">hasClass</span><span class="p">(</span><span class="s1">&#39;askOnLeave&#39;</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC495'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">initial_values</span> <span class="o">=</span> <span class="nx">form</span><span class="p">.</span><span class="nx">serialize</span><span class="p">();</span></div><div class='line' id='LC496'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="nb">window</span><span class="p">).</span><span class="nx">bind</span><span class="p">(</span><span class="s2">&quot;beforeunload&quot;</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC497'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">((</span><span class="nx">initial_values</span> <span class="o">!=</span> <span class="nx">form</span><span class="p">.</span><span class="nx">serialize</span><span class="p">())</span></div><div class='line' id='LC498'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">&amp;&amp;</span> <span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">ask_on_leave</span> <span class="o">||</span> <span class="nx">form</span><span class="p">.</span><span class="nx">hasClass</span><span class="p">(</span><span class="s1">&#39;askOnLeave&#39;</span><span class="p">))</span></div><div class='line' id='LC499'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC500'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">isFunction</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">on_leave_callback</span><span class="p">))</span></div><div class='line' id='LC501'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">?</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">on_leave_callback</span><span class="p">(</span><span class="nx">form</span><span class="p">)</span></div><div class='line' id='LC502'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">:</span> <span class="nx">confirm</span><span class="p">(</span><span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;on_leave&#39;</span><span class="p">));</span></div><div class='line' id='LC503'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC504'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});
1286</span></div><div class='line' id='LC505'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC506'><br/></div><div class='line' id='LC507'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC508'><span class="cm">         * Handle the submission of the form</span></div><div class='line' id='LC509'><span class="cm">         *</span></div><div class='line' id='LC510'><span class="cm">         * Tasks</span></div><div class='line' id='LC511'><span class="cm">         *  * Remove any default values from the form</span></div><div class='line' id='LC512'><span class="cm">         *  * If prevent_submit is set true, return false if</span></div><div class='line' id='LC513'><span class="cm">         *    there are outstanding errors in the form</span></div><div class='line' id='LC514'><span class="cm">         *</span></div><div class='line' id='LC515'><span class="cm">         * Todo</span></div><div class='line' id='LC516'><span class="cm">         *  * it would be novel to use prevent_submit to disable</span></div><div class='line' id='LC517'><span class="cm">         *    the submit button in the blur handler</span></div><div class='line' id='LC518'><span class="cm">         *</span></div><div class='line' id='LC519'><span class="cm">         * @return bool</span></div><div class='line' id='LC520'><span class="cm">         */</span></div><div class='line' id='LC521'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">submit</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC522'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">return_val</span><span class="p">,</span></div><div class='line' id='LC523'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">callback_result</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC524'><br/></div><div class='line' id='LC525'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// in the case of a previously failed submit, we&#39;ll remove our marker</span></div><div class='line' id='LC526'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">removeClass</span><span class="p">(</span><span class="s1">&#39;failedSubmit&#39;</span><span class="p">);</span></div><div class='line' id='LC527'><br/></div><div class='line' id='LC528'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// prevent the ask_on_leave from firing</span></div><div class='line' id='LC529'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">settings</span><span class="p">.</span><span class="nx">ask_on_leave</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span></div><div class='line' id='LC530'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">removeClass</span><span class="p">(</span><span class="s1">&#39;askOnLeave&#39;</span><span class="p">);</span></div><div class='line' id='LC531'><br/></div><div class='line' id='LC532'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// remove the default values from the val() where they were being displayed</span></div><div class='line' id='LC533'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">).</span><span class="nx">each</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC534'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">).</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">).</span><span class="nx">data</span><span class="p">(</span><span class="s1">&#39;default-value&#39;</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC535'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">).</span><span class="nx">val</span><span class="p">(</span><span class="s1">&#39;&#39;</span><span class="p">);</span></div><div class='line' id='LC536'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC537'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});
1286</span></div><div class='line' id='LC538'><br/></div><div class='line' id='LC539'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// traverse and revalidate making sure that we haven&#39;t missed any fields</span></div><div class='line' id='LC540'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// perhaps if a field was filled in before uniform was initialized</span></div><div class='line' id='LC541'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// or if blur failed to fire correctly</span></div><div class='line' id='LC542'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// You can turn on prevent_submit with either a class or with the uniform.settings</span></div><div class='line' id='LC543'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">prevent_submit</span> <span class="o">||</span> <span class="nx">form</span><span class="p">.</span><span class="nx">hasClass</span><span class="p">(</span><span class="s1">&#39;preventSubmit&#39;</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC544'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// use blur to run the validators on each field</span></div><div class='line' id='LC545'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">).</span><span class="nx">each</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC546'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">).</span><span class="nx">blur</span><span class="p">();</span></div><div class='line' id='LC547'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});</span></div><div class='line' id='LC548'><br/></div><div class='line' id='LC549'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// if we have a submit callback, we&#39;ll give it a chance to inspect the data now</span></div><div class='line' id='LC550'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">isFunction</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">submit_callback</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC551'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">callback_result</span> <span class="o">=</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">submit_callback</span><span class="p">(</span><span class="nx">form</span><span class="p">);</span></div><div class='line' id='LC552'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC553'><br/></div><div class='line' id='LC554'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// if there are any error messages</span></div><div class='line' id='LC555'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">form</span></div><div class='line' id='LC556'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">invalid_class</span><span class="p">)</span></div><div class='line' id='LC557'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">error_class</span><span class="p">).</span><span class="nx">length</span></div><div class='line' id='LC558'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">||</span> <span class="o">!</span><span class="nx">callback_result</span></div><div class='line' id='LC559'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC560'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">return_val</span> <span class="o">=</span> <span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">isFunction</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">prevent_submit_callback</span><span class="p">))</span></div><div class='line' id='LC561'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">?</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">prevent_submit_callback</span><span class="p">(</span><span class="nx">form</span><span class="p">,</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;submit_msg&#39;</span><span class="p">),</span> <span class="p">[</span><span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;submit_help&#39;</span><span class="p">)])</span></div><div class='line' id='LC562'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">:</span> <span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">showFormError</span><span class="p">(</span><span class="nx">form</span><span class="p">,</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;submit_msg&#39;</span><span class="p">),</span> <span class="p">[</span><span class="nx">i18n</span><span class="p">(</span><span class="s1">&#39;submit_help&#39;</span><span class="p">)]);</span></div><div class='line' id='LC563'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span> <span class="c1">// end form error counting</span></div><div class='line' id='LC564'><br/></div><div class='line' id='LC565'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span> <span class="c1">// end preventSubmit</span></div><div class='line' id='LC566'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">else</span> <span class="p">{</span></div><div class='line' id='LC567'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// We aren&#39;t preventing the submission when there are errors, so this function must</span></div><div class='line' id='LC568'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// return true and allow the form to submit.</span></div><div class='line' id='LC569'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">return_val</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC570'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC571'><br/></div><div class='line' id='LC572'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// qUnit needs to run this submit function, and still prevent the submit.</span></div><div class='line' id='LC573'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// This isn&#39;t ideal, but it prevents us from having to trap events</span></div><div class='line' id='LC574'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">form</span><span class="p">.</span><span class="nx">parents</span><span class="p">(</span><span class="s1">&#39;#qunit-fixture&#39;</span><span class="p">).</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC575'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">return_val</span> <span class="o">=</span> <span class="kc">
1286false</span><span class="p">;</span></div><div class='line' id='LC576'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC577'><br/></div><div class='line' id='LC578'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">return_val</span> <span class="o">===</span> <span class="kc">false</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC579'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">addClass</span><span class="p">(</span><span class="s1">&#39;failedSubmit&#39;</span><span class="p">);</span></div><div class='line' id='LC580'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC581'><br/></div><div class='line' id='LC582'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="nx">return_val</span><span class="p">;</span></div><div class='line' id='LC583'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});</span></div><div class='line' id='LC584'><br/></div><div class='line' id='LC585'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC586'><span class="cm">         * Set the form focus class</span></div><div class='line' id='LC587'><span class="cm">         *</span></div><div class='line' id='LC588'><span class="cm">         * Remove any classes other than the focus class and hide the default label text</span></div><div class='line' id='LC589'><span class="cm">         *</span></div><div class='line' id='LC590'><span class="cm">         */</span></div><div class='line' id='LC591'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">delegate</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">,</span> <span class="s1">&#39;focus&#39;</span><span class="p">,</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC592'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">focused_class</span><span class="p">).</span><span class="nx">removeClass</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">focused_class</span><span class="p">);</span></div><div class='line' id='LC593'><br/></div><div class='line' id='LC594'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">$input</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">);</span></div><div class='line' id='LC595'><br/></div><div class='line' id='LC596'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$input</span><span class="p">.</span><span class="nx">parents</span><span class="p">().</span><span class="nx">filter</span><span class="p">(</span><span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">holder_class</span> <span class="o">+</span> <span class="s1">&#39;:first&#39;</span><span class="p">)</span></div><div class='line' id='LC597'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">.</span><span class="nx">addClass</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">focused_class</span><span class="p">);</span></div><div class='line' id='LC598'><br/></div><div class='line' id='LC599'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">&#39;default-value&#39;</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC600'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">(</span><span class="s1">&#39;&#39;</span><span class="p">);</span></div><div class='line' id='LC601'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC602'><br/></div><div class='line' id='LC603'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$input</span><span class="p">.</span><span class="nx">not</span><span class="p">(</span><span class="s1">&#39;select&#39;</span><span class="p">).</span><span class="nx">css</span><span class="p">(</span><span class="s1">&#39;color&#39;</span><span class="p">,</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">&#39;default-color&#39;</span><span class="p">));</span></div><div class='line' id='LC604'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});
1286</span></div><div class='line' id='LC605'><br/></div><div class='line' id='LC606'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC607'><span class="cm">         * Validate a form field on the blur event</span></div><div class='line' id='LC608'><span class="cm">         *</span></div><div class='line' id='LC609'><span class="cm">         * Search the classnames on the element for the names of</span></div><div class='line' id='LC610'><span class="cm">         * validators, and run them as we find them</span></div><div class='line' id='LC611'><span class="cm">         *</span></div><div class='line' id='LC612'><span class="cm">         * If the validators fail, we trigger either &#39;success&#39; or &#39;error&#39; events</span></div><div class='line' id='LC613'><span class="cm">         *</span></div><div class='line' id='LC614'><span class="cm">         */</span></div><div class='line' id='LC615'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">delegate</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">,</span> <span class="s1">&#39;blur&#39;</span><span class="p">,</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC616'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">$input</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">),</span></div><div class='line' id='LC617'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">has_validation</span> <span class="o">=</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC618'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validator</span><span class="p">,</span></div><div class='line' id='LC619'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">label</span> <span class="o">=</span> <span class="nx">get_label_text</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">));</span></div><div class='line' id='LC620'><br/></div><div class='line' id='LC621'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// remove focus from form element</span></div><div class='line' id='LC622'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">focused_class</span><span class="p">).</span><span class="nx">removeClass</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">focused_class</span><span class="p">);</span></div><div class='line' id='LC623'><br/></div><div class='line' id='LC624'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// (if empty or equal to default value) AND not required</span></div><div class='line' id='LC625'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">((</span><span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="s2">&quot;&quot;</span> <span class="o">||</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">&#39;default-value&#39;</span><span class="p">))</span></div><div class='line' id='LC626'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">$input</span><span class="p">.</span><span class="nx">hasClass</span><span class="p">(</span><span class="s1">&#39;required&#39;</span><span class="p">)</span></div><div class='line' id='LC627'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC628'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$input</span><span class="p">.</span><span class="nx">not</span><span class="p">(</span><span class="s1">&#39;select&#39;</span><span class="p">).</span><span class="nx">css</span><span class="p">(</span><span class="s2">&quot;color&quot;</span><span class="p">,</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">default_value_color</span><span class="p">);</span></div><div class='line' id='LC629'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">(</span><span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">&#39;default-value&#39;</span><span class="p">));</span></div><div class='line' id='LC630'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span><span class="p">;</span></div><div class='line' id='LC631'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC632'><br/></div><div class='line' id='LC633'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// run the validation and if they all pass, we mark the color and move on</span></div><div class='line' id='LC634'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">for</span> <span class="p">(</span><span class="nx">validator</span> <span class="k">in</span> <span class="nx">
1286self</span><span class="p">.</span><span class="nx">validators</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC635'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">$input</span><span class="p">.</span><span class="nx">hasClass</span><span class="p">(</span><span class="nx">validator</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC636'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">has_validation</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC637'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">validation_result</span> <span class="o">=</span> <span class="nx">self</span><span class="p">.</span><span class="nx">validators</span><span class="p">[</span><span class="nx">validator</span><span class="p">](</span><span class="nx">$input</span><span class="p">,</span> <span class="nx">label</span><span class="p">);</span></div><div class='line' id='LC638'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="k">typeof</span><span class="p">(</span><span class="nx">validation_result</span><span class="p">)</span> <span class="o">===</span> <span class="s1">&#39;string&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC639'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$input</span><span class="p">.</span><span class="nx">trigger</span><span class="p">(</span><span class="s1">&#39;error&#39;</span><span class="p">,</span> <span class="nx">validation_result</span><span class="p">);</span></div><div class='line' id='LC640'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span><span class="p">;</span></div><div class='line' id='LC641'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC642'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC643'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC644'><br/></div><div class='line' id='LC645'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// if it had validation and we didn&#39;t return above,</span></div><div class='line' id='LC646'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// then all validation passed</span></div><div class='line' id='LC647'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">has_validation</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC648'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$input</span><span class="p">.</span><span class="nx">trigger</span><span class="p">(</span><span class="s1">&#39;success&#39;</span><span class="p">);</span></div><div class='line' id='LC649'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC650'><br/></div><div class='line' id='LC651'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// return the color to the default</span></div>
1286<div class='line' id='LC652'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$input</span><span class="p">.</span><span class="nx">css</span><span class="p">(</span><span class="s1">&#39;color&#39;</span><span class="p">,</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">&#39;default-color&#39;</span><span class="p">));</span></div><div class='line' id='LC653'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span><span class="p">;</span></div><div class='line' id='LC654'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});</span></div><div class='line' id='LC655'><br/></div><div class='line' id='LC656'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC657'><span class="cm">         * Handle a validation error in the form element</span></div><div class='line' id='LC658'><span class="cm">         *</span></div><div class='line' id='LC659'><span class="cm">         * This will set the field to have the error marker</span></div><div class='line' id='LC660'><span class="cm">         * and update the warning text</span></div><div class='line' id='LC661'><span class="cm">         *</span></div><div class='line' id='LC662'><span class="cm">         * @param event  e</span></div><div class='line' id='LC663'><span class="cm">         * @param string validation message</span></div><div class='line' id='LC664'><span class="cm">         */</span></div><div class='line' id='LC665'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">delegate</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">,</span> <span class="s1">&#39;error&#39;</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">e</span><span class="p">,</span> <span class="nx">text</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC666'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validate</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">),</span> <span class="kc">false</span><span class="p">,</span> <span class="nx">text</span><span class="p">);</span></div><div class='line' id='LC667'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});</span></div><div class='line' id='LC668'><br/></div><div class='line' id='LC669'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="cm">/**</span></div><div class='line' id='LC670'><span class="cm">         * Handle a succesful validation in the form element</span></div><div class='line' id='LC671'><span class="cm">         *</span></div><div class='line' id='LC672'><span class="cm">         * Remove any error messages and set the validation</span></div><div class='line' id='LC673'><span class="cm">         * marker to be success</span></div><div class='line' id='LC674'><span class="cm">         *</span></div><div class='line' id='LC675'><span class="cm">         * @param event  e</span></div><div class='line' id='LC676'><span class="cm">         * @param string unused</span></div><div class='line' id='LC677'><span class="cm">         */</span></div><div class='line' id='LC678'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">delegate</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">,</span> <span class="s1">&#39;success&#39;</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">e</span><span class="p">,</span> <span class="nx">text</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC679'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">validate</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">),</span> <span class="kc">true</span><span class="p">);</span></div><div class='line' id='LC680'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});
1286</span></div><div class='line' id='LC681'><br/></div><div class='line' id='LC682'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// Issue 9: HTML5 autofocus elements</span></div><div class='line' id='LC683'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// When the browser focuses, it happens before Uni-Form, and so we need</span></div><div class='line' id='LC684'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// the manually run the focus event here to deal with style changes</span></div><div class='line' id='LC685'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="c1">// and any handling of the default data</span></div><div class='line' id='LC686'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;input[autofocus]:first&#39;</span><span class="p">).</span><span class="nx">focus</span><span class="p">();</span></div><div class='line' id='LC687'><br/></div><div class='line' id='LC688'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">});</span> <span class="c1">// end for each form</span></div><div class='line' id='LC689'><span class="p">};</span></div><div class='line' id='LC690'><br/></div><div class='line' id='LC691'><span class="cm">/**</span></div><div class='line' id='LC692'><span class="cm"> * Uni-Form form validation error</span></div><div class='line' id='LC693'><span class="cm"> *</span></div><div class='line' id='LC694'><span class="cm"> * @param object jQuery form element</span></div><div class='line' id='LC695'><span class="cm"> * @param string title of the form error</span></div><div class='line' id='LC696'><span class="cm"> * @param array  list of error messages to show</span></div><div class='line' id='LC697'><span class="cm"> *</span></div><div class='line' id='LC698'><span class="cm"> * @return false</span></div><div class='line' id='LC699'><span class="cm"> */</span></div><div class='line' id='LC700'><span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">showFormError</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">form</span><span class="p">,</span> <span class="nx">title</span><span class="p">,</span> <span class="nx">messages</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC701'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">m</span><span class="p">,</span> <span class="nx">$message</span><span class="p">;</span></div><div class='line' id='LC702'><br/></div><div class='line' id='LC703'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#errorMsg&#39;</span><span class="p">).</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC704'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#errorMsg&#39;</span><span class="p">).</span><span class="nx">remove</span><span class="p">();</span></div><div class='line' id='LC705'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC706'><br/></div><div class='line' id='LC707'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$message</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;&lt;div /&gt;&#39;</span><span class="p">)</span></div><div class='line' id='LC708'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;id&#39;</span><span class="p">,</span> <span class="s1">&#39;errorMsg&#39;</span><span class="p">)</span></div><div class='line' id='LC709'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">.</span><span class="nx">html</span><span class="p">(</span><span class="s2">&quot;&lt;h3&gt;&quot;</span> <span class="o">+</span> <span class="nx">title</span> <span class="o">+</span> <span class="s2">&quot;&lt;/h3&gt;&quot;</span><span class="p">);</span></div><div class='line' id='LC710'><br/></div><div class='line' id='LC711'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">messages</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC712'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$message</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="s1">&#39;&lt;ol /&gt;&#39;</span><span class="p">));</span></div><div class='line' id='LC713'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">for</span> <span class="p">(</span><span class="nx">m</span> <span class="k">in</span> <span class="nx">messages</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC714'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;ol&#39;</span><span class="p">,</span> <span class="nx">$message</span><span class="p">).</span><span class="nx">append</span><span class="p">(</span></div><div class='line' id='LC715'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;&lt;li /&gt;&#39;</span><span class="p">).</span><span class="nx">text</span><span class="p">(</span><span class="nx">messages</span><span class="p">[</span><span class="nx">m</span><span class="p">])</span></div><div class='line' id='LC716'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">);</span></div><div class='line' id='LC717'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC718'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC719'><br/></div><div class='line' id='LC720'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">prepend</span><span class="p">(</span><span class="nx">$message</span><span class="p">);</span></div><div class='line' id='LC721'><br/></div><div class='line' id='LC722'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;html, body&#39;</span><span class="p">).</span><span class="nx">animate</span><span class="p">({</span></div><div class='line' id='LC723'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">scrollTop</span><span class="o">:</span> <span class="nx">form</span><span class="p">.</span><span class="nx">offset</span><span class="p">().</span><span class="nx">top</span></div><div class='line' id='LC724'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span> <span class="mi">500</span><span class="p">);</span></div><div class='line' id='LC725'><br/></div><div class='line' id='LC726'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#errorMsg&#39;</span><span class="p">).</span><span class="nx">slideDown</span><span class="p">();</span></div><div class='line' id='LC727'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">
1286false</span><span class="p">;</span></div><div class='line' id='LC728'><span class="p">};</span></div><div class='line' id='LC729'><br/></div><div class='line' id='LC730'><span class="cm">/**</span></div><div class='line' id='LC731'><span class="cm"> * Uni-Form form success message</span></div><div class='line' id='LC732'><span class="cm"> *</span></div><div class='line' id='LC733'><span class="cm"> * @param object jQuery form element</span></div><div class='line' id='LC734'><span class="cm"> * @param string title of the success message</span></div><div class='line' id='LC735'><span class="cm"> *</span></div><div class='line' id='LC736'><span class="cm"> * @return false</span></div><div class='line' id='LC737'><span class="cm"> */</span></div><div class='line' id='LC738'><span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">showFormSuccess</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">form</span><span class="p">,</span> <span class="nx">title</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC739'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="kd">var</span> <span class="nx">$message</span><span class="p">;</span></div><div class='line' id='LC740'><br/></div><div class='line' id='LC741'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#okMsg&#39;</span><span class="p">).</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC742'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#okMsg&#39;</span><span class="p">).</span><span class="nx">remove</span><span class="p">();</span></div><div class='line' id='LC743'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">}</span></div><div class='line' id='LC744'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$message</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;&lt;div /&gt;&#39;</span><span class="p">)</span></div><div class='line' id='LC745'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;id&#39;</span><span class="p">,</span> <span class="s1">&#39;okMsg&#39;</span><span class="p">)</span></div><div class='line' id='LC746'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">.</span><span class="nx">html</span><span class="p">(</span><span class="s2">&quot;&lt;h3&gt;&quot;</span> <span class="o">+</span> <span class="nx">title</span> <span class="o">+</span> <span class="s2">&quot;&lt;/h3&gt;&quot;</span><span class="p">);</span></div><div class='line' id='LC747'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">form</span><span class="p">.</span><span class="nx">prepend</span><span class="p">(</span><span class="nx">$message</span><span class="p">);</span></div><div class='line' id='LC748'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;html, body&#39;</span><span class="p">).</span><span class="nx">animate</span><span class="p">({</span></div><div class='line' id='LC749'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">scrollTop</span><span class="o">:</span> <span class="nx">form</span><span class="p">.</span><span class="nx">offset</span><span class="p">().</span><span class="nx">top</span></div><div class='line' id='LC750'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="p">},</span> <span class="mi">500</span><span class="p">);</span></div><div class='line' id='LC751'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;#okMsg&#39;</span><span class="p">).</span><span class="nx">slideDown</span><span class="p">();</span></div><div class='line' id='LC752'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">return</span> <span class="kc">
1286false</span><span class="p">;</span></div><div class='line' id='LC753'><span class="p">};</span></div><div class='line' id='LC754'><br/></div><div class='line' id='LC755'><span class="cm">/**</span></div><div class='line' id='LC756'><span class="cm"> * Internationalized language strings for validation messages</span></div><div class='line' id='LC757'><span class="cm"> */</span></div><div class='line' id='LC758'><span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">language</span> <span class="o">=</span> <span class="p">{</span></div><div class='line' id='LC759'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">required</span>      <span class="o">:</span> <span class="s1">&#39;%s is required&#39;</span><span class="p">,</span></div><div class='line' id='LC760'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">req_radio</span>     <span class="o">:</span> <span class="s1">&#39;Please make a selection&#39;</span><span class="p">,</span></div><div class='line' id='LC761'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">req_checkbox</span>  <span class="o">:</span> <span class="s1">&#39;You must select this checkbox to continue&#39;</span><span class="p">,</span></div><div class='line' id='LC762'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">minlength</span>     <span class="o">:</span> <span class="s1">&#39;%s should be at least %d characters long&#39;</span><span class="p">,</span></div><div class='line' id='LC763'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">min</span>           <span class="o">:</span> <span class="s1">&#39;%s should be greater than or equal to %d&#39;</span><span class="p">,</span></div><div class='line' id='LC764'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">maxlength</span>     <span class="o">:</span> <span class="s1">&#39;%s should not be longer than %d characters&#39;</span><span class="p">,</span></div><div class='line' id='LC765'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">max</span>           <span class="o">:</span> <span class="s1">&#39;%s should be less than or equal to %d&#39;</span><span class="p">,</span></div><div class='line' id='LC766'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">same_as</span>       <span class="o">:</span> <span class="s1">&#39;%s is expected to be same as %s&#39;</span><span class="p">,</span></div><div class='line' id='LC767'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">email</span>         <span class="o">:</span> <span class="s1">&#39;%s is not a valid email address&#39;</span><span class="p">,</span></div><div class='line' id='LC768'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">
1286url</span>           <span class="o">:</span> <span class="s1">&#39;%s is not a valid URL&#39;</span><span class="p">,</span></div><div class='line' id='LC769'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">number</span>        <span class="o">:</span> <span class="s1">&#39;%s needs to be a number&#39;</span><span class="p">,</span></div><div class='line' id='LC770'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">integer</span>       <span class="o">:</span> <span class="s1">&#39;%s needs to be a whole number&#39;</span><span class="p">,</span></div><div class='line' id='LC771'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">alpha</span>         <span class="o">:</span> <span class="s1">&#39;%s should contain only letters (without special characters or numbers)&#39;</span><span class="p">,</span></div><div class='line' id='LC772'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">alphanum</span>      <span class="o">:</span> <span class="s1">&#39;%s should contain only numbers and letters (without special characters)&#39;</span><span class="p">,</span></div><div class='line' id='LC773'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">phrase</span>        <span class="o">:</span> <span class="s1">&#39;%s should contain only alphabetic characters, numbers, spaces, and the following: . , - _ () * # :&#39;</span><span class="p">,</span></div><div class='line' id='LC774'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">phone</span>         <span class="o">:</span> <span class="s1">&#39;%s should be a phone number&#39;</span><span class="p">,</span></div><div class='line' id='LC775'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">date</span>          <span class="o">:</span> <span class="s1">&#39;%s should be a date (mm/dd/yyyy)&#39;</span><span class="p">,</span></div><div class='line' id='LC776'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">callback</span>      <span class="o">:</span> <span class="s1">&#39;Failed to validate %s field. Validator function (%s) is not defined!&#39;</span><span class="p">,</span></div><div class='line' id='LC777'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">on_leave</span>      <span class="o">:</span> <span class="s1">&#39;Are you sure you want to leave this page without saving this form?&#39;</span><span class="p">,</span></div><div class='line' id='LC778'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">submit_msg</span>    <span class="o">:</span> <span class="s1">&#39;Sorry, this form needs corrections.&#39;</span><span class="p">,</span></div><div class='line' id='LC779'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">submit_help</span>   <span class="o">:</span> <span class="s1">&#39;Please see the items marked below.&#39;</span><span class="p">,</span></div><div class='line' id='LC780'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">submit_success</span><span class="o">:</span> <span class="s1">&#39;Thank you, this form has been sent.&#39;</span></div><div class='line' id='LC781'><span class="p">};</span></div><div class='line' id='LC782'><br/></div><div class='line' id='LC783'><span class="cm">/**</span></div><div class='line' id='LC784'><span class="cm"> * See the validation.md file for more information about these options</span></div><div class='line' id='LC785'><span class="cm"> */</span></div><div class='line' id='LC786'><span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">defaults</span> <span class="o">=</span> <span class="p">{</span></div><div class='line' id='LC787'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">submit_callback</span>         <span class="o">:</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC788'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">prevent_submit</span>          <span class="o">:</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC789'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">prevent_submit_callback</span> <span class="o">:</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC790'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">ask_on_leave</span>
1286            <span class="o">:</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC791'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">on_leave_callback</span>       <span class="o">:</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC792'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">valid_class</span>             <span class="o">:</span> <span class="s1">&#39;valid&#39;</span><span class="p">,</span></div><div class='line' id='LC793'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">invalid_class</span>           <span class="o">:</span> <span class="s1">&#39;invalid&#39;</span><span class="p">,</span></div><div class='line' id='LC794'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">error_class</span>             <span class="o">:</span> <span class="s1">&#39;error&#39;</span><span class="p">,</span></div><div class='line' id='LC795'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">focused_class</span>           <span class="o">:</span> <span class="s1">&#39;focused&#39;</span><span class="p">,</span></div><div class='line' id='LC796'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">holder_class</span>            <span class="o">:</span> <span class="s1">&#39;ctrlHolder&#39;</span><span class="p">,</span></div><div class='line' id='LC797'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">field_selector</span>          <span class="o">:</span> <span class="s1">&#39;input, textarea, select&#39;</span><span class="p">,</span></div><div class='line' id='LC798'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="nx">default_value_color</span>     <span class="o">:</span> <span class="s2">&quot;#AFAFAF&quot;</span></div><div class='line' id='LC799'><span class="p">};</span></div></pre></div>
1287            </td>
1288          </tr>
1289        </table>
1290  </div>
1291
1292  </div>
1293</div>
1294
1295<a href="#jump-to-line" rel="facebox[.linejump]" data-hotkey="l" class="js-jump-to-line" style="display:none">Jump to Line</a>
1296<div id="jump-to-line" style="display:none">
1297  <form accept-charset="UTF-8" class="js-jump-to-line-form">
1298    <input class="linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" autofocus>
1299    <button type="submit" class="button">Go</button>
1300  </form>
1301</div>
1302
1303        </div>
1304
1305      </div><!-- /.repo-container -->
1306      <div class="modal-backdrop"></div>
1307    </div><!-- /.container -->
1308  </div><!-- /.site -->
1309
1310
1311    </div><!-- /.wrapper -->
1312
1313      <div class="container">
1314  <div class="site-footer">
1315    <ul class="site-footer-links right">
1316      <li><a href="https://status.github.com/">Status</a></li>
1317      <li><a href="http://developer.github.com">API</a></li>
1318      <li><a href="http://training.github.com">Training</a></li>
1319      <li><a href="http://shop.github.com">Shop</a></li>
1320      <li><a href="/blog">Blog</a></li>
1321      <li><a href="/about">About</a></li>
1322
1323    </ul>
1324
1325    <a href="/">
1326      <span class="mega-octicon octicon-mark-github"></span>
1327    </a>
1328
1329    <ul class="site-footer-links">
1330      <li>&copy; 2013 <span title="0.02366s from github-fe119-cp1-prd.iad.github.net">GitHub</span>, Inc.</li>
1331        <li><a href="/site/terms">Terms</a></li>
1332        <li><a href="/site/privacy">Privacy</a></li>
1333        <li><a href="/security">Security</a></li>
1334        <li><a href="/contact">Contact</a></li>
1335    </ul>
1336  </div><!-- /.site-footer -->
1337</div><!-- /.container -->
1338
1339
1340    <div class="fullscreen-overlay js-fullscreen-overlay" id="fullscreen_overlay">
1341  <div class="fullscreen-container js-fullscreen-container">
1342    <div class="textarea-wrap">
1343      <textarea name="fullscreen-contents" id="fullscreen-contents" class="js-fullscreen-contents" placeholder="" data-suggester
1343="fullscreen_suggester"></textarea>
1344          <div class="suggester-container">
1345              <div class="suggester fullscreen-suggester js-navigation-container" id="fullscreen_suggester"
1346                 data-url="/draganbabic/uni-form/suggestions/commit">
1347              </div>
1348          </div>
1349    </div>
1350  </div>
1351  <div class="fullscreen-sidebar">
1352    <a href="#" class="exit-fullscreen js-exit-fullscreen tooltipped leftwards" title="Exit Zen Mode">
1353      <span class="mega-octicon octicon-screen-normal"></span>
1354    </a>
1355    <a href="#" class="theme-switcher js-theme-switcher tooltipped leftwards"
1356      title="Switch themes">
1357      <span class="octicon octicon-color-mode"></span>
1358    </a>
1359  </div>
1360</div>
1361
1362
1363
1364    <div id="ajax-error-message" class="flash flash-error">
1365      <span class="octicon octicon-alert"></span>
1366      <a href="#" class="octicon octicon-remove-close close ajax-error-dismiss"></a>
1367      Something went wrong with that request. Please try again.
1368    </div>
1369
1370  </body>
1371</html>
1372

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.