Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

some minor tweaks, curry optimization courtesy of jdalton

  • Loading branch information...
commit 9c9c71ba4d4cb8e097eedf7e032ed877c1503bae 1 parent 953f412
Ben Alman cowboy authored
2  docs/files/jquery-ba-bbq-js.html
@@ -11,7 +11,7 @@
11 11
12 12
13 13
14   -<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="jQuery_BBQ:Back_ButtonQuery_Library"></a>jQuery BBQ: Back Button &amp; Query Library</h1><div class=CBody><p><b>Version: 0.1pre, Last updated: 9/27/2009</b></p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Home</td><td class=CDLDescription><a href="http://benalman.com/projects/jquery-bbq-plugin/" class=LURL target=_top>http://benalman.com/projects/jquery-bbq-plugin/</a></td></tr><tr><td class=CDLEntry>GitHub</td><td class=CDLDescription><a href="http://github.com/cowboy/jquery-bbq/" class=LURL target=_top>http://github.com/cowboy/jquery-bbq/</a></td></tr><tr><td class=CDLEntry>Source</td><td class=CDLDescription><a href="http://github.com/cowboy/jquery-bbq/raw/master/jquery.ba-bbq.js" class=LURL target=_top>http://github.com<wbr>/cowboy<wbr>/jquery-bbq<wbr>/raw<wbr>/master<wbr>/jquery.ba-bbq.js</a></td></tr><tr><td class=CDLEntry>(Minified)</td><td class=CDLDescription><a href="http://github.com/cowboy/jquery-bbq/raw/master/jquery.ba-bbq.min.js" class=LURL target=_top>http://github.com<wbr>/cowboy<wbr>/jquery-bbq<wbr>/raw<wbr>/master<wbr>/jquery.ba-bbq.min.js</a> (3.1kb)</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#jQuery_BBQ:Back_ButtonQuery_Library" >jQuery BBQ: Back Button &amp; Query Library</a></td><td class=SDescription><b>Version: 0.1pre, Last updated: 9/27/2009</b></td></tr><tr class="SGeneric SMarked"><td class=SEntry><a href="#License" >License</a></td><td class=SDescription>Copyright &copy; 2009 &ldquo;Cowboy&rdquo; Ben Alman, Licensed under the MIT license. </td></tr><tr class="SGeneric"><td class=SEntry><a href="#Support_and_Testing" >Support and Testing</a></td><td class=SDescription>Information about what version or versions of jQuery this plugin has been tested with, what browsers it has been tested in, and where the unit tests reside (so you can test it yourself).</td></tr><tr class="SGeneric SMarked"><td class=SEntry><a href="#Revision_History" >Revision History</a></td><td class=SDescription></td></tr><tr class="SSection"><td class=SEntry><a href="#Param(to_string)" >Param (to string)</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.param.querystring" >jQuery.<wbr>param.<wbr>querystring</a></td><td class=SDescription>Retrieve the query string from a URL or if no arguments are passed, the current document.location.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#jQuery.param.querystring(build_url)" >jQuery.<wbr>param.<wbr>querystring (build url)</a></td><td class=SDescription>Merge a URL, with or without pre-existing query string params, plus any object, params string or URL containing query string params into a new URL.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.param.fragment" >jQuery.<wbr>param.<wbr>fragment</a></td><td class=SDescription>Retrieve the fragment (hash) from a URL or if no arguments are passed, the current document.location.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#jQuery.param.fragment(build_url)" >jQuery.<wbr>param.<wbr>fragment (build url)</a></td><td class=SDescription>Merge a URL, with or without pre-existing fragment (hash) params, plus any object, params string or URL containing fragment (hash) params into a new URL.</td></tr><tr class="SSection"><td class=SEntry><a href="#Deparam(from_string)" >Deparam (from string)</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.deparam" >jQuery.<wbr>deparam</a></td><td class=SDescription>Deserialize a params string into an object, optionally coercing numbers, booleans, null and undefined values; this method is the counterpart to the internal jQuery.param method.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#jQuery.deparam.querystring" >jQuery.<wbr>deparam.<wbr>querystring</a></td><td class=SDescription>Parse the query string from a URL or the current document.location, deserializing it into an object, optionally coercing numbers, booleans, null and undefined values.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.deparam.fragment" >jQuery.<wbr>deparam.<wbr>fragment</a></td><td class=SDescription>Parse the fragment (hash) from a URL or the current document.location, deserializing it into an object, optionally coercing numbers, booleans, null and undefined values.</td></tr><tr class="SSection"><td class=SEntry><a href="#Element_manipulation" >Element manipulation</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.elemUrlAttr" >jQuery.<wbr>elemUrlAttr</a></td><td class=SDescription>Get the internal &ldquo;Default URL attribute per tag&rdquo; list, or augment the list with additional tag-attribute pairs, in case the defaults are insufficient.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#jQuery.fn.querystring" >jQuery.<wbr>fn.<wbr>querystring</a></td><td class=SDescription>Update URL attribute in one or more elements, merging the current URL (with or without pre-existing query string params) plus any params object or string into a new URL, which is then set into that attribute. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.fn.fragment" >jQuery.<wbr>fn.<wbr>fragment</a></td><td class=SDescription>Update URL attribute in one or more elements, merging the current URL (with or without pre-existing fragment/hash params) plus any params object or string into a new URL, which is then set into that attribute. </td></tr><tr class="SSection"><td class=SEntry><a href="#History,hashchange_event" >History, hashchange event</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.history.pushState" >jQuery.<wbr>history.<wbr>pushState</a></td><td class=SDescription>Adds a &lsquo;state&rsquo; into the browser history at the current position, setting location.hash and triggering any bound <a href="#window.onhashchange" class=LEvent id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">window.onhashchange</a> event callbacks (provided the new state is different than the previous state).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#jQuery.history.getState" >jQuery.<wbr>history.<wbr>getState</a></td><td class=SDescription>Retrieves the current &lsquo;state&rsquo; from the browser history, parsing location.hash for a specific key or returning an object containing the entire state, optionally coercing numbers, booleans, null and undefined values.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#jQuery.history.pollDelay" >jQuery.<wbr>history.<wbr>pollDelay</a></td><td class=SDescription>The numeric speed (in milliseconds) at which the <a href="#window.onhashchange" class=LEvent id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">window.onhashchange</a> polling loop polls. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Events" >Events</a></td><td class=SDescription></td></tr><tr class="SEvent SIndent2 SMarked"><td class=SEntry><a href="#window.onhashchange" >window.<wbr>onhashchange</a></td><td class=SDescription>Fired when document.location.hash changes. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
  14 +<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="jQuery_BBQ:Back_ButtonQuery_Library"></a>jQuery BBQ: Back Button &amp; Query Library</h1><div class=CBody><p><b>Version: 0.1pre, Last updated: 9/28/2009</b></p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Home</td><td class=CDLDescription><a href="http://benalman.com/projects/jquery-bbq-plugin/" class=LURL target=_top>http://benalman.com/projects/jquery-bbq-plugin/</a></td></tr><tr><td class=CDLEntry>GitHub</td><td class=CDLDescription><a href="http://github.com/cowboy/jquery-bbq/" class=LURL target=_top>http://github.com/cowboy/jquery-bbq/</a></td></tr><tr><td class=CDLEntry>Source</td><td class=CDLDescription><a href="http://github.com/cowboy/jquery-bbq/raw/master/jquery.ba-bbq.js" class=LURL target=_top>http://github.com<wbr>/cowboy<wbr>/jquery-bbq<wbr>/raw<wbr>/master<wbr>/jquery.ba-bbq.js</a></td></tr><tr><td class=CDLEntry>(Minified)</td><td class=CDLDescription><a href="http://github.com/cowboy/jquery-bbq/raw/master/jquery.ba-bbq.min.js" class=LURL target=_top>http://github.com<wbr>/cowboy<wbr>/jquery-bbq<wbr>/raw<wbr>/master<wbr>/jquery.ba-bbq.min.js</a> (3.1kb)</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#jQuery_BBQ:Back_ButtonQuery_Library" >jQuery BBQ: Back Button &amp; Query Library</a></td><td class=SDescription><b>Version: 0.1pre, Last updated: 9/28/2009</b></td></tr><tr class="SGeneric SMarked"><td class=SEntry><a href="#License" >License</a></td><td class=SDescription>Copyright &copy; 2009 &ldquo;Cowboy&rdquo; Ben Alman, Licensed under the MIT license. </td></tr><tr class="SGeneric"><td class=SEntry><a href="#Support_and_Testing" >Support and Testing</a></td><td class=SDescription>Information about what version or versions of jQuery this plugin has been tested with, what browsers it has been tested in, and where the unit tests reside (so you can test it yourself).</td></tr><tr class="SGeneric SMarked"><td class=SEntry><a href="#Revision_History" >Revision History</a></td><td class=SDescription></td></tr><tr class="SSection"><td class=SEntry><a href="#Param(to_string)" >Param (to string)</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.param.querystring" >jQuery.<wbr>param.<wbr>querystring</a></td><td class=SDescription>Retrieve the query string from a URL or if no arguments are passed, the current document.location.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#jQuery.param.querystring(build_url)" >jQuery.<wbr>param.<wbr>querystring (build url)</a></td><td class=SDescription>Merge a URL, with or without pre-existing query string params, plus any object, params string or URL containing query string params into a new URL.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.param.fragment" >jQuery.<wbr>param.<wbr>fragment</a></td><td class=SDescription>Retrieve the fragment (hash) from a URL or if no arguments are passed, the current document.location.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#jQuery.param.fragment(build_url)" >jQuery.<wbr>param.<wbr>fragment (build url)</a></td><td class=SDescription>Merge a URL, with or without pre-existing fragment (hash) params, plus any object, params string or URL containing fragment (hash) params into a new URL.</td></tr><tr class="SSection"><td class=SEntry><a href="#Deparam(from_string)" >Deparam (from string)</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.deparam" >jQuery.<wbr>deparam</a></td><td class=SDescription>Deserialize a params string into an object, optionally coercing numbers, booleans, null and undefined values; this method is the counterpart to the internal jQuery.param method.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#jQuery.deparam.querystring" >jQuery.<wbr>deparam.<wbr>querystring</a></td><td class=SDescription>Parse the query string from a URL or the current document.location, deserializing it into an object, optionally coercing numbers, booleans, null and undefined values.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.deparam.fragment" >jQuery.<wbr>deparam.<wbr>fragment</a></td><td class=SDescription>Parse the fragment (hash) from a URL or the current document.location, deserializing it into an object, optionally coercing numbers, booleans, null and undefined values.</td></tr><tr class="SSection"><td class=SEntry><a href="#Element_manipulation" >Element manipulation</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.elemUrlAttr" >jQuery.<wbr>elemUrlAttr</a></td><td class=SDescription>Get the internal &ldquo;Default URL attribute per tag&rdquo; list, or augment the list with additional tag-attribute pairs, in case the defaults are insufficient.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#jQuery.fn.querystring" >jQuery.<wbr>fn.<wbr>querystring</a></td><td class=SDescription>Update URL attribute in one or more elements, merging the current URL (with or without pre-existing query string params) plus any params object or string into a new URL, which is then set into that attribute. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.fn.fragment" >jQuery.<wbr>fn.<wbr>fragment</a></td><td class=SDescription>Update URL attribute in one or more elements, merging the current URL (with or without pre-existing fragment/hash params) plus any params object or string into a new URL, which is then set into that attribute. </td></tr><tr class="SSection"><td class=SEntry><a href="#History,hashchange_event" >History, hashchange event</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#jQuery.history.pushState" >jQuery.<wbr>history.<wbr>pushState</a></td><td class=SDescription>Adds a &lsquo;state&rsquo; into the browser history at the current position, setting location.hash and triggering any bound <a href="#window.onhashchange" class=LEvent id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">window.onhashchange</a> event callbacks (provided the new state is different than the previous state).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#jQuery.history.getState" >jQuery.<wbr>history.<wbr>getState</a></td><td class=SDescription>Retrieves the current &lsquo;state&rsquo; from the browser history, parsing location.hash for a specific key or returning an object containing the entire state, optionally coercing numbers, booleans, null and undefined values.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#jQuery.history.pollDelay" >jQuery.<wbr>history.<wbr>pollDelay</a></td><td class=SDescription>The numeric speed (in milliseconds) at which the <a href="#window.onhashchange" class=LEvent id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">window.onhashchange</a> polling loop polls. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Events" >Events</a></td><td class=SDescription></td></tr><tr class="SEvent SIndent2 SMarked"><td class=SEntry><a href="#window.onhashchange" >window.<wbr>onhashchange</a></td><td class=SDescription>Fired when document.location.hash changes. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
