<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="chrome=1">
        <title>jquery.form.js at master from malsup's form - GitHub</title>
    <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" />
    <link rel="fluid-icon" href="http://github.com/fluidicon.png" title="GitHub" />

    <link href="http://assets2.github.com/stylesheets/bundle_common.css?e1c61fb9034e560d94f0c02278daa00534654de0" media="screen" rel="stylesheet" type="text/css" />
<link href="http://assets1.github.com/stylesheets/bundle_github.css?e1c61fb9034e560d94f0c02278daa00534654de0" media="screen" rel="stylesheet" type="text/css" />

    <script type="text/javascript" charset="utf-8">
      var GitHub = {}
      var github_user = null
      
    </script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
    <script src="http://assets0.github.com/javascripts/bundle_common.js?e1c61fb9034e560d94f0c02278daa00534654de0" type="text/javascript"></script>
<script src="http://assets1.github.com/javascripts/bundle_github.js?e1c61fb9034e560d94f0c02278daa00534654de0" type="text/javascript"></script>

        <script type="text/javascript" charset="utf-8">
      GitHub.spy({
        repo: "malsup/form"
      })
    </script>

    
  
    
  

  <link href="http://github.com/malsup/form/commits/master.atom" rel="alternate" title="Recent Commits to form:master" type="application/atom+xml" />

        <meta name="description" content="jQuery Form Plugin" />
    <script type="text/javascript">
      GitHub.nameWithOwner = GitHub.nameWithOwner || "malsup/form";
      GitHub.currentRef = "master";
    </script>
  

            <script type="text/javascript">
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-3769691-2']);
      _gaq.push(['_trackPageview']);
      (function() {
        var ga = document.createElement('script');
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        ga.setAttribute('async', 'true');
        document.documentElement.firstChild.appendChild(ga);
      })();
    </script>

  </head>

  

  <body>
    

    
      <script type="text/javascript">
        var _kmq = _kmq || [];
        (function(){function _kms(u,d){if(navigator.appName.indexOf("Microsoft")==0 && d)document.write("<scr"+"ipt defer='defer' async='true' src='"+u+"'></scr"+"ipt>");else{var s=document.createElement('script');s.type='text/javascript';s.async=true;s.src=u;(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s);}}_kms('https://i.kissmetrics.com/i.js');_kms('http'+('https:'==document.location.protocol ? 's://s3.amazonaws.com/' : '://')+'scripts.kissmetrics.com/406e8bf3a2b8846ead55afb3cfaf6664523e3a54.1.js',1);})();
      </script>
    

    

    

    <div class="subnavd" id="main">
      <div id="header" class="pageheaded">
        <div class="site">
          <div class="logo">
            <a href="http://github.com"><img src="/images/modules/header/logov3.png" alt="github" /></a>
          </div>
          
          <div class="topsearch">
  
    <form action="/search" id="top_search_form" method="get">
      <a href="/search" class="advanced-search tooltipped downwards" title="Advanced Search">Advanced Search</a>
      <input type="search" class="search my_repos_autocompleter" name="q" results="5" placeholder="Search&hellip;" /> <input type="submit" value="Search" class="button" />
      <input type="hidden" name="type" value="Everything" />
      <input type="hidden" name="repo" value="" />
      <input type="hidden" name="langOverride" value="" />
      <input type="hidden" name="start_value" value="1" />
    </form>
  
  
    <ul class="nav logged_out">
      
        <li><a href="http://github.com">Home</a></li>
        <li class="pricing"><a href="/plans">Pricing and Signup</a></li>
        <li><a href="http://github.com/explore">Explore GitHub</a></li>
        
        <li><a href="/blog">Blog</a></li>
      
      <li><a href="https://github.com/login">Login</a></li>
    </ul>
  
</div>

        </div>
      </div>

      
      
        
    <div class="site">
      <div class="pagehead repohead vis-public   ">
        <h1>
          <a href="/malsup">malsup</a> / <strong><a href="http://github.com/malsup/form">form</a></strong>
          
          
        </h1>

        
    <ul class="actions">
      

      
        <li class="for-owner" style="display:none"><a href="https://github.com/malsup/form/edit" class="minibutton btn-admin "><span><span class="icon"></span>Admin</span></a></li>
        <li>
          <a href="/malsup/form/toggle_watch" class="minibutton btn-watch " id="watch_button" style="display:none"><span><span class="icon"></span>Watch</span></a>
          <a href="/malsup/form/toggle_watch" class="minibutton btn-watch " id="unwatch_button" style="display:none"><span><span class="icon"></span>Unwatch</span></a>
        </li>
        
          
            <li class="for-notforked" style="display:none"><a href="/malsup/form/fork" class="minibutton btn-fork " id="fork_button" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', '964786af8685546f1a9d2e9fc58409d8f9f50cf1'); f.appendChild(s);f.submit();return false;"><span><span class="icon"></span>Fork</span></a></li>
            <li class="for-hasfork" style="display:none"><a href="#" class="minibutton btn-fork " id="your_fork_button"><span><span class="icon"></span>Your Fork</span></a></li>
          

          
          <li id="pull_request_item" class='ospr' style="display:none"><a href="/malsup/form/pull_request/" class="minibutton btn-pull-request "><span><span class="icon"></span>Pull Request</span></a></li>
          

          <li><a href="#" class="minibutton btn-download " id="download_button"><span><span class="icon"></span>Download Source</span></a></li>
        
      
      
      <li class="repostats">
        <ul class="repo-stats">
          <li class="watchers"><a href="/malsup/form/watchers" title="Watchers" class="tooltipped downwards">294</a></li>
          <li class="forks"><a href="/malsup/form/network" title="Forks" class="tooltipped downwards">23</a></li>
        </ul>
      </li>
    </ul>


        
  <ul class="tabs">
    <li><a href="http://github.com/malsup/form/tree/master" class="selected" highlight="repo_source">Source</a></li>
    <li><a href="http://github.com/malsup/form/commits/master" highlight="repo_commits">Commits</a></li>

    
    <li><a href="/malsup/form/network" highlight="repo_network">Network (23)</a></li>

    

    
      
      <li><a href="/malsup/form/issues" highlight="issues">Issues (9)</a></li>
    

    
      
      <li><a href="/malsup/form/downloads">Downloads (0)</a></li>
    

    
      
      <li><a href="http://wiki.github.com/malsup/form/">Wiki (1)</a></li>
    

    <li><a href="/malsup/form/graphs" highlight="repo_graphs">Graphs</a></li>

    <li class="contextswitch nochoices">
      <span class="toggle leftwards" >
        <em>Branch:</em>
        <code>master</code>
      </span>
    </li>
  </ul>

  <div style="display:none" id="pl-description"><p><em class="placeholder">click here to add a description</em></p></div>
  <div style="display:none" id="pl-homepage"><p><em class="placeholder">click here to add a homepage</em></p></div>

  <div class="subnav-bar">
  
  <ul>
    <li>
      <a href="#" class="dropdown">Switch Branches (1)</a>
      <ul>
        
          
            <li><strong>master &#x2713;</strong></li>
            
      </ul>
    </li>
    <li>
      <a href="#" class="dropdown defunct">Switch Tags (0)</a>
      
    </li>
    <li>
    
    <a href="/malsup/form/branches" class="manage">Branch List</a>
    
    </li>
  </ul>
</div>

  
  
  
  
  


        
    <div id="repo_details" class="metabox clearfix">
      <div id="repo_details_loader" class="metabox-loader" style="display:none">Sending Request&hellip;</div>

      

      <div id="repository_description" rel="repository_description_edit">
        
          <p>jQuery Form Plugin
            <span id="read_more" style="display:none">&mdash; <a href="#readme">Read more</a></span>
          </p>
        
      </div>
      <div id="repository_description_edit" style="display:none;" class="inline-edit">
        <form action="/malsup/form/edit/update" method="post"><div style="margin:0;padding:0"><input name="authenticity_token" type="hidden" value="964786af8685546f1a9d2e9fc58409d8f9f50cf1" /></div>
          <input type="hidden" name="field" value="repository_description">
          <input type="text" class="textfield" name="value" value="jQuery Form Plugin">
          <div class="form-actions">
            <button class="minibutton"><span>Save</span></button> &nbsp; <a href="#" class="cancel">Cancel</a>
          </div>
        </form>
      </div>

      
      <div class="repository-homepage" id="repository_homepage" rel="repository_homepage_edit">
        <p><a href="http://jquery.malsup.com/form/" rel="nofollow">http://jquery.malsup.com/form/</a></p>
      </div>
      <div id="repository_homepage_edit" style="display:none;" class="inline-edit">
        <form action="/malsup/form/edit/update" method="post"><div style="margin:0;padding:0"><input name="authenticity_token" type="hidden" value="964786af8685546f1a9d2e9fc58409d8f9f50cf1" /></div>
          <input type="hidden" name="field" value="repository_homepage">
          <input type="text" class="textfield" name="value" value="http://jquery.malsup.com/form/">
          <div class="form-actions">
            <button class="minibutton"><span>Save</span></button> &nbsp; <a href="#" class="cancel">Cancel</a>
          </div>
        </form>
      </div>

      <div class="rule "></div>

      <div id="url_box" class="url-box">
        <ul class="clone-urls">
          
            
            <li id="http_clone_url"><a href="http://github.com/malsup/form.git" data-permissions="Read-Only">HTTP</a></li>
            <li id="public_clone_url"><a href="git://github.com/malsup/form.git" data-permissions="Read-Only">Git Read-Only</a></li>
          
        </ul>
        <input type="text" spellcheck="false" id="url_field" class="url-field" />
              <span style="display:none" id="url_box_clippy"></span>
      <span id="clippy_tooltip_url_box_clippy" class="clippy-tooltip tooltipped" title="copy to clipboard">
      <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
              width="14"
              height="14"
              class="clippy"
              id="clippy" >
      <param name="movie" value="http://assets3.github.com/flash/clippy.swf?v5"/>
      <param name="allowScriptAccess" value="always" />
      <param name="quality" value="high" />
      <param name="scale" value="noscale" />
      <param NAME="FlashVars" value="id=url_box_clippy&amp;copied=&amp;copyto=">
      <param name="bgcolor" value="#FFFFFF">
      <param name="wmode" value="opaque">
      <embed src="http://assets3.github.com/flash/clippy.swf?v5"
             width="14"
             height="14"
             name="clippy"
             quality="high"
             allowScriptAccess="always"
             type="application/x-shockwave-flash"
             pluginspage="http://www.macromedia.com/go/getflashplayer"
             FlashVars="id=url_box_clippy&amp;copied=&amp;copyto="
             bgcolor="#FFFFFF"
             wmode="opaque"
      />
      </object>
      </span>

        <p id="url_description">This URL has <strong>Read+Write</strong> access</p>
      </div>
    </div>


        

      </div><!-- /.pagehead -->

      









<script type="text/javascript">
  GitHub.currentCommitRef = "master"
  GitHub.currentRepoOwner = "malsup"
  GitHub.currentRepo = "form"
  GitHub.downloadRepo = '/malsup/form/archives/master'

  

  
</script>










  <div id="commit">
    <div class="group">
        
  <div class="envelope commit">
    <div class="human">
      
        <div class="message"><pre><a href="/malsup/form/commit/1f9901ad56ba458c8db0bffb759dbb65921891ae">v2.43 - added 'replaceTarget' option</a> </pre></div>
      

      <div class="actor">
        <div class="gravatar">
          
          <img src="http://www.gravatar.com/avatar/bc5a05e7a6824f0b9aa95d9b7a0b8beb?s=140&d=http%3A%2F%2Fgithub.com%2Fimages%2Fgravatars%2Fgravatar-140.png" alt="" width="30" height="30"  />
        </div>
        <div class="name"><a href="/malsup">malsup</a> <span>(author)</span></div>
        <div class="date">
          <abbr class="relatize" title="2010-03-12 06:14:51">Fri Mar 12 06:14:51 -0800 2010</abbr>
        </div>
      </div>

      

    </div>
    <div class="machine">
      <span>c</span>ommit&nbsp;&nbsp;<a href="/malsup/form/commit/1f9901ad56ba458c8db0bffb759dbb65921891ae" hotkey="c">1f9901ad56ba458c8db0</a><br />
      <span>t</span>ree&nbsp;&nbsp;&nbsp;&nbsp;<a href="/malsup/form/tree/1f9901ad56ba458c8db0bffb759dbb65921891ae/jquery.form.js" hotkey="t">1d4a551b2ace7a081345</a><br />
      
        <span>p</span>arent&nbsp;
        
        <a href="/malsup/form/commit/c9937934953a97288eee335a9f58b0f74704de2b" hotkey="p">c9937934953a97288eee</a>
      

    </div>
  </div>

    </div>
  </div>



  
    <div id="path">
      <b><a href="/malsup/form/tree/master">form</a></b> / jquery.form.js       <span style="display:none" id="clippy_958">jquery.form.js</span>
      
      <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
              width="110"
              height="14"
              class="clippy"
              id="clippy" >
      <param name="movie" value="http://assets0.github.com/flash/clippy.swf?v5"/>
      <param name="allowScriptAccess" value="always" />
      <param name="quality" value="high" />
      <param name="scale" value="noscale" />
      <param NAME="FlashVars" value="id=clippy_958&amp;copied=copied!&amp;copyto=copy to clipboard">
      <param name="bgcolor" value="#FFFFFF">
      <param name="wmode" value="opaque">
      <embed src="http://assets0.github.com/flash/clippy.swf?v5"
             width="110"
             height="14"
             name="clippy"
             quality="high"
             allowScriptAccess="always"
             type="application/x-shockwave-flash"
             pluginspage="http://www.macromedia.com/go/getflashplayer"
             FlashVars="id=clippy_958&amp;copied=copied!&amp;copyto=copy to clipboard"
             bgcolor="#FFFFFF"
             wmode="opaque"
      />
      </object>
      

    </div>

    <div id="files">
      <div class="file">
        <div class="meta">
          <div class="info">
            <span class="icon"><img alt="Txt" height="16" src="http://assets2.github.com/images/icons/txt.png?60aea63e765f840175242e1c99c36dd55d612881" width="16" /></span>
            <span class="mode" title="File Mode">100644</span>
            
              <span>676 lines (604 sloc)</span>
            
            <span>20.805 kb</span>
          </div>
          <ul class="actions">
            
              <li><a id="file-edit-link" href="#" rel="/malsup/form/file-edit/__ref__/jquery.form.js">edit</a></li>
            
            <li><a href="/malsup/form/raw/master/jquery.form.js" id="raw-url">raw</a></li>
            
              <li><a href="/malsup/form/blame/master/jquery.form.js">blame</a></li>
            
            <li><a href="/malsup/form/commits/master/jquery.form.js">history</a></li>
          </ul>
        </div>
        
  <div class="data syntax type-javascript">
    
      <table cellpadding="0" cellspacing="0">
        <tr>
          <td>
            <pre class="line_numbers"><span id="LID1" rel="#L1">1</span>
