
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 <script type="text/javascript">
 
 
 
 var codesite_token = "8aa7887fb06009ad757188509ff1d8d2";
 
 </script>
 <title>
 aframework -
 
 Google Code</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
 
 <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/7491867761698793290/css/d_20081117.css">
 
 <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/7491867761698793290/css/d_sb_20080522.css" >
 
 
 
<!--[if IE]>
 <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/7491867761698793290/css/d_ie.css" >
<![endif]-->
</head>
<body class="t4">
 <div id="gaia">
  <font size="-1">
 
 <b>rmanime@gmail.com</b>
 
 | <a href="/p/support/wiki/WhatsNew" style="color:#a03">What's new?</a>
 | <a href="/u/rmanime/">Profile</a>
 | <a href="/hosting/settings">Settings</a>
 | <a href="/p/support/">Help</a>
 | <a href="http://www.google.com/accounts/Logout?continue=http%3A%2F%2Fcode.google.com%2Fp%2Faframework%2Fsource%2Fbrowse%2Ftrunk%2F__core%2FModules%2FBase%2Fjquery.center.js">Sign out</a>
 
 </font> 

 </div>
 <div class="gbh" style="left: 0pt;"></div>
 <div class="gbh" style="right: 0pt;"></div>
 
 
 <div style="height: 1px"></div>
 <table style="padding:0px; margin: 20px 0px 0px 0px; width:100%" cellpadding="0" cellspacing="0">
 <tr>
 <td style="width:153px"><a href="/"><img src="http://www.gstatic.com/codesite/ph/images/code_sm.png" width="153" height="55" alt="Google"></a></td>
 <td style="padding-left: 0.8em">
 
 <div id="pname" style="margin: 0px 0px -3px 0px">
 <a href="/p/aframework/" style="text-decoration:none; color:#000">aframework</a>
 </div>
 <div id="psum">
 <i><a href="/p/aframework/" style="text-decoration:none; color:#000">A simple, modular ajax-ready php framework</a></i>
 </div>
 
 </td>
 <td style="white-space:nowrap; text-align:right">
 
 <form action="/hosting/search">
 <input size="30" name="q" value="">
 <input type="submit" name="projectsearch" value="Search Projects" >
 </form>
 
 </tr>
 </table>


<table id="mt" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tr>
 <th onclick="if (!cancelBubble) _go('/p/aframework/');">
 <div class="tab inactive">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 <div class="box-inner">
 <a onclick="cancelBubble=true;" href="/p/aframework/">Project&nbsp;Home</a>
 </div>
 </div>
 </th><td>&nbsp;&nbsp;</td>
 
 
 
 
 <th onclick="if (!cancelBubble) _go('/p/aframework/downloads/list');">
 <div class="tab inactive">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 <div class="box-inner">
 <a onclick="cancelBubble=true;" href="/p/aframework/downloads/list">Downloads</a>
 </div>
 </div>
 </th><td>&nbsp;&nbsp;</td>
 
 
 
 
 
 <th onclick="if (!cancelBubble) _go('/p/aframework/w/list');">
 <div class="tab inactive">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 <div class="box-inner">
 <a onclick="cancelBubble=true;" href="/p/aframework/w/list">Wiki</a>
 </div>
 </div>
 </th><td>&nbsp;&nbsp;</td>
 
 
 
 
 
 <th onclick="if (!cancelBubble) _go('/p/aframework/issues/list');">
 <div class="tab inactive">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 <div class="box-inner">
 <a onclick="cancelBubble=true;" href="/p/aframework/issues/list">Issues</a>
 </div>
 </div>
 </th><td>&nbsp;&nbsp;</td>
 
 
 
 
 
 <th onclick="if (!cancelBubble) _go('/p/aframework/source/checkout');">
 <div class="tab active">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 <div class="box-inner">
 <a onclick="cancelBubble=true;" href="/p/aframework/source/checkout">Source</a>
 </div>
 </div>
 </th><td>&nbsp;&nbsp;</td>
 
 
 <td width="100%">&nbsp;</td>
 </tr>
</table>
<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0" class="st">
 <tr>
 
 
 
 
 
 
 <td>
 
<div class="st2">
 <div class="isf">
 <span class="inst1"><a href="/p/aframework/source/checkout">Checkout</a></span> |
 <span class="inst2"><a href="/p/aframework/source/browse/">Browse</a></span> |
 <span class="inst3"><a href="/p/aframework/source/list">Changes</a></span> |
 <form action="http://www.google.com/codesearch" method="get" style="display:inline"
 onsubmit="document.getElementById('codesearchq').value = document.getElementById('origq').value + ' package:http://aframework\\.googlecode\\.com'">
 <input type="hidden" name="q" id="codesearchq" value="">
 <input maxlength="2048" size="35" id="origq" name="origq" value="" title="Google Code Search" style="font-size:92%">&nbsp;<input type="submit" value="Search Trunk" name="btnG" style="font-size:92%">
  |
 <a href="/p/aframework/issues/entry?show=review&former=sourcelist">Request Code Review</a>
 
 </form>
 </div>