15 15
16 16 <div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="License"></a>License</h3><div class=CBody><p>Copyright &copy; 2009 &ldquo;Cowboy&rdquo; Ben Alman, Licensed under the MIT license.&nbsp; <a href="http://benalman.com/about/license/" class=LURL target=_top>http://benalman.com/about/license/</a></p></div></div></div>
17 17
2  docs/index/Files.html
@@ -13,7 +13,7 @@
13 13
14 14 <div id=Index><div class=IPageTitle>File Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; D &middot; E &middot; F &middot; G &middot; H &middot; I &middot; <a href="#J">J</a> &middot; K &middot; L &middot; M &middot; N &middot; O &middot; P &middot; Q &middot; R &middot; S &middot; T &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="J"></a>J</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery_BBQ:Back_ButtonQuery_Library" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>jQuery BBQ:<wbr>Back Button&amp;Query Library</a></td></tr></table>
15 15 <!--START_ND_TOOLTIPS-->
16   -<div class=CToolTip id="tt1"><div class=CFile><b>Version: 0.1pre, Last updated: 9/27/2009</b></div></div><!--END_ND_TOOLTIPS-->
  16 +<div class=CToolTip id="tt1"><div class=CFile><b>Version: 0.1pre, Last updated: 9/28/2009</b></div></div><!--END_ND_TOOLTIPS-->
