Permalink
Browse files

finished unit tests, docs, no longer on boat

  • Loading branch information...
1 parent 82a2986 commit 953f412d789dd8d86d107bae16c79597c49de22a @cowboy committed Sep 27, 2009
Showing with 6,061 additions and 264 deletions.
  1. +0 −79 README
  2. +28 −0 README.markdown
  3. +104 −0 docs/files/jquery-ba-bbq-js.html
  4. +100 −0 docs/files/jquery-ba-bbq-js.html.bak
  5. +1 −0 docs/index.html
  6. +33 −0 docs/index/Events.html
  7. +33 −0 docs/index/Files.html
  8. +53 −0 docs/index/Functions.html
  9. +77 −0 docs/index/General.html
  10. +33 −0 docs/index/Properties.html
  11. +836 −0 docs/javascript/main.js
  12. +152 −0 docs/javascript/searchdata.js
  13. BIN docs/nd/Data/ClassHierarchy.nd
  14. BIN docs/nd/Data/ConfigFileInfo.nd
  15. +4 −0 docs/nd/Data/FileInfo.nd
  16. BIN docs/nd/Data/ImageFileInfo.nd
  17. BIN docs/nd/Data/ImageReferenceTable.nd
  18. BIN docs/nd/Data/IndexInfo.nd
  19. BIN docs/nd/Data/PreviousMenuState.nd
  20. BIN docs/nd/Data/PreviousSettings.nd
  21. BIN docs/nd/Data/SymbolTable.nd
  22. +113 −0 docs/nd/Languages.txt
  23. +59 −0 docs/nd/Menu.txt
  24. +81 −0 docs/nd/Topics.txt
  25. +20 −0 docs/search/EventsO.html
  26. +20 −0 docs/search/FilesJ.html
  27. +20 −0 docs/search/FunctionsD.html
  28. +20 −0 docs/search/FunctionsE.html
  29. +20 −0 docs/search/FunctionsF.html
  30. +20 −0 docs/search/FunctionsG.html
  31. +20 −0 docs/search/FunctionsP.html
  32. +20 −0 docs/search/FunctionsQ.html
  33. +20 −0 docs/search/GeneralD.html
  34. +20 −0 docs/search/GeneralE.html
  35. +20 −0 docs/search/GeneralF.html
  36. +20 −0 docs/search/GeneralG.html
  37. +20 −0 docs/search/GeneralH.html
  38. +20 −0 docs/search/GeneralJ.html
  39. +20 −0 docs/search/GeneralL.html
  40. +20 −0 docs/search/GeneralO.html
  41. +20 −0 docs/search/GeneralP.html
  42. +20 −0 docs/search/GeneralQ.html
  43. +20 −0 docs/search/GeneralR.html
  44. +20 −0 docs/search/GeneralS.html
  45. +15 −0 docs/search/NoResults.html
  46. +20 −0 docs/search/PropertiesP.html
  47. +767 −0 docs/styles/1.css
  48. +160 −0 docs/styles/2.css
  49. +2 −0 docs/styles/main.css
  50. +240 −183 jquery.ba-bbq.js
  51. +2 −2 jquery.ba-bbq.min.js
  52. +912 −0 unit/test-1.3.2.html
  53. +912 −0 unit/test.html
  54. +804 −0 unit/testrunner.js
  55. +120 −0 unit/testsuite.css