</div>


 </td>
 
 
 
 
 
 <td height="4" align="right" valign="top" class="bevel-right">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 </td>
 </tr>
</table>
<script type="text/javascript">
 var cancelBubble = false;
 function _go(url) { document.location = url; }
</script>

<div id="maincol">
<!-- IE -->



<div class="expand">


<style type="text/css">
 #file_flipper { display: inline; float: right; white-space: nowrap; }
 #file_flipper.hidden { display: none; }
 #file_flipper .pagelink { color: #0000CC; text-decoration: underline; }
 #file_flipper #visiblefiles { padding-left: 0.5em; padding-right: 0.5em; }
</style>
<div id="nav_and_rev" class="heading">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 <div class="box-inner">
 <div class="">
 <div class="src_crumbs src_nav">
 <strong class="src_nav">Source Path:&nbsp;</strong>
 <span id="crumb_root">
 
 <a href="/p/aframework/source/browse/?r=80">svn</a>/&nbsp;</span>
 <span id="crumb_links" class="ifClosed"><a href="/p/aframework/source/browse/trunk/?r=80">trunk</a><span class="sp">/&nbsp;</span><a href="/p/aframework/source/browse/trunk/__core/?r=80">__core</a><span class="sp">/&nbsp;</span><a href="/p/aframework/source/browse/trunk/__core/Modules/?r=80">Modules</a><span class="sp">/&nbsp;</span><a href="/p/aframework/source/browse/trunk/__core/Modules/Base/?r=80">Base</a><span class="sp">/&nbsp;</span>jquery.center.js</span>
 
 </div>
 
 </div>
 
 <div class="pagination" style="margin-left: 2em">
 <a href="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.center.js?r=44" title="Prev">&lsaquo; r44</a>
 <b>r365</b>
 
 </div>
 
 
 <div style="clear:both"></div>
 </div>
</div>

<style type="text/css">
 
 #nums td:target a {color:black; font-weight:bold}
 
  tr.inline_comment {
 background: #fff;
 vertical-align: top;
 }
 div.draft, div.published {
 padding: .3em;
 border: 1px solid #999; 
 margin-bottom: .1em;
 font-family: arial, sans-serif;
 max-width: 60em;
 }
 div.draft {
 background: #ffa;
 } 
 div.published {
 background: #e5ecf9;
 }
 div.published .body, div.draft .body {
 padding: .5em .1em .1em .1em;
 max-width: 60em;
 white-space: pre-wrap;
 white-space: -moz-pre-wrap;
 white-space: -pre-wrap;
 white-space: -o-pre-wrap;
 word-wrap: break-word;
 }
 div.draft .actions {
 margin-left: 1em;
 font-size: 90%;
 }
 div.draft form {
 padding: .5em .5em .5em 0;
 }
 div.draft textarea, div.published textarea {
 width: 95%;
 height: 10em;
 font-family: arial, sans-serif;
 margin-bottom: .5em;
 }

</style>
<div class="fc">
 


<table class="opened" id="review_comment_area"><tr>
<td id="nums">
<pre><table width="100%"><tr class="nocursor"><td></td></tr></table></pre>