17 17
18 18 </div><!--Index-->
19 19
2  docs/index/General.html
@@ -33,7 +33,7 @@
33 33
34 34
35 35 <!--START_ND_TOOLTIPS-->
36   -<div class=CToolTip id="tt8"><div class=CFile><b>Version: 0.1pre, Last updated: 9/27/2009</b></div></div><!--END_ND_TOOLTIPS-->
  36 +<div class=CToolTip id="tt8"><div class=CFile><b>Version: 0.1pre, Last updated: 9/28/2009</b></div></div><!--END_ND_TOOLTIPS-->
37 37
38 38
39 39 <!--START_ND_TOOLTIPS-->
BIN  docs/nd/Data/ConfigFileInfo.nd
Binary file not shown
4 docs/nd/Data/FileInfo.nd
... ... @@ -1,4 +1,4 @@
1 1 1.4
2 2 JavaScript
3   -/srv/projects/jquery-bbq/jquery.ba-bbq.min.js 1254071586 0 /srv/projects/jquery-bbq/jquery.ba-bbq.min.js
4   -/srv/projects/jquery-bbq/jquery.ba-bbq.js 1254071582 1 jQuery BBQ: Back Button & Query Library
  3 +/srv/projects/jquery-bbq/jquery.ba-bbq.min.js 1254194615 0 /srv/projects/jquery-bbq/jquery.ba-bbq.min.js
  4 +/srv/projects/jquery-bbq/jquery.ba-bbq.js 1254194346 1 jQuery BBQ: Back Button & Query Library