<span id="LID2" rel="#L2">2</span>
<span id="LID3" rel="#L3">3</span>
<span id="LID4" rel="#L4">4</span>
<span id="LID5" rel="#L5">5</span>
<span id="LID6" rel="#L6">6</span>
<span id="LID7" rel="#L7">7</span>
<span id="LID8" rel="#L8">8</span>
<span id="LID9" rel="#L9">9</span>
<span id="LID10" rel="#L10">10</span>
<span id="LID11" rel="#L11">11</span>
<span id="LID12" rel="#L12">12</span>
<span id="LID13" rel="#L13">13</span>
<span id="LID14" rel="#L14">14</span>
<span id="LID15" rel="#L15">15</span>
<span id="LID16" rel="#L16">16</span>
<span id="LID17" rel="#L17">17</span>
<span id="LID18" rel="#L18">18</span>
<span id="LID19" rel="#L19">19</span>
<span id="LID20" rel="#L20">20</span>
<span id="LID21" rel="#L21">21</span>
<span id="LID22" rel="#L22">22</span>
<span id="LID23" rel="#L23">23</span>
<span id="LID24" rel="#L24">24</span>
<span id="LID25" rel="#L25">25</span>
<span id="LID26" rel="#L26">26</span>
<span id="LID27" rel="#L27">27</span>
<span id="LID28" rel="#L28">28</span>
<span id="LID29" rel="#L29">29</span>
<span id="LID30" rel="#L30">30</span>
<span id="LID31" rel="#L31">31</span>
<span id="LID32" rel="#L32">32</span>
<span id="LID33" rel="#L33">33</span>
<span id="LID34" rel="#L34">34</span>
<span id="LID35" rel="#L35">35</span>
<span id="LID36" rel="#L36">36</span>
<span id="LID37" rel="#L37">37</span>
<span id="LID38" rel="#L38">38</span>
<span id="LID39" rel="#L39">39</span>
<span id="LID40" rel="#L40">40</span>
<span id="LID41" rel="#L41">41</span>
<span id="LID42" rel="#L42">42</span>
<span id="LID43" rel="#L43">43</span>
<span id="LID44" rel="#L44">44</span>
<span id="LID45" rel="#L45">45</span>
<span id="LID46" rel="#L46">46</span>
<span id="LID47" rel="#L47">47</span>
<span id="LID48" rel="#L48">48</span>
<span id="LID49" rel="#L49">49</span>
<span id="LID50" rel="#L50">50</span>
<span id="LID51" rel="#L51">51</span>
<span id="LID52" rel="#L52">52</span>
<span id="LID53" rel="#L53">53</span>
<span id="LID54" rel="#L54">54</span>
<span id="LID55" rel="#L55">55</span>
<span id="LID56" rel="#L56">56</span>
<span id="LID57" rel="#L57">57</span>
<span id="LID58" rel="#L58">58</span>
<span id="LID59" rel="#L59">59</span>
<span id="LID60" rel="#L60">60</span>
<span id="LID61" rel="#L61">61</span>
<span id="LID62" rel="#L62">62</span>
<span id="LID63" rel="#L63">63</span>
<span id="LID64" rel="#L64">64</span>
<span id="LID65" rel="#L65">65</span>
<span id="LID66" rel="#L66">66</span>
<span id="LID67" rel="#L67">67</span>
<span id="LID68" rel="#L68">68</span>
<span id="LID69" rel="#L69">69</span>
<span id="LID70" rel="#L70">70</span>
<span id="LID71" rel="#L71">71</span>
<span id="LID72" rel="#L72">72</span>
<span id="LID73" rel="#L73">73</span>
<span id="LID74" rel="#L74">74</span>
<span id="LID75" rel="#L75">75</span>
<span id="LID76" rel="#L76">76</span>
<span id="LID77" rel="#L77">77</span>
<span id="LID78" rel="#L78">78</span>
<span id="LID79" rel="#L79">79</span>
<span id="LID80" rel="#L80">80</span>
<span id="LID81" rel="#L81">81</span>
<span id="LID82" rel="#L82">82</span>
<span id="LID83" rel="#L83">83</span>
<span id="LID84" rel="#L84">84</span>
<span id="LID85" rel="#L85">85</span>
<span id="LID86" rel="#L86">86</span>
<span id="LID87" rel="#L87">87</span>
<span id="LID88" rel="#L88">88</span>
<span id="LID89" rel="#L89">89</span>
<span id="LID90" rel="#L90">90</span>
<span id="LID91" rel="#L91">91</span>
<span id="LID92" rel="#L92">92</span>
<span id="LID93" rel="#L93">93</span>
<span id="LID94" rel="#L94">94</span>
<span id="LID95" rel="#L95">95</span>
<span id="LID96" rel="#L96">96</span>
<span id="LID97" rel="#L97">97</span>
<span id="LID98" rel="#L98">98</span>
<span id="LID99" rel="#L99">99</span>
<span id="LID100" rel="#L100">100</span>
<span id="LID101" rel="#L101">101</span>
<span id="LID102" rel="#L102">102</span>
<span id="LID103" rel="#L103">103</span>
<span id="LID104" rel="#L104">104</span>
<span id="LID105" rel="#L105">105</span>
<span id="LID106" rel="#L106">106</span>
<span id="LID107" rel="#L107">107</span>
<span id="LID108" rel="#L108">108</span>
<span id="LID109" rel="#L109">109</span>
<span id="LID110" rel="#L110">110</span>
<span id="LID111" rel="#L111">111</span>
<span id="LID112" rel="#L112">112</span>
<span id="LID113" rel="#L113">113</span>
<span id="LID114" rel="#L114">114</span>
<span id="LID115" rel="#L115">115</span>
<span id="LID116" rel="#L116">116</span>
<span id="LID117" rel="#L117">117</span>
<span id="LID118" rel="#L118">118</span>
<span id="LID119" rel="#L119">119</span>
<span id="LID120" rel="#L120">120</span>
<span id="LID121" rel="#L121">121</span>
<span id="LID122" rel="#L122">122</span>
<span id="LID123" rel="#L123">123</span>
<span id="LID124" rel="#L124">124</span>
<span id="LID125" rel="#L125">125</span>
<span id="LID126" rel="#L126">126</span>
<span id="LID127" rel="#L127">127</span>
<span id="LID128" rel="#L128">128</span>
<span id="LID129" rel="#L129">129</span>
<span id="LID130" rel="#L130">130</span>
<span id="LID131" rel="#L131">131</span>
<span id="LID132" rel="#L132">132</span>
<span id="LID133" rel="#L133">133</span>
<span id="LID134" rel="#L134">134</span>
<span id="LID135" rel="#L135">135</span>
<span id="LID136" rel="#L136">136</span>
<span id="LID137" rel="#L137">137</span>
<span id="LID138" rel="#L138">138</span>
<span id="LID139" rel="#L139">139</span>
<span id="LID140" rel="#L140">140</span>
<span id="LID141" rel="#L141">141</span>
<span id="LID142" rel="#L142">142</span>
<span id="LID143" rel="#L143">143</span>
<span id="LID144" rel="#L144">144</span>
<span id="LID145" rel="#L145">145</span>
<span id="LID146" rel="#L146">146</span>
<span id="LID147" rel="#L147">147</span>
<span id="LID148" rel="#L148">148</span>
<span id="LID149" rel="#L149">149</span>
<span id="LID150" rel="#L150">150</span>
<span id="LID151" rel="#L151">151</span>
<span id="LID152" rel="#L152">152</span>
<span id="LID153" rel="#L153">153</span>
<span id="LID154" rel="#L154">154</span>
<span id="LID155" rel="#L155">155</span>
<span id="LID156" rel="#L156">156</span>
<span id="LID157" rel="#L157">157</span>
<span id="LID158" rel="#L158">158</span>
<span id="LID159" rel="#L159">159</span>
<span id="LID160" rel="#L160">160</span>
<span id="LID161" rel="#L161">161</span>
<span id="LID162" rel="#L162">162</span>
<span id="LID163" rel="#L163">163</span>
<span id="LID164" rel="#L164">164</span>
<span id="LID165" rel="#L165">165</span>
<span id="LID166" rel="#L166">166</span>
<span id="LID167" rel="#L167">167</span>
<span id="LID168" rel="#L168">168</span>
<span id="LID169" rel="#L169">169</span>
<span id="LID170" rel="#L170">170</span>
<span id="LID171" rel="#L171">171</span>
<span id="LID172" rel="#L172">172</span>
<span id="LID173" rel="#L173">173</span>
<span id="LID174" rel="#L174">174</span>
<span id="LID175" rel="#L175">175</span>
<span id="LID176" rel="#L176">176</span>
<span id="LID177" rel="#L177">177</span>
<span id="LID178" rel="#L178">178</span>
<span id="LID179" rel="#L179">179</span>
<span id="LID180" rel="#L180">180</span>
<span id="LID181" rel="#L181">181</span>
<span id="LID182" rel="#L182">182</span>
<span id="LID183" rel="#L183">183</span>
<span id="LID184" rel="#L184">184</span>
<span id="LID185" rel="#L185">185</span>
<span id="LID186" rel="#L186">186</span>
<span id="LID187" rel="#L187">187</span>
<span id="LID188" rel="#L188">188</span>
<span id="LID189" rel="#L189">189</span>
<span id="LID190" rel="#L190">190</span>
<span id="LID191" rel="#L191">191</span>
<span id="LID192" rel="#L192">192</span>
<span id="LID193" rel="#L193">193</span>
<span id="LID194" rel="#L194">194</span>
<span id="LID195" rel="#L195">195</span>
<span id="LID196" rel="#L196">196</span>
<span id="LID197" rel="#L197">197</span>
<span id="LID198" rel="#L198">198</span>
<span id="LID199" rel="#L199">199</span>
<span id="LID200" rel="#L200">200</span>
<span id="LID201" rel="#L201">201</span>
<span id="LID202" rel="#L202">202</span>
<span id="LID203" rel="#L203">203</span>
<span id="LID204" rel="#L204">204</span>
<span id="LID205" rel="#L205">205</span>
<span id="LID206" rel="#L206">206</span>
<span id="LID207" rel="#L207">207</span>
<span id="LID208" rel="#L208">208</span>
<span id="LID209" rel="#L209">209</span>
<span id="LID210" rel="#L210">210</span>
<span id="LID211" rel="#L211">211</span>
<span id="LID212" rel="#L212">212</span>
<span id="LID213" rel="#L213">213</span>
<span id="LID214" rel="#L214">214</span>
<span id="LID215" rel="#L215">215</span>
<span id="LID216" rel="#L216">216</span>
<span id="LID217" rel="#L217">217</span>
<span id="LID218" rel="#L218">218</span>
<span id="LID219" rel="#L219">219</span>
<span id="LID220" rel="#L220">220</span>
<span id="LID221" rel="#L221">221</span>
<span id="LID222" rel="#L222">222</span>
<span id="LID223" rel="#L223">223</span>
<span id="LID224" rel="#L224">224</span>
<span id="LID225" rel="#L225">225</span>
<span id="LID226" rel="#L226">226</span>
<span id="LID227" rel="#L227">227</span>
<span id="LID228" rel="#L228">228</span>
<span id="LID229" rel="#L229">229</span>
<span id="LID230" rel="#L230">230</span>
<span id="LID231" rel="#L231">231</span>
<span id="LID232" rel="#L232">232</span>
<span id="LID233" rel="#L233">233</span>
<span id="LID234" rel="#L234">234</span>
<span id="LID235" rel="#L235">235</span>
<span id="LID236" rel="#L236">236</span>
<span id="LID237" rel="#L237">237</span>
<span id="LID238" rel="#L238">238</span>
<span id="LID239" rel="#L239">239</span>
<span id="LID240" rel="#L240">240</span>
<span id="LID241" rel="#L241">241</span>
<span id="LID242" rel="#L242">242</span>
<span id="LID243" rel="#L243">243</span>
<span id="LID244" rel="#L244">244</span>
<span id="LID245" rel="#L245">245</span>
<span id="LID246" rel="#L246">246</span>
<span id="LID247" rel="#L247">247</span>
<span id="LID248" rel="#L248">248</span>
<span id="LID249" rel="#L249">249</span>
<span id="LID250" rel="#L250">250</span>
<span id="LID251" rel="#L251">251</span>
<span id="LID252" rel="#L252">252</span>
<span id="LID253" rel="#L253">253</span>
<span id="LID254" rel="#L254">254</span>
<span id="LID255" rel="#L255">255</span>
<span id="LID256" rel="#L256">256</span>
<span id="LID257" rel="#L257">257</span>
<span id="LID258" rel="#L258">258</span>
<span id="LID259" rel="#L259">259</span>
<span id="LID260" rel="#L260">260</span>
<span id="LID261" rel="#L261">261</span>
<span id="LID262" rel="#L262">262</span>
<span id="LID263" rel="#L263">263</span>
<span id="LID264" rel="#L264">264</span>
<span id="LID265" rel="#L265">265</span>
<span id="LID266" rel="#L266">266</span>
<span id="LID267" rel="#L267">267</span>
<span id="LID268" rel="#L268">268</span>
<span id="LID269" rel="#L269">269</span>
<span id="LID270" rel="#L270">270</span>
<span id="LID271" rel="#L271">271</span>
<span id="LID272" rel="#L272">272</span>
<span id="LID273" rel="#L273">273</span>
<span id="LID274" rel="#L274">274</span>
<span id="LID275" rel="#L275">275</span>
<span id="LID276" rel="#L276">276</span>
<span id="LID277" rel="#L277">277</span>
<span id="LID278" rel="#L278">278</span>
<span id="LID279" rel="#L279">279</span>
<span id="LID280" rel="#L280">280</span>
<span id="LID281" rel="#L281">281</span>
<span id="LID282" rel="#L282">282</span>
<span id="LID283" rel="#L283">283</span>
<span id="LID284" rel="#L284">284</span>
<span id="LID285" rel="#L285">285</span>
<span id="LID286" rel="#L286">286</span>
<span id="LID287" rel="#L287">287</span>
<span id="LID288" rel="#L288">288</span>
<span id="LID289" rel="#L289">289</span>
<span id="LID290" rel="#L290">290</span>
<span id="LID291" rel="#L291">291</span>
<span id="LID292" rel="#L292">292</span>
<span id="LID293" rel="#L293">293</span>
<span id="LID294" rel="#L294">294</span>
<span id="LID295" rel="#L295">295</span>
<span id="LID296" rel="#L296">296</span>
<span id="LID297" rel="#L297">297</span>
<span id="LID298" rel="#L298">298</span>
<span id="LID299" rel="#L299">299</span>
<span id="LID300" rel="#L300">300</span>
<span id="LID301" rel="#L301">301</span>
<span id="LID302" rel="#L302">302</span>
<span id="LID303" rel="#L303">303</span>
<span id="LID304" rel="#L304">304</span>
<span id="LID305" rel="#L305">305</span>
<span id="LID306" rel="#L306">306</span>
<span id="LID307" rel="#L307">307</span>
<span id="LID308" rel="#L308">308</span>
<span id="LID309" rel="#L309">309</span>
<span id="LID310" rel="#L310">310</span>
<span id="LID311" rel="#L311">311</span>
<span id="LID312" rel="#L312">312</span>
<span id="LID313" rel="#L313">313</span>
<span id="LID314" rel="#L314">314</span>
<span id="LID315" rel="#L315">315</span>
<span id="LID316" rel="#L316">316</span>
<span id="LID317" rel="#L317">317</span>
<span id="LID318" rel="#L318">318</span>
<span id="LID319" rel="#L319">319</span>
<span id="LID320" rel="#L320">320</span>
<span id="LID321" rel="#L321">321</span>
<span id="LID322" rel="#L322">322</span>
<span id="LID323" rel="#L323">323</span>
<span id="LID324" rel="#L324">324</span>
<span id="LID325" rel="#L325">325</span>
<span id="LID326" rel="#L326">326</span>
<span id="LID327" rel="#L327">327</span>
<span id="LID328" rel="#L328">328</span>
<span id="LID329" rel="#L329">329</span>
<span id="LID330" rel="#L330">330</span>
<span id="LID331" rel="#L331">331</span>
<span id="LID332" rel="#L332">332</span>
<span id="LID333" rel="#L333">333</span>
<span id="LID334" rel="#L334">334</span>
<span id="LID335" rel="#L335">335</span>
<span id="LID336" rel="#L336">336</span>
<span id="LID337" rel="#L337">337</span>
<span id="LID338" rel="#L338">338</span>
<span id="LID339" rel="#L339">339</span>
<span id="LID340" rel="#L340">340</span>
<span id="LID341" rel="#L341">341</span>
<span id="LID342" rel="#L342">342</span>
<span id="LID343" rel="#L343">343</span>
<span id="LID344" rel="#L344">344</span>
<span id="LID345" rel="#L345">345</span>
<span id="LID346" rel="#L346">346</span>
<span id="LID347" rel="#L347">347</span>
<span id="LID348" rel="#L348">348</span>
<span id="LID349" rel="#L349">349</span>
<span id="LID350" rel="#L350">350</span>
<span id="LID351" rel="#L351">351</span>
<span id="LID352" rel="#L352">352</span>
<span id="LID353" rel="#L353">353</span>
<span id="LID354" rel="#L354">354</span>
<span id="LID355" rel="#L355">355</span>
<span id="LID356" rel="#L356">356</span>
<span id="LID357" rel="#L357">357</span>
<span id="LID358" rel="#L358">358</span>
<span id="LID359" rel="#L359">359</span>
<span id="LID360" rel="#L360">360</span>
<span id="LID361" rel="#L361">361</span>
<span id="LID362" rel="#L362">362</span>
<span id="LID363" rel="#L363">363</span>
<span id="LID364" rel="#L364">364</span>
<span id="LID365" rel="#L365">365</span>
<span id="LID366" rel="#L366">366</span>
<span id="LID367" rel="#L367">367</span>
<span id="LID368" rel="#L368">368</span>
<span id="LID369" rel="#L369">369</span>
<span id="LID370" rel="#L370">370</span>
<span id="LID371" rel="#L371">371</span>
<span id="LID372" rel="#L372">372</span>
<span id="LID373" rel="#L373">373</span>
<span id="LID374" rel="#L374">374</span>
<span id="LID375" rel="#L375">375</span>
<span id="LID376" rel="#L376">376</span>
<span id="LID377" rel="#L377">377</span>
<span id="LID378" rel="#L378">378</span>
<span id="LID379" rel="#L379">379</span>
<span id="LID380" rel="#L380">380</span>
<span id="LID381" rel="#L381">381</span>
<span id="LID382" rel="#L382">382</span>
<span id="LID383" rel="#L383">383</span>
<span id="LID384" rel="#L384">384</span>
<span id="LID385" rel="#L385">385</span>
<span id="LID386" rel="#L386">386</span>
<span id="LID387" rel="#L387">387</span>
<span id="LID388" rel="#L388">388</span>
<span id="LID389" rel="#L389">389</span>
<span id="LID390" rel="#L390">390</span>
<span id="LID391" rel="#L391">391</span>
<span id="LID392" rel="#L392">392</span>
<span id="LID393" rel="#L393">393</span>
<span id="LID394" rel="#L394">394</span>
<span id="LID395" rel="#L395">395</span>
<span id="LID396" rel="#L396">396</span>
<span id="LID397" rel="#L397">397</span>
<span id="LID398" rel="#L398">398</span>
<span id="LID399" rel="#L399">399</span>
<span id="LID400" rel="#L400">400</span>
<span id="LID401" rel="#L401">401</span>
<span id="LID402" rel="#L402">402</span>
<span id="LID403" rel="#L403">403</span>
<span id="LID404" rel="#L404">404</span>
<span id="LID405" rel="#L405">405</span>
<span id="LID406" rel="#L406">406</span>
<span id="LID407" rel="#L407">407</span>
<span id="LID408" rel="#L408">408</span>
<span id="LID409" rel="#L409">409</span>
<span id="LID410" rel="#L410">410</span>
<span id="LID411" rel="#L411">411</span>
<span id="LID412" rel="#L412">412</span>
<span id="LID413" rel="#L413">413</span>
<span id="LID414" rel="#L414">414</span>
<span id="LID415" rel="#L415">415</span>
<span id="LID416" rel="#L416">416</span>
<span id="LID417" rel="#L417">417</span>
<span id="LID418" rel="#L418">418</span>
<span id="LID419" rel="#L419">419</span>
<span id="LID420" rel="#L420">420</span>
<span id="LID421" rel="#L421">421</span>
<span id="LID422" rel="#L422">422</span>
<span id="LID423" rel="#L423">423</span>
<span id="LID424" rel="#L424">424</span>
<span id="LID425" rel="#L425">425</span>
<span id="LID426" rel="#L426">426</span>
<span id="LID427" rel="#L427">427</span>
<span id="LID428" rel="#L428">428</span>
<span id="LID429" rel="#L429">429</span>
<span id="LID430" rel="#L430">430</span>
<span id="LID431" rel="#L431">431</span>
<span id="LID432" rel="#L432">432</span>
<span id="LID433" rel="#L433">433</span>
<span id="LID434" rel="#L434">434</span>
<span id="LID435" rel="#L435">435</span>
<span id="LID436" rel="#L436">436</span>
<span id="LID437" rel="#L437">437</span>
<span id="LID438" rel="#L438">438</span>
<span id="LID439" rel="#L439">439</span>
<span id="LID440" rel="#L440">440</span>
<span id="LID441" rel="#L441">441</span>
<span id="LID442" rel="#L442">442</span>
<span id="LID443" rel="#L443">443</span>
<span id="LID444" rel="#L444">444</span>
<span id="LID445" rel="#L445">445</span>
<span id="LID446" rel="#L446">446</span>
<span id="LID447" rel="#L447">447</span>
<span id="LID448" rel="#L448">448</span>
<span id="LID449" rel="#L449">449</span>
<span id="LID450" rel="#L450">450</span>
<span id="LID451" rel="#L451">451</span>
<span id="LID452" rel="#L452">452</span>
<span id="LID453" rel="#L453">453</span>
<span id="LID454" rel="#L454">454</span>
<span id="LID455" rel="#L455">455</span>
<span id="LID456" rel="#L456">456</span>
<span id="LID457" rel="#L457">457</span>
<span id="LID458" rel="#L458">458</span>
<span id="LID459" rel="#L459">459</span>
<span id="LID460" rel="#L460">460</span>
<span id="LID461" rel="#L461">461</span>
<span id="LID462" rel="#L462">462</span>
<span id="LID463" rel="#L463">463</span>
<span id="LID464" rel="#L464">464</span>
<span id="LID465" rel="#L465">465</span>
<span id="LID466" rel="#L466">466</span>
<span id="LID467" rel="#L467">467</span>
<span id="LID468" rel="#L468">468</span>
<span id="LID469" rel="#L469">469</span>
<span id="LID470" rel="#L470">470</span>
<span id="LID471" rel="#L471">471</span>
<span id="LID472" rel="#L472">472</span>
<span id="LID473" rel="#L473">473</span>
<span id="LID474" rel="#L474">474</span>
<span id="LID475" rel="#L475">475</span>
<span id="LID476" rel="#L476">476</span>
<span id="LID477" rel="#L477">477</span>
<span id="LID478" rel="#L478">478</span>
<span id="LID479" rel="#L479">479</span>
<span id="LID480" rel="#L480">480</span>
<span id="LID481" rel="#L481">481</span>
<span id="LID482" rel="#L482">482</span>
<span id="LID483" rel="#L483">483</span>
<span id="LID484" rel="#L484">484</span>
<span id="LID485" rel="#L485">485</span>
<span id="LID486" rel="#L486">486</span>
<span id="LID487" rel="#L487">487</span>
<span id="LID488" rel="#L488">488</span>
<span id="LID489" rel="#L489">489</span>
<span id="LID490" rel="#L490">490</span>
<span id="LID491" rel="#L491">491</span>
<span id="LID492" rel="#L492">492</span>
<span id="LID493" rel="#L493">493</span>
<span id="LID494" rel="#L494">494</span>
<span id="LID495" rel="#L495">495</span>
<span id="LID496" rel="#L496">496</span>
<span id="LID497" rel="#L497">497</span>
<span id="LID498" rel="#L498">498</span>
<span id="LID499" rel="#L499">499</span>
<span id="LID500" rel="#L500">500</span>
<span id="LID501" rel="#L501">501</span>
<span id="LID502" rel="#L502">502</span>
<span id="LID503" rel="#L503">503</span>
<span id="LID504" rel="#L504">504</span>
<span id="LID505" rel="#L505">505</span>
<span id="LID506" rel="#L506">506</span>
<span id="LID507" rel="#L507">507</span>
<span id="LID508" rel="#L508">508</span>
<span id="LID509" rel="#L509">509</span>
<span id="LID510" rel="#L510">510</span>
<span id="LID511" rel="#L511">511</span>
<span id="LID512" rel="#L512">512</span>
<span id="LID513" rel="#L513">513</span>
<span id="LID514" rel="#L514">514</span>
<span id="LID515" rel="#L515">515</span>
<span id="LID516" rel="#L516">516</span>
<span id="LID517" rel="#L517">517</span>
<span id="LID518" rel="#L518">518</span>
<span id="LID519" rel="#L519">519</span>
<span id="LID520" rel="#L520">520</span>
<span id="LID521" rel="#L521">521</span>
<span id="LID522" rel="#L522">522</span>
<span id="LID523" rel="#L523">523</span>
<span id="LID524" rel="#L524">524</span>
<span id="LID525" rel="#L525">525</span>
<span id="LID526" rel="#L526">526</span>
<span id="LID527" rel="#L527">527</span>
<span id="LID528" rel="#L528">528</span>
<span id="LID529" rel="#L529">529</span>
<span id="LID530" rel="#L530">530</span>
<span id="LID531" rel="#L531">531</span>
<span id="LID532" rel="#L532">532</span>
<span id="LID533" rel="#L533">533</span>
<span id="LID534" rel="#L534">534</span>
<span id="LID535" rel="#L535">535</span>
<span id="LID536" rel="#L536">536</span>
<span id="LID537" rel="#L537">537</span>
<span id="LID538" rel="#L538">538</span>
<span id="LID539" rel="#L539">539</span>
<span id="LID540" rel="#L540">540</span>
<span id="LID541" rel="#L541">541</span>
<span id="LID542" rel="#L542">542</span>
<span id="LID543" rel="#L543">543</span>
<span id="LID544" rel="#L544">544</span>
<span id="LID545" rel="#L545">545</span>
<span id="LID546" rel="#L546">546</span>
<span id="LID547" rel="#L547">547</span>
<span id="LID548" rel="#L548">548</span>
<span id="LID549" rel="#L549">549</span>
<span id="LID550" rel="#L550">550</span>
<span id="LID551" rel="#L551">551</span>
<span id="LID552" rel="#L552">552</span>
<span id="LID553" rel="#L553">553</span>
<span id="LID554" rel="#L554">554</span>
<span id="LID555" rel="#L555">555</span>
<span id="LID556" rel="#L556">556</span>
<span id="LID557" rel="#L557">557</span>
<span id="LID558" rel="#L558">558</span>
<span id="LID559" rel="#L559">559</span>
<span id="LID560" rel="#L560">560</span>
<span id="LID561" rel="#L561">561</span>
<span id="LID562" rel="#L562">562</span>
<span id="LID563" rel="#L563">563</span>
<span id="LID564" rel="#L564">564</span>
<span id="LID565" rel="#L565">565</span>
<span id="LID566" rel="#L566">566</span>
<span id="LID567" rel="#L567">567</span>
<span id="LID568" rel="#L568">568</span>
<span id="LID569" rel="#L569">569</span>
<span id="LID570" rel="#L570">570</span>
<span id="LID571" rel="#L571">571</span>
<span id="LID572" rel="#L572">572</span>
<span id="LID573" rel="#L573">573</span>
<span id="LID574" rel="#L574">574</span>
<span id="LID575" rel="#L575">575</span>
<span id="LID576" rel="#L576">576</span>
<span id="LID577" rel="#L577">577</span>
<span id="LID578" rel="#L578">578</span>
<span id="LID579" rel="#L579">579</span>
<span id="LID580" rel="#L580">580</span>
<span id="LID581" rel="#L581">581</span>
<span id="LID582" rel="#L582">582</span>
<span id="LID583" rel="#L583">583</span>
<span id="LID584" rel="#L584">584</span>
<span id="LID585" rel="#L585">585</span>
<span id="LID586" rel="#L586">586</span>
<span id="LID587" rel="#L587">587</span>
<span id="LID588" rel="#L588">588</span>
<span id="LID589" rel="#L589">589</span>
<span id="LID590" rel="#L590">590</span>
<span id="LID591" rel="#L591">591</span>
<span id="LID592" rel="#L592">592</span>
<span id="LID593" rel="#L593">593</span>
<span id="LID594" rel="#L594">594</span>
<span id="LID595" rel="#L595">595</span>
<span id="LID596" rel="#L596">596</span>
<span id="LID597" rel="#L597">597</span>
<span id="LID598" rel="#L598">598</span>
<span id="LID599" rel="#L599">599</span>
<span id="LID600" rel="#L600">600</span>
<span id="LID601" rel="#L601">601</span>
<span id="LID602" rel="#L602">602</span>
<span id="LID603" rel="#L603">603</span>
<span id="LID604" rel="#L604">604</span>
<span id="LID605" rel="#L605">605</span>
<span id="LID606" rel="#L606">606</span>
<span id="LID607" rel="#L607">607</span>
<span id="LID608" rel="#L608">608</span>
<span id="LID609" rel="#L609">609</span>
<span id="LID610" rel="#L610">610</span>
<span id="LID611" rel="#L611">611</span>
<span id="LID612" rel="#L612">612</span>
<span id="LID613" rel="#L613">613</span>
<span id="LID614" rel="#L614">614</span>
<span id="LID615" rel="#L615">615</span>
<span id="LID616" rel="#L616">616</span>
<span id="LID617" rel="#L617">617</span>
<span id="LID618" rel="#L618">618</span>
<span id="LID619" rel="#L619">619</span>
<span id="LID620" rel="#L620">620</span>
<span id="LID621" rel="#L621">621</span>
<span id="LID622" rel="#L622">622</span>
<span id="LID623" rel="#L623">623</span>
<span id="LID624" rel="#L624">624</span>
<span id="LID625" rel="#L625">625</span>
<span id="LID626" rel="#L626">626</span>
<span id="LID627" rel="#L627">627</span>
<span id="LID628" rel="#L628">628</span>
<span id="LID629" rel="#L629">629</span>
<span id="LID630" rel="#L630">630</span>
<span id="LID631" rel="#L631">631</span>
<span id="LID632" rel="#L632">632</span>
<span id="LID633" rel="#L633">633</span>
<span id="LID634" rel="#L634">634</span>
<span id="LID635" rel="#L635">635</span>
<span id="LID636" rel="#L636">636</span>
<span id="LID637" rel="#L637">637</span>
<span id="LID638" rel="#L638">638</span>
<span id="LID639" rel="#L639">639</span>
<span id="LID640" rel="#L640">640</span>
<span id="LID641" rel="#L641">641</span>
<span id="LID642" rel="#L642">642</span>
<span id="LID643" rel="#L643">643</span>
<span id="LID644" rel="#L644">644</span>
<span id="LID645" rel="#L645">645</span>
<span id="LID646" rel="#L646">646</span>
<span id="LID647" rel="#L647">647</span>
<span id="LID648" rel="#L648">648</span>
<span id="LID649" rel="#L649">649</span>
<span id="LID650" rel="#L650">650</span>
<span id="LID651" rel="#L651">651</span>
<span id="LID652" rel="#L652">652</span>
<span id="LID653" rel="#L653">653</span>
<span id="LID654" rel="#L654">654</span>
<span id="LID655" rel="#L655">655</span>
<span id="LID656" rel="#L656">656</span>
<span id="LID657" rel="#L657">657</span>
<span id="LID658" rel="#L658">658</span>
<span id="LID659" rel="#L659">659</span>
<span id="LID660" rel="#L660">660</span>
<span id="LID661" rel="#L661">661</span>
<span id="LID662" rel="#L662">662</span>
<span id="LID663" rel="#L663">663</span>
<span id="LID664" rel="#L664">664</span>
<span id="LID665" rel="#L665">665</span>
<span id="LID666" rel="#L666">666</span>
<span id="LID667" rel="#L667">667</span>
<span id="LID668" rel="#L668">668</span>
<span id="LID669" rel="#L669">669</span>
<span id="LID670" rel="#L670">670</span>
<span id="LID671" rel="#L671">671</span>
<span id="LID672" rel="#L672">672</span>
<span id="LID673" rel="#L673">673</span>
<span id="LID674" rel="#L674">674</span>
<span id="LID675" rel="#L675">675</span>
<span id="LID676" rel="#L676">676</span>
</pre>
          </td>
          <td width="100%">
            
              <div class="highlight"><pre><div class='line' id='LC1'><span class="cm">/*!</span></div><div class='line' id='LC2'><span class="cm"> * jQuery Form Plugin</span></div><div class='line' id='LC3'><span class="cm"> * version: 2.43 (12-MAR-2010)</span></div><div class='line' id='LC4'><span class="cm"> * @requires jQuery v1.3.2 or later</span></div><div class='line' id='LC5'><span class="cm"> *</span></div><div class='line' id='LC6'><span class="cm"> * Examples and documentation at: http://malsup.com/jquery/form/</span></div><div class='line' id='LC7'><span class="cm"> * Dual licensed under the MIT and GPL licenses:</span></div><div class='line' id='LC8'><span class="cm"> *   http://www.opensource.org/licenses/mit-license.php</span></div><div class='line' id='LC9'><span class="cm"> *   http://www.gnu.org/licenses/gpl.html</span></div><div class='line' id='LC10'><span class="cm"> */</span></div><div class='line' id='LC11'><span class="p">;(</span><span class="kd">function</span><span class="p">(</span><span class="nx">$</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC12'><br/></div><div class='line' id='LC13'><span class="cm">/*</span></div><div class='line' id='LC14'><span class="cm">	Usage Note:</span></div><div class='line' id='LC15'><span class="cm">	-----------</span></div><div class='line' id='LC16'><span class="cm">	Do not use both ajaxSubmit and ajaxForm on the same form.  These</span></div><div class='line' id='LC17'><span class="cm">	functions are intended to be exclusive.  Use ajaxSubmit if you want</span></div><div class='line' id='LC18'><span class="cm">	to bind your own submit handler to the form.  For example,</span></div><div class='line' id='LC19'><br/></div><div class='line' id='LC20'><span class="cm">	$(document).ready(function() {</span></div><div class='line' id='LC21'><span class="cm">		$(&#39;#myForm&#39;).bind(&#39;submit&#39;, function() {</span></div><div class='line' id='LC22'><span class="cm">			$(this).ajaxSubmit({</span></div><div class='line' id='LC23'><span class="cm">				target: &#39;#output&#39;</span></div><div class='line' id='LC24'><span class="cm">			});</span></div><div class='line' id='LC25'><span class="cm">			return false; // &lt;-- important!</span></div><div class='line' id='LC26'><span class="cm">		});</span></div><div class='line' id='LC27'><span class="cm">	});</span></div><div class='line' id='LC28'><br/></div><div class='line' id='LC29'><span class="cm">	Use ajaxForm when you want the plugin to manage all the event binding</span></div><div class='line' id='LC30'><span class="cm">	for you.  For example,</span></div><div class='line' id='LC31'><br/></div><div class='line' id='LC32'><span class="cm">	$(document).ready(function() {</span></div><div class='line' id='LC33'><span class="cm">		$(&#39;#myForm&#39;).ajaxForm({</span></div><div class='line' id='LC34'><span class="cm">			target: &#39;#output&#39;</span></div><div class='line' id='LC35'><span class="cm">		});</span></div><div class='line' id='LC36'><span class="cm">	});</span></div><div class='line' id='LC37'><br/></div><div class='line' id='LC38'><span class="cm">	When using ajaxForm, the ajaxSubmit function will be invoked for you</span></div><div class='line' id='LC39'><span class="cm">	at the appropriate time.</span></div><div class='line' id='LC40'><span class="cm">*/</span></div><div class='line' id='LC41'><br/></div><div class='line' id='LC42'><span class="cm">/**</span></div><div class='line' id='LC43'><span class="cm"> * ajaxSubmit() provides a mechanism for immediately submitting</span></div><div class='line' id='LC44'><span class="cm"> * an HTML form using AJAX.</span></div><div class='line' id='LC45'><span class="cm"> */</span></div><div class='line' id='LC46'><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">ajaxSubmit</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">options</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC47'>	<span class="c1">// fast fail if nothing selected (http://dev.jquery.com/ticket/2752)</span></div><div class='line' id='LC48'>	<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC49'>		<span class="nx">log</span><span class="p">(</span><span class="s1">&#39;ajaxSubmit: skipping submit process - no element selected&#39;</span><span class="p">);</span></div><div class='line' id='LC50'>		<span class="k">return</span> <span class="k">this</span><span class="p">;</span></div><div class='line' id='LC51'>	<span class="p">}</span></div><div class='line' id='LC52'><br/></div><div class='line' id='LC53'>	<span class="k">if</span> <span class="p">(</span><span class="k">typeof</span> <span class="nx">options</span> <span class="o">==</span> <span class="s1">&#39;function&#39;</span><span class="p">)</span></div><div class='line' id='LC54'>		<span class="nx">options</span> <span class="o">=</span> <span class="p">{</span> <span class="nx">success</span><span class="o">:</span> <span class="nx">options</span> <span class="p">};</span></div><div class='line' id='LC55'><br/></div><div class='line' id='LC56'>	<span class="kd">var</span> <span class="nx">url</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">trim</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;action&#39;</span><span class="p">));</span></div><div class='line' id='LC57'>	<span class="k">if</span> <span class="p">(</span><span class="nx">url</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC58'>		<span class="c1">// clean url (don&#39;t include hash vaue)</span></div><div class='line' id='LC59'>		<span class="nx">url</span> <span class="o">=</span> <span class="p">(</span><span class="nx">url</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/^([^#]+)/</span><span class="p">)</span><span class="o">||</span><span class="p">[])[</span><span class="mi">1</span><span class="p">];</span></div><div class='line' id='LC60'>&nbsp;&nbsp;&nbsp;	<span class="p">}</span></div><div class='line' id='LC61'>&nbsp;&nbsp;&nbsp;	<span class="nx">url</span> <span class="o">=</span> <span class="nx">url</span> <span class="o">||</span> <span class="nb">window</span><span class="p">.</span><span class="nx">location</span><span class="p">.</span><span class="nx">href</span> <span class="o">||</span> <span class="s1">&#39;&#39;</span><span class="p">;</span></div><div class='line' id='LC62'><br/></div><div class='line' id='LC63'>	<span class="nx">options</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">extend</span><span class="p">({</span></div><div class='line' id='LC64'>		<span class="nx">url</span><span class="o">:</span>  <span class="nx">url</span><span class="p">,</span></div><div class='line' id='LC65'>		<span class="nx">type</span><span class="o">:</span> <span class="k">this</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;method&#39;</span><span class="p">)</span> <span class="o">||</span> <span class="s1">&#39;GET&#39;</span><span class="p">,</span></div><div class='line' id='LC66'>		<span class="nx">iframeSrc</span><span class="o">:</span> <span class="sr">/^https/i</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">location</span><span class="p">.</span><span class="nx">href</span> <span class="o">||</span> <span class="s1">&#39;&#39;</span><span class="p">)</span> <span class="o">?</span> <span class="s1">&#39;javascript:false&#39;</span> <span class="o">:</span> <span class="s1">&#39;about:blank&#39;</span></div><div class='line' id='LC67'>	<span class="p">},</span> <span class="nx">options</span> <span class="o">||</span> <span class="p">{});</span></div><div class='line' id='LC68'><br/></div><div class='line' id='LC69'>	<span class="c1">// hook for manipulating the form data before it is extracted;</span></div><div class='line' id='LC70'>	<span class="c1">// convenient for use with rich editors like tinyMCE or FCKEditor</span></div><div class='line' id='LC71'>	<span class="kd">var</span> <span class="nx">veto</span> <span class="o">=</span> <span class="p">{};</span></div><div class='line' id='LC72'>	<span class="k">this</span><span class="p">.</span><span class="nx">trigger</span><span class="p">(</span><span class="s1">&#39;form-pre-serialize&#39;</span><span class="p">,</span> <span class="p">[</span><span class="k">this</span><span class="p">,</span> <span class="nx">options</span><span class="p">,</span> <span class="nx">veto</span><span class="p">]);</span></div><div class='line' id='LC73'>	<span class="k">if</span> <span class="p">(</span><span class="nx">veto</span><span class="p">.</span><span class="nx">veto</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC74'>		<span class="nx">log</span><span class="p">(</span><span class="s1">&#39;ajaxSubmit: submit vetoed via form-pre-serialize trigger&#39;</span><span class="p">);</span></div><div class='line' id='LC75'>		<span class="k">return</span> <span class="k">this</span><span class="p">;</span></div><div class='line' id='LC76'>	<span class="p">}</span></div><div class='line' id='LC77'><br/></div><div class='line' id='LC78'>	<span class="c1">// provide opportunity to alter form data before it is serialized</span></div><div class='line' id='LC79'>	<span class="k">if</span> <span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">beforeSerialize</span> <span class="o">&amp;&amp;</span> <span class="nx">options</span><span class="p">.</span><span class="nx">beforeSerialize</span><span class="p">(</span><span class="k">this</span><span class="p">,</span> <span class="nx">options</span><span class="p">)</span> <span class="o">===</span> <span class="kc">false</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC80'>		<span class="nx">log</span><span class="p">(</span><span class="s1">&#39;ajaxSubmit: submit aborted via beforeSerialize callback&#39;</span><span class="p">);</span></div><div class='line' id='LC81'>		<span class="k">return</span> <span class="k">this</span><span class="p">;</span></div><div class='line' id='LC82'>	<span class="p">}</span></div><div class='line' id='LC83'><br/></div><div class='line' id='LC84'>	<span class="kd">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">formToArray</span><span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">semantic</span><span class="p">);</span></div><div class='line' id='LC85'>	<span class="k">if</span> <span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC86'>		<span class="nx">options</span><span class="p">.</span><span class="nx">extraData</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">data</span><span class="p">;</span></div><div class='line' id='LC87'>		<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">n</span> <span class="k">in</span> <span class="nx">options</span><span class="p">.</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC88'>		  <span class="k">if</span><span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">data</span><span class="p">[</span><span class="nx">n</span><span class="p">]</span> <span class="k">instanceof</span> <span class="nb">Array</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC89'>			<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">k</span> <span class="k">in</span> <span class="nx">options</span><span class="p">.</span><span class="nx">data</span><span class="p">[</span><span class="nx">n</span><span class="p">])</span></div><div class='line' id='LC90'>			  <span class="nx">a</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span> <span class="p">{</span> <span class="nx">name</span><span class="o">:</span> <span class="nx">n</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">options</span><span class="p">.</span><span class="nx">data</span><span class="p">[</span><span class="nx">n</span><span class="p">][</span><span class="nx">k</span><span class="p">]</span> <span class="p">}</span> <span class="p">);</span></div><div class='line' id='LC91'>		  <span class="p">}</span></div><div class='line' id='LC92'>		  <span class="k">else</span></div><div class='line' id='LC93'>			 <span class="nx">a</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span> <span class="p">{</span> <span class="nx">name</span><span class="o">:</span> <span class="nx">n</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">options</span><span class="p">.</span><span class="nx">data</span><span class="p">[</span><span class="nx">n</span><span class="p">]</span> <span class="p">}</span> <span class="p">);</span></div><div class='line' id='LC94'>		<span class="p">}</span></div><div class='line' id='LC95'>	<span class="p">}</span></div><div class='line' id='LC96'><br/></div><div class='line' id='LC97'>	<span class="c1">// give pre-submit callback an opportunity to abort the submit</span></div><div class='line' id='LC98'>	<span class="k">if</span> <span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">beforeSubmit</span> <span class="o">&amp;&amp;</span> <span class="nx">options</span><span class="p">.</span><span class="nx">beforeSubmit</span><span class="p">(</span><span class="nx">a</span><span class="p">,</span> <span class="k">this</span><span class="p">,</span> <span class="nx">options</span><span class="p">)</span> <span class="o">===</span> <span class="kc">false</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC99'>		<span class="nx">log</span><span class="p">(</span><span class="s1">&#39;ajaxSubmit: submit aborted via beforeSubmit callback&#39;</span><span class="p">);</span></div><div class='line' id='LC100'>		<span class="k">return</span> <span class="k">this</span><span class="p">;</span></div><div class='line' id='LC101'>	<span class="p">}</span></div><div class='line' id='LC102'><br/></div><div class='line' id='LC103'>	<span class="c1">// fire vetoable &#39;validate&#39; event</span></div><div class='line' id='LC104'>	<span class="k">this</span><span class="p">.</span><span class="nx">trigger</span><span class="p">(</span><span class="s1">&#39;form-submit-validate&#39;</span><span class="p">,</span> <span class="p">[</span><span class="nx">a</span><span class="p">,</span> <span class="k">this</span><span class="p">,</span> <span class="nx">options</span><span class="p">,</span> <span class="nx">veto</span><span class="p">]);</span></div><div class='line' id='LC105'>	<span class="k">if</span> <span class="p">(</span><span class="nx">veto</span><span class="p">.</span><span class="nx">veto</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC106'>		<span class="nx">log</span><span class="p">(</span><span class="s1">&#39;ajaxSubmit: submit vetoed via form-submit-validate trigger&#39;</span><span class="p">);</span></div><div class='line' id='LC107'>		<span class="k">return</span> <span class="k">this</span><span class="p">;</span></div><div class='line' id='LC108'>	<span class="p">}</span></div><div class='line' id='LC109'><br/></div><div class='line' id='LC110'>	<span class="kd">var</span> <span class="nx">q</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">param</span><span class="p">(</span><span class="nx">a</span><span class="p">);</span></div><div class='line' id='LC111'><br/></div><div class='line' id='LC112'>	<span class="k">if</span> <span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">type</span><span class="p">.</span><span class="nx">toUpperCase</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;GET&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC113'>		<span class="nx">options</span><span class="p">.</span><span class="nx">url</span> <span class="o">+=</span> <span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">url</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="s1">&#39;?&#39;</span><span class="p">)</span> <span class="o">&gt;=</span> <span class="mi">0</span> <span class="o">?</span> <span class="s1">&#39;&amp;&#39;</span> <span class="o">:</span> <span class="s1">&#39;?&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="nx">q</span><span class="p">;</span></div><div class='line' id='LC114'>		<span class="nx">options</span><span class="p">.</span><span class="nx">data</span> <span class="o">=</span> <span class="kc">null</span><span class="p">;</span>  <span class="c1">// data is null for &#39;get&#39;</span></div><div class='line' id='LC115'>	<span class="p">}</span></div><div class='line' id='LC116'>	<span class="k">else</span></div><div class='line' id='LC117'>		<span class="nx">options</span><span class="p">.</span><span class="nx">data</span> <span class="o">=</span> <span class="nx">q</span><span class="p">;</span> <span class="c1">// data is the query string for &#39;post&#39;</span></div><div class='line' id='LC118'><br/></div><div class='line' id='LC119'>	<span class="kd">var</span> <span class="nx">$form</span> <span class="o">=</span> <span class="k">this</span><span class="p">,</span> <span class="nx">callbacks</span> <span class="o">=</span> <span class="p">[];</span></div><div class='line' id='LC120'>	<span class="k">if</span> <span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">resetForm</span><span class="p">)</span> <span class="nx">callbacks</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="nx">$form</span><span class="p">.</span><span class="nx">resetForm</span><span class="p">();</span> <span class="p">});</span></div><div class='line' id='LC121'>	<span class="k">if</span> <span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">clearForm</span><span class="p">)</span> <span class="nx">callbacks</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="nx">$form</span><span class="p">.</span><span class="nx">clearForm</span><span class="p">();</span> <span class="p">});</span></div><div class='line' id='LC122'><br/></div><div class='line' id='LC123'>	<span class="c1">// perform a load on the target only if dataType is not provided</span></div><div class='line' id='LC124'>	<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">options</span><span class="p">.</span><span class="nx">dataType</span> <span class="o">&amp;&amp;</span> <span class="nx">options</span><span class="p">.</span><span class="nx">target</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC125'>		<span class="kd">var</span> <span class="nx">oldSuccess</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">success</span> <span class="o">||</span> <span class="kd">function</span><span class="p">(){};</span></div><div class='line' id='LC126'>		<span class="nx">callbacks</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC127'>			<span class="kd">var</span> <span class="nx">fn</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">replaceTarget</span> <span class="o">?</span> <span class="s1">&#39;replaceWith&#39;</span> <span class="o">:</span> <span class="s1">&#39;html&#39;</span><span class="p">;</span></div><div class='line' id='LC128'>			<span class="nx">$</span><span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">target</span><span class="p">)[</span><span class="nx">fn</span><span class="p">](</span><span class="nx">data</span><span class="p">).</span><span class="nx">each</span><span class="p">(</span><span class="nx">oldSuccess</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span></div><div class='line' id='LC129'>		<span class="p">});</span></div><div class='line' id='LC130'>	<span class="p">}</span></div><div class='line' id='LC131'>	<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">success</span><span class="p">)</span></div><div class='line' id='LC132'>		<span class="nx">callbacks</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">success</span><span class="p">);</span></div><div class='line' id='LC133'><br/></div><div class='line' id='LC134'>	<span class="nx">options</span><span class="p">.</span><span class="nx">success</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">data</span><span class="p">,</span> <span class="nx">status</span><span class="p">,</span> <span class="nx">xhr</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// jQuery 1.4+ passes xhr as 3rd arg</span></div><div class='line' id='LC135'>		<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">max</span><span class="o">=</span><span class="nx">callbacks</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">max</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span></div><div class='line' id='LC136'>			<span class="nx">callbacks</span><span class="p">[</span><span class="nx">i</span><span class="p">].</span><span class="nx">apply</span><span class="p">(</span><span class="nx">options</span><span class="p">,</span> <span class="p">[</span><span class="nx">data</span><span class="p">,</span> <span class="nx">status</span><span class="p">,</span> <span class="nx">xhr</span> <span class="o">||</span> <span class="nx">$form</span><span class="p">,</span> <span class="nx">$form</span><span class="p">]);</span></div><div class='line' id='LC137'>	<span class="p">};</span></div><div class='line' id='LC138'><br/></div><div class='line' id='LC139'>	<span class="c1">// are there files to upload?</span></div><div class='line' id='LC140'>	<span class="kd">var</span> <span class="nx">files</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;input:file&#39;</span><span class="p">,</span> <span class="k">this</span><span class="p">).</span><span class="nx">fieldValue</span><span class="p">();</span></div><div class='line' id='LC141'>	<span class="kd">var</span> <span class="nx">found</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span></div><div class='line' id='LC142'>	<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">j</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="nx">j</span> <span class="o">&lt;</span> <span class="nx">files</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">j</span><span class="o">++</span><span class="p">)</span></div><div class='line' id='LC143'>		<span class="k">if</span> <span class="p">(</span><span class="nx">files</span><span class="p">[</span><span class="nx">j</span><span class="p">])</span></div><div class='line' id='LC144'>			<span class="nx">found</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC145'><br/></div><div class='line' id='LC146'>	<span class="kd">var</span> <span class="nx">multipart</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span></div><div class='line' id='LC147'><span class="c1">//	var mp = &#39;multipart/form-data&#39;;</span></div><div class='line' id='LC148'><span class="c1">//	multipart = ($form.attr(&#39;enctype&#39;) == mp || $form.attr(&#39;encoding&#39;) == mp);</span></div><div class='line' id='LC149'><br/></div><div class='line' id='LC150'>	<span class="c1">// options.iframe allows user to force iframe mode</span></div><div class='line' id='LC151'>	<span class="c1">// 06-NOV-09: now defaulting to iframe mode if file input is detected</span></div><div class='line' id='LC152'>&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="p">((</span><span class="nx">files</span><span class="p">.</span><span class="nx">length</span> <span class="o">&amp;&amp;</span> <span class="nx">options</span><span class="p">.</span><span class="nx">iframe</span> <span class="o">!==</span> <span class="kc">false</span><span class="p">)</span> <span class="o">||</span> <span class="nx">options</span><span class="p">.</span><span class="nx">iframe</span> <span class="o">||</span> <span class="nx">found</span> <span class="o">||</span> <span class="nx">multipart</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC153'>	   <span class="c1">// hack to fix Safari hang (thanks to Tim Molendijk for this)</span></div><div class='line' id='LC154'>	   <span class="c1">// see:  http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d</span></div><div class='line' id='LC155'>	   <span class="k">if</span> <span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">closeKeepAlive</span><span class="p">)</span></div><div class='line' id='LC156'>		   <span class="nx">$</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">closeKeepAlive</span><span class="p">,</span> <span class="nx">fileUpload</span><span class="p">);</span></div><div class='line' id='LC157'>	   <span class="k">else</span></div><div class='line' id='LC158'>		   <span class="nx">fileUpload</span><span class="p">();</span></div><div class='line' id='LC159'>	   <span class="p">}</span></div><div class='line' id='LC160'>&nbsp;&nbsp;&nbsp;<span class="k">else</span></div><div class='line' id='LC161'>	   <span class="nx">$</span><span class="p">.</span><span class="nx">ajax</span><span class="p">(</span><span class="nx">options</span><span class="p">);</span></div><div class='line' id='LC162'><br/></div><div class='line' id='LC163'>	<span class="c1">// fire &#39;notify&#39; event</span></div><div class='line' id='LC164'>	<span class="k">this</span><span class="p">.</span><span class="nx">trigger</span><span class="p">(</span><span class="s1">&#39;form-submit-notify&#39;</span><span class="p">,</span> <span class="p">[</span><span class="k">this</span><span class="p">,</span> <span class="nx">options</span><span class="p">]);</span></div><div class='line' id='LC165'>	<span class="k">return</span> <span class="k">this</span><span class="p">;</span></div><div class='line' id='LC166'><br/></div><div class='line' id='LC167'><br/></div><div class='line' id='LC168'>	<span class="c1">// private function for handling file uploads (hat tip to YAHOO!)</span></div><div class='line' id='LC169'>	<span class="kd">function</span> <span class="nx">fileUpload</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC170'>		<span class="kd">var</span> <span class="nx">form</span> <span class="o">=</span> <span class="nx">$form</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span></div><div class='line' id='LC171'><br/></div><div class='line' id='LC172'>		<span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="s1">&#39;:input[name=submit]&#39;</span><span class="p">,</span> <span class="nx">form</span><span class="p">).</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC173'>			<span class="nx">alert</span><span class="p">(</span><span class="s1">&#39;Error: Form elements must not be named &quot;submit&quot;.&#39;</span><span class="p">);</span></div><div class='line' id='LC174'>			<span class="k">return</span><span class="p">;</span></div><div class='line' id='LC175'>		<span class="p">}</span></div><div class='line' id='LC176'><br/></div><div class='line' id='LC177'>		<span class="kd">var</span> <span class="nx">opts</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">extend</span><span class="p">({},</span> <span class="nx">$</span><span class="p">.</span><span class="nx">ajaxSettings</span><span class="p">,</span> <span class="nx">options</span><span class="p">);</span></div><div class='line' id='LC178'>		<span class="kd">var</span> <span class="nx">s</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="kc">true</span><span class="p">,</span> <span class="p">{},</span> <span class="nx">$</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="kc">true</span><span class="p">,</span> <span class="p">{},</span> <span class="nx">$</span><span class="p">.</span><span class="nx">ajaxSettings</span><span class="p">),</span> <span class="nx">opts</span><span class="p">);</span></div><div class='line' id='LC179'><br/></div><div class='line' id='LC180'>		<span class="kd">var</span> <span class="nx">id</span> <span class="o">=</span> <span class="s1">&#39;jqFormIO&#39;</span> <span class="o">+</span> <span class="p">(</span><span class="k">new</span> <span class="nb">Date</span><span class="p">().</span><span class="nx">getTime</span><span class="p">());</span></div><div class='line' id='LC181'>		<span class="kd">var</span> <span class="nx">$io</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;&lt;iframe id=&quot;&#39;</span> <span class="o">+</span> <span class="nx">id</span> <span class="o">+</span> <span class="s1">&#39;&quot; name=&quot;&#39;</span> <span class="o">+</span> <span class="nx">id</span> <span class="o">+</span> <span class="s1">&#39;&quot; src=&quot;&#39;</span><span class="o">+</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">iframeSrc</span> <span class="o">+</span><span class="s1">&#39;&quot; onload=&quot;(jQuery(this).data(\&#39;form-plugin-onload\&#39;))()&quot; /&gt;&#39;</span><span class="p">);</span></div><div class='line' id='LC182'>		<span class="kd">var</span> <span class="nx">io</span> <span class="o">=</span> <span class="nx">$io</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span></div><div class='line' id='LC183'><br/></div><div class='line' id='LC184'>		<span class="nx">$io</span><span class="p">.</span><span class="nx">css</span><span class="p">({</span> <span class="nx">position</span><span class="o">:</span> <span class="s1">&#39;absolute&#39;</span><span class="p">,</span> <span class="nx">top</span><span class="o">:</span> <span class="s1">&#39;-1000px&#39;</span><span class="p">,</span> <span class="nx">left</span><span class="o">:</span> <span class="s1">&#39;-1000px&#39;</span> <span class="p">});</span></div><div class='line' id='LC185'><br/></div><div class='line' id='LC186'>		<span class="kd">var</span> <span class="nx">xhr</span> <span class="o">=</span> <span class="p">{</span> <span class="c1">// mock object</span></div><div class='line' id='LC187'>			<span class="nx">aborted</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span></div><div class='line' id='LC188'>			<span class="nx">responseText</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span></div><div class='line' id='LC189'>			<span class="nx">responseXML</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span></div><div class='line' id='LC190'>			<span class="nx">status</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span></div><div class='line' id='LC191'>			<span class="nx">statusText</span><span class="o">:</span> <span class="s1">&#39;n/a&#39;</span><span class="p">,</span></div><div class='line' id='LC192'>			<span class="nx">getAllResponseHeaders</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{},</span></div><div class='line' id='LC193'>			<span class="nx">getResponseHeader</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{},</span></div><div class='line' id='LC194'>			<span class="nx">setRequestHeader</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{},</span></div><div class='line' id='LC195'>			<span class="nx">abort</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC196'>				<span class="k">this</span><span class="p">.</span><span class="nx">aborted</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span></div><div class='line' id='LC197'>				<span class="nx">$io</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;src&#39;</span><span class="p">,</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">iframeSrc</span><span class="p">);</span> <span class="c1">// abort op in progress</span></div><div class='line' id='LC198'>			<span class="p">}</span></div><div class='line' id='LC199'>		<span class="p">};</span></div><div class='line' id='LC200'><br/></div><div class='line' id='LC201'>		<span class="kd">var</span> <span class="nx">g</span> <span class="o">=</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">global</span><span class="p">;</span></div><div class='line' id='LC202'>		<span class="c1">// trigger ajax global events so that activity/block indicators work like normal</span></div><div class='line' id='LC203'>		<span class="k">if</span> <span class="p">(</span><span class="nx">g</span> <span class="o">&amp;&amp;</span> <span class="o">!</span> <span class="nx">$</span><span class="p">.</span><span class="nx">active</span><span class="o">++</span><span class="p">)</span> <span class="nx">$</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">trigger</span><span class="p">(</span><span class="s2">&quot;ajaxStart&quot;</span><span class="p">);</span></div><div class='line' id='LC204'>		<span class="k">if</span> <span class="p">(</span><span class="nx">g</span><span class="p">)</span> <span class="nx">$</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">trigger</span><span class="p">(</span><span class="s2">&quot;ajaxSend&quot;</span><span class="p">,</span> <span class="p">[</span><span class="nx">xhr</span><span class="p">,</span> <span class="nx">opts</span><span class="p">]);</span></div><div class='line' id='LC205'><br/></div><div class='line' id='LC206'>		<span class="k">if</span> <span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">beforeSend</span> <span class="o">&amp;&amp;</span> <span class="nx">s</span><span class="p">.</span><span class="nx">beforeSend</span><span class="p">(</span><span class="nx">xhr</span><span class="p">,</span> <span class="nx">s</span><span class="p">)</span> <span class="o">===</span> <span class="kc">false</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC207'>			<span class="nx">s</span><span class="p">.</span><span class="nx">global</span> <span class="o">&amp;&amp;</span> <span class="nx">$</span><span class="p">.</span><span class="nx">active</span><span class="o">--</span><span class="p">;</span></div><div class='line' id='LC208'>			<span class="k">return</span><span class="p">;</span></div><div class='line' id='LC209'>		<span class="p">}</span></div><div class='line' id='LC210'>		<span class="k">if</span> <span class="p">(</span><span class="nx">xhr</span><span class="p">.</span><span class="nx">aborted</span><span class="p">)</span></div><div class='line' id='LC211'>			<span class="k">return</span><span class="p">;</span></div><div class='line' id='LC212'><br/></div><div class='line' id='LC213'>		<span class="kd">var</span> <span class="nx">cbInvoked</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span></div><div class='line' id='LC214'>		<span class="kd">var</span> <span class="nx">timedOut</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span></div><div class='line' id='LC215'><br/></div><div class='line' id='LC216'>		<span class="c1">// add submitting element to data if we know it</span></div><div class='line' id='LC217'>		<span class="kd">var</span> <span class="nx">sub</span> <span class="o">=</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk</span><span class="p">;</span></div><div class='line' id='LC218'>		<span class="k">if</span> <span class="p">(</span><span class="nx">sub</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC219'>			<span class="kd">var</span> <span class="nx">n</span> <span class="o">=</span> <span class="nx">sub</span><span class="p">.</span><span class="nx">name</span><span class="p">;</span></div><div class='line' id='LC220'>			<span class="k">if</span> <span class="p">(</span><span class="nx">n</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">sub</span><span class="p">.</span><span class="nx">disabled</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC221'>				<span class="nx">opts</span><span class="p">.</span><span class="nx">extraData</span> <span class="o">=</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">extraData</span> <span class="o">||</span> <span class="p">{};</span></div><div class='line' id='LC222'>				<span class="nx">opts</span><span class="p">.</span><span class="nx">extraData</span><span class="p">[</span><span class="nx">n</span><span class="p">]</span> <span class="o">=</span> <span class="nx">sub</span><span class="p">.</span><span class="nx">value</span><span class="p">;</span></div><div class='line' id='LC223'>				<span class="k">if</span> <span class="p">(</span><span class="nx">sub</span><span class="p">.</span><span class="nx">type</span> <span class="o">==</span> <span class="s2">&quot;image&quot;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC224'>					<span class="nx">opts</span><span class="p">.</span><span class="nx">extraData</span><span class="p">[</span><span class="nx">n</span><span class="o">+</span><span class="s1">&#39;.x&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk_x</span><span class="p">;</span></div><div class='line' id='LC225'>					<span class="nx">opts</span><span class="p">.</span><span class="nx">extraData</span><span class="p">[</span><span class="nx">n</span><span class="o">+</span><span class="s1">&#39;.y&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk_y</span><span class="p">;</span></div><div class='line' id='LC226'>				<span class="p">}</span></div><div class='line' id='LC227'>			<span class="p">}</span></div><div class='line' id='LC228'>		<span class="p">}</span></div><div class='line' id='LC229'><br/></div><div class='line' id='LC230'>		<span class="c1">// take a breath so that pending repaints get some cpu time before the upload starts</span></div><div class='line' id='LC231'>		<span class="kd">function</span> <span class="nx">doSubmit</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC232'>			<span class="c1">// make sure form attrs are set</span></div><div class='line' id='LC233'>			<span class="kd">var</span> <span class="nx">t</span> <span class="o">=</span> <span class="nx">$form</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;target&#39;</span><span class="p">),</span> <span class="nx">a</span> <span class="o">=</span> <span class="nx">$form</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">&#39;action&#39;</span><span class="p">);</span></div><div class='line' id='LC234'><br/></div><div class='line' id='LC235'>			<span class="c1">// update form attrs in IE friendly way</span></div><div class='line' id='LC236'>			<span class="nx">form</span><span class="p">.</span><span class="nx">setAttribute</span><span class="p">(</span><span class="s1">&#39;target&#39;</span><span class="p">,</span><span class="nx">id</span><span class="p">);</span></div><div class='line' id='LC237'>			<span class="k">if</span> <span class="p">(</span><span class="nx">form</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s1">&#39;method&#39;</span><span class="p">)</span> <span class="o">!=</span> <span class="s1">&#39;POST&#39;</span><span class="p">)</span></div><div class='line' id='LC238'>				<span class="nx">form</span><span class="p">.</span><span class="nx">setAttribute</span><span class="p">(</span><span class="s1">&#39;method&#39;</span><span class="p">,</span> <span class="s1">&#39;POST&#39;</span><span class="p">);</span></div><div class='line' id='LC239'>			<span class="k">if</span> <span class="p">(</span><span class="nx">form</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s1">&#39;action&#39;</span><span class="p">)</span> <span class="o">!=</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">url</span><span class="p">)</span></div><div class='line' id='LC240'>				<span class="nx">form</span><span class="p">.</span><span class="nx">setAttribute</span><span class="p">(</span><span class="s1">&#39;action&#39;</span><span class="p">,</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">url</span><span class="p">);</span></div><div class='line' id='LC241'><br/></div><div class='line' id='LC242'>			<span class="c1">// ie borks in some cases when setting encoding</span></div><div class='line' id='LC243'>			<span class="k">if</span> <span class="p">(</span><span class="o">!</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">skipEncodingOverride</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC244'>				<span class="nx">$form</span><span class="p">.</span><span class="nx">attr</span><span class="p">({</span></div><div class='line' id='LC245'>					<span class="nx">encoding</span><span class="o">:</span> <span class="s1">&#39;multipart/form-data&#39;</span><span class="p">,</span></div><div class='line' id='LC246'>					<span class="nx">enctype</span><span class="o">:</span>  <span class="s1">&#39;multipart/form-data&#39;</span></div><div class='line' id='LC247'>				<span class="p">});</span></div><div class='line' id='LC248'>			<span class="p">}</span></div><div class='line' id='LC249'><br/></div><div class='line' id='LC250'>			<span class="c1">// support timout</span></div><div class='line' id='LC251'>			<span class="k">if</span> <span class="p">(</span><span class="nx">opts</span><span class="p">.</span><span class="nx">timeout</span><span class="p">)</span></div><div class='line' id='LC252'>				<span class="nx">setTimeout</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="nx">timedOut</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span> <span class="nx">cb</span><span class="p">();</span> <span class="p">},</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">timeout</span><span class="p">);</span></div><div class='line' id='LC253'><br/></div><div class='line' id='LC254'>			<span class="c1">// add &quot;extra&quot; data to form if provided in options</span></div><div class='line' id='LC255'>			<span class="kd">var</span> <span class="nx">extraInputs</span> <span class="o">=</span> <span class="p">[];</span></div><div class='line' id='LC256'>			<span class="k">try</span> <span class="p">{</span></div><div class='line' id='LC257'>				<span class="k">if</span> <span class="p">(</span><span class="nx">opts</span><span class="p">.</span><span class="nx">extraData</span><span class="p">)</span></div><div class='line' id='LC258'>					<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">n</span> <span class="k">in</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">extraData</span><span class="p">)</span></div><div class='line' id='LC259'>						<span class="nx">extraInputs</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span></div><div class='line' id='LC260'>							<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;&lt;input type=&quot;hidden&quot; name=&quot;&#39;</span><span class="o">+</span><span class="nx">n</span><span class="o">+</span><span class="s1">&#39;&quot; value=&quot;&#39;</span><span class="o">+</span><span class="nx">opts</span><span class="p">.</span><span class="nx">extraData</span><span class="p">[</span><span class="nx">n</span><span class="p">]</span><span class="o">+</span><span class="s1">&#39;&quot; /&gt;&#39;</span><span class="p">)</span></div><div class='line' id='LC261'>								<span class="p">.</span><span class="nx">appendTo</span><span class="p">(</span><span class="nx">form</span><span class="p">)[</span><span class="mi">0</span><span class="p">]);</span></div><div class='line' id='LC262'><br/></div><div class='line' id='LC263'>				<span class="c1">// add iframe to doc and submit the form</span></div><div class='line' id='LC264'>				<span class="nx">$io</span><span class="p">.</span><span class="nx">appendTo</span><span class="p">(</span><span class="s1">&#39;body&#39;</span><span class="p">);</span></div><div class='line' id='LC265'>				<span class="nx">$io</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">&#39;form-plugin-onload&#39;</span><span class="p">,</span> <span class="nx">cb</span><span class="p">);</span></div><div class='line' id='LC266'>				<span class="nx">form</span><span class="p">.</span><span class="nx">submit</span><span class="p">();</span></div><div class='line' id='LC267'>			<span class="p">}</span></div><div class='line' id='LC268'>			<span class="k">finally</span> <span class="p">{</span></div><div class='line' id='LC269'>				<span class="c1">// reset attrs and remove &quot;extra&quot; input elements</span></div><div class='line' id='LC270'>				<span class="nx">form</span><span class="p">.</span><span class="nx">setAttribute</span><span class="p">(</span><span class="s1">&#39;action&#39;</span><span class="p">,</span><span class="nx">a</span><span class="p">);</span></div><div class='line' id='LC271'>				<span class="nx">t</span> <span class="o">?</span> <span class="nx">form</span><span class="p">.</span><span class="nx">setAttribute</span><span class="p">(</span><span class="s1">&#39;target&#39;</span><span class="p">,</span> <span class="nx">t</span><span class="p">)</span> <span class="o">:</span> <span class="nx">$form</span><span class="p">.</span><span class="nx">removeAttr</span><span class="p">(</span><span class="s1">&#39;target&#39;</span><span class="p">);</span></div><div class='line' id='LC272'>				<span class="nx">$</span><span class="p">(</span><span class="nx">extraInputs</span><span class="p">).</span><span class="nx">remove</span><span class="p">();</span></div><div class='line' id='LC273'>			<span class="p">}</span></div><div class='line' id='LC274'>		<span class="p">};</span></div><div class='line' id='LC275'><br/></div><div class='line' id='LC276'>		<span class="k">if</span> <span class="p">(</span><span class="nx">opts</span><span class="p">.</span><span class="nx">forceSync</span><span class="p">)</span></div><div class='line' id='LC277'>			<span class="nx">doSubmit</span><span class="p">();</span></div><div class='line' id='LC278'>		<span class="k">else</span></div><div class='line' id='LC279'>			<span class="nx">setTimeout</span><span class="p">(</span><span class="nx">doSubmit</span><span class="p">,</span> <span class="mi">10</span><span class="p">);</span> <span class="c1">// this lets dom updates render</span></div><div class='line' id='LC280'><br/></div><div class='line' id='LC281'>		<span class="kd">var</span> <span class="nx">domCheckCount</span> <span class="o">=</span> <span class="mi">100</span><span class="p">;</span></div><div class='line' id='LC282'><br/></div><div class='line' id='LC283'>		<span class="kd">function</span> <span class="nx">cb</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC284'>			<span class="k">if</span> <span class="p">(</span><span class="nx">cbInvoked</span><span class="p">)</span> </div><div class='line' id='LC285'>				<span class="k">return</span><span class="p">;</span></div><div class='line' id='LC286'><br/></div><div class='line' id='LC287'>			<span class="kd">var</span> <span class="nx">ok</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC288'>			<span class="k">try</span> <span class="p">{</span></div><div class='line' id='LC289'>				<span class="k">if</span> <span class="p">(</span><span class="nx">timedOut</span><span class="p">)</span> <span class="k">throw</span> <span class="s1">&#39;timeout&#39;</span><span class="p">;</span></div><div class='line' id='LC290'>				<span class="c1">// extract the server response from the iframe</span></div><div class='line' id='LC291'>				<span class="kd">var</span> <span class="nx">data</span><span class="p">,</span> <span class="nx">doc</span><span class="p">;</span></div><div class='line' id='LC292'><br/></div><div class='line' id='LC293'>				<span class="nx">doc</span> <span class="o">=</span> <span class="nx">io</span><span class="p">.</span><span class="nx">contentWindow</span> <span class="o">?</span> <span class="nx">io</span><span class="p">.</span><span class="nx">contentWindow</span><span class="p">.</span><span class="nb">document</span> <span class="o">:</span> <span class="nx">io</span><span class="p">.</span><span class="nx">contentDocument</span> <span class="o">?</span> <span class="nx">io</span><span class="p">.</span><span class="nx">contentDocument</span> <span class="o">:</span> <span class="nx">io</span><span class="p">.</span><span class="nb">document</span><span class="p">;</span></div><div class='line' id='LC294'><br/></div><div class='line' id='LC295'>				<span class="kd">var</span> <span class="nx">isXml</span> <span class="o">=</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">dataType</span> <span class="o">==</span> <span class="s1">&#39;xml&#39;</span> <span class="o">||</span> <span class="nx">doc</span><span class="p">.</span><span class="nx">XMLDocument</span> <span class="o">||</span> <span class="nx">$</span><span class="p">.</span><span class="nx">isXMLDoc</span><span class="p">(</span><span class="nx">doc</span><span class="p">);</span></div><div class='line' id='LC296'>				<span class="nx">log</span><span class="p">(</span><span class="s1">&#39;isXml=&#39;</span><span class="o">+</span><span class="nx">isXml</span><span class="p">);</span></div><div class='line' id='LC297'>				<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">isXml</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="nx">doc</span><span class="p">.</span><span class="nx">body</span> <span class="o">==</span> <span class="kc">null</span> <span class="o">||</span> <span class="nx">doc</span><span class="p">.</span><span class="nx">body</span><span class="p">.</span><span class="nx">innerHTML</span> <span class="o">==</span> <span class="s1">&#39;&#39;</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC298'>				 	<span class="k">if</span> <span class="p">(</span><span class="o">--</span><span class="nx">domCheckCount</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC299'>						<span class="c1">// in some browsers (Opera) the iframe DOM is not always traversable when</span></div><div class='line' id='LC300'>						<span class="c1">// the onload callback fires, so we loop a bit to accommodate</span></div><div class='line' id='LC301'>				 		<span class="nx">log</span><span class="p">(</span><span class="s1">&#39;requeing onLoad callback, DOM not available&#39;</span><span class="p">);</span></div><div class='line' id='LC302'>						<span class="nx">setTimeout</span><span class="p">(</span><span class="nx">cb</span><span class="p">,</span> <span class="mi">250</span><span class="p">);</span></div><div class='line' id='LC303'>						<span class="k">return</span><span class="p">;</span></div><div class='line' id='LC304'>					<span class="p">}</span></div><div class='line' id='LC305'>					<span class="nx">log</span><span class="p">(</span><span class="s1">&#39;Could not access iframe DOM after 100 tries.&#39;</span><span class="p">);</span></div><div class='line' id='LC306'>					<span class="k">return</span><span class="p">;</span></div><div class='line' id='LC307'>				<span class="p">}</span></div><div class='line' id='LC308'><br/></div><div class='line' id='LC309'>				<span class="nx">log</span><span class="p">(</span><span class="s1">&#39;response detected&#39;</span><span class="p">);</span></div><div class='line' id='LC310'>				<span class="nx">cbInvoked</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC311'>				<span class="nx">xhr</span><span class="p">.</span><span class="nx">responseText</span> <span class="o">=</span> <span class="nx">doc</span><span class="p">.</span><span class="nx">body</span> <span class="o">?</span> <span class="nx">doc</span><span class="p">.</span><span class="nx">body</span><span class="p">.</span><span class="nx">innerHTML</span> <span class="o">:</span> <span class="kc">null</span><span class="p">;</span></div><div class='line' id='LC312'>				<span class="nx">xhr</span><span class="p">.</span><span class="nx">responseXML</span> <span class="o">=</span> <span class="nx">doc</span><span class="p">.</span><span class="nx">XMLDocument</span> <span class="o">?</span> <span class="nx">doc</span><span class="p">.</span><span class="nx">XMLDocument</span> <span class="o">:</span> <span class="nx">doc</span><span class="p">;</span></div><div class='line' id='LC313'>				<span class="nx">xhr</span><span class="p">.</span><span class="nx">getResponseHeader</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">header</span><span class="p">){</span></div><div class='line' id='LC314'>					<span class="kd">var</span> <span class="nx">headers</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;content-type&#39;</span><span class="o">:</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">dataType</span><span class="p">};</span></div><div class='line' id='LC315'>					<span class="k">return</span> <span class="nx">headers</span><span class="p">[</span><span class="nx">header</span><span class="p">];</span></div><div class='line' id='LC316'>				<span class="p">};</span></div><div class='line' id='LC317'><br/></div><div class='line' id='LC318'>				<span class="k">if</span> <span class="p">(</span><span class="nx">opts</span><span class="p">.</span><span class="nx">dataType</span> <span class="o">==</span> <span class="s1">&#39;json&#39;</span> <span class="o">||</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">dataType</span> <span class="o">==</span> <span class="s1">&#39;script&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC319'>					<span class="c1">// see if user embedded response in textarea</span></div><div class='line' id='LC320'>					<span class="kd">var</span> <span class="nx">ta</span> <span class="o">=</span> <span class="nx">doc</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s1">&#39;textarea&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">];</span></div><div class='line' id='LC321'>					<span class="k">if</span> <span class="p">(</span><span class="nx">ta</span><span class="p">)</span></div><div class='line' id='LC322'>						<span class="nx">xhr</span><span class="p">.</span><span class="nx">responseText</span> <span class="o">=</span> <span class="nx">ta</span><span class="p">.</span><span class="nx">value</span><span class="p">;</span></div><div class='line' id='LC323'>					<span class="k">else</span> <span class="p">{</span></div><div class='line' id='LC324'>						<span class="c1">// account for browsers injecting pre around json response</span></div><div class='line' id='LC325'>						<span class="kd">var</span> <span class="nx">pre</span> <span class="o">=</span> <span class="nx">doc</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s1">&#39;pre&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">];</span></div><div class='line' id='LC326'>						<span class="k">if</span> <span class="p">(</span><span class="nx">pre</span><span class="p">)</span></div><div class='line' id='LC327'>							<span class="nx">xhr</span><span class="p">.</span><span class="nx">responseText</span> <span class="o">=</span> <span class="nx">pre</span><span class="p">.</span><span class="nx">innerHTML</span><span class="p">;</span></div><div class='line' id='LC328'>					<span class="p">}</span>			  </div><div class='line' id='LC329'>				<span class="p">}</span></div><div class='line' id='LC330'>				<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">opts</span><span class="p">.</span><span class="nx">dataType</span> <span class="o">==</span> <span class="s1">&#39;xml&#39;</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">xhr</span><span class="p">.</span><span class="nx">responseXML</span> <span class="o">&amp;&amp;</span> <span class="nx">xhr</span><span class="p">.</span><span class="nx">responseText</span> <span class="o">!=</span> <span class="kc">null</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC331'>					<span class="nx">xhr</span><span class="p">.</span><span class="nx">responseXML</span> <span class="o">=</span> <span class="nx">toXml</span><span class="p">(</span><span class="nx">xhr</span><span class="p">.</span><span class="nx">responseText</span><span class="p">);</span></div><div class='line' id='LC332'>				<span class="p">}</span></div><div class='line' id='LC333'>				<span class="nx">data</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">httpData</span><span class="p">(</span><span class="nx">xhr</span><span class="p">,</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">dataType</span><span class="p">);</span></div><div class='line' id='LC334'>			<span class="p">}</span></div><div class='line' id='LC335'>			<span class="k">catch</span><span class="p">(</span><span class="nx">e</span><span class="p">){</span></div><div class='line' id='LC336'>				<span class="nx">log</span><span class="p">(</span><span class="s1">&#39;error caught:&#39;</span><span class="p">,</span><span class="nx">e</span><span class="p">);</span></div><div class='line' id='LC337'>				<span class="nx">ok</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span></div><div class='line' id='LC338'>				<span class="nx">xhr</span><span class="p">.</span><span class="nx">error</span> <span class="o">=</span> <span class="nx">e</span><span class="p">;</span></div><div class='line' id='LC339'>				<span class="nx">$</span><span class="p">.</span><span class="nx">handleError</span><span class="p">(</span><span class="nx">opts</span><span class="p">,</span> <span class="nx">xhr</span><span class="p">,</span> <span class="s1">&#39;error&#39;</span><span class="p">,</span> <span class="nx">e</span><span class="p">);</span></div><div class='line' id='LC340'>			<span class="p">}</span></div><div class='line' id='LC341'><br/></div><div class='line' id='LC342'>			<span class="c1">// ordering of these callbacks/triggers is odd, but that&#39;s how $.ajax does it</span></div><div class='line' id='LC343'>			<span class="k">if</span> <span class="p">(</span><span class="nx">ok</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC344'>				<span class="nx">opts</span><span class="p">.</span><span class="nx">success</span><span class="p">(</span><span class="nx">data</span><span class="p">,</span> <span class="s1">&#39;success&#39;</span><span class="p">);</span></div><div class='line' id='LC345'>				<span class="k">if</span> <span class="p">(</span><span class="nx">g</span><span class="p">)</span> <span class="nx">$</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">trigger</span><span class="p">(</span><span class="s2">&quot;ajaxSuccess&quot;</span><span class="p">,</span> <span class="p">[</span><span class="nx">xhr</span><span class="p">,</span> <span class="nx">opts</span><span class="p">]);</span></div><div class='line' id='LC346'>			<span class="p">}</span></div><div class='line' id='LC347'>			<span class="k">if</span> <span class="p">(</span><span class="nx">g</span><span class="p">)</span> <span class="nx">$</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">trigger</span><span class="p">(</span><span class="s2">&quot;ajaxComplete&quot;</span><span class="p">,</span> <span class="p">[</span><span class="nx">xhr</span><span class="p">,</span> <span class="nx">opts</span><span class="p">]);</span></div><div class='line' id='LC348'>			<span class="k">if</span> <span class="p">(</span><span class="nx">g</span> <span class="o">&amp;&amp;</span> <span class="o">!</span> <span class="o">--</span><span class="nx">$</span><span class="p">.</span><span class="nx">active</span><span class="p">)</span> <span class="nx">$</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">trigger</span><span class="p">(</span><span class="s2">&quot;ajaxStop&quot;</span><span class="p">);</span></div><div class='line' id='LC349'>			<span class="k">if</span> <span class="p">(</span><span class="nx">opts</span><span class="p">.</span><span class="nx">complete</span><span class="p">)</span> <span class="nx">opts</span><span class="p">.</span><span class="nx">complete</span><span class="p">(</span><span class="nx">xhr</span><span class="p">,</span> <span class="nx">ok</span> <span class="o">?</span> <span class="s1">&#39;success&#39;</span> <span class="o">:</span> <span class="s1">&#39;error&#39;</span><span class="p">);</span></div><div class='line' id='LC350'><br/></div><div class='line' id='LC351'>			<span class="c1">// clean up</span></div><div class='line' id='LC352'>			<span class="nx">setTimeout</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC353'>				<span class="nx">$io</span><span class="p">.</span><span class="nx">removeData</span><span class="p">(</span><span class="s1">&#39;form-plugin-onload&#39;</span><span class="p">);</span></div><div class='line' id='LC354'>				<span class="nx">$io</span><span class="p">.</span><span class="nx">remove</span><span class="p">();</span></div><div class='line' id='LC355'>				<span class="nx">xhr</span><span class="p">.</span><span class="nx">responseXML</span> <span class="o">=</span> <span class="kc">null</span><span class="p">;</span></div><div class='line' id='LC356'>			<span class="p">},</span> <span class="mi">100</span><span class="p">);</span></div><div class='line' id='LC357'>		<span class="p">};</span></div><div class='line' id='LC358'><br/></div><div class='line' id='LC359'>		<span class="kd">function</span> <span class="nx">toXml</span><span class="p">(</span><span class="nx">s</span><span class="p">,</span> <span class="nx">doc</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC360'>			<span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">ActiveXObject</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC361'>				<span class="nx">doc</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">ActiveXObject</span><span class="p">(</span><span class="s1">&#39;Microsoft.XMLDOM&#39;</span><span class="p">);</span></div><div class='line' id='LC362'>				<span class="nx">doc</span><span class="p">.</span><span class="nx">async</span> <span class="o">=</span> <span class="s1">&#39;false&#39;</span><span class="p">;</span></div><div class='line' id='LC363'>				<span class="nx">doc</span><span class="p">.</span><span class="nx">loadXML</span><span class="p">(</span><span class="nx">s</span><span class="p">);</span></div><div class='line' id='LC364'>			<span class="p">}</span></div><div class='line' id='LC365'>			<span class="k">else</span></div><div class='line' id='LC366'>				<span class="nx">doc</span> <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">DOMParser</span><span class="p">()).</span><span class="nx">parseFromString</span><span class="p">(</span><span class="nx">s</span><span class="p">,</span> <span class="s1">&#39;text/xml&#39;</span><span class="p">);</span></div><div class='line' id='LC367'>			<span class="k">return</span> <span class="p">(</span><span class="nx">doc</span> <span class="o">&amp;&amp;</span> <span class="nx">doc</span><span class="p">.</span><span class="nx">documentElement</span> <span class="o">&amp;&amp;</span> <span class="nx">doc</span><span class="p">.</span><span class="nx">documentElement</span><span class="p">.</span><span class="nx">tagName</span> <span class="o">!=</span> <span class="s1">&#39;parsererror&#39;</span><span class="p">)</span> <span class="o">?</span> <span class="nx">doc</span> <span class="o">:</span> <span class="kc">null</span><span class="p">;</span></div><div class='line' id='LC368'>		<span class="p">};</span></div><div class='line' id='LC369'>	<span class="p">};</span></div><div class='line' id='LC370'><span class="p">};</span></div><div class='line' id='LC371'><br/></div><div class='line' id='LC372'><span class="cm">/**</span></div><div class='line' id='LC373'><span class="cm"> * ajaxForm() provides a mechanism for fully automating form submission.</span></div><div class='line' id='LC374'><span class="cm"> *</span></div><div class='line' id='LC375'><span class="cm"> * The advantages of using this method instead of ajaxSubmit() are:</span></div><div class='line' id='LC376'><span class="cm"> *</span></div><div class='line' id='LC377'><span class="cm"> * 1: This method will include coordinates for &lt;input type=&quot;image&quot; /&gt; elements (if the element</span></div><div class='line' id='LC378'><span class="cm"> *	is used to submit the form).</span></div><div class='line' id='LC379'><span class="cm"> * 2. This method will include the submit element&#39;s name/value data (for the element that was</span></div><div class='line' id='LC380'><span class="cm"> *	used to submit the form).</span></div><div class='line' id='LC381'><span class="cm"> * 3. This method binds the submit() method to the form for you.</span></div><div class='line' id='LC382'><span class="cm"> *</span></div><div class='line' id='LC383'><span class="cm"> * The options argument for ajaxForm works exactly as it does for ajaxSubmit.  ajaxForm merely</span></div><div class='line' id='LC384'><span class="cm"> * passes the options argument along after properly binding events for submit elements and</span></div><div class='line' id='LC385'><span class="cm"> * the form itself.</span></div><div class='line' id='LC386'><span class="cm"> */</span></div><div class='line' id='LC387'><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">ajaxForm</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">options</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC388'>	<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">ajaxFormUnbind</span><span class="p">().</span><span class="nx">bind</span><span class="p">(</span><span class="s1">&#39;submit.form-plugin&#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="p">{</span></div><div class='line' id='LC389'>		<span class="nx">e</span><span class="p">.</span><span class="nx">preventDefault</span><span class="p">();</span></div><div class='line' id='LC390'>		<span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">).</span><span class="nx">ajaxSubmit</span><span class="p">(</span><span class="nx">options</span><span class="p">);</span></div><div class='line' id='LC391'>	<span class="p">}).</span><span class="nx">bind</span><span class="p">(</span><span class="s1">&#39;click.form-plugin&#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="p">{</span></div><div class='line' id='LC392'>		<span class="kd">var</span> <span class="nx">target</span> <span class="o">=</span> <span class="nx">e</span><span class="p">.</span><span class="nx">target</span><span class="p">;</span></div><div class='line' id='LC393'>		<span class="kd">var</span> <span class="nx">$el</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="nx">target</span><span class="p">);</span></div><div class='line' id='LC394'>		<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="nx">$el</span><span class="p">.</span><span class="nx">is</span><span class="p">(</span><span class="s2">&quot;:submit,input:image&quot;</span><span class="p">)))</span> <span class="p">{</span></div><div class='line' id='LC395'>			<span class="c1">// is this a child element of the submit el?  (ex: a span within a button)</span></div><div class='line' id='LC396'>			<span class="kd">var</span> <span class="nx">t</span> <span class="o">=</span> <span class="nx">$el</span><span class="p">.</span><span class="nx">closest</span><span class="p">(</span><span class="s1">&#39;:submit&#39;</span><span class="p">);</span></div><div class='line' id='LC397'>			<span class="k">if</span> <span class="p">(</span><span class="nx">t</span><span class="p">.</span><span class="nx">length</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span></div><div class='line' id='LC398'>				<span class="k">return</span><span class="p">;</span></div><div class='line' id='LC399'>			<span class="nx">target</span> <span class="o">=</span> <span class="nx">t</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span></div><div class='line' id='LC400'>		<span class="p">}</span></div><div class='line' id='LC401'>		<span class="kd">var</span> <span class="nx">form</span> <span class="o">=</span> <span class="k">this</span><span class="p">;</span></div><div class='line' id='LC402'>		<span class="nx">form</span><span class="p">.</span><span class="nx">clk</span> <span class="o">=</span> <span class="nx">target</span><span class="p">;</span></div><div class='line' id='LC403'>		<span class="k">if</span> <span class="p">(</span><span class="nx">target</span><span class="p">.</span><span class="nx">type</span> <span class="o">==</span> <span class="s1">&#39;image&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC404'>			<span class="k">if</span> <span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">offsetX</span> <span class="o">!=</span> <span class="kc">undefined</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC405'>				<span class="nx">form</span><span class="p">.</span><span class="nx">clk_x</span> <span class="o">=</span> <span class="nx">e</span><span class="p">.</span><span class="nx">offsetX</span><span class="p">;</span></div><div class='line' id='LC406'>				<span class="nx">form</span><span class="p">.</span><span class="nx">clk_y</span> <span class="o">=</span> <span class="nx">e</span><span class="p">.</span><span class="nx">offsetY</span><span class="p">;</span></div><div class='line' id='LC407'>			<span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="k">typeof</span> <span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">offset</span> <span class="o">==</span> <span class="s1">&#39;function&#39;</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// try to use dimensions plugin</span></div><div class='line' id='LC408'>				<span class="kd">var</span> <span class="nx">offset</span> <span class="o">=</span> <span class="nx">$el</span><span class="p">.</span><span class="nx">offset</span><span class="p">();</span></div><div class='line' id='LC409'>				<span class="nx">form</span><span class="p">.</span><span class="nx">clk_x</span> <span class="o">=</span> <span class="nx">e</span><span class="p">.</span><span class="nx">pageX</span> <span class="o">-</span> <span class="nx">offset</span><span class="p">.</span><span class="nx">left</span><span class="p">;</span></div><div class='line' id='LC410'>				<span class="nx">form</span><span class="p">.</span><span class="nx">clk_y</span> <span class="o">=</span> <span class="nx">e</span><span class="p">.</span><span class="nx">pageY</span> <span class="o">-</span> <span class="nx">offset</span><span class="p">.</span><span class="nx">top</span><span class="p">;</span></div><div class='line' id='LC411'>			<span class="p">}</span> <span class="k">else</span> <span class="p">{</span></div><div class='line' id='LC412'>				<span class="nx">form</span><span class="p">.</span><span class="nx">clk_x</span> <span class="o">=</span> <span class="nx">e</span><span class="p">.</span><span class="nx">pageX</span> <span class="o">-</span> <span class="nx">target</span><span class="p">.</span><span class="nx">offsetLeft</span><span class="p">;</span></div><div class='line' id='LC413'>				<span class="nx">form</span><span class="p">.</span><span class="nx">clk_y</span> <span class="o">=</span> <span class="nx">e</span><span class="p">.</span><span class="nx">pageY</span> <span class="o">-</span> <span class="nx">target</span><span class="p">.</span><span class="nx">offsetTop</span><span class="p">;</span></div><div class='line' id='LC414'>			<span class="p">}</span></div><div class='line' id='LC415'>		<span class="p">}</span></div><div class='line' id='LC416'>		<span class="c1">// clear form vars</span></div><div class='line' id='LC417'>		<span class="nx">setTimeout</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk</span> <span class="o">=</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk_x</span> <span class="o">=</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk_y</span> <span class="o">=</span> <span class="kc">null</span><span class="p">;</span> <span class="p">},</span> <span class="mi">100</span><span class="p">);</span></div><div class='line' id='LC418'>	<span class="p">});</span></div><div class='line' id='LC419'><span class="p">};</span></div><div class='line' id='LC420'><br/></div><div class='line' id='LC421'><span class="c1">// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm</span></div><div class='line' id='LC422'><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">ajaxFormUnbind</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC423'>	<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">unbind</span><span class="p">(</span><span class="s1">&#39;submit.form-plugin click.form-plugin&#39;</span><span class="p">);</span></div><div class='line' id='LC424'><span class="p">};</span></div><div class='line' id='LC425'><br/></div><div class='line' id='LC426'><span class="cm">/**</span></div><div class='line' id='LC427'><span class="cm"> * formToArray() gathers form element data into an array of objects that can</span></div><div class='line' id='LC428'><span class="cm"> * be passed to any of the following ajax functions: $.get, $.post, or load.</span></div><div class='line' id='LC429'><span class="cm"> * Each object in the array has both a &#39;name&#39; and &#39;value&#39; property.  An example of</span></div><div class='line' id='LC430'><span class="cm"> * an array for a simple login form might be:</span></div><div class='line' id='LC431'><span class="cm"> *</span></div><div class='line' id='LC432'><span class="cm"> * [ { name: &#39;username&#39;, value: &#39;jresig&#39; }, { name: &#39;password&#39;, value: &#39;secret&#39; } ]</span></div><div class='line' id='LC433'><span class="cm"> *</span></div><div class='line' id='LC434'><span class="cm"> * It is this array that is passed to pre-submit callback functions provided to the</span></div><div class='line' id='LC435'><span class="cm"> * ajaxSubmit() and ajaxForm() methods.</span></div><div class='line' id='LC436'><span class="cm"> */</span></div><div class='line' id='LC437'><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">formToArray</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">semantic</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC438'>	<span class="kd">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="p">[];</span></div><div class='line' id='LC439'>	<span class="k">if</span> <span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">length</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="k">return</span> <span class="nx">a</span><span class="p">;</span></div><div class='line' id='LC440'><br/></div><div class='line' id='LC441'>	<span class="kd">var</span> <span class="nx">form</span> <span class="o">=</span> <span class="k">this</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span></div><div class='line' id='LC442'>	<span class="kd">var</span> <span class="nx">els</span> <span class="o">=</span> <span class="nx">semantic</span> <span class="o">?</span> <span class="nx">form</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s1">&#39;*&#39;</span><span class="p">)</span> <span class="o">:</span> <span class="nx">form</span><span class="p">.</span><span class="nx">elements</span><span class="p">;</span></div><div class='line' id='LC443'>	<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">els</span><span class="p">)</span> <span class="k">return</span> <span class="nx">a</span><span class="p">;</span></div><div class='line' id='LC444'>	<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">max</span><span class="o">=</span><span class="nx">els</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">max</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC445'>		<span class="kd">var</span> <span class="nx">el</span> <span class="o">=</span> <span class="nx">els</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span></div><div class='line' id='LC446'>		<span class="kd">var</span> <span class="nx">n</span> <span class="o">=</span> <span class="nx">el</span><span class="p">.</span><span class="nx">name</span><span class="p">;</span></div><div class='line' id='LC447'>		<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">n</span><span class="p">)</span> <span class="k">continue</span><span class="p">;</span></div><div class='line' id='LC448'><br/></div><div class='line' id='LC449'>		<span class="k">if</span> <span class="p">(</span><span class="nx">semantic</span> <span class="o">&amp;&amp;</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk</span> <span class="o">&amp;&amp;</span> <span class="nx">el</span><span class="p">.</span><span class="nx">type</span> <span class="o">==</span> <span class="s2">&quot;image&quot;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC450'>			<span class="c1">// handle image inputs on the fly when semantic == true</span></div><div class='line' id='LC451'>			<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="nx">el</span><span class="p">.</span><span class="nx">disabled</span> <span class="o">&amp;&amp;</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk</span> <span class="o">==</span> <span class="nx">el</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC452'>				<span class="nx">a</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span><span class="nx">name</span><span class="o">:</span> <span class="nx">n</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">$</span><span class="p">(</span><span class="nx">el</span><span class="p">).</span><span class="nx">val</span><span class="p">()});</span></div><div class='line' id='LC453'>				<span class="nx">a</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span><span class="nx">name</span><span class="o">:</span> <span class="nx">n</span><span class="o">+</span><span class="s1">&#39;.x&#39;</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk_x</span><span class="p">},</span> <span class="p">{</span><span class="nx">name</span><span class="o">:</span> <span class="nx">n</span><span class="o">+</span><span class="s1">&#39;.y&#39;</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk_y</span><span class="p">});</span></div><div class='line' id='LC454'>			<span class="p">}</span></div><div class='line' id='LC455'>			<span class="k">continue</span><span class="p">;</span></div><div class='line' id='LC456'>		<span class="p">}</span></div><div class='line' id='LC457'><br/></div><div class='line' id='LC458'>		<span class="kd">var</span> <span class="nx">v</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">fieldValue</span><span class="p">(</span><span class="nx">el</span><span class="p">,</span> <span class="kc">true</span><span class="p">);</span></div><div class='line' id='LC459'>		<span class="k">if</span> <span class="p">(</span><span class="nx">v</span> <span class="o">&amp;&amp;</span> <span class="nx">v</span><span class="p">.</span><span class="nx">constructor</span> <span class="o">==</span> <span class="nb">Array</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC460'>			<span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">j</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="nx">jmax</span><span class="o">=</span><span class="nx">v</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">j</span> <span class="o">&lt;</span> <span class="nx">jmax</span><span class="p">;</span> <span class="nx">j</span><span class="o">++</span><span class="p">)</span></div><div class='line' id='LC461'>				<span class="nx">a</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span><span class="nx">name</span><span class="o">:</span> <span class="nx">n</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">v</span><span class="p">[</span><span class="nx">j</span><span class="p">]});</span></div><div class='line' id='LC462'>		<span class="p">}</span></div><div class='line' id='LC463'>		<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">v</span> <span class="o">!==</span> <span class="kc">null</span> <span class="o">&amp;&amp;</span> <span class="k">typeof</span> <span class="nx">v</span> <span class="o">!=</span> <span class="s1">&#39;undefined&#39;</span><span class="p">)</span></div><div class='line' id='LC464'>			<span class="nx">a</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span><span class="nx">name</span><span class="o">:</span> <span class="nx">n</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">v</span><span class="p">});</span></div><div class='line' id='LC465'>	<span class="p">}</span></div><div class='line' id='LC466'><br/></div><div class='line' id='LC467'>	<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">semantic</span> <span class="o">&amp;&amp;</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC468'>		<span class="c1">// input type==&#39;image&#39; are not found in elements array! handle it here</span></div><div class='line' id='LC469'>		<span class="kd">var</span> <span class="nx">$input</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="nx">form</span><span class="p">.</span><span class="nx">clk</span><span class="p">),</span> <span class="nx">input</span> <span class="o">=</span> <span class="nx">$input</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="nx">n</span> <span class="o">=</span> <span class="nx">input</span><span class="p">.</span><span class="nx">name</span><span class="p">;</span></div><div class='line' id='LC470'>		<span class="k">if</span> <span class="p">(</span><span class="nx">n</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">input</span><span class="p">.</span><span class="nx">disabled</span> <span class="o">&amp;&amp;</span> <span class="nx">input</span><span class="p">.</span><span class="nx">type</span> <span class="o">==</span> <span class="s1">&#39;image&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC471'>			<span class="nx">a</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span><span class="nx">name</span><span class="o">:</span> <span class="nx">n</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">val</span><span class="p">()});</span></div><div class='line' id='LC472'>			<span class="nx">a</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span><span class="nx">name</span><span class="o">:</span> <span class="nx">n</span><span class="o">+</span><span class="s1">&#39;.x&#39;</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk_x</span><span class="p">},</span> <span class="p">{</span><span class="nx">name</span><span class="o">:</span> <span class="nx">n</span><span class="o">+</span><span class="s1">&#39;.y&#39;</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">form</span><span class="p">.</span><span class="nx">clk_y</span><span class="p">});</span></div><div class='line' id='LC473'>		<span class="p">}</span></div><div class='line' id='LC474'>	<span class="p">}</span></div><div class='line' id='LC475'>	<span class="k">return</span> <span class="nx">a</span><span class="p">;</span></div><div class='line' id='LC476'><span class="p">};</span></div><div class='line' id='LC477'><br/></div><div class='line' id='LC478'><span class="cm">/**</span></div><div class='line' id='LC479'><span class="cm"> * Serializes form data into a &#39;submittable&#39; string. This method will return a string</span></div><div class='line' id='LC480'><span class="cm"> * in the format: name1=value1&amp;amp;name2=value2</span></div><div class='line' id='LC481'><span class="cm"> */</span></div><div class='line' id='LC482'><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">formSerialize</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">semantic</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC483'>	<span class="c1">//hand off to jQuery.param for proper encoding</span></div><div class='line' id='LC484'>	<span class="k">return</span> <span class="nx">$</span><span class="p">.</span><span class="nx">param</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">formToArray</span><span class="p">(</span><span class="nx">semantic</span><span class="p">));</span></div><div class='line' id='LC485'><span class="p">};</span></div><div class='line' id='LC486'><br/></div><div class='line' id='LC487'><span class="cm">/**</span></div><div class='line' id='LC488'><span class="cm"> * Serializes all field elements in the jQuery object into a query string.</span></div><div class='line' id='LC489'><span class="cm"> * This method will return a string in the format: name1=value1&amp;amp;name2=value2</span></div><div class='line' id='LC490'><span class="cm"> */</span></div><div class='line' id='LC491'><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">fieldSerialize</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">successful</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC492'>	<span class="kd">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="p">[];</span></div><div class='line' id='LC493'>	<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='LC494'>		<span class="kd">var</span> <span class="nx">n</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">name</span><span class="p">;</span></div><div class='line' id='LC495'>		<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">n</span><span class="p">)</span> <span class="k">return</span><span class="p">;</span></div><div class='line' id='LC496'>		<span class="kd">var</span> <span class="nx">v</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">fieldValue</span><span class="p">(</span><span class="k">this</span><span class="p">,</span> <span class="nx">successful</span><span class="p">);</span></div><div class='line' id='LC497'>		<span class="k">if</span> <span class="p">(</span><span class="nx">v</span> <span class="o">&amp;&amp;</span> <span class="nx">v</span><span class="p">.</span><span class="nx">constructor</span> <span class="o">==</span> <span class="nb">Array</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC498'>			<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">max</span><span class="o">=</span><span class="nx">v</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">max</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span></div><div class='line' id='LC499'>				<span class="nx">a</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span><span class="nx">name</span><span class="o">:</span> <span class="nx">n</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">v</span><span class="p">[</span><span class="nx">i</span><span class="p">]});</span></div><div class='line' id='LC500'>		<span class="p">}</span></div><div class='line' id='LC501'>		<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">v</span> <span class="o">!==</span> <span class="kc">null</span> <span class="o">&amp;&amp;</span> <span class="k">typeof</span> <span class="nx">v</span> <span class="o">!=</span> <span class="s1">&#39;undefined&#39;</span><span class="p">)</span></div><div class='line' id='LC502'>			<span class="nx">a</span><span class="p">.</span><span class="nx">push</span><span class="p">({</span><span class="nx">name</span><span class="o">:</span> <span class="k">this</span><span class="p">.</span><span class="nx">name</span><span class="p">,</span> <span class="nx">value</span><span class="o">:</span> <span class="nx">v</span><span class="p">});</span></div><div class='line' id='LC503'>	<span class="p">});</span></div><div class='line' id='LC504'>	<span class="c1">//hand off to jQuery.param for proper encoding</span></div><div class='line' id='LC505'>	<span class="k">return</span> <span class="nx">$</span><span class="p">.</span><span class="nx">param</span><span class="p">(</span><span class="nx">a</span><span class="p">);</span></div><div class='line' id='LC506'><span class="p">};</span></div><div class='line' id='LC507'><br/></div><div class='line' id='LC508'><span class="cm">/**</span></div><div class='line' id='LC509'><span class="cm"> * Returns the value(s) of the element in the matched set.  For example, consider the following form:</span></div><div class='line' id='LC510'><span class="cm"> *</span></div><div class='line' id='LC511'><span class="cm"> *  &lt;form&gt;&lt;fieldset&gt;</span></div><div class='line' id='LC512'><span class="cm"> *	  &lt;input name=&quot;A&quot; type=&quot;text&quot; /&gt;</span></div><div class='line' id='LC513'><span class="cm"> *	  &lt;input name=&quot;A&quot; type=&quot;text&quot; /&gt;</span></div><div class='line' id='LC514'><span class="cm"> *	  &lt;input name=&quot;B&quot; type=&quot;checkbox&quot; value=&quot;B1&quot; /&gt;</span></div><div class='line' id='LC515'><span class="cm"> *	  &lt;input name=&quot;B&quot; type=&quot;checkbox&quot; value=&quot;B2&quot;/&gt;</span></div><div class='line' id='LC516'><span class="cm"> *	  &lt;input name=&quot;C&quot; type=&quot;radio&quot; value=&quot;C1&quot; /&gt;</span></div><div class='line' id='LC517'><span class="cm"> *	  &lt;input name=&quot;C&quot; type=&quot;radio&quot; value=&quot;C2&quot; /&gt;</span></div><div class='line' id='LC518'><span class="cm"> *  &lt;/fieldset&gt;&lt;/form&gt;</span></div><div class='line' id='LC519'><span class="cm"> *</span></div><div class='line' id='LC520'><span class="cm"> *  var v = $(&#39;:text&#39;).fieldValue();</span></div><div class='line' id='LC521'><span class="cm"> *  // if no values are entered into the text inputs</span></div><div class='line' id='LC522'><span class="cm"> *  v == [&#39;&#39;,&#39;&#39;]</span></div><div class='line' id='LC523'><span class="cm"> *  // if values entered into the text inputs are &#39;foo&#39; and &#39;bar&#39;</span></div><div class='line' id='LC524'><span class="cm"> *  v == [&#39;foo&#39;,&#39;bar&#39;]</span></div><div class='line' id='LC525'><span class="cm"> *</span></div><div class='line' id='LC526'><span class="cm"> *  var v = $(&#39;:checkbox&#39;).fieldValue();</span></div><div class='line' id='LC527'><span class="cm"> *  // if neither checkbox is checked</span></div><div class='line' id='LC528'><span class="cm"> *  v === undefined</span></div><div class='line' id='LC529'><span class="cm"> *  // if both checkboxes are checked</span></div><div class='line' id='LC530'><span class="cm"> *  v == [&#39;B1&#39;, &#39;B2&#39;]</span></div><div class='line' id='LC531'><span class="cm"> *</span></div><div class='line' id='LC532'><span class="cm"> *  var v = $(&#39;:radio&#39;).fieldValue();</span></div><div class='line' id='LC533'><span class="cm"> *  // if neither radio is checked</span></div><div class='line' id='LC534'><span class="cm"> *  v === undefined</span></div><div class='line' id='LC535'><span class="cm"> *  // if first radio is checked</span></div><div class='line' id='LC536'><span class="cm"> *  v == [&#39;C1&#39;]</span></div><div class='line' id='LC537'><span class="cm"> *</span></div><div class='line' id='LC538'><span class="cm"> * The successful argument controls whether or not the field element must be &#39;successful&#39;</span></div><div class='line' id='LC539'><span class="cm"> * (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls).</span></div><div class='line' id='LC540'><span class="cm"> * The default value of the successful argument is true.  If this value is false the value(s)</span></div><div class='line' id='LC541'><span class="cm"> * for each element is returned.</span></div><div class='line' id='LC542'><span class="cm"> *</span></div><div class='line' id='LC543'><span class="cm"> * Note: This method *always* returns an array.  If no valid value can be determined the</span></div><div class='line' id='LC544'><span class="cm"> *	   array will be empty, otherwise it will contain one or more values.</span></div><div class='line' id='LC545'><span class="cm"> */</span></div><div class='line' id='LC546'><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">fieldValue</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">successful</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC547'>	<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">val</span><span class="o">=</span><span class="p">[],</span> <span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="nx">max</span><span class="o">=</span><span class="k">this</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">max</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC548'>		<span class="kd">var</span> <span class="nx">el</span> <span class="o">=</span> <span class="k">this</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span></div><div class='line' id='LC549'>		<span class="kd">var</span> <span class="nx">v</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">fieldValue</span><span class="p">(</span><span class="nx">el</span><span class="p">,</span> <span class="nx">successful</span><span class="p">);</span></div><div class='line' id='LC550'>		<span class="k">if</span> <span class="p">(</span><span class="nx">v</span> <span class="o">===</span> <span class="kc">null</span> <span class="o">||</span> <span class="k">typeof</span> <span class="nx">v</span> <span class="o">==</span> <span class="s1">&#39;undefined&#39;</span> <span class="o">||</span> <span class="p">(</span><span class="nx">v</span><span class="p">.</span><span class="nx">constructor</span> <span class="o">==</span> <span class="nb">Array</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">v</span><span class="p">.</span><span class="nx">length</span><span class="p">))</span></div><div class='line' id='LC551'>			<span class="k">continue</span><span class="p">;</span></div><div class='line' id='LC552'>		<span class="nx">v</span><span class="p">.</span><span class="nx">constructor</span> <span class="o">==</span> <span class="nb">Array</span> <span class="o">?</span> <span class="nx">$</span><span class="p">.</span><span class="nx">merge</span><span class="p">(</span><span class="nx">val</span><span class="p">,</span> <span class="nx">v</span><span class="p">)</span> <span class="o">:</span> <span class="nx">val</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">v</span><span class="p">);</span></div><div class='line' id='LC553'>	<span class="p">}</span></div><div class='line' id='LC554'>	<span class="k">return</span> <span class="nx">val</span><span class="p">;</span></div><div class='line' id='LC555'><span class="p">};</span></div><div class='line' id='LC556'><br/></div><div class='line' id='LC557'><span class="cm">/**</span></div><div class='line' id='LC558'><span class="cm"> * Returns the value of the field element.</span></div><div class='line' id='LC559'><span class="cm"> */</span></div><div class='line' id='LC560'><span class="nx">$</span><span class="p">.</span><span class="nx">fieldValue</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">el</span><span class="p">,</span> <span class="nx">successful</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC561'>	<span class="kd">var</span> <span class="nx">n</span> <span class="o">=</span> <span class="nx">el</span><span class="p">.</span><span class="nx">name</span><span class="p">,</span> <span class="nx">t</span> <span class="o">=</span> <span class="nx">el</span><span class="p">.</span><span class="nx">type</span><span class="p">,</span> <span class="nx">tag</span> <span class="o">=</span> <span class="nx">el</span><span class="p">.</span><span class="nx">tagName</span><span class="p">.</span><span class="nx">toLowerCase</span><span class="p">();</span></div><div class='line' id='LC562'>	<span class="k">if</span> <span class="p">(</span><span class="k">typeof</span> <span class="nx">successful</span> <span class="o">==</span> <span class="s1">&#39;undefined&#39;</span><span class="p">)</span> <span class="nx">successful</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC563'><br/></div><div class='line' id='LC564'>	<span class="k">if</span> <span class="p">(</span><span class="nx">successful</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="o">!</span><span class="nx">n</span> <span class="o">||</span> <span class="nx">el</span><span class="p">.</span><span class="nx">disabled</span> <span class="o">||</span> <span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;reset&#39;</span> <span class="o">||</span> <span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;button&#39;</span> <span class="o">||</span></div><div class='line' id='LC565'>		<span class="p">(</span><span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;checkbox&#39;</span> <span class="o">||</span> <span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;radio&#39;</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">el</span><span class="p">.</span><span class="nx">checked</span> <span class="o">||</span></div><div class='line' id='LC566'>		<span class="p">(</span><span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;submit&#39;</span> <span class="o">||</span> <span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;image&#39;</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="nx">el</span><span class="p">.</span><span class="nx">form</span> <span class="o">&amp;&amp;</span> <span class="nx">el</span><span class="p">.</span><span class="nx">form</span><span class="p">.</span><span class="nx">clk</span> <span class="o">!=</span> <span class="nx">el</span> <span class="o">||</span></div><div class='line' id='LC567'>		<span class="nx">tag</span> <span class="o">==</span> <span class="s1">&#39;select&#39;</span> <span class="o">&amp;&amp;</span> <span class="nx">el</span><span class="p">.</span><span class="nx">selectedIndex</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span></div><div class='line' id='LC568'>			<span class="k">return</span> <span class="kc">null</span><span class="p">;</span></div><div class='line' id='LC569'><br/></div><div class='line' id='LC570'>	<span class="k">if</span> <span class="p">(</span><span class="nx">tag</span> <span class="o">==</span> <span class="s1">&#39;select&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC571'>		<span class="kd">var</span> <span class="nx">index</span> <span class="o">=</span> <span class="nx">el</span><span class="p">.</span><span class="nx">selectedIndex</span><span class="p">;</span></div><div class='line' id='LC572'>		<span class="k">if</span> <span class="p">(</span><span class="nx">index</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span> <span class="k">return</span> <span class="kc">null</span><span class="p">;</span></div><div class='line' id='LC573'>		<span class="kd">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="p">[],</span> <span class="nx">ops</span> <span class="o">=</span> <span class="nx">el</span><span class="p">.</span><span class="nx">options</span><span class="p">;</span></div><div class='line' id='LC574'>		<span class="kd">var</span> <span class="nx">one</span> <span class="o">=</span> <span class="p">(</span><span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;select-one&#39;</span><span class="p">);</span></div><div class='line' id='LC575'>		<span class="kd">var</span> <span class="nx">max</span> <span class="o">=</span> <span class="p">(</span><span class="nx">one</span> <span class="o">?</span> <span class="nx">index</span><span class="o">+</span><span class="mi">1</span> <span class="o">:</span> <span class="nx">ops</span><span class="p">.</span><span class="nx">length</span><span class="p">);</span></div><div class='line' id='LC576'>		<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="p">(</span><span class="nx">one</span> <span class="o">?</span> <span class="nx">index</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">max</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC577'>			<span class="kd">var</span> <span class="nx">op</span> <span class="o">=</span> <span class="nx">ops</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span></div><div class='line' id='LC578'>			<span class="k">if</span> <span class="p">(</span><span class="nx">op</span><span class="p">.</span><span class="nx">selected</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC579'>				<span class="kd">var</span> <span class="nx">v</span> <span class="o">=</span> <span class="nx">op</span><span class="p">.</span><span class="nx">value</span><span class="p">;</span></div><div class='line' id='LC580'>				<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">v</span><span class="p">)</span> <span class="c1">// extra pain for IE...</span></div><div class='line' id='LC581'>					<span class="nx">v</span> <span class="o">=</span> <span class="p">(</span><span class="nx">op</span><span class="p">.</span><span class="nx">attributes</span> <span class="o">&amp;&amp;</span> <span class="nx">op</span><span class="p">.</span><span class="nx">attributes</span><span class="p">[</span><span class="s1">&#39;value&#39;</span><span class="p">]</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="p">(</span><span class="nx">op</span><span class="p">.</span><span class="nx">attributes</span><span class="p">[</span><span class="s1">&#39;value&#39;</span><span class="p">].</span><span class="nx">specified</span><span class="p">))</span> <span class="o">?</span> <span class="nx">op</span><span class="p">.</span><span class="nx">text</span> <span class="o">:</span> <span class="nx">op</span><span class="p">.</span><span class="nx">value</span><span class="p">;</span></div><div class='line' id='LC582'>				<span class="k">if</span> <span class="p">(</span><span class="nx">one</span><span class="p">)</span> <span class="k">return</span> <span class="nx">v</span><span class="p">;</span></div><div class='line' id='LC583'>				<span class="nx">a</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">v</span><span class="p">);</span></div><div class='line' id='LC584'>			<span class="p">}</span></div><div class='line' id='LC585'>		<span class="p">}</span></div><div class='line' id='LC586'>		<span class="k">return</span> <span class="nx">a</span><span class="p">;</span></div><div class='line' id='LC587'>	<span class="p">}</span></div><div class='line' id='LC588'>	<span class="k">return</span> <span class="nx">el</span><span class="p">.</span><span class="nx">value</span><span class="p">;</span></div><div class='line' id='LC589'><span class="p">};</span></div><div class='line' id='LC590'><br/></div><div class='line' id='LC591'><span class="cm">/**</span></div><div class='line' id='LC592'><span class="cm"> * Clears the form data.  Takes the following actions on the form&#39;s input fields:</span></div><div class='line' id='LC593'><span class="cm"> *  - input text fields will have their &#39;value&#39; property set to the empty string</span></div><div class='line' id='LC594'><span class="cm"> *  - select elements will have their &#39;selectedIndex&#39; property set to -1</span></div><div class='line' id='LC595'><span class="cm"> *  - checkbox and radio inputs will have their &#39;checked&#39; property set to false</span></div><div class='line' id='LC596'><span class="cm"> *  - inputs of type submit, button, reset, and hidden will *not* be effected</span></div><div class='line' id='LC597'><span class="cm"> *  - button elements will *not* be effected</span></div><div class='line' id='LC598'><span class="cm"> */</span></div><div class='line' id='LC599'><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">clearForm</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC600'>	<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='LC601'>		<span class="nx">$</span><span class="p">(</span><span class="s1">&#39;input,select,textarea&#39;</span><span class="p">,</span> <span class="k">this</span><span class="p">).</span><span class="nx">clearFields</span><span class="p">();</span></div><div class='line' id='LC602'>	<span class="p">});</span></div><div class='line' id='LC603'><span class="p">};</span></div><div class='line' id='LC604'><br/></div><div class='line' id='LC605'><span class="cm">/**</span></div><div class='line' id='LC606'><span class="cm"> * Clears the selected form elements.</span></div><div class='line' id='LC607'><span class="cm"> */</span></div><div class='line' id='LC608'><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">clearFields</span> <span class="o">=</span> <span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">clearInputs</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC609'>	<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='LC610'>		<span class="kd">var</span> <span class="nx">t</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">type</span><span class="p">,</span> <span class="nx">tag</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">tagName</span><span class="p">.</span><span class="nx">toLowerCase</span><span class="p">();</span></div><div class='line' id='LC611'>		<span class="k">if</span> <span class="p">(</span><span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;text&#39;</span> <span class="o">||</span> <span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;password&#39;</span> <span class="o">||</span> <span class="nx">tag</span> <span class="o">==</span> <span class="s1">&#39;textarea&#39;</span><span class="p">)</span></div><div class='line' id='LC612'>			<span class="k">this</span><span class="p">.</span><span class="nx">value</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span></div><div class='line' id='LC613'>		<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;checkbox&#39;</span> <span class="o">||</span> <span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;radio&#39;</span><span class="p">)</span></div><div class='line' id='LC614'>			<span class="k">this</span><span class="p">.</span><span class="nx">checked</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span></div><div class='line' id='LC615'>		<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">tag</span> <span class="o">==</span> <span class="s1">&#39;select&#39;</span><span class="p">)</span></div><div class='line' id='LC616'>			<span class="k">this</span><span class="p">.</span><span class="nx">selectedIndex</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span></div><div class='line' id='LC617'>	<span class="p">});</span></div><div class='line' id='LC618'><span class="p">};</span></div><div class='line' id='LC619'><br/></div><div class='line' id='LC620'><span class="cm">/**</span></div><div class='line' id='LC621'><span class="cm"> * Resets the form data.  Causes all form elements to be reset to their original value.</span></div><div class='line' id='LC622'><span class="cm"> */</span></div><div class='line' id='LC623'><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">resetForm</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC624'>	<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='LC625'>		<span class="c1">// guard against an input with the name of &#39;reset&#39;</span></div><div class='line' id='LC626'>		<span class="c1">// note that IE reports the reset function as an &#39;object&#39;</span></div><div class='line' id='LC627'>		<span class="k">if</span> <span class="p">(</span><span class="k">typeof</span> <span class="k">this</span><span class="p">.</span><span class="nx">reset</span> <span class="o">==</span> <span class="s1">&#39;function&#39;</span> <span class="o">||</span> <span class="p">(</span><span class="k">typeof</span> <span class="k">this</span><span class="p">.</span><span class="nx">reset</span> <span class="o">==</span> <span class="s1">&#39;object&#39;</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">reset</span><span class="p">.</span><span class="nx">nodeType</span><span class="p">))</span></div><div class='line' id='LC628'>			<span class="k">this</span><span class="p">.</span><span class="nx">reset</span><span class="p">();</span></div><div class='line' id='LC629'>	<span class="p">});</span></div><div class='line' id='LC630'><span class="p">};</span></div><div class='line' id='LC631'><br/></div><div class='line' id='LC632'><span class="cm">/**</span></div><div class='line' id='LC633'><span class="cm"> * Enables or disables any matching elements.</span></div><div class='line' id='LC634'><span class="cm"> */</span></div><div class='line' id='LC635'><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">enable</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">b</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC636'>	<span class="k">if</span> <span class="p">(</span><span class="nx">b</span> <span class="o">==</span> <span class="kc">undefined</span><span class="p">)</span> <span class="nx">b</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC637'>	<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='LC638'>		<span class="k">this</span><span class="p">.</span><span class="nx">disabled</span> <span class="o">=</span> <span class="o">!</span><span class="nx">b</span><span class="p">;</span></div><div class='line' id='LC639'>	<span class="p">});</span></div><div class='line' id='LC640'><span class="p">};</span></div><div class='line' id='LC641'><br/></div><div class='line' id='LC642'><span class="cm">/**</span></div><div class='line' id='LC643'><span class="cm"> * Checks/unchecks any matching checkboxes or radio buttons and</span></div><div class='line' id='LC644'><span class="cm"> * selects/deselects and matching option elements.</span></div><div class='line' id='LC645'><span class="cm"> */</span></div><div class='line' id='LC646'><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">selected</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">select</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC647'>	<span class="k">if</span> <span class="p">(</span><span class="nx">select</span> <span class="o">==</span> <span class="kc">undefined</span><span class="p">)</span> <span class="nx">select</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC648'>	<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='LC649'>		<span class="kd">var</span> <span class="nx">t</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">type</span><span class="p">;</span></div><div class='line' id='LC650'>		<span class="k">if</span> <span class="p">(</span><span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;checkbox&#39;</span> <span class="o">||</span> <span class="nx">t</span> <span class="o">==</span> <span class="s1">&#39;radio&#39;</span><span class="p">)</span></div><div class='line' id='LC651'>			<span class="k">this</span><span class="p">.</span><span class="nx">checked</span> <span class="o">=</span> <span class="nx">select</span><span class="p">;</span></div><div class='line' id='LC652'>		<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">tagName</span><span class="p">.</span><span class="nx">toLowerCase</span><span class="p">()</span> <span class="o">==</span> <span class="s1">&#39;option&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC653'>			<span class="kd">var</span> <span class="nx">$sel</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">parent</span><span class="p">(</span><span class="s1">&#39;select&#39;</span><span class="p">);</span></div><div class='line' id='LC654'>			<span class="k">if</span> <span class="p">(</span><span class="nx">select</span> <span class="o">&amp;&amp;</span> <span class="nx">$sel</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&amp;&amp;</span> <span class="nx">$sel</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="nx">type</span> <span class="o">==</span> <span class="s1">&#39;select-one&#39;</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC655'>				<span class="c1">// deselect all other options</span></div><div class='line' id='LC656'>				<span class="nx">$sel</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">&#39;option&#39;</span><span class="p">).</span><span class="nx">selected</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span></div><div class='line' id='LC657'>			<span class="p">}</span></div><div class='line' id='LC658'>			<span class="k">this</span><span class="p">.</span><span class="nx">selected</span> <span class="o">=</span> <span class="nx">select</span><span class="p">;</span></div><div class='line' id='LC659'>		<span class="p">}</span></div><div class='line' id='LC660'>	<span class="p">});</span></div><div class='line' id='LC661'><span class="p">};</span></div><div class='line' id='LC662'><br/></div><div class='line' id='LC663'><span class="c1">// helper fn for console logging</span></div><div class='line' id='LC664'><span class="c1">// set $.fn.ajaxSubmit.debug to true to enable debug logging</span></div><div class='line' id='LC665'><span class="kd">function</span> <span class="nx">log</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC666'>	<span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">ajaxSubmit</span><span class="p">.</span><span class="nx">debug</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC667'>		<span class="kd">var</span> <span class="nx">msg</span> <span class="o">=</span> <span class="s1">&#39;[jquery.form] &#39;</span> <span class="o">+</span> <span class="nb">Array</span><span class="p">.</span><span class="nx">prototype</span><span class="p">.</span><span class="nx">join</span><span class="p">.</span><span class="nx">call</span><span class="p">(</span><span class="nx">arguments</span><span class="p">,</span><span class="s1">&#39;&#39;</span><span class="p">);</span></div><div class='line' id='LC668'>		<span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">console</span> <span class="o">&amp;&amp;</span> <span class="nb">window</span><span class="p">.</span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">)</span></div><div class='line' id='LC669'>			<span class="nb">window</span><span class="p">.</span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">msg</span><span class="p">);</span></div><div class='line' id='LC670'>		<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">opera</span> <span class="o">&amp;&amp;</span> <span class="nb">window</span><span class="p">.</span><span class="nx">opera</span><span class="p">.</span><span class="nx">postError</span><span class="p">)</span></div><div class='line' id='LC671'>			<span class="nb">window</span><span class="p">.</span><span class="nx">opera</span><span class="p">.</span><span class="nx">postError</span><span class="p">(</span><span class="nx">msg</span><span class="p">);</span></div><div class='line' id='LC672'>	<span class="p">}</span></div><div class='line' id='LC673'><span class="p">};</span></div><div class='line' id='LC674'><br/></div><div class='line' id='LC675'><span class="p">})(</span><span class="nx">jQuery</span><span class="p">);</span></div><div class='line' id='LC676'><br/></div></pre></div>
            
          </td>
        </tr>
      </table>
    
  </div>


      </div>
    </div>

  


    </div>
  
      

      <div class="push"></div>
    </div>

    <div id="footer">
      <div class="site">
        <div class="info">
          <div class="links">
            <a href="http://github.com/blog"><b>Blog</b></a> |
            <a href="http://support.github.com">Support</a> |
            <a href="http://github.com/training">Training</a> |
            <a href="http://github.com/contact">Contact</a> |
            <a href="http://develop.github.com">API</a> |
            <a href="http://status.github.com">Status</a> |
            <a href="http://twitter.com/github">Twitter</a> |
            <a href="http://help.github.com">Help</a> |
            <a href="http://github.com/security">Security</a>
          </div>
          <div class="company">
            &copy;
            2010
            <span id="_rrt" title="0.06201s from fe4.rs.github.com">GitHub</span> Inc.
            All rights reserved. |
            <a href="/site/terms">Terms of Service</a> |
            <a href="/site/privacy">Privacy Policy</a>
          </div>
        </div>
        <div class="sponsor">
          <div>
            Powered by the <a href="http://www.rackspace.com ">Dedicated
            Servers</a> and<br/> <a href="http://www.rackspacecloud.com">Cloud
            Computing</a> of Rackspace Hosting<span>&reg;</span>
          </div>
          <a href="http://www.rackspace.com">
            <img alt="Dedicated Server" src="http://assets0.github.com/images/modules/footer/rackspace_logo.png?e1c61fb9034e560d94f0c02278daa00534654de0" />
          </a>
        </div>
      </div>
    </div>

    <script>window._auth_token = "964786af8685546f1a9d2e9fc58409d8f9f50cf1"</script>
    

    <script type="text/javascript">
      _kmq.push(['trackClick', 'entice_banner_link', 'Entice banner clicked']);
      
    </script>
    
  </body>
</html>