<pre><table><tr id="gr_svn80_1"><td id="1"><a href="#1">1</a></td></tr
><tr id="gr_svn80_2"><td id="2"><a href="#2">2</a></td></tr
><tr id="gr_svn80_3"><td id="3"><a href="#3">3</a></td></tr
><tr id="gr_svn80_4"><td id="4"><a href="#4">4</a></td></tr
><tr id="gr_svn80_5"><td id="5"><a href="#5">5</a></td></tr
><tr id="gr_svn80_6"><td id="6"><a href="#6">6</a></td></tr
><tr id="gr_svn80_7"><td id="7"><a href="#7">7</a></td></tr
><tr id="gr_svn80_8"><td id="8"><a href="#8">8</a></td></tr
><tr id="gr_svn80_9"><td id="9"><a href="#9">9</a></td></tr
><tr id="gr_svn80_10"><td id="10"><a href="#10">10</a></td></tr
><tr id="gr_svn80_11"><td id="11"><a href="#11">11</a></td></tr
><tr id="gr_svn80_12"><td id="12"><a href="#12">12</a></td></tr
><tr id="gr_svn80_13"><td id="13"><a href="#13">13</a></td></tr
><tr id="gr_svn80_14"><td id="14"><a href="#14">14</a></td></tr
><tr id="gr_svn80_15"><td id="15"><a href="#15">15</a></td></tr
><tr id="gr_svn80_16"><td id="16"><a href="#16">16</a></td></tr
><tr id="gr_svn80_17"><td id="17"><a href="#17">17</a></td></tr
><tr id="gr_svn80_18"><td id="18"><a href="#18">18</a></td></tr
><tr id="gr_svn80_19"><td id="19"><a href="#19">19</a></td></tr
><tr id="gr_svn80_20"><td id="20"><a href="#20">20</a></td></tr
><tr id="gr_svn80_21"><td id="21"><a href="#21">21</a></td></tr
><tr id="gr_svn80_22"><td id="22"><a href="#22">22</a></td></tr
><tr id="gr_svn80_23"><td id="23"><a href="#23">23</a></td></tr
><tr id="gr_svn80_24"><td id="24"><a href="#24">24</a></td></tr
><tr id="gr_svn80_25"><td id="25"><a href="#25">25</a></td></tr
><tr id="gr_svn80_26"><td id="26"><a href="#26">26</a></td></tr
><tr id="gr_svn80_27"><td id="27"><a href="#27">27</a></td></tr
><tr id="gr_svn80_28"><td id="28"><a href="#28">28</a></td></tr
><tr id="gr_svn80_29"><td id="29"><a href="#29">29</a></td></tr
><tr id="gr_svn80_30"><td id="30"><a href="#30">30</a></td></tr
><tr id="gr_svn80_31"><td id="31"><a href="#31">31</a></td></tr
><tr id="gr_svn80_32"><td id="32"><a href="#32">32</a></td></tr
><tr id="gr_svn80_33"><td id="33"><a href="#33">33</a></td></tr
><tr id="gr_svn80_34"><td id="34"><a href="#34">34</a></td></tr
><tr id="gr_svn80_35"><td id="35"><a href="#35">35</a></td></tr
><tr id="gr_svn80_36"><td id="36"><a href="#36">36</a></td></tr
><tr id="gr_svn80_37"><td id="37"><a href="#37">37</a></td></tr
><tr id="gr_svn80_38"><td id="38"><a href="#38">38</a></td></tr
><tr id="gr_svn80_39"><td id="39"><a href="#39">39</a></td></tr
><tr id="gr_svn80_40"><td id="40"><a href="#40">40</a></td></tr
><tr id="gr_svn80_41"><td id="41"><a href="#41">41</a></td></tr
><tr id="gr_svn80_42"><td id="42"><a href="#42">42</a></td></tr
><tr id="gr_svn80_43"><td id="43"><a href="#43">43</a></td></tr
><tr id="gr_svn80_44"><td id="44"><a href="#44">44</a></td></tr
><tr id="gr_svn80_45"><td id="45"><a href="#45">45</a></td></tr
><tr id="gr_svn80_46"><td id="46"><a href="#46">46</a></td></tr
><tr id="gr_svn80_47"><td id="47"><a href="#47">47</a></td></tr
><tr id="gr_svn80_48"><td id="48"><a href="#48">48</a></td></tr
><tr id="gr_svn80_49"><td id="49"><a href="#49">49</a></td></tr
><tr id="gr_svn80_50"><td id="50"><a href="#50">50</a></td></tr
><tr id="gr_svn80_51"><td id="51"><a href="#51">51</a></td></tr
><tr id="gr_svn80_52"><td id="52"><a href="#52">52</a></td></tr
><tr id="gr_svn80_53"><td id="53"><a href="#53">53</a></td></tr
><tr id="gr_svn80_54"><td id="54"><a href="#54">54</a></td></tr
><tr id="gr_svn80_55"><td id="55"><a href="#55">55</a></td></tr
><tr id="gr_svn80_56"><td id="56"><a href="#56">56</a></td></tr
><tr id="gr_svn80_57"><td id="57"><a href="#57">57</a></td></tr
><tr id="gr_svn80_58"><td id="58"><a href="#58">58</a></td></tr
><tr id="gr_svn80_59"><td id="59"><a href="#59">59</a></td></tr
><tr id="gr_svn80_60"><td id="60"><a href="#60">60</a></td></tr
><tr id="gr_svn80_61"><td id="61"><a href="#61">61</a></td></tr
><tr id="gr_svn80_62"><td id="62"><a href="#62">62</a></td></tr
><tr id="gr_svn80_63"><td id="63"><a href="#63">63</a></td></tr
><tr id="gr_svn80_64"><td id="64"><a href="#64">64</a></td></tr
><tr id="gr_svn80_65"><td id="65"><a href="#65">65</a></td></tr
><tr id="gr_svn80_66"><td id="66"><a href="#66">66</a></td></tr
><tr id="gr_svn80_67"><td id="67"><a href="#67">67</a></td></tr
><tr id="gr_svn80_68"><td id="68"><a href="#68">68</a></td></tr
><tr id="gr_svn80_69"><td id="69"><a href="#69">69</a></td></tr
><tr id="gr_svn80_70"><td id="70"><a href="#70">70</a></td></tr
><tr id="gr_svn80_71"><td id="71"><a href="#71">71</a></td></tr
><tr id="gr_svn80_72"><td id="72"><a href="#72">72</a></td></tr
><tr id="gr_svn80_73"><td id="73"><a href="#73">73</a></td></tr
><tr id="gr_svn80_74"><td id="74"><a href="#74">74</a></td></tr
><tr id="gr_svn80_75"><td id="75"><a href="#75">75</a></td></tr
><tr id="gr_svn80_76"><td id="76"><a href="#76">76</a></td></tr
><tr id="gr_svn80_77"><td id="77"><a href="#77">77</a></td></tr
><tr id="gr_svn80_78"><td id="78"><a href="#78">78</a></td></tr
></table></pre>