BIN  docs/nd/Data/SymbolTable.nd
Binary file not shown
15 jquery.ba-bbq.js
... ... @@ -1,5 +1,5 @@
1 1 /*!
2   - * jQuery BBQ: Back Button & Query Library - v0.1pre - 9/27/2009
  2 + * jQuery BBQ: Back Button & Query Library - v0.1pre - 9/28/2009
3 3 * http://benalman.com/projects/jquery-bbq-plugin/
4 4 *
5 5 * Copyright (c) 2009 "Cowboy" Ben Alman
@@ -9,7 +9,7 @@
9 9
10 10 // Script: jQuery BBQ: Back Button & Query Library
11 11 //
12   -// *Version: 0.1pre, Last updated: 9/27/2009*
  12 +// *Version: 0.1pre, Last updated: 9/28/2009*
13 13 //
14 14 // Home - http://benalman.com/projects/jquery-bbq-plugin/
15 15 // GitHub - http://github.com/cowboy/jquery-bbq/
@@ -85,9 +85,8 @@
85 85
86 86 // Why write the same function twice? Let's curry! Mmmm, curry..
87 87
88   - function curry() {
89   - var args = aps.call( arguments ),
90   - func = args.shift();
  88 + function curry( func ) {
  89 + var args = aps.call( arguments, 1 );
91 90
92 91 return function() {
93 92 return func.apply( this, args.concat( aps.call( arguments ) ) );
@@ -729,7 +728,9 @@
729 728 // If window.onhashchange is supported natively, there's nothing to do..
730 729 if ( supports_onhashchange ) { return false; }
731 730
732   - // Otherwise, we need to create our own.
  731 + // Otherwise, we need to create our own. And we don't want to call this
  732 + // until the user binds to the event, just in case they never do, since it
  733 + // will create a polling loop and possibly even a hidden IFRAME.
733 734 fake_onhashchange.start();
734 735 },
735 736
@@ -738,7 +739,7 @@
738 739 // If window.onhashchange is supported natively, there's nothing to do..
739 740 if ( supports_onhashchange ) { return false; }
740 741
741   - // Otherwise, we need to stop ours, if possible.
  742 + // Otherwise, we need to stop ours (if possible).
742 743 fake_onhashchange.stop();
743 744 },
744 745
4 jquery.ba-bbq.min.js
... ... @@ -1,9 +1,9 @@
1 1 /*
2   - * jQuery BBQ: Back Button & Query Library - v0.1pre - 9/27/2009
  2 + * jQuery BBQ: Back Button & Query Library - v0.1pre - 9/28/2009
3 3 * http://benalman.com/projects/jquery-bbq-plugin/
4 4 *
5 5 * Copyright (c) 2009 "Cowboy" Ben Alman
6 6 * Licensed under the MIT license
7 7 * http://benalman.com/about/license/
8 8 */
9   -(function($){var c=this,g,k=document.location,i=Array.prototype.slice,C=decodeURIComponent,a=$.param,l,d,n,p=$.history=$.history||{},m,e,y,b="hashchange",u="querystring",x="fragment",o="hash",w="elemUrlAttr",h="href",B="src",j="on"+b in c,q=/^.*\?|#.*$/g,z=/^.*\#/,s={};function r(D){return typeof D==="string"}function v(){var D=i.call(arguments),E=D.shift();return function(){return E.apply(this,D.concat(i.call(arguments)))}}function f(E,M,D,F,I){var K,J,H,L,G;if(F!==g){H=D.match(E?/^([^#]*)\#?(.*)$/:/^([^#?]*)\??([^#]*)(#?.*)/);G=H[3]||"";if(I===2&&r(F)){J=F.replace(M,"")}else{L=d(H[2]);F=r(F)?d[E?x:u](F):F;J=I===2?F:I===1?$.extend({},F,L):$.extend({},L,F);J=a(J)}K=H[1]+(E?"#":J||!H[1]?"?":"")+J+G}else{if(D){K=D.replace(M,"")}else{K=E?k[o]?k[h].replace(M,""):"":k.search.replace(/^\??/,"")}}return K}a[u]=v(f,0,q);a[x]=l=v(f,1,z);$.deparam=d=function(G,E){var F={},D={"true":!0,"false":!1,"null":null};$.each(G.replace(/\+/g," ").split("&"),function(K,M){var J=M.split("="),N=C(J[0]),I,O=F,L=0,P=N.split("]["),H=P.length-1;if(/\[/.test(P[0])&&/\]$/.test(P[H])){P[H]=P[H].replace(/\]$/,"");P=P.shift().split("[").concat(P);H=P.length-1}else{H=0}if(J.length===2){I=C(J[1]);if(E){I=I&&!isNaN(I)?+I:I==="undefined"?g:D[I]!==g?D[I]:I}if(H){for(;L<=H;L++){N=P[L]===""?O.length:P[L];O=O[N]=L<H?O[N]||(P[L+1]&&isNaN(P[L+1])?{}:[]):I}}else{if($.isArray(F[N])){F[N].push(I)}else{if(F[N]!==g){F[N]=[F[N],I]}else{F[N]=I}}}}else{if(N){F[N]=E?g:""}}});return F};function t(G,F,E,D){if(E===g||typeof E==="boolean"){D=E;E=a[G]()}else{E=r(E)?E.replace(F,""):E}return d(E,D)}d[u]=v(t,u,q);d[x]=n=v(t,x,z);$[w]||($[w]=function(D){return $.extend(s,D)})({a:h,base:h,iframe:B,img:B,input:B,form:"action",link:h,script:B});e=$[w];function A(G,D,F,E){if(!r(F)&&typeof F!=="object"){E=F;F=D;D=g}return this.each(function(){var J=$(this),H=D||e()[(this.nodeName||"").toLowerCase()]||"",I=H&&J.attr(H)||"";J.attr(H,a[G](I,F,E))})}$.fn[u]=v(A,u);$.fn[x]=v(A,x);p.pushState=m=function(G,F){if(r(G)&&/^#/.test(G)&&F===g){F=2}var E=G!==g,D=l(k[h],E?G:{},E?F:2);k[h]=D+(/#/.test(D)?"":"#")};p.getState=function(E,D){return E===g||typeof E==="boolean"?n(E):n(D)[E]};p.pollDelay=100;$.event.special[b]={setup:function(){if(j){return false}y.start()},teardown:function(){if(j){return false}y.stop()},add:function(D,F,E){return function(H){var G=H[x]=l();H.getState=function(J,I){return J===g||typeof J==="boolean"?d(G,J):d(G,I)[J]};D.apply(this,arguments)}}};y=(function(){var E={},I,D,F,H;function G(){var J=$.browser;F=H=function(K){return K};if(J.msie&&J.version<8){D=$("<iframe/>").hide().appendTo("body")[0].contentWindow;H=function(){return D.document.location[o].replace(/^#/,"")};F=function(M,K){if(M!==K){var L=D.document;L.open();L.close();L.location[o]="#"+M}};F(l())}}E.start=function(){if(I){return}var K=l();F||G();(function J(){var M=l(),L=H(K);if(M!==K){F(K=M,L);$(c).trigger(b)}else{if(L!==K){m("#"+L)}}I=setTimeout(J,p.pollDelay)})()};E.stop=function(){if(!D){I&&clearTimeout(I);I=0}};return E})()})(jQuery);
  9 +(function($){var c=this,g,k=document.location,i=Array.prototype.slice,C=decodeURIComponent,a=$.param,l,d,n,p=$.history=$.history||{},m,e,y,b="hashchange",u="querystring",x="fragment",o="hash",w="elemUrlAttr",h="href",B="src",j="on"+b in c,q=/^.*\?|#.*$/g,z=/^.*\#/,s={};function r(D){return typeof D==="string"}function v(E){var D=i.call(arguments,1);return function(){return E.apply(this,D.concat(i.call(arguments)))}}function f(E,M,D,F,I){var K,J,H,L,G;if(F!==g){H=D.match(E?/^([^#]*)\#?(.*)$/:/^([^#?]*)\??([^#]*)(#?.*)/);G=H[3]||"";if(I===2&&r(F)){J=F.replace(M,"")}else{L=d(H[2]);F=r(F)?d[E?x:u](F):F;J=I===2?F:I===1?$.extend({},F,L):$.extend({},L,F);J=a(J)}K=H[1]+(E?"#":J||!H[1]?"?":"")+J+G}else{if(D){K=D.replace(M,"")}else{K=E?k[o]?k[h].replace(M,""):"":k.search.replace(/^\??/,"")}}return K}a[u]=v(f,0,q);a[x]=l=v(f,1,z);$.deparam=d=function(G,E){var F={},D={"true":!0,"false":!1,"null":null};$.each(G.replace(/\+/g," ").split("&"),function(K,M){var J=M.split("="),N=C(J[0]),I,O=F,L=0,P=N.split("]["),H=P.length-1;if(/\[/.test(P[0])&&/\]$/.test(P[H])){P[H]=P[H].replace(/\]$/,"");P=P.shift().split("[").concat(P);H=P.length-1}else{H=0}if(J.length===2){I=C(J[1]);if(E){I=I&&!isNaN(I)?+I:I==="undefined"?g:D[I]!==g?D[I]:I}if(H){for(;L<=H;L++){N=P[L]===""?O.length:P[L];O=O[N]=L<H?O[N]||(P[L+1]&&isNaN(P[L+1])?{}:[]):I}}else{if($.isArray(F[N])){F[N].push(I)}else{if(F[N]!==g){F[N]=[F[N],I]}else{F[N]=I}}}}else{if(N){F[N]=E?g:""}}});return F};function t(G,F,E,D){if(E===g||typeof E==="boolean"){D=E;E=a[G]()}else{E=r(E)?E.replace(F,""):E}return d(E,D)}d[u]=v(t,u,q);d[x]=n=v(t,x,z);$[w]||($[w]=function(D){return $.extend(s,D)})({a:h,base:h,iframe:B,img:B,input:B,form:"action",link:h,script:B});e=$[w];function A(G,D,F,E){if(!r(F)&&typeof F!=="object"){E=F;F=D;D=g}return this.each(function(){var J=$(this),H=D||e()[(this.nodeName||"").toLowerCase()]||"",I=H&&J.attr(H)||"";J.attr(H,a[G](I,F,E))})}$.fn[u]=v(A,u);$.fn[x]=v(A,x);p.pushState=m=function(G,F){if(r(G)&&/^#/.test(G)&&F===g){F=2}var E=G!==g,D=l(k[h],E?G:{},E?F:2);k[h]=D+(/#/.test(D)?"":"#")};p.getState=function(E,D){return E===g||typeof E==="boolean"?n(E):n(D)[E]};p.pollDelay=100;$.event.special[b]={setup:function(){if(j){return false}y.start()},teardown:function(){if(j){return false}y.stop()},add:function(D,F,E){return function(H){var G=H[x]=l();H.getState=function(J,I){return J===g||typeof J==="boolean"?d(G,J):d(G,I)[J]};D.apply(this,arguments)}}};y=(function(){var E={},I,D,F,H;function G(){var J=$.browser;F=H=function(K){return K};if(J.msie&&J.version<8){D=$("<iframe/>").hide().appendTo("body")[0].contentWindow;H=function(){return D.document.location[o].replace(/^#/,"")};F=function(M,K){if(M!==K){var L=D.document;L.open();L.close();L.location[o]="#"+M}};F(l())}}E.start=function(){if(I){return}var K=l();F||G();(function J(){var M=l(),L=H(K);if(M!==K){F(K=M,L);$(c).trigger(b)}else{if(L!==K){m("#"+L)}}I=setTimeout(J,p.pollDelay)})()};E.stop=function(){if(!D){I&&clearTimeout(I);I=0}};return E})()})(jQuery);

0 comments on commit 9c9c71b

Please sign in to comment.
Something went wrong with that request. Please try again.