View
79 README
@@ -1,79 +0,0 @@
-jQuery BBQ: Back Button & Query Library
-http://benalman.com/projects/jquery-bbq-plugin/
-
-Copyright (c) 2009 "Cowboy" Ben Alman
-Licensed under the MIT license
-http://benalman.com/about/license/
-
-// ===============================================
-// API
-// ===============================================
-
-// ==== HISTORY, window.onhashchange ====
-
-// set new 'state' to location.hash (triggers hashchange event)
-$.history.add( params, merge_mode );
-
-// get current 'state' from location.hash (wrapper for $.deparam.fragment)
-$.history.retrieve( key, coerce );
-
-// set polling loop delay for browsers that don't support window.onhashchange natively
-$.history.pollDelay = 100;
-
-// Usage in 1.3.2:
-
-$(window).bind( 'hashchange', function() {
- var hash_str = $.param.fragment(),
- param_obj = $.history.retrieve(),
- param_val = $.history.retrieve( 'param_name' );
- ...
-});
-
-// Usage in 1.3.3+:
-
-$(window).bind( 'hashchange', function(e) {
- var hash_str = e.hash,
- param_obj = e.retrieve(),
- param_val = e.retrieve( 'param_name' );
- ...
-});
-
-// trigger bound callbacks (like on page load, to handle the state the page loaded with)
-$(window).trigger( 'hashchange' );
-
-// ==== DEPARAM ====
-// (all $.deparam methods return an object)
-
-$.deparam( params, coerce ) // deserialize params string, optionally coercing true, false, undefined, numbers
-
-$.deparam.querystring( coerce ); // get document query string as object
-$.deparam.fragment( coerce ); // get document hash as object
-
-$.deparam.querystring( params_or_url, coerce ); // get params from url or params string as object
-$.deparam.fragment( params_or_url, coerce ); // get params from url or params string as object
-
-// ==== PARAM ====
-// (all $.param methods return a string)
-
-$.param( params ) // serialize params string (jQuery built-in)
-
-$.param.querystring(); // get document query string as urlencoded params string
-$.param.fragment(); // get document hash as urlencoded params string (fixing ff urldecoding issues)
-
-$.param.querystring( params_or_url ); // get params from url or params string as urlencoded params string
-$.param.fragment( params_or_url ); // get params from url or params string as urlencoded params string
-
-$.param.querystring( url, url_or_params, merge_mode ); // get full url string with params merged into search ? (params can be in a url)
-$.param.fragment( url, url_or_params, merge_mode ); // get full url string with params merged into fragment # (params can be in a url)
-
-// ==== COLLECTIONS ($.fn)====
-
-// merge params into pre-existing url (or empty string) stored in attribute
-
-$.fn.querystring( attr, params, merge_mode );
-$.fn.fragment( attr, params, merge_mode );
-
-// specify default attr-per-elem for $.fn.querystring / $.fn.fragment
-
-$.param.urlAttr( obj );
-
View
28 README.markdown
@@ -0,0 +1,28 @@
+# jQuery BBQ: Back Button & Query Library #
+[http://benalman.com/projects/jquery-bbq-plugin/](http://benalman.com/projects/jquery-bbq-plugin/)
+
+Version: 0.1pre, Last updated: 9/27/2009
+
+DESCRIPTION
+
+## License ##
+Copyright (c) 2009 "Cowboy" Ben Alman
+Licensed under the MIT license
+[http://benalman.com/about/license/](http://benalman.com/about/license/)
+
+## Documentation ##
+[http://benalman.com/code/projects/jquery-bbq/docs/files/jquery-ba-bbq-js.html](http://benalman.com/code/projects/jquery-bbq/docs/files/jquery-ba-bbq-js.html)
+
+## Examples ##
+COMING SOON
+
+## Support and Testing ##
+
+### Unit Tests ###
+[http://benalman.com/code/projects/jquery-bbq/unit/test.html](http://benalman.com/code/projects/jquery-bbq/unit/test.html)
+
+### jQuery Versions ###
+1.3.2, 1.4pre
+
+### Browsers Tested ###
+Internet Explorer 6-8, Firefox 2-3.6, Safari 3-4, Chrome, Opera 9.6-10.
View
104 docs/files/jquery-ba-bbq-js.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>jQuery BBQ: Back Button &amp; Query Library</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.4 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<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>
+
+<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>
+
+<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Support_and_Testing"></a>Support and Testing</h3><div class=CBody><p>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).</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>jQuery Versions</td><td class=CDLDescription>1.3.2, 1.4pre</td></tr><tr><td class=CDLEntry>Browsers Tested</td><td class=CDLDescription>Internet Explorer 6-8, Firefox 2-3.6, Safari 3-4, Chrome, Opera 9.6-10.</td></tr><tr><td class=CDLEntry>Unit Tests</td><td class=CDLDescription><a href="http://benalman.com/code/projects/jquery-bbq/unit/test.html" class=LURL target=_top>http://benalman.com<wbr>/code<wbr>/projects<wbr>/jquery-bbq<wbr>/unit<wbr>/test.html</a></td></tr></table></div></div></div>
+
+<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Revision_History"></a>Revision History</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>0.1pre</td><td class=CDLDescription>Pre-initial release</td></tr></table></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Param(to_string)"></a>Param (to string)</h2><div class=CBody><!--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="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 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 SIndent1"><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 SIndent1 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 SIndent1"><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></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.param.querystring"></a>jQuery.<wbr>param.<wbr>querystring</h3><div class=CBody><p>Retrieve the query string from a URL or if no arguments are passed, the current document.location.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.param.querystring( [ url ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>url</td><td class=CDLDescription>(String) A URL containing query string params to be parsed.</td></tr></table><h4 class=CHeading>Returns</h4><p>(String) The parsed query string, with any leading &ldquo;?&rdquo; removed.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.param.querystring(build_url)"></a>jQuery.<wbr>param.<wbr>querystring (build url)</h3><div class=CBody><p>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.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.param.querystring( url, params [, merge_mode ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>url</td><td class=CDLDescription>(String) A valid URL for params to be merged into.&nbsp; This URL may contain a query string and/or fragment (hash).</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(String) A params string or URL containing query string params to be merged into url.</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(Object) A params object to be merged into url.</td></tr><tr><td class=CDLEntry>merge_mode</td><td class=CDLDescription>(Number) Merge behavior defaults to 0 if merge_mode is not specified, and is as-follows:</td></tr></table><ul><li>0: params in the params argument will override any query string params in url.</li><li>1: any query string params in url will override params in the params argument.</li><li>2: params argument will completely replace any query string in url.</li></ul><h4 class=CHeading>Returns</h4><p>(String) Either a params string with urlencoded data or a URL with a urlencoded query string in the format &lsquo;a=b&amp;c=d&amp;e=f&rsquo;.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.param.fragment"></a>jQuery.<wbr>param.<wbr>fragment</h3><div class=CBody><p>Retrieve the fragment (hash) from a URL or if no arguments are passed, the current document.location.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.param.fragment( [ url ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>url</td><td class=CDLDescription>(String) A URL containing fragment (hash) params to be parsed.</td></tr></table><h4 class=CHeading>Returns</h4><p>(String) The parsed fragment (hash) string, with any leading &ldquo;#&rdquo; removed.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.param.fragment(build_url)"></a>jQuery.<wbr>param.<wbr>fragment (build url)</h3><div class=CBody><p>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.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.param.fragment( url, params [, merge_mode ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>url</td><td class=CDLDescription>(String) A valid URL for params to be merged into.&nbsp; This URL may contain a query string and/or fragment (hash).</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(String) A params string or URL containing fragment (hash) params to be merged into url.</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(Object) A params object to be merged into url.</td></tr><tr><td class=CDLEntry>merge_mode</td><td class=CDLDescription>(Number) Merge behavior defaults to 0 if merge_mode is not specified, and is as-follows:</td></tr></table><ul><li>0: params in the params argument will override any fragment (hash) params in url.</li><li>1: any fragment (hash) params in url will override params in the params argument.</li><li>2: params argument will completely replace any query string in url.</li></ul><h4 class=CHeading>Returns</h4><p>(String) Either a params string with urlencoded data or a URL with a urlencoded fragment (hash) in the format &lsquo;a=b&amp;c=d&amp;e=f&rsquo;.</p></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Deparam(from_string)"></a>Deparam (from string)</h2><div class=CBody><!--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="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 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 SIndent1"><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 SIndent1 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></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.deparam"></a>jQuery.<wbr>deparam</h3><div class=CBody><p>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.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.deparam( params [, coerce ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>params</td><td class=CDLDescription>(String) A params string to be parsed.</td></tr><tr><td class=CDLEntry>coerce</td><td class=CDLDescription>(Boolean) If true, coerces any numbers or true, false, null, and undefined to their actual value.&nbsp; Defaults to false.</td></tr></table><h4 class=CHeading>Returns</h4><p>(Object) An object representing the deserialized params string.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.deparam.querystring"></a>jQuery.<wbr>deparam.<wbr>querystring</h3><div class=CBody><p>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.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.deparam.querystring( [ url ] [, coerce ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>url</td><td class=CDLDescription>(String) A params string or URL containing query string params to be parsed.</td></tr><tr><td class=CDLEntry>coerce</td><td class=CDLDescription>(Boolean) If true, coerces any numbers or true, false, null, and undefined to their actual value.&nbsp; Defaults to false.</td></tr></table><h4 class=CHeading>Returns</h4><p>(Object) An object representing the deserialized params string.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.deparam.fragment"></a>jQuery.<wbr>deparam.<wbr>fragment</h3><div class=CBody><p>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.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.deparam.fragment( [ url ] [, coerce ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>url</td><td class=CDLDescription>(String) A params string or URL containing fragment (hash) params to be parsed.</td></tr><tr><td class=CDLEntry>coerce</td><td class=CDLDescription>(Boolean) If true, coerces any numbers or true, false, null, and undefined to their actual value.&nbsp; Defaults to false.</td></tr></table><h4 class=CHeading>Returns</h4><p>(Object) An object representing the deserialized params string.</p></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Element_manipulation"></a>Element manipulation</h2><div class=CBody><!--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="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 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 SIndent1"><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 SIndent1 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></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.elemUrlAttr"></a>jQuery.<wbr>elemUrlAttr</h3><div class=CBody><p>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.</p><p>In the <a href="#jQuery.fn.querystring" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">jQuery.fn.querystring</a> and <a href="#jQuery.fn.fragment" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">jQuery.fn.fragment</a> methods, this list is used to determine which attribute contains the URL to be modified, if an &ldquo;attr&rdquo; param is not specified.</p><h4 class=CHeading>Default Tag-Attribute List</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>a</td><td class=CDLDescription>href</td></tr><tr><td class=CDLEntry>base</td><td class=CDLDescription>href</td></tr><tr><td class=CDLEntry>iframe</td><td class=CDLDescription>src</td></tr><tr><td class=CDLEntry>img</td><td class=CDLDescription>src</td></tr><tr><td class=CDLEntry>input</td><td class=CDLDescription>src</td></tr><tr><td class=CDLEntry>form</td><td class=CDLDescription>action</td></tr><tr><td class=CDLEntry>link</td><td class=CDLDescription>href</td></tr><tr><td class=CDLEntry>script</td><td class=CDLDescription>src</td></tr></table><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.elemUrlAttr( [ tag_attr ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>tag_attr</td><td class=CDLDescription>(Object) An object containing a list of tag names and their associated default attribute names in the format { tag: &lsquo;attr&rsquo;, ...&nbsp; } to be merged into the internal tag-attribute list.</td></tr></table><h4 class=CHeading>Returns</h4><p>(Object) An object containing all stored tag-attribute values.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.fn.querystring"></a>jQuery.<wbr>fn.<wbr>querystring</h3><div class=CBody><p>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.&nbsp; Like <a href="#jQuery.param.querystring(build_url)" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">jQuery.param.querystring (build url)</a>, but for all elements in a jQuery collection.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery('selector').querystring( [ attr, ] params [, merge_mode ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>attr</td><td class=CDLDescription>(String) Optional name of an attribute that will contain a URL to merge params or url into.&nbsp; See <a href="#jQuery.elemUrlAttr" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">jQuery.elemUrlAttr</a> for a list of default attributes.</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(Object) A params object to be merged into the URL attribute.</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(String) A URL containing query string params, or params string to be merged into the URL attribute.</td></tr><tr><td class=CDLEntry>merge_mode</td><td class=CDLDescription>(Number) Merge behavior defaults to 0 if merge_mode is not specified, and is as-follows:</td></tr></table><ul><li>0: params in the params argument will override any params in attr URL.</li><li>1: any params in attr URL will override params in the params argument.</li><li>2: params argument will completely replace any query string in attr URL.</li></ul><h4 class=CHeading>Returns</h4><p>(jQuery) The initial jQuery collection of elements, but with modified URL attribute values.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.fn.fragment"></a>jQuery.<wbr>fn.<wbr>fragment</h3><div class=CBody><p>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.&nbsp; Like <a href="#jQuery.param.fragment(build_url)" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">jQuery.param.fragment (build url)</a>, but for all elements in a jQuery collection.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery('selector').fragment( [ attr, ] params [, merge_mode ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>attr</td><td class=CDLDescription>(String) Optional name of an attribute that will contain a URL to merge params into.&nbsp; See <a href="#jQuery.elemUrlAttr" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt5', 'link8')" onMouseOut="HideTip('tt5')">jQuery.elemUrlAttr</a> for a list of default attributes.</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(Object) A params object to be merged into the URL attribute.</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(String) A URL containing fragment (hash) params, or params string to be merged into the URL attribute.</td></tr><tr><td class=CDLEntry>merge_mode</td><td class=CDLDescription>(Number) Merge behavior defaults to 0 if merge_mode is not specified, and is as-follows:</td></tr></table><ul><li>0: params in the params argument will override any params in attr URL.</li><li>1: any params in attr URL will override params in the params argument.</li><li>2: params argument will completely replace any fragment (hash) in attr URL.</li></ul><h4 class=CHeading>Returns</h4><p>(jQuery) The initial jQuery collection of elements, but with modified URL attribute values.</p></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="History,hashchange_event"></a>History, hashchange event</h2><div class=CBody><!--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="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 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=link9 onMouseOver="ShowTip(event, 'tt1', 'link9')" onMouseOut="HideTip('tt1')">window.onhashchange</a> event callbacks (provided the new state is different than the previous state).</td></tr><tr class="SFunction SIndent1"><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"><td class=SEntry><a href="#Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 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=link10 onMouseOver="ShowTip(event, 'tt1', 'link10')" onMouseOut="HideTip('tt1')">window.onhashchange</a> polling loop polls. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Events" >Events</a></td><td class=SDescription></td></tr><tr class="SEvent SIndent1 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>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.history.pushState"></a>jQuery.<wbr>history.<wbr>pushState</h3><div class=CBody><p>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=link11 onMouseOver="ShowTip(event, 'tt1', 'link11')" onMouseOut="HideTip('tt1')">window.onhashchange</a> event callbacks (provided the new state is different than the previous state).</p><p>If no arguments are passed, an empty state is created, which is just a shortcut for $.history.pushState( {}, 2 ).</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.history.pushState( [ params [, merge_mode ] ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>params</td><td class=CDLDescription>(String) A serialized params string or a hash string beginning with # to merge into location.hash.</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(Object) A params object to merge into location.hash.</td></tr><tr><td class=CDLEntry>merge_mode</td><td class=CDLDescription>(Number) Merge behavior defaults to 0 if merge_mode is not specified (unless a hash string beginning with # is specified, in which case merge behavior defaults to 2), and is as-follows:</td></tr></table><ul><li>0: params in the params argument will override any params in the current state.</li><li>1: any params in the current state will override params in the params argument.</li><li>2: params argument will completely replace current state.</li></ul><h4 class=CHeading>Returns</h4><p>Nothing.</p><h4 class=CHeading>Additional Notes</h4><ul><li>Setting an empty state may cause the browser to scroll.</li><li>Unlike the fragment and querystring methods, if a hash string beginning with # is specified as the params agrument, merge_mode defaults to 2.</li></ul></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.history.getState"></a>jQuery.<wbr>history.<wbr>getState</h3><div class=CBody><p>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.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.history.getState( [ key ] [, coerce ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>key</td><td class=CDLDescription>(String) An optional state key for which to return a value.</td></tr><tr><td class=CDLEntry>coerce</td><td class=CDLDescription>(Boolean) If true, coerces any numbers or true, false, null, and undefined to their actual value.&nbsp; Defaults to false.</td></tr></table><h4 class=CHeading>Returns</h4><p>(Anything) If key is passed, returns the value corresponding with that key in the location.hash &lsquo;state&rsquo;, or undefined.&nbsp; If not, an object representing the entire &lsquo;state&rsquo; is returned.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Properties"></a>Properties</h3></div></div>
+
+<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="jQuery.history.pollDelay"></a>jQuery.<wbr>history.<wbr>pollDelay</h3><div class=CBody><p>The numeric speed (in milliseconds) at which the <a href="#window.onhashchange" class=LEvent id=link12 onMouseOver="ShowTip(event, 'tt1', 'link12')" onMouseOut="HideTip('tt1')">window.onhashchange</a> polling loop polls.&nbsp; Defaults to 100.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Events"></a>Events</h3></div></div>
+
+<div class="CEvent"><div class=CTopic><h3 class=CTitle><a name="window.onhashchange"></a>window.<wbr>onhashchange</h3><div class=CBody><p>Fired when document.location.hash changes.&nbsp; In browsers that support it, the native window.onhashchange event is used (IE8, FF3.6), otherwise a polling loop is initialized, running every <a href="#jQuery.history.pollDelay" class=LProperty id=link13 onMouseOver="ShowTip(event, 'tt7', 'link13')" onMouseOut="HideTip('tt7')">jQuery.history.pollDelay</a> milliseconds to see if the hash has changed.&nbsp; In IE 6 and 7, a hidden IFRAME is created to allow hash-based history to work.</p><h4 class=CHeading>Usage in 1.4pre and newer</h4><p>In 1.4pre and newer, the event object that is passed into the callback is augmented with an additional e.fragment property that contains the current document location.hash state as a string, as well as an e.getState method.</p><p>e.fragment is equivalent to the output of <a href="#jQuery.param.fragment" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt8', 'link14')" onMouseOut="HideTip('tt8')">jQuery.param.fragment</a>, and e.getState() is equivalent to <a href="#jQuery.history.getState" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt9', 'link15')" onMouseOut="HideTip('tt9')">jQuery.history.getState</a>, except that they refer to the event-specific state value stored in the event object, instead of the current document.location, allowing the event object to be referenced later, even if document.location has changed.</p><blockquote><pre>$(window).bind( 'hashchange', function(e) {
+ var hash_str = e.fragment,
+ param_obj = e.getState(),
+ param_val = e.getState( 'param_name' ),
+ param_val_coerced = e.getState( 'param_name', true );
+ ...
+});</pre></blockquote><h4 class=CHeading>Usage in 1.3.2</h4><p>In 1.3.2, the event object is unable to be augmented as in 1.4pre+, so the fragment state isn&rsquo;t bound to the event object and must instead be parsed using the <a href="#jQuery.param.fragment" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt8', 'link16')" onMouseOut="HideTip('tt8')">jQuery.param.fragment</a> and <a href="#jQuery.history.getState" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt9', 'link17')" onMouseOut="HideTip('tt9')">jQuery.history.getState</a> methods.</p><blockquote><pre>$(window).bind( 'hashchange', function(e) {
+ var hash_str = $.param.fragment(),
+ param_obj = $.history.getState(),
+ param_val = $.history.getState( 'param_name' ),
+ param_val_coerced = $.history.getState( 'param_name', true );
+ ...
+});</pre></blockquote><h4 class=CHeading>Additional Notes</h4><ul><li>The polling loop and iframe are not created until at least one callback is actually bound to &lsquo;hashchange&rsquo;.</li><li>If you need the bound callback(s) to execute immediately, in cases where the page &lsquo;state&rsquo; exists on page load (via bookmark or page refresh, for example) use $(window).trigger( &lsquo;hashchange&rsquo; );</li></ul></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile id=MSelected>jQuery BBQ: Back Button &amp; Query Library</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Events.html">Events</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Properties.html">Properties</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Events">Events</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Properties">Properties</option></select></div></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CEvent>Fired when document.location.hash changes. </div></div><div class=CToolTip id="tt2"><div class=CFunction>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. </div></div><div class=CToolTip id="tt3"><div class=CFunction>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. </div></div><div class=CToolTip id="tt4"><div class=CFunction>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.</div></div><div class=CToolTip id="tt5"><div class=CFunction>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.</div></div><div class=CToolTip id="tt6"><div class=CFunction>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.</div></div><div class=CToolTip id="tt7"><div class=CProperty>The numeric speed (in milliseconds) at which the window.onhashchange polling loop polls. </div></div><div class=CToolTip id="tt8"><div class=CFunction>Retrieve the fragment (hash) from a URL or if no arguments are passed, the current document.location.</div></div><div class=CToolTip id="tt9"><div class=CFunction>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.</div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
View
100 docs/files/jquery-ba-bbq-js.html.bak
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>jQuery BBQ: Back Button &amp; Query Library</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.4 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<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>Version: 0.1pre, Date: 9/23/2009</p><p>Supported jQuery: 1.3.2, 1.3.3pre</p><p>Browsers Tested: Internet Explorer 6-8, Firefox 2-3.6, Safari 3-4, Chrome, Opera 9.6-10.</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><tr><td class=CDLEntry>Unit Tests</td><td class=CDLDescription><a href="http://benalman.com/code/projects/jquery-bbq/unit/test.html" class=LURL target=_top>http://benalman.com<wbr>/code<wbr>/projects<wbr>/jquery-bbq<wbr>/unit<wbr>/test.html</a></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>Version: 0.1pre, Date: 9/23/2009</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</td></tr><tr class="SGeneric"><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 the current document. </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 the current document. </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, 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, 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.param.urlAttr" >jQuery.<wbr>param.<wbr>urlAttr</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 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 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>
+
+<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</p><p>Licensed under the MIT license</p><p><a href="http://benalman.com/about/license/" class=LURL target=_top>http://benalman.com/about/license/</a></p></div></div></div>
+
+<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Revision_History"></a>Revision History</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>0.1pre</td><td class=CDLDescription>Pre-initial release</td></tr></table></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Param(to_string)"></a>Param (to string)</h2><div class=CBody><!--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="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 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 the current document. </td></tr><tr class="SFunction SIndent1"><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 SIndent1 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 the current document. </td></tr><tr class="SFunction SIndent1"><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></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.param.querystring"></a>jQuery.<wbr>param.<wbr>querystring</h3><div class=CBody><p>Retrieve the query string from a URL or the current document.&nbsp; If a params object is passed in, a serialized params string is returned.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.param.querystring( [ params ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>params_or_url</td><td class=CDLDescription>(String or Object) A params string or URL containing query string params to be parsed, or an object to be serialized.</td></tr></table><h4 class=CHeading>Returns</h4><p>(String) A params string with urlencoded data in the format &lsquo;a=b&amp;c=d&amp;e=f&rsquo;.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.param.querystring(build_url)"></a>jQuery.<wbr>param.<wbr>querystring (build url)</h3><div class=CBody><p>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.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.param.querystring( url, params [, merge_mode ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>url</td><td class=CDLDescription>(String) A valid URL for params to be merged into.&nbsp; This URL may contain a query string and/or fragment (hash).</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(Object) An object, params string, or URL containing query string params to be merged into the URL.</td></tr><tr><td class=CDLEntry>merge_mode</td><td class=CDLDescription>(Number) Merge behavior defaults to 0 if merge_mode is not specified, and is as-follows:</td></tr></table><ul><li>0: params argument will override any params in url.</li><li>1: any params in url will override params argument.</li><li>2: params argument will completely replace any params in url.</li></ul><h4 class=CHeading>Returns</h4><p>(String) Either a params string with urlencoded data or a URL with a urlencoded query string in the format &lsquo;a=b&amp;c=d&amp;e=f&rsquo;.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.param.fragment"></a>jQuery.<wbr>param.<wbr>fragment</h3><div class=CBody><p>Retrieve the fragment (hash) from a URL or the current document.&nbsp; If a params object is passed in, a serialized params string is returned.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.param.fragment( [ params_or_url ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>params_or_url</td><td class=CDLDescription>(String or Object) A params string or URL containing fragment (hash) params to be parsed, or an object to be serialized.</td></tr></table><h4 class=CHeading>Returns</h4><p>(String) A params string with urlencoded data in the format &lsquo;a=b&amp;c=d&amp;e=f&rsquo;.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.param.fragment(build_url)"></a>jQuery.<wbr>param.<wbr>fragment (build url)</h3><div class=CBody><p>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.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.param.fragment( url, params [, merge_mode ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>url</td><td class=CDLDescription>(String) A valid URL for params to be merged into.&nbsp; This URL may contain a query string and/or fragment (hash).</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(Object) An object, params string, or URL containing fragment (hash) params to be merged into the URL.</td></tr><tr><td class=CDLEntry>merge_mode</td><td class=CDLDescription>(Number) Merge behavior defaults to 0 if merge_mode is not specified, and is as-follows:</td></tr></table><ul><li>0: params argument will override any params in url.</li><li>1: any params in url will override params argument.</li><li>2: params argument will completely replace any params in url.</li></ul><h4 class=CHeading>Returns</h4><p>(String) Either a params string with urlencoded data or a URL with a urlencoded fragment (hash) in the format &lsquo;a=b&amp;c=d&amp;e=f&rsquo;.</p></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Deparam(from_string)"></a>Deparam (from string)</h2><div class=CBody><!--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="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 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 SIndent1"><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, deserializing it into an object, optionally coercing numbers, booleans, null and undefined values.</td></tr><tr class="SFunction SIndent1 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, deserializing it into an object, optionally coercing numbers, booleans, null and undefined values.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.deparam"></a>jQuery.<wbr>deparam</h3><div class=CBody><p>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.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.deparam( params_str [, coerce ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>params_str</td><td class=CDLDescription>(String) A params string to be parsed.</td></tr><tr><td class=CDLEntry>coerce</td><td class=CDLDescription>(Boolean) If true, coerces any numbers or true, false, null, and undefined to their actual value.&nbsp; Defaults to false.</td></tr></table><h4 class=CHeading>Returns</h4><p>(Object) An object representing the deserialized params string.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.deparam.querystring"></a>jQuery.<wbr>deparam.<wbr>querystring</h3><div class=CBody><p>Parse the query string from a URL or the current document, deserializing it into an object, optionally coercing numbers, booleans, null and undefined values.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.deparam.querystring( [ url ] [, coerce ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>url</td><td class=CDLDescription>(String) A params string or URL containing query string params to be parsed, or an object to be serialized.</td></tr><tr><td class=CDLEntry>coerce</td><td class=CDLDescription>(Boolean) If true, coerces any numbers or true, false, null, and undefined to their actual value.&nbsp; Defaults to false.</td></tr></table><h4 class=CHeading>Returns</h4><p>(Object) An object representing the deserialized params string.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.deparam.fragment"></a>jQuery.<wbr>deparam.<wbr>fragment</h3><div class=CBody><p>Parse the fragment (hash) from a URL or the current document, deserializing it into an object, optionally coercing numbers, booleans, null and undefined values.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.deparam.fragment( [ url ] [, coerce ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>url</td><td class=CDLDescription>(String) A params string or URL containing fragment (hash) params to be parsed, or an object to be serialized.</td></tr><tr><td class=CDLEntry>coerce</td><td class=CDLDescription>(Boolean) If true, coerces any numbers or true, false, null, and undefined to their actual value.&nbsp; Defaults to false.</td></tr></table><h4 class=CHeading>Returns</h4><p>(Object) An object representing the deserialized params string.</p></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="Element_manipulation"></a>Element manipulation</h2><div class=CBody><!--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="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#jQuery.param.urlAttr" >jQuery.<wbr>param.<wbr>urlAttr</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 SIndent1"><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 params) plus any params object or string into a new URL, which is then set into that attribute. </td></tr><tr class="SFunction SIndent1 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 params) plus any params object or string into a new URL, which is then set into that attribute. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.param.urlAttr"></a>jQuery.<wbr>param.<wbr>urlAttr</h3><div class=CBody><p>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.</p><p>In the <a href="#jQuery.fn.querystring" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">jQuery.fn.querystring</a> and <a href="#jQuery.fn.fragment" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">jQuery.fn.fragment</a> methods, this list is used to determine which attribute contains the URL to be modified.</p><h4 class=CHeading>Default Tag-Attribute List</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>a</td><td class=CDLDescription>href</td></tr><tr><td class=CDLEntry>base</td><td class=CDLDescription>href</td></tr><tr><td class=CDLEntry>iframe</td><td class=CDLDescription>src</td></tr><tr><td class=CDLEntry>img</td><td class=CDLDescription>src</td></tr><tr><td class=CDLEntry>form</td><td class=CDLDescription>action</td></tr><tr><td class=CDLEntry>link</td><td class=CDLDescription>href</td></tr><tr><td class=CDLEntry>script</td><td class=CDLDescription>src</td></tr></table><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.param.urlAttr( [ tag_attr_obj ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>tag_attr_obj</td><td class=CDLDescription>(Object) An list of tag names and associated default attribute names in the format { tag: &lsquo;attr&rsquo;, tag: &lsquo;attr&rsquo;, ...&nbsp; }.</td></tr></table><h4 class=CHeading>Returns</h4><p>(Object) The current internal &ldquo;Default URL attribute per tag&rdquo; list.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.fn.querystring"></a>jQuery.<wbr>fn.<wbr>querystring</h3><div class=CBody><p>Update URL attribute in one or more elements, merging the current URL (with or without pre-existing params) plus any params object or string into a new URL, which is then set into that attribute.&nbsp; Like <a href="#jQuery.param.querystring(build_url)" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">jQuery.param.querystring (build url)</a>, but for all elements in a jQuery collection.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery('selector').querystring( [ attr, ] params [, merge_mode ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>attr</td><td class=CDLDescription>(String) Optional name of an attribute that will contain a URL to merge params into.&nbsp; See <a href="#jQuery.param.urlAttr" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">jQuery.param.urlAttr</a> for a list of default attributes.</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(String or Object) Either a serialized params string or a params object to be merged into the URL.</td></tr><tr><td class=CDLEntry>merge_mode</td><td class=CDLDescription>(Number) Merge behavior defaults to 0 if merge_mode is not specified, and is as-follows:</td></tr></table><ul><li>0: params argument will override any params in attr URL.</li><li>1: any params in attr URL will override params argument.</li><li>2: params argument will completely replace any params in attr URL.</li></ul><h4 class=CHeading>Returns</h4><p>(jQuery) The initial jQuery collection of elements, but with modified URL attribute values.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.fn.fragment"></a>jQuery.<wbr>fn.<wbr>fragment</h3><div class=CBody><p>Update URL attribute in one or more elements, merging the current URL (with or without pre-existing params) plus any params object or string into a new URL, which is then set into that attribute.&nbsp; Like <a href="#jQuery.param.fragment(build_url)" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">jQuery.param.fragment (build url)</a>, but for all elements in a jQuery collection.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery('selector').fragment( [ attr, ] params [, merge_mode ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>attr</td><td class=CDLDescription>(String) Optional name of an attribute that will contain a URL to merge params into.&nbsp; See <a href="#jQuery.param.urlAttr" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt5', 'link8')" onMouseOut="HideTip('tt5')">jQuery.param.urlAttr</a> for a list of default attributes.</td></tr><tr><td class=CDLEntry>params</td><td class=CDLDescription>(String or Object) Either a serialized params string or a params object to be merged into the URL.</td></tr><tr><td class=CDLEntry>merge_mode</td><td class=CDLDescription>(Number) Merge behavior defaults to 0 if merge_mode is not specified, and is as-follows:</td></tr></table><ul><li>0: params argument will override any params in attr URL.</li><li>1: any params in attr URL will override params argument.</li><li>2: params argument will completely replace any params in attr URL.</li></ul><h4 class=CHeading>Returns</h4><p>(jQuery) The initial jQuery collection of elements, but with modified URL attribute values.</p></div></div></div>
+
+<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="History,hashchange_event"></a>History, hashchange event</h2><div class=CBody><!--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="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 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=link9 onMouseOver="ShowTip(event, 'tt1', 'link9')" onMouseOut="HideTip('tt1')">window.onhashchange</a> event callbacks (provided the new state is different than the previous state).</td></tr><tr class="SFunction SIndent1"><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"><td class=SEntry><a href="#Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 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=link10 onMouseOver="ShowTip(event, 'tt1', 'link10')" onMouseOut="HideTip('tt1')">window.onhashchange</a> polling loop polls. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Events" >Events</a></td><td class=SDescription></td></tr><tr class="SEvent SIndent1 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>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.history.pushState"></a>jQuery.<wbr>history.<wbr>pushState</h3><div class=CBody><p>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=link11 onMouseOver="ShowTip(event, 'tt1', 'link11')" onMouseOut="HideTip('tt1')">window.onhashchange</a> event callbacks (provided the new state is different than the previous state).</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.history.pushState( [ params [, merge_mode ] ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>params</td><td class=CDLDescription>(String or Object) Either a hash string beginning with #, a serialized params string or a data object to set as the current history state (location.hash).&nbsp; If omitted, sets the document hash to # (this is just a shortcut for $.history.pushState( {}, 2 ) and may cause your browser to scroll).&nbsp; If a hash string beginning with # is specified, will completely overwrite the existing hash.</td></tr><tr><td class=CDLEntry>merge_mode</td><td class=CDLDescription>(Number) Merge behavior defaults to 0 if merge_mode is not specified, and is as-follows:</td></tr></table><ul><li>0: params argument will override any params in document hash.</li><li>1: any params in document hash will override params argument.</li><li>2: params argument will completely replace any params in document hash.</li></ul><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="jQuery.history.getState"></a>jQuery.<wbr>history.<wbr>getState</h3><div class=CBody><p>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.</p><h4 class=CHeading>Usage</h4><blockquote><pre>jQuery.history.getState( [ key ] [, coerce ] );</pre></blockquote><h4 class=CHeading>Arguments</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>key</td><td class=CDLDescription>(String) An optional state key for which to return a value.</td></tr><tr><td class=CDLEntry>coerce</td><td class=CDLDescription>(Boolean) If true, coerces any numbers or true, false, null, and undefined to their actual value.&nbsp; Defaults to false.</td></tr></table><h4 class=CHeading>Returns</h4><p>(Anything) If key is passed, returns the value corresponding with that key in the location.hash &lsquo;state&rsquo;, or undefined.&nbsp; If not, an object representing the entire &lsquo;state&rsquo; is returned.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Properties"></a>Properties</h3></div></div>
+
+<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="jQuery.history.pollDelay"></a>jQuery.<wbr>history.<wbr>pollDelay</h3><div class=CBody><p>The numeric speed (in milliseconds) at which the <a href="#window.onhashchange" class=LEvent id=link12 onMouseOver="ShowTip(event, 'tt1', 'link12')" onMouseOut="HideTip('tt1')">window.onhashchange</a> polling loop polls.&nbsp; Defaults to 100.</p></div></div></div>
+
+<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Events"></a>Events</h3></div></div>
+
+<div class="CEvent"><div class=CTopic><h3 class=CTitle><a name="window.onhashchange"></a>window.<wbr>onhashchange</h3><div class=CBody><p>Fired when document.location.hash changes.&nbsp; In browsers that support it, the native window.onhashchange event is used (IE8, FF3.6), otherwise a polling loop is initialized, running every <a href="#jQuery.history.pollDelay" class=LProperty id=link13 onMouseOver="ShowTip(event, 'tt7', 'link13')" onMouseOut="HideTip('tt7')">jQuery.history.pollDelay</a> milliseconds to see if the hash has changed.&nbsp; In IE 6 and 7, a hidden IFRAME is created to allow hash-based history to work.</p><h4 class=CHeading>Notes</h4><ul><li>The polling loop and iframe are not created until at least one callback is actually bound to &lsquo;hashchange&rsquo;.</li><li>If you need the bound callback(s) to execute immediately, in cases where the page &lsquo;state&rsquo; exists on page load (via bookmark or page refresh, for example) use $(window).trigger( &lsquo;hashchange&rsquo; );</li></ul><h4 class=CHeading>Usage in 1.3.2</h4><blockquote><pre>$(window).bind( 'hashchange', function() {
+ var hash_str = $.param.fragment(),
+ param_obj = $.history.getState(),
+ param_val = $.history.getState( 'param_name' );
+ ...
+});</pre></blockquote><h4 class=CHeading>Usage in 1.3.3pre+</h4><blockquote><pre>$(window).bind( 'hashchange', function(e) {
+ var hash_str = e.fragment,
+ param_obj = e.getState(),
+ param_val = e.getState( 'param_name' );
+ ...
+});</pre></blockquote></div></div></div>
+
+</div><!--Content-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile id=MSelected>jQuery BBQ: Back Button &amp; Query Library</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Events.html">Events</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Properties.html">Properties</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Events">Events</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Properties">Properties</option></select></div></div><!--Menu-->
+
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CEvent>Fired when document.location.hash changes. </div></div><div class=CToolTip id="tt2"><div class=CFunction>Update URL attribute in one or more elements, merging the current URL (with or without pre-existing params) plus any params object or string into a new URL, which is then set into that attribute. </div></div><div class=CToolTip id="tt3"><div class=CFunction>Update URL attribute in one or more elements, merging the current URL (with or without pre-existing params) plus any params object or string into a new URL, which is then set into that attribute. </div></div><div class=CToolTip id="tt4"><div class=CFunction>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.</div></div><div class=CToolTip id="tt5"><div class=CFunction>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.</div></div><div class=CToolTip id="tt6"><div class=CFunction>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.</div></div><div class=CToolTip id="tt7"><div class=CProperty>The numeric speed (in milliseconds) at which the window.onhashchange polling loop polls. </div></div><!--END_ND_TOOLTIPS-->
+
+
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
View
1 docs/index.html
@@ -0,0 +1 @@
+<html><head><meta http-equiv="Refresh" CONTENT="0; URL=files/jquery-ba-bbq-js.html"></head></html>
View
33 docs/index/Events.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Event Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.4 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Event 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; J &middot; K &middot; L &middot; M &middot; N &middot; <a href="#O">O</a> &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="O"></a>O</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#window.onhashchange" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>onhashchange</a>, <span class=IParent>window</span></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CEvent>Fired when document.location.hash changes. </div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files/jquery-ba-bbq-js.html">jQuery BBQ: Back Button &amp; Query Library</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Events</div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Properties.html">Properties</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Events">Events</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Properties">Properties</option></select></div></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
View
33 docs/index/Files.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>File Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.4 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<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>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFile><b>Version: 0.1pre, Last updated: 9/27/2009</b></div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files/jquery-ba-bbq-js.html">jQuery BBQ: Back Button &amp; Query Library</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Events.html">Events</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Files</div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Properties.html">Properties</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Events">Events</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Properties">Properties</option></select></div></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
View
53 docs/index/Functions.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Function Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.4 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Function Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; <a href="#D">D</a> &middot; <a href="#E">E</a> &middot; <a href="#F">F</a> &middot; <a href="#G">G</a> &middot; H &middot; I &middot; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; <a href="#P">P</a> &middot; <a href="#Q">Q</a> &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="D"></a>D</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.deparam" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>deparam</a>, <span class=IParent>jQuery</span></td></tr><tr><td class=IHeading><a name="E"></a>E</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.elemUrlAttr" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>elemUrlAttr</a>, <span class=IParent>jQuery</span></td></tr><tr><td class=IHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>fragment</span><div class=ISubIndex><a href="../files/jquery-ba-bbq-js.html#jQuery.deparam.fragment" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=IParent>jQuery.<wbr>deparam</a><a href="../files/jquery-ba-bbq-js.html#jQuery.fn.fragment" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=IParent>jQuery.fn</a><a href="../files/jquery-ba-bbq-js.html#jQuery.param.fragment" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=IParent>jQuery.<wbr>param</a></div></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.param.fragment(build_url)" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>fragment(build url)</a>, <span class=IParent>jQuery.<wbr>param</span></td></tr><tr><td class=IHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.history.getState" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>getState</a>, <span class=IParent>jQuery.<wbr>history</span></td></tr><tr><td class=IHeading><a name="P"></a>P</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.history.pushState" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>pushState</a>, <span class=IParent>jQuery.<wbr>history</span></td></tr><tr><td class=IHeading><a name="Q"></a>Q</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>querystring</span><div class=ISubIndex><a href="../files/jquery-ba-bbq-js.html#jQuery.deparam.querystring" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=IParent>jQuery.<wbr>deparam</a><a href="../files/jquery-ba-bbq-js.html#jQuery.fn.querystring" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=IParent>jQuery.fn</a><a href="../files/jquery-ba-bbq-js.html#jQuery.param.querystring" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=IParent>jQuery.<wbr>param</a></div></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.param.querystring(build_url)" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>querystring(build url)</a>, <span class=IParent>jQuery.<wbr>param</span></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction>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.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt2"><div class=CFunction>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.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt3"><div class=CFunction>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.</div></div><div class=CToolTip id="tt4"><div class=CFunction>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. </div></div><div class=CToolTip id="tt5"><div class=CFunction>Retrieve the fragment (hash) from a URL or if no arguments are passed, the current document.location.</div></div><div class=CToolTip id="tt6"><div class=CFunction>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.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt7"><div class=CFunction>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.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt8"><div class=CFunction>Adds a &lsquo;state&rsquo; into the browser history at the current position, setting location.hash and triggering any bound window.onhashchange event callbacks (provided the new state is different than the previous state).</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt9"><div class=CFunction>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.</div></div><div class=CToolTip id="tt10"><div class=CFunction>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. </div></div><div class=CToolTip id="tt11"><div class=CFunction>Retrieve the query string from a URL or if no arguments are passed, the current document.location.</div></div><div class=CToolTip id="tt12"><div class=CFunction>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.</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files/jquery-ba-bbq-js.html">jQuery BBQ: Back Button &amp; Query Library</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Events.html">Events</a></div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Functions</div></div><div class=MEntry><div class=MIndex><a href="Properties.html">Properties</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Events">Events</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Properties">Properties</option></select></div></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
View
77 docs/index/General.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.4 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; <a href="#D">D</a> &middot; <a href="#E">E</a> &middot; <a href="#F">F</a> &middot; <a href="#G">G</a> &middot; <a href="#H">H</a> &middot; I &middot; <a href="#J">J</a> &middot; K &middot; <a href="#L">L</a> &middot; M &middot; N &middot; <a href="#O">O</a> &middot; <a href="#P">P</a> &middot; <a href="#Q">Q</a> &middot; <a href="#R">R</a> &middot; <a href="#S">S</a> &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="D"></a>D</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.deparam" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>deparam</a>, <span class=IParent>jQuery</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#Deparam(from_string)" class=ISymbol>Deparam(from string)</a></td></tr><tr><td class=IHeading><a name="E"></a>E</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#Element_manipulation" class=ISymbol>Element manipulation</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.elemUrlAttr" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>elemUrlAttr</a>, <span class=IParent>jQuery</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#Events" class=ISymbol>Events</a></td></tr><tr><td class=IHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>fragment</span><div class=ISubIndex><a href="../files/jquery-ba-bbq-js.html#jQuery.deparam.fragment" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=IParent>jQuery.<wbr>deparam</a><a href="../files/jquery-ba-bbq-js.html#jQuery.fn.fragment" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=IParent>jQuery.fn</a><a href="../files/jquery-ba-bbq-js.html#jQuery.param.fragment" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=IParent>jQuery.<wbr>param</a></div></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.param.fragment(build_url)" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>fragment(build url)</a>, <span class=IParent>jQuery.<wbr>param</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#Functions" class=ISymbol>Functions</a></td></tr><tr><td class=IHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.history.getState" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>getState</a>, <span class=IParent>jQuery.<wbr>history</span></td></tr><tr><td class=IHeading><a name="H"></a>H</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#History,hashchange_event" class=ISymbol>History,hashchange event</a></td></tr><tr><td class=IHeading><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=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>jQuery BBQ:<wbr>Back Button&amp;Query Library</a></td></tr><tr><td class=IHeading><a name="L"></a>L</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#License" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>License</a></td></tr><tr><td class=IHeading><a name="O"></a>O</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#window.onhashchange" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>onhashchange</a>, <span class=IParent>window</span></td></tr><tr><td class=IHeading><a name="P"></a>P</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#Param(to_string)" class=ISymbol>Param(to string)</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.history.pollDelay" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>pollDelay</a>, <span class=IParent>jQuery.<wbr>history</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#Properties" class=ISymbol>Properties</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.history.pushState" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>pushState</a>, <span class=IParent>jQuery.<wbr>history</span></td></tr><tr><td class=IHeading><a name="Q"></a>Q</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>querystring</span><div class=ISubIndex><a href="../files/jquery-ba-bbq-js.html#jQuery.deparam.querystring" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=IParent>jQuery.<wbr>deparam</a><a href="../files/jquery-ba-bbq-js.html#jQuery.fn.querystring" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=IParent>jQuery.fn</a><a href="../files/jquery-ba-bbq-js.html#jQuery.param.querystring" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=IParent>jQuery.<wbr>param</a></div></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.param.querystring(build_url)" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>querystring(build url)</a>, <span class=IParent>jQuery.<wbr>param</span></td></tr><tr><td class=IHeading><a name="R"></a>R</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#Revision_History" class=ISymbol>Revision History</a></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#Support_and_Testing" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>Support and Testing</a></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction>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.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt2"><div class=CFunction>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.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt3"><div class=CFunction>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.</div></div><div class=CToolTip id="tt4"><div class=CFunction>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. </div></div><div class=CToolTip id="tt5"><div class=CFunction>Retrieve the fragment (hash) from a URL or if no arguments are passed, the current document.location.</div></div><div class=CToolTip id="tt6"><div class=CFunction>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.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt7"><div class=CFunction>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.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt8"><div class=CFile><b>Version: 0.1pre, Last updated: 9/27/2009</b></div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt9"><div class=CGeneric>Copyright &copy; 2009 &ldquo;Cowboy&rdquo; Ben Alman, Licensed under the MIT license. </div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt10"><div class=CEvent>Fired when document.location.hash changes. </div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt11"><div class=CProperty>The numeric speed (in milliseconds) at which the window.onhashchange polling loop polls. </div></div><div class=CToolTip id="tt12"><div class=CFunction>Adds a &lsquo;state&rsquo; into the browser history at the current position, setting location.hash and triggering any bound window.onhashchange event callbacks (provided the new state is different than the previous state).</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt13"><div class=CFunction>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.</div></div><div class=CToolTip id="tt14"><div class=CFunction>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. </div></div><div class=CToolTip id="tt15"><div class=CFunction>Retrieve the query string from a URL or if no arguments are passed, the current document.location.</div></div><div class=CToolTip id="tt16"><div class=CFunction>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.</div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt17"><div class=CGeneric>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).</div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files/jquery-ba-bbq-js.html">jQuery BBQ: Back Button &amp; Query Library</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex id=MSelected>Everything</div></div><div class=MEntry><div class=MIndex><a href="Events.html">Events</a></div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Properties.html">Properties</a></div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Events">Events</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Properties">Properties</option></select></div></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
View
33 docs/index/Properties.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+<html><head><title>Property Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
+if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
+
+<!-- Generated by Natural Docs, version 1.4 -->
+<!-- http://www.naturaldocs.org -->
+
+<!-- saved from url=(0026)http://www.naturaldocs.org -->
+
+
+
+
+<div id=Index><div class=IPageTitle>Property 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; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; <a href="#P">P</a> &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="P"></a>P</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery.history.pollDelay" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>pollDelay</a>, <span class=IParent>jQuery.<wbr>history</span></td></tr></table>
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CProperty>The numeric speed (in milliseconds) at which the window.onhashchange polling loop polls. </div></div><!--END_ND_TOOLTIPS-->
+
+</div><!--Index-->
+
+
+<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
+
+
+<div id=Menu><div class=MEntry><div class=MFile><a href="../files/jquery-ba-bbq-js.html">jQuery BBQ: Back Button &amp; Query Library</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Events.html">Events</a></div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Properties</div></div></div></div></div><script type="text/javascript"><!--
+var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
+--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Events">Events</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Properties">Properties</option></select></div></div><!--Menu-->
+
+
+<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
+
+
+<script language=JavaScript><!--
+if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
View
836 docs/javascript/main.js
@@ -0,0 +1,836 @@
+// This file is part of Natural Docs, which is Copyright (C) 2003-2008 Greg Valure
+// Natural Docs is licensed under the GPL
+
+
+//
+// Browser Styles
+// ____________________________________________________________________________
+
+var agt=navigator.userAgent.toLowerCase();
+var browserType;
+var browserVer;
+
+if (agt.indexOf("opera") != -1)
+ {
+ browserType = "Opera";
+
+ if (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1)
+ { browserVer = "Opera7"; }
+ else if (agt.indexOf("opera 8") != -1 || agt.indexOf("opera/8") != -1)
+ { browserVer = "Opera8"; }
+ else if (agt.indexOf("opera 9") != -1 || agt.indexOf("opera/9") != -1)
+ { browserVer = "Opera9"; }
+ }
+
+else if (agt.indexOf("applewebkit") != -1)
+ {
+ browserType = "Safari";
+
+ if (agt.indexOf("version/3") != -1)
+ { browserVer = "Safari3"; }
+ else if (agt.indexOf("safari/4") != -1)
+ { browserVer = "Safari2"; }
+ }
+
+else if (agt.indexOf("khtml") != -1)
+ {
+ browserType = "Konqueror";
+ }
+
+else if (agt.indexOf("msie") != -1)
+ {
+ browserType = "IE";
+
+ if (agt.indexOf("msie 6") != -1)
+ { browserVer = "IE6"; }
+ else if (agt.indexOf("msie 7") != -1)
+ { browserVer = "IE7"; }
+ }
+
+else if (agt.indexOf("gecko") != -1)
+ {
+ browserType = "Firefox";
+
+ if (agt.indexOf("rv:1.7") != -1)
+ { browserVer = "Firefox1"; }
+ else if (agt.indexOf("rv:1.8)") != -1 || agt.indexOf("rv:1.8.0") != -1)
+ { browserVer = "Firefox15"; }
+ else if (agt.indexOf("rv:1.8.1") != -1)
+ { browserVer = "Firefox2"; }
+ }
+
+
+//
+// Support Functions
+// ____________________________________________________________________________
+
+
+function GetXPosition(item)
+ {
+ var position = 0;
+
+ if (item.offsetWidth != null)
+ {
+ while (item != document.body && item != null)
+ {
+ position += item.offsetLeft;
+ item = item.offsetParent;
+ };
+ };
+
+ return position;
+ };
+
+
+function GetYPosition(item)
+ {
+ var position = 0;
+
+ if (item.offsetWidth != null)
+ {
+ while (item != document.body && item != null)
+ {
+ position += item.offsetTop;
+ item = item.offsetParent;
+ };
+ };
+
+ return position;
+ };
+
+
+function MoveToPosition(item, x, y)
+ {
+ // Opera 5 chokes on the px extension, so it can use the Microsoft one instead.
+
+ if (item.style.left != null)
+ {
+ item.style.left = x + "px";
+ item.style.top = y + "px";
+ }
+ else if (item.style.pixelLeft != null)
+ {
+ item.style.pixelLeft = x;
+ item.style.pixelTop = y;
+ };
+ };
+
+
+//
+// Menu
+// ____________________________________________________________________________
+
+
+function ToggleMenu(id)
+ {
+ if (!window.document.getElementById)
+ { return; };
+
+ var display = window.document.getElementById(id).style.display;
+
+ if (display == "none")
+ { display = "block"; }
+ else
+ { display = "none"; }
+
+ window.document.getElementById(id).style.display = display;
+ }
+
+function HideAllBut(ids, max)
+ {
+ if (document.getElementById)
+ {
+ ids.sort( function(a,b) { return a - b; } );
+ var number = 1;
+
+ while (number < max)
+ {
+ if (ids.length > 0 && number == ids[0])
+ { ids.shift(); }
+ else
+ {
+ document.getElementById("MGroupContent" + number).style.display = "none";
+ };
+
+ number++;
+ };
+ };
+ }
+
+
+//
+// Tooltips
+// ____________________________________________________________________________
+
+
+var tooltipTimer = 0;
+
+function ShowTip(event, tooltipID, linkID)
+ {
+ if (tooltipTimer)
+ { clearTimeout(tooltipTimer); };
+
+ var docX = event.clientX + window.pageXOffset;
+ var docY = event.clientY + window.pageYOffset;
+
+ var showCommand = "ReallyShowTip('" + tooltipID + "', '" + linkID + "', " + docX + ", " + docY + ")";
+
+ tooltipTimer = setTimeout(showCommand, 1000);
+ }
+
+function ReallyShowTip(tooltipID, linkID, docX, docY)
+ {
+ tooltipTimer = 0;
+
+ var tooltip;
+ var link;
+
+ if (document.getElementById)
+ {
+ tooltip = document.getElementById(tooltipID);
+ link = document.getElementById(linkID);
+ }
+/* else if (document.all)
+ {
+ tooltip = eval("document.all['" + tooltipID + "']");
+ link = eval("document.all['" + linkID + "']");
+ }
+*/
+ if (tooltip)
+ {
+ var left = GetXPosition(link);
+ var top = GetYPosition(link);
+ top += link.offsetHeight;
+
+
+ // The fallback method is to use the mouse X and Y relative to the document. We use a separate if and test if its a number
+ // in case some browser snuck through the above if statement but didn't support everything.
+
+ if (!isFinite(top) || top == 0)
+ {
+ left = docX;
+ top = docY;
+ }
+
+ // Some spacing to get it out from under the cursor.
+
+ top += 10;
+
+ // Make sure the tooltip doesnt get smushed by being too close to the edge, or in some browsers, go off the edge of the
+ // page. We do it here because Konqueror does get offsetWidth right even if it doesnt get the positioning right.
+
+ if (tooltip.offsetWidth != null)
+ {
+ var width = tooltip.offsetWidth;
+ var docWidth = document.body.clientWidth;
+
+ if (left + width > docWidth)
+ { left = docWidth - width - 1; }
+
+ // If there's a horizontal scroll bar we could go past zero because it's using the page width, not the window width.
+ if (left < 0)
+ { left = 0; };
+ }
+
+ MoveToPosition(tooltip, left, top);
+ tooltip.style.visibility = "visible";
+ }
+ }
+
+function HideTip(tooltipID)
+ {
+ if (tooltipTimer)
+ {
+ clearTimeout(tooltipTimer);
+ tooltipTimer = 0;
+ }
+
+ var tooltip;
+
+ if (document.getElementById)
+ { tooltip = document.getElementById(tooltipID); }
+ else if (document.all)
+ { tooltip = eval("document.all['" + tooltipID + "']"); }
+
+ if (tooltip)
+ { tooltip.style.visibility = "hidden"; }
+ }
+
+
+//
+// Blockquote fix for IE
+// ____________________________________________________________________________
+
+
+function NDOnLoad()
+ {
+ if (browserVer == "IE6")
+ {
+ var scrollboxes = document.getElementsByTagName('blockquote');
+
+ if (scrollboxes.item(0))
+ {
+ NDDoResize();
+ window.onresize=NDOnResize;
+ };
+ };
+ };
+
+
+var resizeTimer = 0;
+
+function NDOnResize()
+ {
+ if (resizeTimer != 0)
+ { clearTimeout(resizeTimer); };
+
+ resizeTimer = setTimeout(NDDoResize, 250);
+ };
+
+
+function NDDoResize()
+ {
+ var scrollboxes = document.getElementsByTagName('blockquote');
+
+ var i;
+ var item;
+
+ i = 0;
+ while (item = scrollboxes.item(i))
+ {
+ item.style.width = 100;
+ i++;
+ };
+
+ i = 0;
+ while (item = scrollboxes.item(i))
+ {
+ item.style.width = item.parentNode.offsetWidth;
+ i++;
+ };
+
+ clearTimeout(resizeTimer);
+ resizeTimer = 0;
+ }
+
+
+
+/* ________________________________________________________________________________________________________
+
+ Class: SearchPanel
+ ________________________________________________________________________________________________________
+
+ A class handling everything associated with the search panel.
+
+ Parameters:
+
+ name - The name of the global variable that will be storing this instance. Is needed to be able to set timeouts.
+ mode - The mode the search is going to work in. Pass <NaturalDocs::Builder::Base->CommandLineOption()>, so the
+ value will be something like "HTML" or "FramedHTML".
+
+ ________________________________________________________________________________________________________
+*/
+
+
+function SearchPanel(name, mode, resultsPath)
+ {
+ if (!name || !mode || !resultsPath)
+ { alert("Incorrect parameters to SearchPanel."); };
+
+
+ // Group: Variables
+ // ________________________________________________________________________
+
+ /*
+ var: name
+ The name of the global variable that will be storing this instance of the class.
+ */
+ this.name = name;
+
+ /*
+ var: mode
+ The mode the search is going to work in, such as "HTML" or "FramedHTML".
+ */
+ this.mode = mode;
+
+ /*
+ var: resultsPath
+ The relative path from the current HTML page to the results page directory.
+ */
+ this.resultsPath = resultsPath;
+
+ /*
+ var: keyTimeout
+ The timeout used between a keystroke and when a search is performed.
+ */
+ this.keyTimeout = 0;
+
+ /*
+ var: keyTimeoutLength
+ The length of <keyTimeout> in thousandths of a second.
+ */
+ this.keyTimeoutLength = 500;
+
+ /*
+ var: lastSearchValue
+ The last search string executed, or an empty string if none.
+ */
+ this.lastSearchValue = "";
+
+ /*
+ var: lastResultsPage
+ The last results page. The value is only relevant if <lastSearchValue> is set.
+ */
+ this.lastResultsPage = "";
+
+ /*
+ var: deactivateTimeout
+
+ The timeout used between when a control is deactivated and when the entire panel is deactivated. Is necessary
+ because a control may be deactivated in favor of another control in the same panel, in which case it should stay
+ active.
+ */
+ this.deactivateTimout = 0;
+
+ /*
+ var: deactivateTimeoutLength
+ The length of <deactivateTimeout> in thousandths of a second.
+ */
+ this.deactivateTimeoutLength = 200;
+
+
+
+
+ // Group: DOM Elements
+ // ________________________________________________________________________
+
+
+ // Function: DOMSearchField
+ this.DOMSearchField = function()
+ { return document.getElementById("MSearchField"); };
+
+ // Function: DOMSearchType
+ this.DOMSearchType = function()
+ { return document.getElementById("MSearchType"); };
+
+ // Function: DOMPopupSearchResults
+ this.DOMPopupSearchResults = function()
+ { return document.getElementById("MSearchResults"); };
+
+ // Function: DOMPopupSearchResultsWindow
+ this.DOMPopupSearchResultsWindow = function()
+ { return document.getElementById("MSearchResultsWindow"); };
+
+ // Function: DOMSearchPanel
+ this.DOMSearchPanel = function()
+ { return document.getElementById("MSearchPanel"); };
+
+
+
+
+ // Group: Event Handlers
+ // ________________________________________________________________________
+
+
+ /*
+ Function: OnSearchFieldFocus
+ Called when focus is added or removed from the search field.
+ */
+ this.OnSearchFieldFocus = function(isActive)
+ {
+ this.Activate(isActive);
+ };
+
+
+ /*
+ Function: OnSearchFieldChange
+ Called when the content of the search field is changed.
+ */
+ this.OnSearchFieldChange = function()
+ {
+ if (this.keyTimeout)
+ {
+ clearTimeout(this.keyTimeout);
+ this.keyTimeout = 0;
+ };
+
+ var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+ if (searchValue != this.lastSearchValue)
+ {
+ if (searchValue != "")
+ {
+ this.keyTimeout = setTimeout(this.name + ".Search()", this.keyTimeoutLength);
+ }
+ else
+ {
+ if (this.mode == "HTML")
+ { this.DOMPopupSearchResultsWindow().style.display = "none"; };
+ this.lastSearchValue = "";
+ };
+ };
+ };
+
+
+ /*
+ Function: OnSearchTypeFocus
+ Called when focus is added or removed from the search type.
+ */
+ this.OnSearchTypeFocus = function(isActive)
+ {
+ this.Activate(isActive);
+ };
+
+
+ /*
+ Function: OnSearchTypeChange
+ Called when the search type is changed.
+ */
+ this.OnSearchTypeChange = function()
+ {
+ var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+ if (searchValue != "")
+ {
+ this.Search();
+ };
+ };
+
+
+
+ // Group: Action Functions
+ // ________________________________________________________________________
+
+
+ /*
+ Function: CloseResultsWindow
+ Closes the results window.
+ */
+ this.CloseResultsWindow = function()
+ {
+ this.DOMPopupSearchResultsWindow().style.display = "none";
+ this.Activate(false, true);
+ };
+
+
+ /*
+ Function: Search
+ Performs a search.
+ */
+ this.Search = function()
+ {
+ this.keyTimeout = 0;
+
+ var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+ var searchTopic = this.DOMSearchType().value;
+
+ var pageExtension = searchValue.substr(0,1);
+
+ if (pageExtension.match(/^[a-z]/i))
+ { pageExtension = pageExtension.toUpperCase(); }
+ else if (pageExtension.match(/^[0-9]/))
+ { pageExtension = 'Numbers'; }
+ else
+ { pageExtension = "Symbols"; };
+
+ var resultsPage;
+ var resultsPageWithSearch;
+ var hasResultsPage;
+
+ // indexSectionsWithContent is defined in searchdata.js
+ if (indexSectionsWithContent[searchTopic][pageExtension] == true)
+ {
+ resultsPage = this.resultsPath + '/' + searchTopic + pageExtension + '.html';
+ resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+ hasResultsPage = true;
+ }
+ else
+ {
+ resultsPage = this.resultsPath + '/NoResults.html';
+ resultsPageWithSearch = resultsPage;
+ hasResultsPage = false;
+ };
+
+ var resultsFrame;
+ if (this.mode == "HTML")
+ { resultsFrame = window.frames.MSearchResults; }
+ else if (this.mode == "FramedHTML")
+ { resultsFrame = window.top.frames['Content']; };
+
+
+ if (resultsPage != this.lastResultsPage ||
+
+ // Bug in IE. If everything becomes hidden in a run, none of them will be able to be reshown in the next for some
+ // reason. It counts the right number of results, and you can even read the display as "block" after setting it, but it
+ // just doesn't work in IE 6 or IE 7. So if we're on the right page but the previous search had no results, reload the
+ // page anyway to get around the bug.
+ (browserType == "IE" && hasResultsPage &&
+ (!resultsFrame.searchResults || resultsFrame.searchResults.lastMatchCount == 0)) )
+
+ {
+ resultsFrame.location.href = resultsPageWithSearch;
+ }
+
+ // So if the results page is right and there's no IE bug, reperform the search on the existing page. We have to check if there
+ // are results because NoResults.html doesn't have any JavaScript, and it would be useless to do anything on that page even
+ // if it did.
+ else if (hasResultsPage)
+ {
+ // We need to check if this exists in case the frame is present but didn't finish loading.
+ if (resultsFrame.searchResults)
+ { resultsFrame.searchResults.Search(searchValue); }
+
+ // Otherwise just reload instead of waiting.
+ else
+ { resultsFrame.location.href = resultsPageWithSearch; };
+ };
+
+
+ var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+ if (this.mode == "HTML" && domPopupSearchResultsWindow.style.display != "block")
+ {
+ var domSearchType = this.DOMSearchType();
+
+ var left = GetXPosition(domSearchType);
+ var top = GetYPosition(domSearchType) + domSearchType.offsetHeight;
+
+ MoveToPosition(domPopupSearchResultsWindow, left, top);
+ domPopupSearchResultsWindow.style.display = 'block';
+ };
+
+
+ this.lastSearchValue = searchValue;
+ this.lastResultsPage = resultsPage;
+ };
+
+
+
+ // Group: Activation Functions
+ // Functions that handle whether the entire panel is active or not.
+ // ________________________________________________________________________
+
+
+ /*
+ Function: Activate
+
+ Activates or deactivates the search panel, resetting things to their default values if necessary. You can call this on every
+ control's OnBlur() and it will handle not deactivating the entire panel when focus is just switching between them transparently.
+
+ Parameters:
+
+ isActive - Whether you're activating or deactivating the panel.
+ ignoreDeactivateDelay - Set if you're positive the action will deactivate the panel and thus want to skip the delay.
+ */
+ this.Activate = function(isActive, ignoreDeactivateDelay)
+ {
+ // We want to ignore isActive being false while the results window is open.
+ if (isActive || (this.mode == "HTML" && this.DOMPopupSearchResultsWindow().style.display == "block"))
+ {
+ if (this.inactivateTimeout)
+ {
+ clearTimeout(this.inactivateTimeout);
+ this.inactivateTimeout = 0;
+ };
+
+ this.DOMSearchPanel().className = 'MSearchPanelActive';
+
+ var searchField = this.DOMSearchField();
+
+ if (searchField.value == 'Search')
+ { searchField.value = ""; }
+ }
+ else if (!ignoreDeactivateDelay)
+ {
+ this.inactivateTimeout = setTimeout(this.name + ".InactivateAfterTimeout()", this.inactivateTimeoutLength);
+ }
+ else
+ {
+ this.InactivateAfterTimeout();
+ };
+ };
+
+
+ /*
+ Function: InactivateAfterTimeout
+
+ Called by <inactivateTimeout>, which is set by <Activate()>. Inactivation occurs on a timeout because a control may
+ receive OnBlur() when focus is really transferring to another control in the search panel. In this case we don't want to
+ actually deactivate the panel because not only would that cause a visible flicker but it could also reset the search value.
+ So by doing it on a timeout instead, there's a short period where the second control's OnFocus() can cancel the deactivation.
+ */
+ this.InactivateAfterTimeout = function()
+ {
+ this.inactivateTimeout = 0;
+
+ this.DOMSearchPanel().className = 'MSearchPanelInactive';
+ this.DOMSearchField().value = "Search";
+
+ this.lastSearchValue = "";
+ this.lastResultsPage = "";
+ };
+ };
+
+
+
+
+/* ________________________________________________________________________________________________________
+
+ Class: SearchResults
+ _________________________________________________________________________________________________________
+
+ The class that handles everything on the search results page.
+ _________________________________________________________________________________________________________
+*/
+
+
+function SearchResults(name, mode)
+ {
+ /*
+ var: mode
+ The mode the search is going to work in, such as "HTML" or "FramedHTML".
+ */
+ this.mode = mode;
+
+ /*
+ var: lastMatchCount
+ The number of matches from the last run of <Search()>.
+ */
+ this.lastMatchCount = 0;
+
+
+ /*
+ Function: Toggle
+ Toggles the visibility of the passed element ID.
+ */
+ this.Toggle = function(id)
+ {
+ if (this.mode == "FramedHTML")
+ { return; };
+
+ var parentElement = document.getElementById(id);
+
+ var element = parentElement.firstChild;
+
+ while (element && element != parentElement)
+ {
+ if (element.nodeName == 'DIV' && element.className == 'ISubIndex')
+ {
+ if (element.style.display == 'block')
+ { element.style.display = "none"; }
+ else
+ { element.style.display = 'block'; }
+ };
+
+ if (element.nodeName == 'DIV' && element.hasChildNodes())
+ { element = element.firstChild; }
+ else if (element.nextSibling)
+ { element = element.nextSibling; }
+ else
+ {
+ do
+ {
+ element = element.parentNode;
+ }
+ while (element && element != parentElement && !element.nextSibling);
+
+ if (element && element != parentElement)
+ { element = element.nextSibling; };
+ };
+ };
+ };
+
+
+ /*
+ Function: Search
+
+ Searches for the passed string. If there is no parameter, it takes it from the URL query.
+
+ Always returns true, since other documents may try to call it and that may or may not be possible.
+ */
+ this.Search = function(search)
+ {
+ if (!search)
+ {
+ search = window.location.search;
+ search = search.substring(1); // Remove the leading ?
+ search = unescape(search);
+ };
+
+ search = search.replace(/^ +/, "");
+ search = search.replace(/ +$/, "");
+ search = search.toLowerCase();
+
+ if (search.match(/[^a-z0-9]/)) // Just a little speedup so it doesn't have to go through the below unnecessarily.
+ {
+ search = search.replace(/\_/g, "_und");
+ search = search.replace(/\ +/gi, "_spc");
+ search = search.replace(/\~/g, "_til");
+ search = search.replace(/\!/g, "_exc");
+ search = search.replace(/\@/g, "_att");
+ search = search.replace(/\#/g, "_num");
+ search = search.replace(/\$/g, "_dol");
+ search = search.replace(/\%/g, "_pct");
+ search = search.replace(/\^/g, "_car");
+ search = search.replace(/\&/g, "_amp");
+ search = search.replace(/\*/g, "_ast");
+ search = search.replace(/\(/g, "_lpa");
+ search = search.replace(/\)/g, "_rpa");
+ search = search.replace(/\-/g, "_min");
+ search = search.replace(/\+/g, "_plu");
+ search = search.replace(/\=/g, "_equ");
+ search = search.replace(/\{/g, "_lbc");
+ search = search.replace(/\}/g, "_rbc");
+ search = search.replace(/\[/g, "_lbk");
+ search = search.replace(/\]/g, "_rbk");
+ search = search.replace(/\:/g, "_col");
+ search = search.replace(/\;/g, "_sco");
+ search = search.replace(/\"/g, "_quo");
+ search = search.replace(/\'/g, "_apo");
+ search = search.replace(/\</g, "_lan");
+ search = search.replace(/\>/g, "_ran");
+ search = search.replace(/\,/g, "_com");
+ search = search.replace(/\./g, "_per");
+ search = search.replace(/\?/g, "_que");
+ search = search.replace(/\//g, "_sla");
+ search = search.replace(/[^a-z0-9\_]i/gi, "_zzz");
+ };
+
+ var resultRows = document.getElementsByTagName("div");
+ var matches = 0;
+
+ var i = 0;
+ while (i < resultRows.length)
+ {
+ var row = resultRows.item(i);
+
+ if (row.className == "SRResult")
+ {
+ var rowMatchName = row.id.toLowerCase();
+ rowMatchName = rowMatchName.replace(/^sr\d*_/, '');
+
+ if (search.length <= rowMatchName.length && rowMatchName.substr(0, search.length) == search)
+ {
+ row.style.display = "block";
+ matches++;
+ }
+ else
+ { row.style.display = "none"; };
+ };
+
+ i++;
+ };
+
+ document.getElementById("Searching").style.display="none";
+
+ if (matches == 0)
+ { document.getElementById("NoMatches").style.display="block"; }
+ else
+ { document.getElementById("NoMatches").style.display="none"; }
+
+ this.lastMatchCount = matches;
+
+ return true;
+ };
+ };
+
View
152 docs/javascript/searchdata.js
@@ -0,0 +1,152 @@
+var indexSectionsWithContent = {
+ "General": {
+ "Symbols": false,
+ "Numbers": false,
+ "A": false,
+ "B": false,
+ "C": false,
+ "D": true,
+ "E": true,
+ "F": true,
+ "G": true,
+ "H": false,
+ "I": false,
+ "J": true,
+ "K": false,
+ "L": true,
+ "M": false,
+ "N": false,
+ "O": true,
+ "P": true,
+ "Q": true,
+ "R": true,
+ "S": false,
+ "T": false,
+ "U": true,
+ "V": false,
+ "W": false,
+ "X": false,
+ "Y": false,
+ "Z": false
+ },
+ "Functions": {
+ "Symbols": false,
+ "Numbers": false,
+ "A": false,
+ "B": false,
+ "C": false,
+ "D": true,
+ "E": true,
+ "F": true,
+ "G": true,
+ "H": false,
+ "I": false,
+ "J": false,
+ "K": false,
+ "L": false,
+ "M": false,
+ "N": false,
+ "O": false,
+ "P": true,
+ "Q": true,
+ "R": false,
+ "S": false,
+ "T": false,
+ "U": false,
+ "V": false,
+ "W": false,
+ "X": false,
+ "Y": false,
+ "Z": false
+ },
+ "Files": {
+ "Symbols": false,
+ "Numbers": false,
+ "A": false,
+ "B": false,
+ "C": false,
+ "D": false,
+ "E": false,
+ "F": false,
+ "G": false,
+ "H": false,
+ "I": false,
+ "J": true,
+ "K": false,
+ "L": false,
+ "M": false,
+ "N": false,
+ "O": false,
+ "P": false,
+ "Q": false,
+ "R": false,
+ "S": false,
+ "T": false,
+ "U": false,
+ "V": false,
+ "W": false,
+ "X": false,
+ "Y": false,
+ "Z": false
+ },
+ "Events": {
+ "Symbols": false,
+ "Numbers": false,
+ "A": false,
+ "B": false,
+ "C": false,
+ "D": false,
+ "E": false,
+ "F": false,
+ "G": false,
+ "H": false,
+ "I": false,
+ "J": false,
+ "K": false,
+ "L": false,
+ "M": false,
+ "N": false,
+ "O": true,
+ "P": false,
+ "Q": false,
+ "R": false,
+ "S": false,
+ "T": false,
+ "U": false,
+ "V": false,
+ "W": false,
+ "X": false,
+ "Y": false,
+ "Z": false
+ },
+ "Properties": {
+ "Symbols": false,
+ "Numbers": false,
+ "A": false,
+ "B": false,
+ "C": false,
+ "D": false,
+ "E": false,
+ "F": false,
+ "G": false,
+ "H": false,
+ "I": false,
+ "J": false,
+ "K": false,
+ "L": false,
+ "M": false,
+ "N": false,
+ "O": false,
+ "P": true,
+ "Q": false,
+ "R": false,
+ "S": false,
+ "T": false,
+ "U": false,
+ "V": false,
+ "W": false,
+ "X": false,
+ "Y": false,
+ "Z": false
+ }
+ }
View
BIN docs/nd/Data/ClassHierarchy.nd
Binary file not shown.
View
BIN docs/nd/Data/ConfigFileInfo.nd
Binary file not shown.
View
4 docs/nd/Data/FileInfo.nd
@@ -0,0 +1,4 @@
+1.4
+JavaScript
+/srv/projects/jquery-bbq/jquery.ba-bbq.min.js 1254071586 0 /srv/projects/jquery-bbq/jquery.ba-bbq.min.js
+/srv/projects/jquery-bbq/jquery.ba-bbq.js 1254071582 1 jQuery BBQ: Back Button & Query Library
View
BIN docs/nd/Data/ImageFileInfo.nd
Binary file not shown.
View
BIN docs/nd/Data/ImageReferenceTable.nd
Binary file not shown.
View
BIN docs/nd/Data/IndexInfo.nd
Binary file not shown.
View
BIN docs/nd/Data/PreviousMenuState.nd
Binary file not shown.
View
BIN docs/nd/Data/PreviousSettings.nd
Binary file not shown.
View
BIN docs/nd/Data/SymbolTable.nd
Binary file not shown.
View
113 docs/nd/Languages.txt
@@ -0,0 +1,113 @@
+Format: 1.4
+
+# This is the Natural Docs languages file for this project. If you change
+# anything here, it will apply to THIS PROJECT ONLY. If you'd like to change
+# something for all your projects, edit the Languages.txt in Natural Docs'
+# Config directory instead.
+
+
+# You can prevent certain file extensions from being scanned like this:
+# Ignore Extensions: [extension] [extension] ...
+
+
+#-------------------------------------------------------------------------------
+# SYNTAX:
+#
+# Unlike other Natural Docs configuration files, in this file all comments
+# MUST be alone on a line. Some languages deal with the # character, so you
+# cannot put comments on the same line as content.
+#
+# Also, all lists are separated with spaces, not commas, again because some
+# languages may need to use them.
+#
+# Language: [name]
+# Alter Language: [name]
+# Defines a new language or alters an existing one. Its name can use any
+# characters. If any of the properties below have an add/replace form, you
+# must use that when using Alter Language.
+#
+# The language Shebang Script is special. It's entry is only used for
+# extensions, and files with those extensions have their shebang (#!) lines
+# read to determine the real language of the file. Extensionless files are
+# always treated this way.
+#
+# The language Text File is also special. It's treated as one big comment
+# so you can put Natural Docs content in them without special symbols. Also,
+# if you don't specify a package separator, ignored prefixes, or enum value
+# behavior, it will copy those settings from the language that is used most
+# in the source tree.
+#
+# Extensions: [extension] [extension] ...
+# [Add/Replace] Extensions: [extension] [extension] ...
+# Defines the file extensions of the language's source files. You can
+# redefine extensions found in the main languages file. You can use * to
+# mean any undefined extension.
+#
+# Shebang Strings: [string] [string] ...
+# [Add/Replace] Shebang Strings: [string] [string] ...
+# Defines a list of strings that can appear in the shebang (#!) line to
+# designate that it's part of the language. You can redefine strings found
+# in the main languages file.
+#
+# Ignore Prefixes in Index: [prefix] [prefix] ...
+# [Add/Replace] Ignored Prefixes in Index: [prefix] [prefix] ...
+#
+# Ignore [Topic Type] Prefixes in Index: [prefix] [prefix] ...
+# [Add/Replace] Ignored [Topic Type] Prefixes in Index: [prefix] [prefix] ...
+# Specifies prefixes that should be ignored when sorting symbols in an
+# index. Can be specified in general or for a specific topic type.
+#
+#------------------------------------------------------------------------------
+# For basic language support only:
+#
+# Line Comments: [symbol] [symbol] ...
+# Defines a space-separated list of symbols that are used for line comments,
+# if any.
+#
+# Block Comments: [opening sym] [closing sym] [opening sym] [closing sym] ...
+# Defines a space-separated list of symbol pairs that are used for block
+# comments, if any.
+#
+# Package Separator: [symbol]
+# Defines the default package separator symbol. The default is a dot.
+#
+# [Topic Type] Prototype Enders: [symbol] [symbol] ...
+# When defined, Natural Docs will attempt to get a prototype from the code
+# immediately following the topic type. It stops when it reaches one of
+# these symbols. Use \n for line breaks.
+#
+# Line Extender: [symbol]
+# Defines the symbol that allows a prototype to span multiple lines if
+# normally a line break would end it.
+#
+# Enum Values: [global|under type|under parent]
+# Defines how enum values are referenced. The default is global.
+# global - Values are always global, referenced as 'value'.
+# under type - Values are under the enum type, referenced as
+# 'package.enum.value'.
+# under parent - Values are under the enum's parent, referenced as
+# 'package.value'.
+#
+# Perl Package: [perl package]
+# Specifies the Perl package used to fine-tune the language behavior in ways
+# too complex to do in this file.
+#
+#------------------------------------------------------------------------------
+# For full language support only:
+#
+# Full Language Support: [perl package]
+# Specifies the Perl package that has the parsing routines necessary for full
+# language support.
+#
+#-------------------------------------------------------------------------------
+
+# The following languages are defined in the main file, if you'd like to alter
+# them:
+#
+# Text File, Shebang Script, C/C++, C#, Java, JavaScript, Perl, Python,
+# PHP, SQL, Visual Basic, Pascal, Assembly, Ada, Tcl, Ruby, Makefile,
+# ActionScript, ColdFusion, R, Fortran
+
+# If you add a language that you think would be useful to other developers
+# and should be included in Natural Docs by default, please e-mail it to
+# languages [at] naturaldocs [dot] org.
View
59 docs/nd/Menu.txt
@@ -0,0 +1,59 @@
+Format: 1.4
+
+
+# You can add a title and sub-title to your menu like this:
+# Title: [project name]
+# SubTitle: [subtitle]
+
+# You can add a footer to your documentation like this:
+# Footer: [text]
+# If you want to add a copyright notice, this would be the place to do it.
+
+# You can add a timestamp to your documentation like one of these:
+# Timestamp: Generated on month day, year
+# Timestamp: Updated mm/dd/yyyy
+# Timestamp: Last updated mon day
+#
+# m - One or two digit month. January is "1"
+# mm - Always two digit month. January is "01"
+# mon - Short month word. January is "Jan"
+# month - Long month word. January is "January"
+# d - One or two digit day. 1 is "1"
+# dd - Always two digit day. 1 is "01"
+# day - Day with letter extension. 1 is "1st"
+# yy - Two digit year. 2006 is "06"
+# yyyy - Four digit year. 2006 is "2006"
+# year - Four digit year. 2006 is "2006"
+
+
+# --------------------------------------------------------------------------
+#
+# Cut and paste the lines below to change the order in which your files
+# appear on the menu. Don't worry about adding or removing files, Natural
+# Docs will take care of that.
+#
+# You can further organize the menu by grouping the entries. Add a
+# "Group: [name] {" line to start a group, and add a "}" to end it.
+#
+# You can add text and web links to the menu by adding "Text: [text]" and
+# "Link: [name] ([URL])" lines, respectively.
+#
+# The formatting and comments are auto-generated, so don't worry about
+# neatness when editing the file. Natural Docs will clean it up the next
+# time it is run. When working with groups, just deal with the braces and
+# forget about the indentation and comments.
+#
+# --------------------------------------------------------------------------
+
+
+File: jQuery BBQ: Back Button &amp; Query Library (jquery.ba-bbq.js)
+
+Group: Index {
+
+ Index: Everything
+ Event Index: Events
+ File Index: Files
+ Function Index: Functions
+ Property Index: Properties
+ } # Group: Index
+
View
81 docs/nd/Topics.txt
@@ -0,0 +1,81 @@
+Format: 1.4
+
+# This is the Natural Docs topics file for this project. If you change anything
+# here, it will apply to THIS PROJECT ONLY. If you'd like to change something
+# for all your projects, edit the Topics.txt in Natural Docs' Config directory
+# instead.
+
+
+# If you'd like to prevent keywords from being recognized by Natural Docs, you
+# can do it like this:
+# Ignore Keywords: [keyword], [keyword], ...
+#
+# Or you can use the list syntax like how they are defined:
+# Ignore Keywords:
+# [keyword]
+# [keyword], [plural keyword]
+# ...