<pre><table width="100%"><tr class="nocursor"><td></td></tr></table></pre>
</td>
<td id="lines">
<pre class="prettyprint"><table width="100%"><tr class="cursor_hidden"><td></td></tr></table></pre>

<pre class="prettyprint lang-js"><table><tr
id=sl_svn80_1><td>/**<br></td></tr
><tr
id=sl_svn80_2><td> * ColourPicker 1.0<br></td></tr
><tr
id=sl_svn80_3><td> *<br></td></tr
><tr
id=sl_svn80_4><td> * Centers all matched elements using position: fixed (no IE)<br></td></tr
><tr
id=sl_svn80_5><td> *<br></td></tr
><tr
id=sl_svn80_6><td> * Usage: jQuery(&#39;div.img-overlay&#39;).center();<br></td></tr
><tr
id=sl_svn80_7><td> *<br></td></tr
><tr
id=sl_svn80_8><td> * @class center<br></td></tr
><tr
id=sl_svn80_9><td> *<br></td></tr
><tr
id=sl_svn80_10><td> * Copyright (c) 2008 Andreas Lagerkvist (andreaslagerkvist.com)<br></td></tr
><tr
id=sl_svn80_11><td> * Released under a GNU General Public License v3 (http://creativecommons.org/licenses/by/3.0/)<br></td></tr
><tr
id=sl_svn80_12><td> */<br></td></tr
><tr
id=sl_svn80_13><td>jQuery.fn.center = function() {<br></td></tr
><tr
id=sl_svn80_14><td>	// Always return each...<br></td></tr
><tr
id=sl_svn80_15><td>	return this.each(function() {<br></td></tr
><tr
id=sl_svn80_16><td>		var t = jQuery(this);<br></td></tr
><tr
id=sl_svn80_17><td><br></td></tr
><tr
id=sl_svn80_18><td>		// Set position to other than &#39;static&#39; so element shrink-wraps and width/height is calculated properly<br></td></tr
><tr
id=sl_svn80_19><td>		t.css({position: &#39;fixed&#39;});<br></td></tr
><tr
id=sl_svn80_20><td><br></td></tr
><tr
id=sl_svn80_21><td>		// Why are there no jQuery.fn.outerWidth/Height:s?<br></td></tr
><tr
id=sl_svn80_22><td>		var w = t.width(), <br></td></tr
><tr
id=sl_svn80_23><td>			h = t.height(), <br></td></tr
><tr
id=sl_svn80_24><td>			lrPadding = parseInt(t.css(&#39;paddingLeft&#39;), 10) + parseInt(t.css(&#39;paddingRight&#39;), 10), <br></td></tr
><tr
id=sl_svn80_25><td>			lrBorder = parseInt(t.css(&#39;borderLeftWidth&#39;), 10) + parseInt(t.css(&#39;borderRightWidth&#39;), 10), <br></td></tr
><tr
id=sl_svn80_26><td>			tbPadding = parseInt(t.css(&#39;paddingTop&#39;), 10) + parseInt(t.css(&#39;paddingBottom&#39;), 10), <br></td></tr
><tr
id=sl_svn80_27><td>			tbBorder = parseInt(t.css(&#39;borderTopWidth&#39;), 10) + parseInt(t.css(&#39;borderBottomWidth&#39;), 10), <br></td></tr
><tr
id=sl_svn80_28><td>			leftMargin = (w + lrPadding + lrBorder) / 2;<br></td></tr
><tr
id=sl_svn80_29><td>			topMargin = (h + tbPadding + tbBorder) / 2;<br></td></tr
><tr
id=sl_svn80_30><td><br></td></tr
><tr
id=sl_svn80_31><td>		t.css({<br></td></tr
><tr
id=sl_svn80_32><td>			position: &#39;fixed&#39;, <br></td></tr
><tr
id=sl_svn80_33><td>			left: &#39;50%&#39;, <br></td></tr
><tr
id=sl_svn80_34><td>			top: &#39;50%&#39;, <br></td></tr
><tr
id=sl_svn80_35><td>			marginLeft: &#39;-&#39; +leftMargin +&#39;px&#39;, <br></td></tr
><tr
id=sl_svn80_36><td>			marginTop: &#39;-&#39; +topMargin +&#39;px&#39;, <br></td></tr
><tr
id=sl_svn80_37><td>			zIndex: &#39;99&#39;<br></td></tr
><tr
id=sl_svn80_38><td>		});<br></td></tr
><tr
id=sl_svn80_39><td><br></td></tr
><tr
id=sl_svn80_40><td>		/* Use this code if you care about IE&lt;7, this requires the dimensions plug-in tho<br></td></tr
><tr
id=sl_svn80_41><td>		// Calculate left and top pos values<br></td></tr
><tr
id=sl_svn80_42><td>		var leftPos = (jQuery(window).width() - jQuery(this).outerWidth()) / 2 + jQuery(window).scrollLeft(), <br></td></tr
><tr
id=sl_svn80_43><td>			topPos = (jQuery(window).height() - jQuery(this).outerHeight()) / 2 + jQuery(window).scrollTop();<br></td></tr
><tr
id=sl_svn80_44><td><br></td></tr
><tr
id=sl_svn80_45><td>		// Make sure element is not out of bounds<br></td></tr
><tr
id=sl_svn80_46><td>		leftPos = (leftPos &lt; 0) ? 0 : leftPos;<br></td></tr
><tr
id=sl_svn80_47><td>		topPos = (topPos &lt; 0) ? 0 : topPos;<br></td></tr
><tr
id=sl_svn80_48><td><br></td></tr
><tr
id=sl_svn80_49><td>		jQuery(this).css({left: leftPos +&#39;px&#39;, top: topPos +&#39;px&#39;, zIndex: &#39;1000&#39;});<br></td></tr
><tr
id=sl_svn80_50><td>		*/<br></td></tr
><tr
id=sl_svn80_51><td>	});<br></td></tr
><tr
id=sl_svn80_52><td>};<br></td></tr
><tr
id=sl_svn80_53><td>/*<br></td></tr
><tr
id=sl_svn80_54><td>// If dimensions plug-in isn&#39;t available<br></td></tr
><tr
id=sl_svn80_55><td>// Why is there no jQuery.fn.outerWidth bundled with jQuery?<br></td></tr
><tr
id=sl_svn80_56><td>if(!jQuery.fn.outerWidth) {<br></td></tr
><tr
id=sl_svn80_57><td>	jQuery.fn.outerWidth = function() {<br></td></tr
><tr
id=sl_svn80_58><td>		var t = jQuery(this[0]), <br></td></tr
><tr
id=sl_svn80_59><td>			w = t.width(), <br></td></tr
><tr
id=sl_svn80_60><td>			lrPadding = parseInt(t.css(&#39;paddingLeft&#39;), 10) + parseInt(t.css(&#39;paddingRight&#39;), 10), <br></td></tr
><tr
id=sl_svn80_61><td>			lrBorder = parseInt(t.css(&#39;borderLeftWidth&#39;), 10) + parseInt(t.css(&#39;borderRightWidth&#39;), 10);<br></td></tr
><tr
id=sl_svn80_62><td><br></td></tr
><tr
id=sl_svn80_63><td>		return w + lrPadding + lrBorder;<br></td></tr
><tr
id=sl_svn80_64><td>	};<br></td></tr
><tr
id=sl_svn80_65><td>}<br></td></tr
><tr
id=sl_svn80_66><td>if(!jQuery.fn.outerHeight) {<br></td></tr
><tr
id=sl_svn80_67><td>	jQuery.fn.outerHeight = function() {<br></td></tr
><tr
id=sl_svn80_68><td>		return this.each(function() {<br></td></tr
><tr
id=sl_svn80_69><td>			var t = jQuery(this)[0], <br></td></tr
><tr
id=sl_svn80_70><td>				h = t.height(), <br></td></tr
><tr
id=sl_svn80_71><td>				tbPadding = parseInt(t.css(&#39;paddingTop&#39;), 10) + parseInt(t.css(&#39;paddingBottom&#39;), 10), <br></td></tr
><tr
id=sl_svn80_72><td>				tbBorder = parseInt(t.css(&#39;borderTopWidth&#39;), 10) + parseInt(t.css(&#39;borderBottomWidth&#39;), 10);<br></td></tr
><tr
id=sl_svn80_73><td><br></td></tr
><tr
id=sl_svn80_74><td>			return h + tbPadding + tbBorder;<br></td></tr
><tr
id=sl_svn80_75><td>		});<br></td></tr
><tr
id=sl_svn80_76><td>	};<br></td></tr
><tr
id=sl_svn80_77><td>}<br></td></tr
><tr
id=sl_svn80_78><td>*/<br></td></tr
></table></pre>

<pre class="prettyprint"><table width="100%"><tr class="cursor_hidden"><td></td></tr></table></pre>
</td>
</tr></table>



 <div id="log">
 <div style="text-align:right">
 <a class="ifCollapse" href="#" onclick="_toggleMeta('aframework', this)">Show details</a>
 <a class="ifExpand" href="#" onclick="_toggleMeta('aframework', this)">Hide details</a>
 </div>
 <div class="ifExpand">
 
 <div class="pmeta_bubble_bg" style="border:1px solid white">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 <div class="box-inner">
 <div id="changelog">
 <p>Change log</p>
 <div>
 <a href="/p/aframework/source/detail?spec=svn365&r=80">r80</a>
 by powerbuoy
 on May 07, 2008
 &nbsp; <a href="/p/aframework/source/diff?spec=svn365&r=80&amp;format=side&amp;path=/trunk/__core/Modules/Base/jquery.center.js&amp;old_path=/trunk/__core/Modules/Base/jquery.center.js&amp;old=44">Diff</a>
 </div>
 <pre>Tidied up most plug-ins</pre>
 </div>
 
 
 
 
 
 
 <script type="text/javascript">
 var detail_url = '/p/aframework/source/detail?r=80&spec=svn365';
 var publish_url = '/p/aframework/source/detail?r=80&spec=svn365#publish';
 // describe the paths of this revision in javascript.
 var changed_paths = [];
 var changed_urls = [];
 
 changed_paths.push('/trunk/__core/Modules/Base/3-FlashReplace.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/3-FlashReplace.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/3-swfobject.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/3-swfobject.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/__jquery.youtubeAPI.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/__jquery.youtubeAPI.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/jquery.ajaxSubmit.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.ajaxSubmit.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/jquery.center.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.center.js?r=80&spec=svn365');
 
 var selected_path = '/trunk/__core/Modules/Base/jquery.center.js';
 
 
 changed_paths.push('/trunk/__core/Modules/Base/jquery.colourPicker.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.colourPicker.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/jquery.equalHeight.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.equalHeight.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/jquery.favicons.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.favicons.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/jquery.fullWidthNav.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.fullWidthNav.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/jquery.imgbox.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.imgbox.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/jquery.imgzoom.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.imgzoom.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/jquery.liveValidation.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.liveValidation.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/jquery.numericDLs.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.numericDLs.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/jquery.vibrate.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.vibrate.js?r=80&spec=svn365');
 
 
 changed_paths.push('/trunk/__core/Modules/Base/jquery.youtubeAPI.js');
 changed_urls.push('/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.youtubeAPI.js?r=80&spec=svn365');
 
 
 function getCurrentPageIndex() {
 for (var i = 0; i < changed_paths.length; i++) {
 if (selected_path == changed_paths[i]) {
 return i;
 }
 }
 }
 function getNextPage() {
 var i = getCurrentPageIndex();
 if (i < changed_paths.length - 1) {
 return changed_urls[i + 1];
 }
 return null;
 }
 function getPreviousPage() {
 var i = getCurrentPageIndex();
 if (i > 0) {
 return changed_urls[i - 1];
 }
 return null;
 }
 function gotoNextPage() {
 var page = getNextPage();
 if (!page) {
 page = detail_url;
 }
 window.location = page;
 }
 function gotoPreviousPage() {
 var page = getPreviousPage();
 if (!page) {
 page = detail_url;
 }
 window.location = page;
 }
 function gotoDetailPage() {
 window.location = detail_url;
 }
 function gotoPublishPage() {
 window.location = publish_url;
 }
</script>
 
 <style type="text/css">
 #review_nav {
 border-top: 3px solid white;
 padding-top: 6px;
 margin-top: 1em;
 }
 #review_nav td {
 vertical-align: middle;
 }
 #review_nav select {
 margin: .5em 0;
 }
 </style>
 <div id="review_nav">
 <table><tr><td>Go to:&nbsp;</td><td>
 <select name="files_in_rev" onchange="window.location=this.value">
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/3-FlashReplace.js?r=80&amp;spec=svn365"
 
 >...e/Modules/Base/3-FlashReplace.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/3-swfobject.js?r=80&amp;spec=svn365"
 
 >...core/Modules/Base/3-swfobject.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/__jquery.youtubeAPI.js?r=80&amp;spec=svn365"
 
 >...ules/Base/__jquery.youtubeAPI.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.ajaxSubmit.js?r=80&amp;spec=svn365"
 
 >...odules/Base/jquery.ajaxSubmit.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.center.js?r=80&amp;spec=svn365"
 selected="selected"
 >...re/Modules/Base/jquery.center.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.colourPicker.js?r=80&amp;spec=svn365"
 
 >...ules/Base/jquery.colourPicker.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.equalHeight.js?r=80&amp;spec=svn365"
 
 >...dules/Base/jquery.equalHeight.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.favicons.js?r=80&amp;spec=svn365"
 
 >.../Modules/Base/jquery.favicons.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.fullWidthNav.js?r=80&amp;spec=svn365"
 
 >...ules/Base/jquery.fullWidthNav.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.imgbox.js?r=80&amp;spec=svn365"
 
 >...re/Modules/Base/jquery.imgbox.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.imgzoom.js?r=80&amp;spec=svn365"
 
 >...e/Modules/Base/jquery.imgzoom.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.liveValidation.js?r=80&amp;spec=svn365"
 
 >...es/Base/jquery.liveValidation.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.numericDLs.js?r=80&amp;spec=svn365"
 
 >...odules/Base/jquery.numericDLs.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.vibrate.js?r=80&amp;spec=svn365"
 
 >...e/Modules/Base/jquery.vibrate.js</option>
 
 <option value="/p/aframework/source/browse/trunk/__core/Modules/Base/jquery.youtubeAPI.js?r=80&amp;spec=svn365"
 
 >...odules/Base/jquery.youtubeAPI.js</option>
 
 </select>
 </td></tr></table>
 
 
 




 
 </div>
 
 
 </div>
 <div class="round1"></div>
 <div class="round2"></div>
 <div class="round4"></div>
 </div>
 <div class="pmeta_bubble_bg" style="border:1px solid white">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 <div class="box-inner">
 <div id="older_bubble">
 <p>Older revisions</p>
 
 
 <div class="closed" style="margin-bottom:3px;" >
 <img class="ifClosed" onclick="_toggleHidden(this)" src="http://www.gstatic.com/codesite/ph/images/plus.gif" >
 <img class="ifOpened" onclick="_toggleHidden(this)" src="http://www.gstatic.com/codesite/ph/images/minus.gif" >
 <a href="/p/aframework/source/detail?spec=svn365&r=44">r44</a>
 by powerbuoy
 on Feb 12, 2008
 &nbsp; <a href="/p/aframework/source/diff?spec=svn365&r=44&amp;format=side&amp;path=/trunk/__core/Modules/Base/jquery.center.js&amp;old_path=/trunk/__core/Modules/Base/jquery.center.js&amp;old=18">Diff</a>
 <br>
 <pre class="ifOpened">Added licensing and cleaned up (also
using imgzoom rather than imgbox from
aFramework.js now)</pre>
 </div>
 
 <div class="closed" style="margin-bottom:3px;" >
 <img class="ifClosed" onclick="_toggleHidden(this)" src="http://www.gstatic.com/codesite/ph/images/plus.gif" >
 <img class="ifOpened" onclick="_toggleHidden(this)" src="http://www.gstatic.com/codesite/ph/images/minus.gif" >
 <a href="/p/aframework/source/detail?spec=svn365&r=18">r18</a>
 by powerbuoy
 on Feb 04, 2008
 &nbsp; <a href="/p/aframework/source/diff?spec=svn365&r=18&amp;format=side&amp;path=/trunk/__core/Modules/Base/jquery.center.js&amp;old_path=/trunk/__core/Modules/Base/jquery.center.js&amp;old=0">Diff</a>
 <br>
 <pre class="ifOpened">Added all jquery plug-ins</pre>
 </div>
 
 
 <a href="/p/aframework/source/list?path=/trunk/__core/Modules/Base/jquery.center.js&start=80">All revisions of this file</a>
 </div>
 </div>
 <div class="round1"></div>
 <div class="round2"></div>
 <div class="round4"></div>
 </div>
 <div class="pmeta_bubble_bg" style="border:1px solid white">
 <div class="round4"></div>
 <div class="round2"></div>
 <div class="round1"></div>
 <div class="box-inner">
 <div id="fileinfo_bubble">
 <p>File info</p>
 
 <div>Size: 2761 bytes,
 78 lines</div>
 
 <div><a href="http://aframework.googlecode.com/svn/trunk/__core/Modules/Base/jquery.center.js">View raw file</a></div>
 </div>
 
 </div>
 <div class="round1"></div>
 <div class="round2"></div>
 <div class="round4"></div>
 </div>
 </div>
 </div>


</div>
</div>

 <script src="http://www.gstatic.com/codesite/ph/7491867761698793290/js/prettify_20080714.js"></script><script type="text/javascript">prettyPrint();</script>

<script src="http://www.gstatic.com/codesite/ph/7491867761698793290/js/source_file_scripts_20080115.js"></script>

 <style type="text/css">
 
 .nocursor, .nocursor td, .cursor_hidden, .cursor_hidden td {
 background-color: white;
 height: 2px;
 }
 .cursor, .cursor td {
 background-color: darkblue;
 height: 2px;
 display: '';
 }
 </style>
 <script type="text/javascript" src="http://kibbles.googlecode.com/files/kibbles-1.3.0.comp.js"></script>
 <script type="text/javascript">
 var lastStop = null;
 var initilized = false;
 
 function updateCursor(next, prev) {
 if (prev && prev.element) {
 prev.element.className = 'cursor_hidden';
 }
 if (next && next.element) {
 next.element.className = 'cursor';
 lastStop = next.index;
 }
 }
 
 function pubRevealed(data) {
 updateCursorForCell(data.cellId, 'cursor_hidden');
 if (initilized) {
 reloadCursors();
 }
 }
 
 function draftRevealed(data) {
 updateCursorForCell(data.cellId, 'cursor_hidden');
 if (initilized) {
 reloadCursors();
 }
 }
 
 function draftDestroyed(data) {
 updateCursorForCell(data.cellId, 'nocursor');
 if (initilized) {
 reloadCursors();
 }
 }
 function reloadCursors() {
 kibbles.skipper.reset();
 loadCursors();
 if (lastStop != null) {
 kibbles.skipper.setCurrentStop(lastStop);
 }
 }
 // possibly the simplest way to insert any newly added comments
 // is to update the class of the corresponding cursor row,
 // then refresh the entire list of rows.
 function updateCursorForCell(cellId, className) {
 var cell = document.getElementById(cellId);
 // we have to go two rows back to find the cursor location
 var row = getPreviousElement(cell.parentNode);
 row.className = className;
 }
 // returns the previous element, ignores text nodes.
 function getPreviousElement(e) {
 var element = e.previousSibling;
 if (element.nodeType == 3) {
 element = element.previousSibling;
 }
 if (element && element.tagName) {
 return element;
 }
 }
 function findCursorRows() {
 var rows = [];
 var td = document.getElementById('lines'); 
 for (var i = 0; i < td.childNodes.length; i++) {
 var pre = td.childNodes[i]; 
 if (pre.tagName && pre.tagName == 'PRE') {
 var table = pre.childNodes[0];
 var ts = table.childNodes[0]; 
 for (var j = 0; j < ts.childNodes.length; j++) {
 var tr = ts.childNodes[j];
 if (tr.className.indexOf("cursor") == 0) {
 rows.push(tr);
 }
 }
 }
 }
 return rows;
 }
 function loadCursors() {
 // register our elements with skipper
 var elements = findCursorRows();
 for (var i = 0; i < elements.length; i++) {
 var element = elements[i]; 
 element.className = 'cursor_hidden';
 kibbles.skipper.append(element);
 }
 }
 function toggleComments() {
 CR_toggleCommentDisplay();
 reloadCursors();
 }
 function keysOnLoadHandler() {
 // setup skipper
 kibbles.skipper.addStopListener(
 kibbles.skipper.LISTENER_TYPE.PRE, updateCursor);
 // Set the 'offset' option to return the middle of the client area
 // an option can be a static value, or a callback
 kibbles.skipper.setOption('padding_top', 50);
 // Set the 'offset' option to return the middle of the client area
 // an option can be a static value, or a callback
 kibbles.skipper.setOption('padding_bottom', 100);
 // Register our keys
 kibbles.skipper.addFwdKey("n");
 kibbles.skipper.addRevKey("p");
 kibbles.keys.addKeyPressListener(
 'u', function() { window.location = detail_url; });
 kibbles.keys.addKeyPressListener(
 'r', function() { window.location = detail_url + '#publish'; });
 
 kibbles.keys.addKeyPressListener('j', gotoNextPage);
 kibbles.keys.addKeyPressListener('k', gotoPreviousPage);
 
 
 }
 window.onload = function() {keysOnLoadHandler();};
 </script>


<!-- code review support -->
<script src="http://www.gstatic.com/codesite/ph/7491867761698793290/js/code_review_scripts_20081023.js"></script>
<script type="text/javascript">
 
 // the comment form template
 var form = '<div class="draft"><div class="header"><span class="title">Draft comment:</span></div>' +
 '<div class="body"><form onsubmit="return false;"><textarea id="$ID">$BODY</textarea><br>$ACTIONS</form></div>' +
 '</div>';
 // the comment "plate" template used for both draft and published comment "plates".
 var draft_comment = '<div class="draft" ondblclick="$ONDBLCLICK">' +
 '<div class="header"><span class="title">Draft comment:</span><span class="actions">$ACTIONS</span></div>' +
 '<pre id="$ID" class="body">$BODY</pre>' +
 '</div>';
 var published_comment = '<div class="published">' +
 '<div class="header"><span class="title"><a href="$PROFILE_URL">$AUTHOR:</a></span><div>' +
 '<pre id="$ID" class="body">$BODY</pre>' +
 '</div>';

 function showPublishInstructions() {
 var element = document.getElementById('review_instr');
 if (element) {
 element.className = 'opened';
 }
 }
 function revsOnLoadHandler() {
 // register our source container with the commenting code
 _setup('aframework', 'svn365', '/trunk/__core/Modules/Base/jquery.center.js', '8aa7887fb06009ad757188509ff1d8d2',
 CR_BrowseIntegrationFactory);
 // register our hidden ui elements with the code commenting code ui builder.
 CR_registerLayoutElement('form', form);
 CR_registerLayoutElement('draft_comment', draft_comment);
 CR_registerLayoutElement('published_comment', published_comment);
 
 CR_registerActivityListener(CR_ACTIVITY_TYPE.REVEAL_DRAFT_PLATE, showPublishInstructions);
 
 CR_registerActivityListener(CR_ACTIVITY_TYPE.REVEAL_PUB_PLATE, pubRevealed);
 CR_registerActivityListener(CR_ACTIVITY_TYPE.REVEAL_DRAFT_PLATE, draftRevealed);
 CR_registerActivityListener(CR_ACTIVITY_TYPE.DISCARD_DRAFT_COMMENT, draftDestroyed);
 
 
 
 
 
 
 
 
 
 var initilized = true;
 reloadCursors();
 }
 window.onload = function() {keysOnLoadHandler(); revsOnLoadHandler();};
</script>

<script type="text/javascript" src="http://www.gstatic.com/codesite/ph/7491867761698793290/js/dit_scripts_20081013.js"></script>

 
 <script type="text/javascript" src="http://www.gstatic.com/codesite/ph/7491867761698793290/js/core_scripts_20081103.js"></script>
 
 
 
 </div>
<div id="footer" dir="ltr">
 
 <div class="text">
 
 &copy;2008 Google -
 <a href="/">Code Home</a> -
 <a href="/tos.html">Terms of Service</a> -
 <a href="http://www.google.com/privacy.html">Privacy Policy</a> -
 <a href="/more/">Site Directory</a>
 
 </div>
</div>
<script type="text/javascript">
/**
 * Reports analytics.
 * It checks for the analytics functionality (window._gat) every 100ms
 * until the analytics script is fully loaded in order to invoke siteTracker.
 */
function _CS_reportAnalytics() {
 window.setTimeout(function() {
 if (window._gat) {
 var siteTracker = _gat._getTracker("UA-18071-1");
 siteTracker._initData();
 siteTracker._trackPageview();
 
 } else {
 _CS_reportAnalytics();
 }
 }, 100);
}
</script>

 
 


 
 </body>
</html>


