<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[171] sites/trunk/wordcamp.org/public_html/wp-content/plugins: WCPT: Move from private repository.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://meta.trac.wordpress.org/changeset/171">171</a></dd>
<dt>Author</dt> <dd>iandunn</dd>
<dt>Date</dt> <dd>2013-12-25 19:00:26 +0000 (Wed, 25 Dec 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>WCPT: Move from private repository. See <a href="http://meta.trac.wordpress.org/ticket/221">#221</a>.</pre>

<h3>Added Paths</h3>
<ul>
<li>sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/</li>
<li>sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/</li>
<li>sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/</li>
<li>sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/</li>
<li>sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/</li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_flat_0_aaaaaa_40x100png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_flat_55_fbec88_40x100png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_glass_75_d0e5f5_1x400png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_glass_85_dfeffc_1x400png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_glass_95_fef1ec_1x400png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_glosswave_55_5c9ccc_500x100png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_insethard_100_f5f8f9_1x100png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_insethard_100_fcfdfd_1x100png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_217bc0_256x240png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_217bc0_256x240.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_2e83ff_256x240png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_2e83ff_256x240.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_469bdd_256x240png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_469bdd_256x240.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_6da8d5_256x240png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_6da8d5_256x240.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_cd0a0a_256x240png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_cd0a0a_256x240.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_d8e7f3_256x240png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_d8e7f3_256x240.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_f9bd01_256x240png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_f9bd01_256x240.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondjqueryui1818customcss">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/jquery-ui-1.8.18.custom.css</a></li>
<li>sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/js/</li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetsjsjqueryui1818customminjs">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/js/jquery-ui-1.8.18.custom.min.js</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptadminphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-admin.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptfunctionsphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-functions.php</a></li>
<li>sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/</li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptimagesiconorganizerpng">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-organizer.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptimagesiconvenuepng">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-venue.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptimagesiconwordcamppng">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-wordcamp.png</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptimagesicon32png">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon32.png</a></li>
<li>sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-languages/</li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptloaderphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-loader.php</a></li>
<li>sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/</li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptorganizerorganizeradminphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/organizer-admin.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptorganizerorganizerloaderphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/organizer-loader.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptorganizerorganizertemplatephp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/organizer-template.php</a></li>
<li>sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/</li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptvenuevenueadminphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/venue-admin.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptvenuevenueloaderphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/venue-loader.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptvenuevenuetemplatephp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/venue-template.php</a></li>
<li>sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/</li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptwordcampwordcampadminphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-admin.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptwordcampwordcamploaderphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptwordcampwordcamptemplatephp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-template.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_flat_0_aaaaaa_40x100png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png       2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png        2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_flat_55_fbec88_40x100png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png      2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png       2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_glass_75_d0e5f5_1x400png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png      2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png       2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_glass_85_dfeffc_1x400png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png      2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png       2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_glass_95_fef1ec_1x400png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png      2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png       2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_glosswave_55_5c9ccc_500x100png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png       2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png        2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_insethard_100_f5f8f9_1x100png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png        2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png 2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuibg_insethard_100_fcfdfd_1x100png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png        2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png 2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_217bc0_256x240png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_217bc0_256x240.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_217bc0_256x240.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_217bc0_256x240.png  2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_217bc0_256x240.png   2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_217bc0_256x240.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_2e83ff_256x240png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_2e83ff_256x240.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_2e83ff_256x240.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_2e83ff_256x240.png  2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_2e83ff_256x240.png   2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_2e83ff_256x240.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_469bdd_256x240png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_469bdd_256x240.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_469bdd_256x240.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_469bdd_256x240.png  2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_469bdd_256x240.png   2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_469bdd_256x240.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_6da8d5_256x240png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_6da8d5_256x240.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_6da8d5_256x240.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_6da8d5_256x240.png  2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_6da8d5_256x240.png   2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_6da8d5_256x240.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_cd0a0a_256x240png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_cd0a0a_256x240.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_cd0a0a_256x240.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_cd0a0a_256x240.png  2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_cd0a0a_256x240.png   2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_cd0a0a_256x240.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_d8e7f3_256x240png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_d8e7f3_256x240.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_d8e7f3_256x240.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_d8e7f3_256x240.png  2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_d8e7f3_256x240.png   2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_d8e7f3_256x240.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondimagesuiicons_f9bd01_256x240png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_f9bd01_256x240.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_f9bd01_256x240.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_f9bd01_256x240.png  2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_f9bd01_256x240.png   2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/images/ui-icons_f9bd01_256x240.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetscssredmondjqueryui1818customcss"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/jquery-ui-1.8.18.custom.css (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/jquery-ui-1.8.18.custom.css                              (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/jquery-ui-1.8.18.custom.css 2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,354 @@
</span><ins>+/*
+ * jQuery UI CSS Framework 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
+.ui-helper-clearfix:after { clear: both; }
+.ui-helper-clearfix { zoom: 1; }
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=5c9ccc&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&am
 p;iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc url(images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
+.ui-widget-header a { color: #ffffff; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #2e6e9e; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2e6e9e; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1d5987; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #1d5987; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e17009; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e17009; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fad42e; background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; color: #363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_469bdd_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_469bdd_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_d8e7f3_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_6da8d5_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_217bc0_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_f9bd01_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; -khtml-border-top-left-radius: 5px; border-top-left-radius: 5px; }
+.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; -khtml-border-top-right-radius: 5px; border-top-right-radius: 5px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; -khtml-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; -khtml-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
+ * jQuery UI Datepicker 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month, 
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+    display: none; /*sorry for IE5*/
+    display/**/: block; /*sorry for IE5*/
+    position: absolute; /*must have*/
+    z-index: -1; /*must have*/
+    filter: mask(); /*must have*/
+    top: -4px; /*must have*/
+    left: -4px; /*must have*/
+    width: 200px; /*must have*/
+    height: 200px; /*must have*/
+}
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/css/redmond/jquery-ui-1.8.18.custom.css
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptassetsjsjqueryui1818customminjs"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/js/jquery-ui-1.8.18.custom.min.js (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/js/jquery-ui-1.8.18.custom.min.js                            (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/js/jquery-ui-1.8.18.custom.min.js       2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+/*!
+ * jQuery UI 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */(function(a,b){function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;if(!b.href||!g||f.nodeName.toLowerCase()!=="map")return!1;h=a("img[usemap=#"+g+"]")[0];return!!h&&d(h)}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}a.ui=a.ui||{};a.ui.version||(a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.ex
 tend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex"
 ,c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)});return c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLower
 Case(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){if(c===b)return g["inner"+d].call(this);return this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){if(typeof b!="number")return g["outer"+d].call(this,b);return this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectsta
 rt="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!!d&&!!a.element[0].parentNode)for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;if(b[d]>0)return!0;b[d]=1,e=b[d]>0,b[d]=0;return e},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}}))})(jQuery);/*
+ * jQuery UI Datepicker 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker
+ *
+ * Depends:
+ *     jquery.ui.core.js
+ */(function($,undefined){function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);!c.length||c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);!$.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])&&!!d.length&&(d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&am
 p;d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover"))})}function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","
 March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOption
 s:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}$.extend($.ui,{datepicker:{version:"1.8.18"}});var PROP_NAME="datepicker",dpuuid=
 (new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){extendRemove(this._defaults,a||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,i
 nst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);c.hasClass(this.markerClassName)||(this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a))},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.
 append=$('<span class="'+this._appendClass+'">'+c+"</span>"),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('<button type="button"></button>').addClass(this._triggerClass).html(g==""?f:$("<img/>").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){$.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerSh
 owing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]);return!1})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var d=function(a){var b=0,c=0;for(var d=0;d<a.length;d++)a[d].length>b&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=$(a);c.hasClass(this.markerClassName)||(c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._
 setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block"))},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+g+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=documen
 t.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f);return this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="input"?(c.append.remove(),c.trigger.remove(),b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=$(a),c=$.
 data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})}},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span
 "){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return!0;return!1},_getInst:function(a){try{return $.data(a,PROP_NAME)}catch(b){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(a,b,c){var d=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?$.extend({},$.datepicker._defaults):d?b=="all"?$.extend({},d.settings):this._get(d,b):null;var e=b||{};typeof b=="string"&&(e={},e[b]=c);if(d){this._curInst==d&&this._hideDate
 picker();var f=this._getDateDatepicker(a,!0),g=this._getMinMaxDate(d,"min"),h=this._getMinMaxDate(d,"max");extendRemove(d.settings,e),g!==null&&e.dateFormat!==undefined&&e.minDate===undefined&&(d.settings.minDate=this._formatDate(d,g)),h!==null&&e.dateFormat!==undefined&&e.maxDate===undefined&&(d.settings.maxDate=this._formatDate(d,h)),this._attachments($(a),d),this._autoSize(d),this._setDate(d,f),this._updateAlternate(d),this._updateDatepicker(d)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);c&&!c.inline&&this._setDateFromField(c,b);return c?this._getDate(c):null},_doKeyDown:function(a){var b=$.d
 atepicker._getInst(a.target),c=!0,d=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=!0;if($.datepicker._datepickerShowing)switch(a.keyCode){case 9:$.datepicker._hideDatepicker(),c=!1;break;case 13:var e=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",b.dpDiv);e[0]&&$.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,e[0]);var f=$.datepicker._get(b,"onSelect");if(f){var g=$.datepicker._formatDate(b);f.apply(b.input?b.input[0]:null,[g,b])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 35:(a.ctrlKey||a.metaKey)&&
 $.datepicker._clearDate(a.target),c=a.ctrlKey||a.metaKey;break;case 36:(a.ctrlKey||a.metaKey)&&$.datepicker._gotoToday(a.target),c=a.ctrlKey||a.metaKey;break;case 37:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?1:-1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 38:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,-7,"D"),c=a.ctrlKey||a.metaKey;break;case 39:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?-1:1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 40:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,7,"D"),c
 =a.ctrlKey||a.metaKey;break;default:c=!1}else a.keyCode==36&&a.ctrlKey?$.datepicker._showDatepicker(this):c=!1;c&&(a.preventDefault(),a.stopPropagation())},_doKeyPress:function(a){var b=$.datepicker._getInst(a.target);if($.datepicker._get(b,"constrainInput")){var c=$.datepicker._possibleChars($.datepicker._get(b,"dateFormat")),d=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||d<" "||!c||c.indexOf(d)>-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(a){$.datepicker.log(a)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input&qu
 ot;,a.parentNode)[0]);if(!$.datepicker._isDisabledDatepicker(a)&&$.datepicker._lastInput!=a){var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){e|=$(this).css("position")=="fixed";return!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top
 :$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":vi
 sible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a));var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rt
 l"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+$(document).scrollLeft(),i=document.documentElement.clientHeight+$(document).scrollTop();b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==
 a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0);return b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=$.data(a,PROP_NAME))&&this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=this,f=function(){$.datepicker._tidyDialog(b),e._curInst=null};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,f):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut&
 quot;:"hide"](c?d:null,f),c||f(),this._datepickerShowing=!1;var g=this._get(b,"onClose");g&&g.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!!$.datepicker._curInst){var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)
 &&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);this._isDisabledDatepicker(d[0])||(this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e))},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[0]);e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10),this._notifyChange(e),this._adjustDate(d
 )},_selectDay:function(a,b,c,d){var e=$(a);if(!$(d).hasClass(this._unselectableClass)&&!this._isDisabledDatepicker(e[0])){var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).html(),f.selectedMonth=f.currentMonth=b,f.selectedYear=f.currentYear=c,this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.input.focus(),this._lastInput=null)},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,&qu
 ot;altFormat")||this._get(a,"dateFormat"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();b.setMonth(0),b.setDate(1);return Math.floor(Math.round((c-b)/864e5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=fu
 nction(b){var c=s+1<a.length&&a.charAt(s+1)==b;c&&s++;return c},o=function(a){var c=n(a),d=a=="@"?14:a=="!"?20:a=="y"&&c?4:a=="o"?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=b.substring(r).match(e);if(!f)throw"Missing number at position "+r;r+=f[0].length;return parseInt(f[0],10)},p=function(a,c,d){var e=$.map(n(a)?d:c,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)}),f=-1;$.each(e,function(a,c){var d=c[1];if(b.substr(r,d.length).toLowerCase()==d.toLowerCase()){f=c[0],r+=d.length;return!1}});if(f!=-1)return f+1;throw"Unknown name at position "+r},q=function(){if(b.charAt(r)!=a.charAt(s))throw"Unexpected literal at position "+r;r++},r=0;for(var s=0;s<a.length;s++)if(m)a.charAt(s)=="'"&&!n("'")?m=!1:q();else switch(a.charAt(s)){case"d":k=o("d");break;case"D":p("D",e,f);break
 ;case"o":l=o("o");break;case"m":j=o("m");break;case"M":j=p("M",g,h);break;case"y":i=o("y");break;case"@":var t=new Date(o("@"));i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"!":var t=new Date((o("!")-this._ticksTo1970)/1e4);i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"'":n("'")?q():m=!0;break;default:q()}if(r<b.length)throw"Extra/unparsed characters found in date: "+b.substring(r);i==-1?i=(new Date).getFullYear():i<100&&(i+=(new Date).getFullYear()-(new Date).getFullYear()%100+(i<=d?0:-100));if(l>-1){j=1,k=l;for(;;){var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:&
 quot;yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+1<a.length&&a.charAt(m+1)==b;c&&m++;return c},i=function(a,b,c){var d=""+b;if(h(a))while(d.length<c)d="0"+d;return d},j=function(a,b,c,d){return h(a)?d[b]:c[b]},k="",l=!1;if(b)for(var m=0;m<a.length;m++)if(l)a.charAt(m)=="'"&&!h("'")?l=!1:k+=a.charAt(m);else switch(
 a.charAt(m)){case"d":k+=i("d",b.getDate(),2);break;case"D":k+=j("D",b.getDay(),d,e);break;case"o":k+=i("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864e5),3);break;case"m":k+=i("m",b.getMonth()+1,2);break;case"M":k+=j("M",b.getMonth(),f,g);break;case"y":k+=h("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":k+=b.getTime();break;case"!":k+=b.getTime()*1e4+this._ticksTo1970;break;case"'":h("'")?k+="'":l=!0;break;default:k+=a.charAt(m)}return k},_possibleChars:function(a){var b="",c=!1,d=function(b){var c=e+1<a.length&&a.charAt(e+1)==b;c&&e++;return c};for(var e=0;e<a.length;e++)if(c)a.charAt(e)=="'"&&!d("'")?c=!1:b+=a.charAt(e);else
  switch(a.charAt(e)){case"d":case"m":case"y":case"@":b+="0123456789";break;case"D":case"M":return null;case"'":d("'")?b+="'":c=!0;break;default:b+=a.charAt(e)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e,f;e=f=this._getDefaultDate(a);var g=this._getFormatConfig(a);try{e=this.parseDate(c,d,g)||f}catch(h){this.log(h),d=b?"":d}a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear(),a.currentDay=d?e.getDate():0,a.currentMonth=d?e.getMonth():0,a.currentYear=d?e.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determi
 neDate:function(a,b,c){var d=function(a){var b=new Date;b.setDate(b.getDate()+a);return b},e=function(b){try{return $.datepicker.parseDate($.datepicker._get(a,"dateFormat"),b,$.datepicker._getFormatConfig(a))}catch(c){}var d=(b.toLowerCase().match(/^c/)?$.datepicker._getDate(a):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(b);while(i){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=parseInt(i[1],10)*7;break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f))}i=h.exec(b)}return new Date(e,f,g)},f=b==null||b===""?c:typeof b=="string"?e(b):typeof b=="number"?isNaN(b)?c:d(b):new Date(b.getTime());f=f&&f.toString()=="Invalid Date
 "?c:f,f&&(f.setHours(0),f.setMinutes(0),f.setSeconds(0),f.setMilliseconds(0));return this._daylightSavingAdjust(f)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));
 var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&p<l?l:p;while(this._daylightSavingAdjust(new Date(o,n,1))>p)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?'<a class="ui-datep
 icker-prev ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', -"+i+", 'M');\""+' title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>":e?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', +"+i+", 'M');\""+' title="'+s+'"><span class="ui-icon ui-icon-circl
 e-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":e?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+dpuuid+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>",x=d?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?w:"")+(this._isInRange(a,v)?'<button type="button" class="ui-datepicker-current ui-stat
 e-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._gotoToday('#"+a.id+"');\""+">"+u+"</button>":"")+(c?"":w)+"</div>":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L<g[0];L++){var M="";this.maxRows=4;for(var N=0;N<g[1];N++){var O=this._daylightSavingAdjust(new Date(o,n,a.selectedDay)),P=" ui-corner-all",Q="";if(j
 ){Q+='<div class="ui-datepicker-group';if(g[1]>1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+P+'">'+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";var R=z?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="<th"+((S+y+6)%7>=5?' class="ui-d
 atepicker-week-end"':"")+">"+'<span title="'+A[T]+'">'+C[T]+"</span></th>"}Q+=R+"</tr></thead><tbody>";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z<X;Z++){Q+="<tr>";var _=z?'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(Y)+"</td>":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Y<l||m&&Y>m;_+='<td class="'+((S+y+6)%7>=5?" ui-datepicker-week-end":"")+(bb?" ui-datepicker-other-month":&qu
 ot;")+(Y.getTime()==O.getTime()&&n==a.selectedMonth&&a._keyEvent||J.getTime()==Y.getTime()&&J.getTime()==O.getTime()?" "+this._dayOverClass:"")+(bc?" "+this._unselectableClass+" ui-state-disabled":"")+(bb&&!G?"":" "+ba[1]+(Y.getTime()==k.getTime()?" "+this._currentClass:"")+(Y.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!bb||G)&&ba[2]?' title="'+ba[2]+'"':"")+(bc?"":' onclick="DP_jQuery_'+dpuuid+".datepicker._selectDay('#"+a.id+"',"+Y.getMonth()+","+Y.getFullYear()+', this);return false;"')+">"+(bb&&!G?"&#xa0;":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")+(Y
 .getTime()==k.getTime()?" ui-state-active":"")+(bb?" ui-priority-secondary":"")+'" href="#">'+Y.getDate()+"</a>")+"</td>",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+"</tr>"}n++,n>11&&(n=0,o++),Q+="</tbody></table>"+(j?"</div>"+(g[0]>0&&N==g[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),M+=Q}K+=M}K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),
+a._keyEvent=!1;return K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='<div class="ui-datepicker-title">',m="";if(f||!i)m+='<span class="ui-datepicker-month">'+g[b]+"</span>";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" "+">";for(var p=0;p<12;p++)(!n||p>=d.getMonth())&&(!o||p<=e.getMonth())&&(m+='<option value="'+p+'"'+(p==b?' selected="selected"':"")+">"+h[p]+"</option>");m+="</select>"}k||(l+=m+(f||!i||!j?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";
 if(f||!j)l+='<span class="ui-datepicker-year">'+c+"</span>";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" "+">";for(;t<=u;t++)a.yearshtml+='<option value="'+t+'"'+(t==c?' selected="selected"':"")+">"+t+"</option>";a.yearshtml+="</select>",l+=a.yearshtml,a.yearshtml=null}}l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"&#xa0;":"")+m),l+="</
 div>";return l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;e=d&&e>d?d:e;return e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+&q
 uot;Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth()));return this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames&quo
 t;)}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return $.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return $.datepicker["_"
 +a+"Datepicker"].apply($.datepicker,[this[0]].concat(b));return this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)})},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.18",window["DP_jQuery_"+dpuuid]=$})(jQuery);
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/assets/js/jquery-ui-1.8.18.custom.min.js
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptadminphp"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-admin.php (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-admin.php                              (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-admin.php 2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,192 @@
</span><ins>+<?php
+
+if ( !class_exists( 'WCPT_Admin' ) ) :
+/**
+ * WCPT_Admin
+ *
+ * Loads plugin admin area
+ *
+ * @package WordCamp Post Type
+ * @subpackage Admin
+ * @since WordCamp Post Type (0.1)
+ */
+class WCPT_Admin {
+
+       /**
+        * wcpt_admin ()
+        *
+        * Initialize WCPT Admin
+        */
+       function WCPT_Admin () {
+
+               // Attach the WordCamp Post Type admin init action to the WordPress admin init action.
+               add_action( 'admin_init',               array( $this, 'init' ) );
+
+               // User profile edit/display actions
+               add_action( 'edit_user_profile',        array( $this, 'user_profile_wordcamp' ) );
+               add_action( 'show_user_profile',        array( $this, 'user_profile_wordcamp' ) );
+
+               // User profile save actions
+               add_action( 'personal_options_update',  array( $this, 'user_profile_update' ) );
+               add_action( 'edit_user_profile_update', array( $this, 'user_profile_update' ) );
+
+               // Add some general styling to the admin area
+               add_action( 'admin_head',               array( $this, 'admin_head' ) );
+
+               // Add separator to admin menu
+               add_action( 'custom_menu_order',        array( $this, 'admin_custom_menu_order' ) );
+               add_action( 'menu_order',               array( $this, 'admin_menu_order'        ) );
+       }
+
+       /**
+        * init()
+        *
+        * WordCamp Post Type's dedicated admin init action
+        *
+        * @uses do_action
+        */
+       function init () {
+               do_action ( 'wcpt_admin_init' );
+       }
+
+       /**
+        * metabox ()
+        *
+        * Add the metabox
+        *
+        * @uses add_meta_box
+        */
+       function metabox () {
+               do_action( 'wcpt_metabox' );
+       }
+
+       /**
+        * metabox_save ()
+        *
+        * Pass the metabox values before saving
+        *
+        * @param int $post_id
+        * @return int
+        */
+       function metabox_save ( $post_id ) {
+               if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
+                       return $post_id;
+
+               if ( !current_user_can( 'edit_post', $post_id ) )
+                       return $post_id;
+
+               do_action( 'wcpt_metabox_save' );
+       }
+
+       /**
+        * admin_head ()
+        *
+        * Add some general styling to the admin area
+        */
+       function admin_head () {
+?>
+               <style type="text/css" media="screen">
+               /*<![CDATA[*/
+<?php
+                       // Add extra actions to WordCamp Post Type admin header area
+                       do_action( 'wcpt_admin_head' );
+?>
+
+               /*]]>*/
+               </style>
+<?php
+       }
+
+       /**
+        * user_profile_update ()
+        *
+        * Responsible for showing additional profile options and settings
+        *
+        * @todo Everything
+        */
+       function user_profile_update ( $user_id ) {
+               if ( !wcpt_has_access() )
+                       return false;
+
+               // Add extra actions to WordCamp Post Type profile update
+               do_action( 'wcpt_user_profile_update' );
+       }
+
+       /**
+        * user_profile_wordcamp ()
+        *
+        * Responsible for saving additional profile options and settings
+        *
+        * @todo Everything
+        */
+       function user_profile_wordcamp ( $profileuser ) {
+
+               if ( !wcpt_has_access() )
+                       return false;
+
+?>
+               <h3><?php _e( 'WordCamps', 'wcpt' ); ?></h3>
+               <table class="form-table">
+                       <tr valign="top">
+                               <th scope="row"><?php _e( 'WordCamps', 'wcpt' ); ?></th>
+                               <td>
+
+                               </td>
+                       </tr>
+               </table>
+<?php
+
+               // Add extra actions to WordCamp Post Type profile update
+               do_action( 'wcpt_user_profile_wordcamps' );
+       }
+
+       /**
+        * Tell WordPress we have a custom menu order
+        *
+        * @param bool $menu_order Menu order
+        * @return bool Always true
+        */
+       function admin_custom_menu_order( $menu_order ) {
+               return true;
+       }
+
+       /**
+        * Move our custom separator above our custom post types
+        *
+        * @param array $menu_order Menu Order
+        * @uses bbp_get_forum_post_type() To get the forum post type
+        * @return array Modified menu order
+        */
+       function admin_menu_order( $menu_order ) {
+               global $menu;
+
+               $menu[] = array( '', 'read', 'separator-wcpt', '', 'wp-menu-separator' );
+
+               // Initialize our custom order array
+               $wcpt_menu_order = array();
+
+               // Get the index of our custom separator
+               $wcpt_separator = array_search( 'separator-wcpt', $menu_order );
+
+               // Loop through menu order and do some rearranging
+               foreach ( $menu_order as $index => $item ) {
+
+                       // Current item is our forum CPT, so set our separator here
+                       if ( ( ( 'edit.php?post_type=' . WCPT_POST_TYPE_ID ) == $item ) ) {
+                               $wcpt_menu_order[] = 'separator-wcpt';
+                               unset( $menu_order[$wcpt_separator] );
+                       }
+
+                       // Skip our separator
+                       if ( !in_array( $item, array( 'separator-wcpt' ) ) )
+                               $wcpt_menu_order[] = $item;
+
+               }
+
+               // Return our custom order
+               return $wcpt_menu_order;
+       }
+}
+endif; // class_exists check
+
+?>
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptfunctionsphp"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-functions.php (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-functions.php                          (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-functions.php     2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,88 @@
</span><ins>+<?php
+
+/**
+ * wcpt_head ()
+ *
+ * Add our custom head action to wp_head
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+*/
+function wcpt_head () {
+       do_action( 'wcpt_head' );
+}
+add_action( 'wp_head', 'wcpt_head' );
+
+/**
+ * wcpt_head ()
+ *
+ * Add our custom head action to wp_head
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ */
+function wcpt_footer () {
+       do_action( 'wcpt_footer' );
+}
+add_action( 'wp_footer', 'wcpt_footer' );
+
+/**
+ * wcpt_has_access()
+ *
+ * Make sure user can perform special tasks
+ *
+ * @package WordCamp Post Type
+ * @subpackage Functions
+ * @since WordCamp Post Type (0.1)
+ *
+ * @uses is_super_admin ()
+ * @uses apply_filters
+ *
+ * @return bool $has_access
+ */
+function wcpt_has_access () {
+
+       if ( is_super_admin () )
+               $has_access = true;
+       else
+               $has_access = false;
+
+       return apply_filters( 'wcpt_has_access', $has_access );
+}
+
+/**
+ * wcpt_number_format ( $number, $decimals optional )
+ *
+ * Specific method of formatting numeric values
+ *
+ * @package WordCamp Post Type
+ * @subpackage Functions
+ * @since WordCamp Post Type (0.1)
+ *
+ * @param string $number Number to format
+ * @param string $decimals optional Display decimals
+ * @return string Formatted string
+ */
+function wcpt_number_format( $number, $decimals = false ) {
+       // If empty, set $number to '0'
+       if ( empty( $number ) || !is_numeric( $number ) )
+               $number = '0';
+
+       return apply_filters( 'wcpt_number_format', number_format( $number, $decimals ), $number, $decimals );
+}
+
+/**
+ * wcpt_key_to_str ( $key = '' )
+ *
+ * Turn meta key into lower case string and transform spaces into underscores
+ *
+ * @param string $key
+ * @return string
+ */
+function wcpt_key_to_str( $key, $prefix = '' ) {
+       return $prefix . str_replace( array( ' ', '.' ), '_', strtolower( $key ) );
+}
+
+?>
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptimagesiconorganizerpng"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-organizer.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-organizer.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-organizer.png 2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-organizer.png  2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-organizer.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptimagesiconvenuepng"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-venue.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-venue.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-venue.png     2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-venue.png      2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-venue.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptimagesiconwordcamppng"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-wordcamp.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-wordcamp.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-wordcamp.png  2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-wordcamp.png   2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon-wordcamp.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptimagesicon32png"></a>
<div class="binary"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon32.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Index: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon32.png
</span><span class="cx">===================================================================
</span><del>--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon32.png 2013-12-24 08:43:39 UTC (rev 170)
</del><ins>+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon32.png  2013-12-25 19:00:26 UTC (rev 171)
</ins><span class="cx">Property changes on: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-images/icon32.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+image/png
</ins><span class="cx">\ No newline at end of property
</span><a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptloaderphp"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-loader.php (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-loader.php                             (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-loader.php        2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,274 @@
</span><ins>+<?php
+/*
+Plugin Name: WordCamp Post Type
+Plugin URI: http://wordcamp.org
+Description: Creates the custom post type for the central WordCamp directory
+Author: The WordCamp Community (and JJJ)
+Version: 0.1
+*/
+
+/**
+ * Set the version early so other plugins have an inexpensive
+ * way to check if WordCamp Post Type is already loaded.
+ *
+ * Note: Loaded does NOT mean initialized
+ */
+define( 'WCPT_VERSION', '0.1' );
+
+if ( !class_exists( 'WCPT_Loader' ) ) :
+/**
+ * WCPT_Loader
+ *
+ * @package
+ * @subpackage Loader
+ * @since WordCamp Post Type (0.1)
+ *
+ */
+class WCPT_Loader {
+
+       /**
+        * The main WordCamp Post Type loader
+        */
+       function wcpt_loader () {
+               /** COMPONENT HOOKS ***************************************************/
+
+               // Attach the wcpt_loaded action to the WordPress plugins_loaded action.
+               add_action( 'plugins_loaded',   array ( $this, 'component_loaded' ) );
+
+               // Attach the wcpt_init to the WordPress init action.
+               add_action( 'init',             array ( $this, 'component_init' ) );
+
+               // Attach constants to wcpt_loaded.
+               add_action( 'wcpt_loaded',      array ( $this, 'component_constants' ) );
+
+               // Attach includes to wcpt_loaded.
+               add_action( 'wcpt_loaded',      array ( $this, 'component_includes' ) );
+
+               // Attach post type registration to wcpt_init.
+               add_action( 'wcpt_init',        array ( $this, 'component_post_types' ) );
+
+               // Attach tag registration wcpt_init.
+               add_action( 'wcpt_init',        array ( $this, 'component_taxonomies' ) );
+
+               /** CORE HOOKS ********************************************************/
+
+               // Core Constants
+               add_action( 'wcpt_started',     array ( $this, 'core_constants' ) );
+
+               // Core Includes
+               add_action( 'wcpt_started',     array ( $this, 'core_includes' ) );
+
+               // Core Admin
+               add_action( 'wcpt_loaded',      array ( $this, 'core_admin' ) );
+
+               // Attach theme directory wcpt_loaded.
+               add_action( 'wcpt_loaded',      array ( $this, 'core_theme_directory' ) );
+
+               // Attach textdomain to wcpt_init.
+               add_action( 'wcpt_init',        array ( $this, 'core_text_domain' ) );
+
+               // Register WordCamp Post Type activation sequence
+               register_activation_hook( __FILE__,   array( $this, 'activation' ) );
+
+               // Register WordCamp Post Type deactivation sequence
+               register_deactivation_hook( __FILE__, array( $this, 'deactivation' ) );
+
+               // Get this party started
+               do_action( 'wcpt_started' );            
+       }
+
+       /**
+        * core_constants ()
+        * 
+        * WordCamp Core Constants
+        */
+       function core_constants () {
+               // Turn debugging on/off
+               if ( !defined( 'WCPT_DEBUG' ) )
+                       define( 'WCPT_DEBUG', WP_DEBUG );
+
+               // Default slug for post type
+               if ( !defined( 'WCPT_THEMES_DIR' ) )
+                       define( 'WCPT_THEMES_DIR', apply_filters( 'wcpt_themes_dir', WP_PLUGIN_DIR . '/wcpt-themes' ) );
+
+               // WordCamp Post Type root directory
+               define( 'WCPT_DIR', WP_PLUGIN_DIR . '/wcpt' );
+               define( 'WCPT_URL', plugins_url( $path = '/wcpt' ) );
+
+               // Images URL
+               define( 'WCPT_IMAGES_URL', WCPT_URL . '/wcpt-images' );
+       }
+
+       /**
+        * core_includes ()
+        * 
+        * WordCamp Core File Includes
+        */
+       function core_includes () {
+               // Load the files
+               require_once ( WCPT_DIR . '/wcpt-functions.php' );
+               require_once ( WCPT_DIR . '/wcpt-wordcamp/wordcamp-loader.php' );
+               // Require admin files.
+               if ( is_admin() ) {
+                       require_once ( WCPT_DIR . '/wcpt-admin.php' );
+                       require_once ( WCPT_DIR . '/wcpt-wordcamp/wordcamp-admin.php' );
+               }
+       }
+
+       function core_admin () {
+               // Quick admin check
+               if ( !is_admin() )
+                       return;
+
+               // Create admin
+               $GLOBALS['wcpt_admin']      = new WCPT_Admin();
+               $GLOBALS['wordcamp_admin']  = new WordCamp_Admin();
+       }
+
+       /**
+        * core_text_domain ()
+        *
+        * Load the translation file for current language
+        */
+       function core_text_domain () {
+               $locale = apply_filters( 'wcpt_textdomain', get_locale() );
+
+               $mofile = WCPT_DIR . "/wcpt-languages/wcpt-$locale.mo";
+
+               load_textdomain( 'wcpt', $mofile );
+
+               /**
+                * Text domain has been loaded
+                */
+               do_action( 'wcpt_load_textdomain' );
+       }
+
+       /**
+        * core_theme_directory ()
+        *
+        * Sets up the WordCamp Post Type theme directory to use in WordPress
+        *
+        * @since WordCamp Post Type (0.1)
+        * @uses register_theme_directory
+        */
+       function core_theme_directory () {
+               register_theme_directory( WCPT_THEMES_DIR );
+
+               /**
+                * Theme directory has been registered
+                */
+               do_action( 'wcpt_register_theme_directory' );
+       }
+
+       /**
+        * activation ()
+        *
+        * Runs on WordCamp Post Type activation
+        *
+        * @since WordCamp Post Type (0.1)
+        */
+       function activation () {
+               register_uninstall_hook( __FILE__, array( $this, 'uninstall' ) );
+
+               /**
+                * WordCamp Post Type has been activated
+                */
+               do_action( 'wcpt_activation' );
+       }
+
+       /**
+        * deactivation ()
+        *
+        * Runs on WordCamp Post Type deactivation
+        *
+        * @since WordCamp Post Type (0.1)
+        */
+       function deactivation () {
+               do_action( 'wcpt_deactivation' );
+       }
+
+       /**
+        * uninstall ()
+        *
+        * Runs when uninstalling WordCamp Post Type
+        *
+        * @since WordCamp Post Type (0.1)
+        */
+       function uninstall () {
+               do_action( 'wcpt_uninstall' );
+       }
+
+       /**
+        * component_constants ()
+        *
+        * Default component constants that can be overridden or filtered
+        */
+       function component_constants () {
+               do_action( 'wcpt_constants' );
+       }
+
+       /**
+        * component_includes ()
+        *
+        * Include required files
+        *
+        */
+       function component_includes () {
+               do_action( 'wcpt_includes' );
+       }
+
+       /**
+        * component_loaded ()
+        *
+        * A WordCamp Post Type specific action to say that it has started its
+        * boot strapping sequence. It's attached to the existing WordPress
+        * action 'plugins_loaded' because that's when all plugins have loaded.
+        *
+        * @uses is_admin If in WordPress admin, load additional file
+        * @uses do_action()
+        */
+       function component_loaded () {
+               do_action( 'wcpt_loaded' );
+       }
+
+       /**
+        * component_init ()
+        *
+        * Initialize WordCamp Post Type as part of the WordPress initilization process
+        *
+        * @uses do_action Calls custom action to allow external enhancement
+        */
+       function component_init () {
+               do_action ( 'wcpt_init' );
+       }
+
+       /**
+        * component_post_type ()
+        *
+        * Setup the post types and taxonomies
+        */
+       function component_post_types () {
+               do_action ( 'wcpt_register_post_types' );
+       }
+
+       /**
+        * component_taxonomies ()
+        *
+        * Register the built in WordCamp Post Type taxonomies
+        *
+        * @since WordCamp Post Type (0.1)
+        *
+        * @uses register_taxonomy()
+        * @uses apply_filters()
+        */
+       function component_taxonomies () {
+               do_action ( 'wcpt_register_taxonomies' );
+       }
+}
+
+endif; // class_exists check
+
+// Load everything up
+$wcpt_loader      = new WCPT_Loader();
+$wordcamp_loader  = new WordCamp_Loader();
+?>
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptorganizerorganizeradminphp"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/organizer-admin.php (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/organizer-admin.php                          (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/organizer-admin.php     2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,259 @@
</span><ins>+<?php
+
+if ( !class_exists( 'Organizer_Admin' ) ) :
+/**
+ * Organizer_Admin
+ *
+ * Loads plugin admin area
+ *
+ * @package WordCamp Post Type
+ * @subpackage Admin
+ * @since WordCamp Post Type (0.1)
+ */
+class Organizer_Admin {
+
+       /**
+        * wcpt_admin ()
+        *
+        * Initialize WCPT Admin
+        */
+       function Organizer_Admin () {
+
+               // Add some general styling to the admin area
+               add_action( 'wcpt_admin_head',                                     array( $this, 'admin_head' ) );
+
+               // Forum column headers.
+               add_filter( 'manage_' . WCO_POST_TYPE_ID . '_posts_columns',       array( $this, 'column_headers' ) );
+
+               // Forum columns (in page row)
+               add_action( 'manage_posts_custom_column',                          array( $this, 'column_data' ), 10, 2 );
+               add_filter( 'page_row_actions',                                    array( $this, 'post_row_actions' ), 10, 2 );
+
+               // Topic metabox actions
+               add_action( 'admin_menu',                                          array( $this, 'metabox' ) );
+               add_action( 'save_post',                                           array( $this, 'metabox_save' ) );
+       }
+
+       /**
+        * metabox ()
+        *
+        * Add the metabox
+        *
+        * @uses add_meta_box
+        */
+       function metabox () {
+               add_meta_box (
+                       'wco_parent_id',
+                       __( 'Organizer Information', 'wcpt' ),
+                       'wco_metabox',
+                       WCO_POST_TYPE_ID,
+                       'normal'
+               );
+       }
+
+       /**
+        * metabox_save ()
+        *
+        * Pass the metabox values before saving
+        *
+        * @param int $post_id
+        * @return int
+        */
+       function metabox_save ( $post_id ) {
+               // Post meta keys
+               $meta_keys = Organizer_Admin::meta_keys();
+
+               // Loop through meta keys and update
+               foreach ( $meta_keys as $key => $value ) {
+                       $post_value   = wcpt_key_to_str( $key, 'wco_' );
+                       $values[ $key ] = isset( $_POST[ $post_value ] ) ? wp_strip_all_tags( $_POST[ $post_value ] ) : '';
+                       update_post_meta( $post_id, $key, $values[$key] );
+               }
+       }
+
+       /**
+        * meta_keys ()
+        *
+        * Returns post meta key
+        *
+        * @return array
+        */
+       function meta_keys () {
+               return apply_filters( 'wco_admin_meta_keys', array(
+                       'Email Address'   => 'text',
+                       'Mailing Address' => 'text',
+                       'Telephone'       => 'text'
+               ) );
+       }
+
+       /**
+        * admin_head ()
+        *
+        * Add some general styling to the admin area
+        */
+       function admin_head () {
+               // Icons for top level admin menus
+               $menu_icon_url  = WCPT_IMAGES_URL . '/icon-organizer.png';
+
+               // Top level menu classes
+               $icon_class = sanitize_html_class( WCO_POST_TYPE_ID ); ?>
+
+               #menu-posts-<?php echo $icon_class; ?> .wp-menu-image {
+                       background: url(<?php echo $menu_icon_url; ?>) no-repeat 0 -32px;
+               }
+               #menu-posts-<?php echo $icon_class; ?>:hover .wp-menu-image,
+               #menu-posts-<?php echo $icon_class; ?>.wp-has-current-submenu .wp-menu-image {
+                       background: url(<?php echo $menu_icon_url; ?>) no-repeat 0 0;
+               }
+
+               <?php if ( $_GET['post_type'] == WCO_POST_TYPE_ID ) : ?>
+
+                       #icon-edit, #icon-post {
+                               background: url(<?php echo WCPT_IMAGES_URL . '/icon32.png'; ?>) no-repeat 4px 0;
+                       }
+
+                       .column-title { width: 40%; }
+                       .column-wcpt_location, .column-wcpt_date, column-wcpt_organizer { white-space: nowrap; }
+
+               <?php endif;
+       }
+
+       /**
+        * user_profile_update ()
+        *
+        * Responsible for showing additional profile options and settings
+        *
+        * @todo Everything
+        */
+       function user_profile_update ( $user_id ) {
+               if ( !wcpt_has_access() )
+                       return false;
+
+       }
+
+       /**
+        * user_profile_wordcamp ()
+        *
+        * Responsible for saving additional profile options and settings
+        *
+        * @todo Everything
+        */
+       function user_profile_wordcamp ( $profileuser ) {
+
+               if ( !wcpt_has_access() )
+                       return false;
+
+?>
+               <h3><?php _e( 'WordCamps', 'wcpt' ); ?></h3>
+               <table class="form-table">
+                       <tr valign="top">
+                               <th scope="row"><?php _e( 'WordCamps', 'wcpt' ); ?></th>
+                               <td>
+
+                               </td>
+                       </tr>
+               </table>
+<?php
+       }
+
+       /**
+        * column_headers ()
+        *
+        * Manage the column headers
+        *
+        * @param array $columns
+        * @return array $columns
+        */
+       function column_headers ( $columns ) {
+               $columns = array (
+                       'cb'                     => '<input type="checkbox" />',
+                       'title'                  => __( 'Name', 'wcpt' ),
+                       'wcpt_email_address'     => __( 'Email Address', 'wcpt' ),
+                       'wcpt_telephone'         => __( 'Telephone', 'wcpt' ),
+                       'wcpt_mailing_address'   => __( 'Mailing Address', 'wcpt' ),
+                       'date'                   => __( 'Status' , 'wcpt' )
+               );
+               return $columns;
+       }
+
+       /**
+        * column_data ( $column, $post_id )
+        *
+        * Print extra columns
+        *
+        * @param string $column
+        * @param int $post_id
+        */
+       function column_data ( $column, $post_id ) {
+               if ( $_GET['post_type'] !== WCO_POST_TYPE_ID )
+                       return $column;
+
+               switch ( $column ) {
+                       case 'wcpt_email_address' :
+                               wcpt_organizer_email();
+                               break;
+
+                       case 'wcpt_telephone' :
+                               wcpt_organizer_telephone();
+                               break;
+
+                       case 'wcpt_mailing_address' :
+                               wcpt_organizer_mailing();
+                               break;
+               }
+       }
+
+       /**
+        * post_row_actions ( $actions, $post )
+        *
+        * Remove the quick-edit action link and display the description under
+        *
+        * @param array $actions
+        * @param array $post
+        * @return array $actions
+        */
+       function post_row_actions ( $actions, $post ) {
+               if ( WCPT_POST_TYPE_ID == $post->post_type ) {
+                       unset( $actions['inline'] );
+
+                       the_content();
+               }
+               return $actions;
+       }
+}
+endif; // class_exists check
+
+/**
+ * wcpt_metabox ()
+ *
+ * The metabox that holds all of the additional information
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ */
+function wco_metabox () {
+       global $post_id;
+
+       $meta_keys = Organizer_Admin::meta_keys(); ?>
+
+               <div class="inside">
+
+<?php foreach ( $meta_keys as $key => $value ) : $object_name = wcpt_key_to_str( $key, 'wco_' ); ?>
+
+                       <p>
+                               <strong><?php echo $key; ?></strong>
+                       </p>
+                       <p>
+                               <label class="screen-reader-text" for="<?php echo $object_name; ?>"><?php echo $key; ?></label>
+                               <input type="text" size="36" name="<?php echo $object_name; ?>" id="<?php echo $object_name; ?>" value="<?php echo esc_attr( get_post_meta( $post_id, $key, true ) ); ?>" />
+                       </p>
+
+<?php endforeach; ?>
+
+               </div>
+
+<?php
+}
+
+?>
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptorganizerorganizerloaderphp"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/organizer-loader.php (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/organizer-loader.php                         (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/organizer-loader.php    2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,124 @@
</span><ins>+<?php
+
+if ( !class_exists( 'Organizer_Loader' ) ) :
+/**
+ * WCPT_Loader
+ *
+ * @package
+ * @subpackage Loader
+ * @since Organizer Post Type (0.1)
+ *
+ */
+class Organizer_Loader {
+
+       /**
+        * The main Organizer Post Type loader
+        */
+       function organizer_loader () {
+
+               // Attach constants to wcpt_loaded.
+               add_action( 'wcpt_constants',           array ( $this, 'constants' ) );
+
+               // Attach includes to wcpt_loaded.
+               add_action( 'wcpt_includes',            array ( $this, 'includes' ) );
+
+               // Attach post type registration to wcpt_init.
+               add_action( 'wcpt_register_post_types', array ( $this, 'register_post_type' ) );
+       }
+
+       /**
+        * constants ()
+        *
+        * Default component constants that can be overridden or filtered
+        */
+       function constants () {
+
+               // The default post type ID
+               if ( !defined( 'WCO_POST_TYPE_ID' ) )
+                       define( 'WCO_POST_TYPE_ID', apply_filters( 'wco_post_type_id', 'organizer' ) );
+
+               // Default slug for post type
+               if ( !defined( 'WCO_SLUG' ) )
+                       define( 'WCO_SLUG', apply_filters( 'wco_slug', 'organizers' ) );
+       }
+
+       /**
+        * includes ()
+        *
+        * Include required files
+        *
+        * @uses is_admin If in WordPress admin, load additional file
+        */
+       function includes () {
+
+               // Load the files
+               require_once ( WCPT_DIR . '/wcpt-organizer/organizer-template.php' );
+
+               // Quick admin check and load if needed
+               if ( is_admin() )
+                       require_once ( WCPT_DIR . '/wcpt-organizer/organizer-admin.php' );
+       }
+
+       /**
+        * register_post_type ()
+        *
+        * Setup the post types and taxonomies
+        *
+        * @todo Finish up the post type admin area with messages, columns, etc...*
+        */
+       function register_post_type () {
+
+               // Organizer post type labels
+               $wco_labels = array (
+                       'name'                  => __( 'Organizers', 'wcpt' ),
+                       'singular_name'         => __( 'Organizer', 'wcpt' ),
+                       'add_new'               => __( 'Add New', 'wcpt' ),
+                       'add_new_item'          => __( 'Create New Organizer', 'wcpt' ),
+                       'edit'                  => __( 'Edit', 'wcpt' ),
+                       'edit_item'             => __( 'Edit Organizer', 'wcpt' ),
+                       'new_item'              => __( 'New Organizer', 'wcpt' ),
+                       'view'                  => __( 'View Organizer', 'wcpt' ),
+                       'view_item'             => __( 'View Organizer', 'wcpt' ),
+                       'search_items'          => __( 'Search Organizers', 'wcpt' ),
+                       'not_found'             => __( 'No Organizers found', 'wcpt' ),
+                       'not_found_in_trash'    => __( 'No Organizers found in Trash', 'wcpt' ),
+                       'parent_item_colon'     => __( 'Parent Organizer:', 'wcpt' )
+               );
+
+               // Organizer post type rewrite
+               $wco_rewrite = array (
+                       'slug'        => WCO_SLUG,
+                       'with_front'  => false
+               );
+
+               // Organizer post type supports
+               $wco_supports = array (
+                       'title',
+                       'editor',
+                       'thumbnail',
+                       'revisions'
+               );
+
+               // Register Organizer post type
+               register_post_type (
+                       WCO_POST_TYPE_ID,
+                       apply_filters( 'wco_register_post_type',
+                               array (
+                                       'labels'            => $wco_labels,
+                                       'rewrite'           => $wco_rewrite,
+                                       'supports'          => $wco_supports,
+                                       'menu_position'     => '100',
+                                       'public'            => false,
+                                       'show_ui'           => true,
+                                       'can_export'        => true,
+                                       'capability_type'   => 'post',
+                                       'hierarchical'      => false,
+                                       'query_var'         => true,
+                                       'menu_icon'         => ''
+                               )
+                       )
+               );
+       }
+}
+
+endif; // class_exists check
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptorganizerorganizertemplatephp"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/organizer-template.php (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/organizer-template.php                               (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-organizer/organizer-template.php  2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,389 @@
</span><ins>+<?php
+
+/**
+ * wcpt_has_organizers()
+ *
+ * The main Organizer loop. WordPress makes this easy for us.
+ *
+ * @package Organizer Post Type
+ * @subpackage Template Tags
+ * @since Organizer Post Type (0.1)
+ *
+ * @global WP_Query $wcpt_template
+ * @param array $args Possible arguments to change returned Organizers
+ * @return object Multidimensional array of Organizer information
+ */
+function wcpt_has_organizers ( $args = '' ) {
+       global $wcpt_template;
+
+       $default = array (
+               // Narrow query down to Organizer Post Type
+               'post_type'        => WCO_POST_TYPE_ID,
+
+               // No hierarchy
+               'post_parent'      => '0',
+
+               // 'author', 'date', 'title', 'modified', 'parent', rand',
+               'orderby'          => isset( $_REQUEST['orderby'] ) ? $_REQUEST['orderby'] : 'date',
+
+               // 'ASC', 'DESC'
+               'order'            => isset( $_REQUEST['order'] ) ? $_REQUEST['order'] : 'DESC',
+
+               // Default is 15
+               'posts_per_page'   => isset( $_REQUEST['posts'] ) ? $_REQUEST['posts'] : 15,
+
+               // Page Number
+               'paged'            => isset( $_REQUEST['wcpage'] ) ? $_REQUEST['wcpage'] : 1,
+
+               // Topic Search
+               's'                => empty( $_REQUEST['wcs'] ) ? '' : $_REQUEST['wcs'],
+       );
+
+       // Set up variables
+       $wcpt_q = wp_parse_args( $args, $default );
+       $r      = extract( $wcpt_q );
+
+       // Call the query
+       $wcpt_template = new WP_Query( $wcpt_q );
+
+       // Add pagination values to query object
+       $wcpt_template->posts_per_page = $posts_per_page;
+       $wcpt_template->paged          = $paged;
+
+       // Only add pagination if query returned results
+       if ( (int)$wcpt_template->found_posts && (int)$wcpt_template->posts_per_page ) {
+
+               // Pagination settings with filter
+               $wcpt_pagination = apply_filters( 'wcpt_pagination', array (
+                       'base'      => add_query_arg( 'wcpage', '%#%' ),
+                       'format'    => '',
+                       'total'     => ceil( (int)$wcpt_template->found_posts / (int)$posts_per_page ),
+                       'current'   => (int)$wcpt_template->paged,
+                       'prev_text' => '&larr;',
+                       'next_text' => '&rarr;',
+                       'mid_size'  => 1
+               ) );
+
+               // Add pagination to query object
+               $wcpt_template->pagination_links = paginate_links ( $wcpt_pagination );
+       }
+
+       return apply_filters( 'wcpt_has_organizers', $wcpt_template->have_posts(), $wcpt_template );
+}
+
+/**
+ * wcpt_organizers()
+ *
+ * Whether there are more Organizers available in the loop
+ *
+ * @package Organizer Post Type
+ * @subpackage Template Tags
+ * @since Organizer Post Type (0.1)
+ *
+ * @global WP_Query $wcpt_template
+ * @return object Organizer information
+ */
+function wcpt_organizers () {
+       global $wcpt_template;
+       return $wcpt_template->have_posts();
+}
+
+/**
+ * wcpt_the_organizer()
+ *
+ * Loads up the current Organizer in the loop
+ *
+ * @package Organizer Post Type
+ * @subpackage Template Tags
+ * @since Organizer Post Type (0.1)
+ *
+ * @global WP_Query $wcpt_template
+ * @return object Organizer information
+ */
+function wcpt_the_organizer () {
+       global $wcpt_template;
+       return $wcpt_template->the_post();
+}
+
+/**
+ * wcpt_organizer_id()
+ *
+ * Echo id from wcpt_organizer_id()
+ *
+ * @package Organizer Post Type
+ * @subpackage Template Tags
+ * @since Organizer Post Type (0.1)
+ *
+ * @uses wcpt_get_organizer_id()
+ */
+function wcpt_organizer_id () {
+       echo wcpt_get_organizer_id();
+}
+       /**
+        * wcpt_get_organizer_id()
+        *
+        * Get the id of the user in a Organizer loop
+        *
+        * @package Organizer Post Type
+        * @subpackage Template Tags
+        * @since Organizer Post Type (0.1)
+        *
+        * @return string Organizer id
+        */
+       function wcpt_get_organizer_id () {
+               global $wcpt_template;
+
+               if ( isset( $wcpt_template->post ) )
+                       $organizer_id = $wcpt_template->post->ID;
+               else
+                       $organizer_id = get_the_ID();
+
+               return apply_filters( 'wcpt_get_organizer_id', $organizer_id );
+       }
+
+/**
+ * wcpt_organizer_permalink ()
+ *
+ * Output the link to the Organizer in the Organizer loop
+ *
+ * @package Organizer Post Type
+ * @subpackage Template Tags
+ * @since Organizer Post Type (0.1)
+ *
+ * @param int $organizer_id optional
+ * @uses wcpt_get_organizer_permalink()
+ */
+function wcpt_organizer_permalink ( $organizer_id = 0 ) {
+       echo wcpt_get_organizer_permalink( $organizer_id );
+}
+       /**
+        * wcpt_get_organizer_permalink()
+        *
+        * Return the link to the Organizer in the loop
+        *
+        * @package Organizer Post Type
+        * @subpackage Template Tags
+        * @since Organizer Post Type (0.1)
+        *
+        * @param int $organizer_id optional
+        * @uses apply_filters
+        * @uses get_permalink
+        * @return string Permanent link to Organizer
+        */
+       function wcpt_get_organizer_permalink ( $organizer_id = 0 ) {
+               if ( empty( $organizer_id ) )
+                       $organizer_id = wcpt_get_organizer_id();
+
+               return apply_filters( 'wcpt_get_organizer_permalink', get_permalink( $organizer_id ) );
+       }
+
+/**
+ * wcpt_organizer_title ()
+ *
+ * Output the title of the Organizer in the loop
+ *
+ * @package Organizer Post Type
+ * @subpackage Template Tags
+ * @since Organizer Post Type (0.1)
+ *
+ * @param int $organizer_id optional
+ * @uses wcpt_get_organizer_title()
+ */
+function wcpt_organizer_title ( $organizer_id = 0 ) {
+       echo wcpt_get_organizer_title( $organizer_id );
+}
+       /**
+        * wcpt_get_organizer_title ()
+        *
+        * Return the title of the Organizer in the loop
+        *
+        * @package Organizer Post Type
+        * @subpackage Template Tags
+        * @since Organizer Post Type (0.1)
+        *
+        * @param int $organizer_id optional
+        * @uses apply_filters
+        * @uses get_the_title()
+        * @return string Title of Organizer
+        *
+        */
+       function wcpt_get_organizer_title ( $organizer_id = 0 ) {
+               return apply_filters( 'wcpt_get_organizer_title', get_the_title( $organizer_id ) );
+       }
+
+/**
+ * wcpt_organizer_email ()
+ *
+ * Output the Organizers Email Address
+ *
+ * @package Organizer Post Type
+ * @subpackage Template Tags
+ * @since Organizer Post Type (0.1)
+ *
+ * @uses wcpt_get_organizer_date()
+ * @param int $organizer_id optional
+ */
+function wcpt_organizer_email ( $organizer_id = 0 ) {
+       echo wcpt_get_organizer_email( $organizer_id );
+}
+       /**
+        * wcpt_get_organizer_email ()
+        *
+        * Return the Organizers Email Address
+        *
+        * @package Organizer Post Type
+        * @subpackage Template Tags
+        * @since Organizer Post Type (0.1)
+        *
+        * @return string
+        * @param int $organizer_id optional
+        */
+       function wcpt_get_organizer_email ( $organizer_id = 0 ) {
+               if ( empty( $organizer_id ) )
+                       $organizer_id = wcpt_get_organizer_id();
+
+               return apply_filters( 'wcpt_get_organizer_email', get_post_meta( $organizer_id, 'Email Address', true ) );
+       }
+
+/**
+ * wcpt_organizer_mailing ()
+ *
+ * Output the Organizers Mailing Address
+ *
+ * @package Organizer Post Type
+ * @subpackage Template Tags
+ * @since Organizer Post Type (0.1)
+ *
+ * @uses wcpt_get_organizer_location()
+ * @param int $organizer_id optional
+ */
+function wcpt_organizer_mailing ( $organizer_id = 0 ) {
+       echo wcpt_get_organizer_mailing( $organizer_id );
+}
+       /**
+        * wcpt_get_organizer_mailing ()
+        *
+        * Return the Organizers Mailing Address
+        *
+        * @package Organizer Post Type
+        * @subpackage Template Tags
+        * @since Organizer Post Type (0.1)
+        *
+        * @return string
+        * @param int $organizer_id optional
+        */
+       function wcpt_get_organizer_mailing ( $organizer_id = 0 ) {
+               if ( empty( $organizer_id ) )
+                       $organizer_id = wcpt_get_organizer_id();
+
+               return apply_filters( 'wcpt_get_organizer_mailing', get_post_meta( $organizer_id, 'Mailing Address', true ) );
+       }
+
+/**
+ * wcpt_organizer_telephone ()
+ *
+ * Output the Organizers Telephone
+ *
+ * @package Organizer Post Type
+ * @subpackage Template Tags
+ * @since Organizer Post Type (0.1)
+ *
+ * @uses wcpt_get_organizer_url()
+ * @param int $organizer_id optional
+ */
+function wcpt_organizer_telephone ( $organizer_id = 0 ) {
+       echo wcpt_get_organizer_telephone( $organizer_id );
+}
+       /**
+        * wcpt_get_organizer_telephone ()
+        *
+        * Return the Organizers Telephone
+        *
+        * @package Organizer Post Type
+        * @subpackage Template Tags
+        * @since Organizer Post Type (0.1)
+        *
+        * @return string
+        * @param int $organizer_id optional
+        */
+       function wcpt_get_organizer_telephone ( $organizer_id = 0 ) {
+               if ( empty( $organizer_id ) )
+                       $organizer_id = wcpt_get_organizer_id();
+
+               return apply_filters( 'wcpt_get_organizer_telephone', get_post_meta( $organizer_id, 'Telephone', true ) );
+       }
+
+/**
+ * wcpt_organizer_pagination_count ()
+ *
+ * Output the pagination count
+ *
+ * @package Organizer Post Type
+ * @subpackage Template Tags
+ * @since Organizer Post Type (0.1)
+ *
+ * @global WP_Query $wcpt_template
+ */
+function wcpt_organizer_pagination_count () {
+       echo wcpt_get_organizer_pagination_count();
+}
+       /**
+        * wcpt_get_organizer_pagination_count ()
+        *
+        * Return the pagination count
+        *
+        * @package Organizer Post Type
+        * @subpackage Template Tags
+        * @since Organizer Post Type (0.1)
+        *
+        * @global WP_Query $wcpt_template
+        * @return string
+        */
+       function wcpt_get_organizer_pagination_count () {
+               global $wcpt_template;
+
+               // Set pagination values
+               $start_num = intval( ( $wcpt_template->paged - 1 ) * $wcpt_template->posts_per_page ) + 1;
+               $from_num  = wcpt_number_format( $start_num );
+               $to_num    = wcpt_number_format( ( $start_num + ( $wcpt_template->posts_per_page - 1 ) > $wcpt_template->found_posts ) ? $wcpt_template->found_posts : $start_num + ( $wcpt_template->posts_per_page - 1 ) );
+               $total     = wcpt_number_format( $wcpt_template->found_posts );
+
+               // Set return string
+               if ( $total > 1 )
+                       $retstr = sprintf( __( 'Viewing %1$s to %2$s (of %3$s)', 'wcpt' ), $from_num, $to_num, $total );
+               else
+                       $retstr = sprintf( __( 'Viewing %1$s Organizer', 'wcpt' ), $total );
+
+               // Filter and return
+               return apply_filters( 'wcpt_get_organizer_pagination_count', $retstr );
+       }
+
+/**
+ * wcpt_organizer_pagination_links ()
+ *
+ * Output pagination links
+ *
+ * @package Organizer Post Type
+ * @subpackage Template Tags
+ * @since Organizer Post Type (0.1)
+ */
+function wcpt_organizer_pagination_links () {
+       echo wcpt_get_organizer_pagination_links();
+}
+       /**
+        * wcpt_get_organizer_pagination_links ()
+        *
+        * Return pagination links
+        *
+        * @package Organizer Post Type
+        * @subpackage Template Tags
+        * @since Organizer Post Type (0.1)
+        *
+        * @global WP_Query $wcpt_template
+        * @return string
+        */
+       function wcpt_get_organizer_pagination_links () {
+               global $wcpt_template;
+
+               return apply_filters( 'wcpt_get_organizer_pagination_links', $wcpt_template->pagination_links );
+       }
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptvenuevenueadminphp"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/venue-admin.php (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/venue-admin.php                          (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/venue-admin.php     2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,260 @@
</span><ins>+<?php
+
+if ( !class_exists( 'Venue_Admin' ) ) :
+/**
+ * WCPT_Admin
+ *
+ * Loads venues admin area
+ *
+ * @package Venue Post Type
+ * @subpackage Admin
+ * @since Venue Post Type (0.1)
+ */
+class Venue_Admin {
+
+       /**
+        * wcpt_admin ()
+        *
+        * Initialize WCPT Admin
+        */
+       function Venue_Admin () {
+
+               // Add some general styling to the admin area
+               add_action( 'wcpt_admin_head',                                     array( $this, 'admin_head' ) );
+
+               // Forum column headers.
+               add_filter( 'manage_' . WCV_POST_TYPE_ID . '_posts_columns',       array( $this, 'column_headers' ) );
+
+               // Forum columns (in page row)
+               add_action( 'manage_posts_custom_column',                          array( $this, 'column_data' ), 10, 2 );
+               add_filter( 'page_row_actions',                                    array( $this, 'post_row_actions' ), 10, 2 );
+
+               // Topic metabox actions
+               add_action( 'admin_menu',                                          array( $this, 'metabox' ) );
+               add_action( 'save_post',                                           array( $this, 'metabox_save' ) );
+       }
+
+       /**
+        * metabox ()
+        *
+        * Add the metabox
+        *
+        * @uses add_meta_box
+        */
+       function metabox () {
+               add_meta_box (
+                       'wcv_parent_id',
+                       __( 'Venue Information', 'wcpt' ),
+                       'wcv_metabox',
+                       WCV_POST_TYPE_ID,
+                       'normal'
+               );
+       }
+
+       /**
+        * metabox_save ()
+        *
+        * Pass the metabox values before saving
+        *
+        * @param int $post_id
+        * @return int
+        */
+       function metabox_save ( $post_id ) {
+               // Post meta keys
+               $meta_keys = Venue_Admin::meta_keys();
+
+               // Loop through meta keys and update
+               foreach ( $meta_keys as $key => $value ) {
+                       $post_value   = wcpt_key_to_str( $key, 'wcpt_' );
+                       $values[ $key ] = isset( $_POST[ $post_value ] ) ? wp_strip_all_tags( $_POST[ $post_value ] ) : '';
+                       update_post_meta( $post_id, $key, $values[$key] );
+               }
+       }
+
+       /**
+        * meta_keys ()
+        *
+        * Returns post meta key
+        *
+        * @return array
+        */
+       function meta_keys () {
+               return apply_filters( 'wcv_admin_meta_keys', array(
+                       'Address'          => 'text',
+                       'Maximum Capacity' => 'text',
+                       'Available Rooms'  => 'text',
+                       'Website URL'      => 'text',
+               ) );
+       }
+
+       /**
+        * admin_head ()
+        *
+        * Add some general styling to the admin area
+        */
+       function admin_head () {
+               // Icons for top level admin menus
+               $menu_icon_url  = WCPT_IMAGES_URL . '/icon-venue.png';
+
+               // Top level menu classes
+               $class = sanitize_html_class( WCV_POST_TYPE_ID ); ?>
+
+               #menu-posts-<?php echo $class; ?> .wp-menu-image {
+                       background: url(<?php echo $menu_icon_url; ?>) no-repeat 0 -32px;
+               }
+               #menu-posts-<?php echo $class; ?>:hover .wp-menu-image,
+               #menu-posts-<?php echo $class; ?>.wp-has-current-submenu .wp-menu-image {
+                       background: url(<?php echo $menu_icon_url; ?>) no-repeat 0 0;
+               }
+
+               <?php if ( $_GET['post_type'] == WCV_POST_TYPE_ID ) : ?>
+
+                       #icon-edit, #icon-post {
+                               background: url(<?php echo WCPT_IMAGES_URL . '/icon32.png'; ?>) no-repeat 4px 0;
+                       }
+
+                       .column-title { width: 40%; }
+                       .column-wcpt_location, .column-wcpt_date, column-wcpt_organizer { white-space: nowrap; }
+
+               <?php endif;
+       }
+
+       /**
+        * user_profile_update ()
+        *
+        * Responsible for showing additional profile options and settings
+        *
+        * @todo Everything
+        */
+       function user_profile_update ( $user_id ) {
+               if ( !wcpt_has_access() )
+                       return false;
+
+       }
+
+       /**
+        * user_profile_venue ()
+        *
+        * Responsible for saving additional profile options and settings
+        *
+        * @todo Everything
+        */
+       function user_profile_venue ( $profileuser ) {
+
+               if ( !wcpt_has_access() )
+                       return false;
+
+?>
+               <h3><?php _e( 'Venues', 'wcpt' ); ?></h3>
+               <table class="form-table">
+                       <tr valign="top">
+                               <th scope="row"><?php _e( 'Venues', 'wcpt' ); ?></th>
+                               <td>
+
+                               </td>
+                       </tr>
+               </table>
+<?php
+       }
+
+       /**
+        * column_headers ()
+        *
+        * Manage the column headers
+        *
+        * @param array $columns
+        * @return array $columns
+        */
+       function column_headers ( $columns ) {
+               $columns = array (
+                       'cb'                   => '<input type="checkbox" />',
+                       'title'                => __( 'Venue', 'wcpt' ),
+                       'wcv_address'          => __( 'Address', 'wcpt' ),
+                       'wcv_maximum_capacity' => __( 'Capacity', 'wcpt' ),
+                       'wcv_available_rooms'  => __( 'Rooms', 'wcpt' ),
+                       'date'                 => __( 'Posted' , 'wcpt' )
+               );
+               return $columns;
+       }
+
+       /**
+        * column_data ( $column, $post_id )
+        *
+        * Print extra columns
+        *
+        * @param string $column
+        * @param int $post_id
+        */
+       function column_data ( $column, $post_id ) {
+               if ( WCV_POST_TYPE_ID !== $_GET['post_type'] )
+                       return $column;
+
+               switch ( $column ) {
+                       case 'wcv_address' :
+                               wcpt_venue_address();
+                               break;
+
+                       case 'wcv_maximum_capacity' :
+                               wcpt_venue_maximum_capacity();
+                               break;
+
+                       case 'wcv_available_rooms' :
+                               wcpt_venue_available_rooms();
+                               break;
+               }
+       }
+
+       /**
+        * post_row_actions ( $actions, $post )
+        *
+        * Remove the quick-edit action link and display the description under
+        *
+        * @param array $actions
+        * @param array $post
+        * @return array $actions
+        */
+       function post_row_actions ( $actions, $post ) {
+               if ( WCV_POST_TYPE_ID == $post->post_type ) {
+                       unset( $actions['inline'] );
+
+                       the_content();
+               }
+               return $actions;
+       }
+}
+endif; // class_exists check
+
+/**
+ * wcv_metabox ()
+ *
+ * The metabox that holds all of the additional information
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ */
+function wcv_metabox () {
+       global $post_id;
+
+       $meta_keys = Venue_Admin::meta_keys();
+
+       foreach ( $meta_keys as $key => $value ) :
+               $object_name = wcpt_key_to_str( $key, 'wcpt_' );
+?>
+
+               <div class="inside">
+                       <p>
+                               <strong><?php echo $key; ?></strong>
+                       </p>
+                       <p>
+                               <label class="screen-reader-text" for="<?php echo $object_name; ?>"><?php echo $key; ?></label>
+                               <input type="text" size="36" name="<?php echo $object_name; ?>" id="<?php echo $object_name; ?>" value="<?php echo esc_attr( get_post_meta( $post_id, $key, true ) ); ?>" />
+                       </p>
+               </div>
+
+<?php
+
+       endforeach;
+}
+
+?>
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptvenuevenueloaderphp"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/venue-loader.php (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/venue-loader.php                         (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/venue-loader.php    2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,124 @@
</span><ins>+<?php
+
+if ( !class_exists( 'Venue_Loader' ) ) :
+/**
+ * Venue_Loader
+ *
+ * @package
+ * @subpackage Loader
+ * @since Venue Post Type (0.1)
+ *
+ */
+class Venue_Loader {
+
+       /**
+        * The main Venue Post Type loader
+        */
+       function venue_loader () {
+
+               // Attach constants to wcpt_constants.
+               add_action( 'wcpt_constants',           array ( $this, 'constants' ) );
+
+               // Attach includes to wcpt_includes.
+               add_action( 'wcpt_includes',            array ( $this, 'includes' ) );
+
+               // Attach post type registration to wcpt_register_post_types.
+               add_action( 'wcpt_register_post_types', array ( $this, 'register_post_types' ) );
+       }
+
+       /**
+        * constants ()
+        *
+        * Default component constants that can be overridden or filtered
+        */
+       function constants () {
+
+               // The default post type ID
+               if ( !defined( 'WCV_POST_TYPE_ID' ) )
+                       define( 'WCV_POST_TYPE_ID', apply_filters( 'wcv_post_type_id', 'venue' ) );
+
+               // Default slug for post type
+               if ( !defined( 'WCV_SLUG' ) )
+                       define( 'WCV_SLUG', apply_filters( 'wcv_slug', 'venues' ) );
+       }
+
+       /**
+        * includes ()
+        *
+        * Include required files
+        *
+        * @uses is_admin If in WordPress admin, load additional file
+        */
+       function includes () {
+
+               // Load the files
+               require_once ( WCPT_DIR . '/wcpt-venue/venue-template.php' );
+
+               // Quick admin check and load if needed
+               if ( is_admin() )
+                       require_once ( WCPT_DIR . '/wcpt-venue/venue-admin.php' );
+       }
+
+       /**
+        * register_post_type ()
+        *
+        * Setup the post types and taxonomies
+        *
+        * @todo Finish up the post type admin area with messages, columns, etc...*
+        */
+       function register_post_types () {
+
+               // Venue post type labels
+               $labels = array (
+                       'name'                  => __( 'Venues', 'wcpt' ),
+                       'singular_name'         => __( 'Venue', 'wcpt' ),
+                       'add_new'               => __( 'Add New', 'wcpt' ),
+                       'add_new_item'          => __( 'Create New Venue', 'wcpt' ),
+                       'edit'                  => __( 'Edit', 'wcpt' ),
+                       'edit_item'             => __( 'Edit Venue', 'wcpt' ),
+                       'new_item'              => __( 'New Venue', 'wcpt' ),
+                       'view'                  => __( 'View Venue', 'wcpt' ),
+                       'view_item'             => __( 'View Venue', 'wcpt' ),
+                       'search_items'          => __( 'Search Venues', 'wcpt' ),
+                       'not_found'             => __( 'No Venues found', 'wcpt' ),
+                       'not_found_in_trash'    => __( 'No Venues found in Trash', 'wcpt' ),
+                       'parent_item_colon'     => __( 'Parent Venue:', 'wcpt' )
+               );
+
+               // Venue post type rewrite
+               $rewrite = array (
+                       'slug'        => WCV_SLUG,
+                       'with_front'  => false
+               );
+
+               // Venue post type supports
+               $supports = array (
+                       'title',
+                       'editor',
+                       'thumbnail',
+                       'revisions',
+               );
+
+               // Register Venue post type
+               register_post_type (
+                       WCV_POST_TYPE_ID,
+                       apply_filters( 'wco_register_post_type',
+                               array (
+                                       'labels'            => $labels,
+                                       'rewrite'           => $rewrite,
+                                       'supports'          => $supports,
+                                       'menu_position'     => '101',
+                                       'public'            => false,
+                                       'show_ui'           => true,
+                                       'can_export'        => true,
+                                       'capability_type'   => 'post',
+                                       'hierarchical'      => false,
+                                       'query_var'         => true,
+                                       'menu_icon'         => ''
+                               )
+                       )
+               );
+       }
+}
+
+endif; // class_exists check
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptvenuevenuetemplatephp"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/venue-template.php (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/venue-template.php                               (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-venue/venue-template.php  2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,423 @@
</span><ins>+<?php
+
+/**
+ * wcpt_has_venues()
+ *
+ * The main Venue loop. WordPress makes this easy for us.
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ *
+ * @global WP_Query $wcv_template
+ * @param array $args Possible arguments to change returned Venues
+ * @return object Multidimensional array of Venue information
+ */
+function wcpt_has_venues ( $args = '' ) {
+       global $wcv_template;
+
+       $default = array (
+               // Narrow query down to Venue Post Type
+               'post_type'        => WCV_POST_TYPE_ID,
+
+               // No hierarchy
+               'post_parent'      => '0',
+
+               // 'author', 'date', 'title', 'modified', 'parent', rand',
+               'orderby'          => isset( $_REQUEST['orderby'] ) && in_array( $_REQUEST['orderby'], array( 'author', 'date', 'title', 'modified', 'parent', 'rand' ) ) ? $_REQUEST['orderby'] : 'date',
+
+               // 'ASC', 'DESC'
+               'order'            => isset( $_REQUEST['order'] ) && in_array( $_REQUEST['order'], array( 'ASC', 'DESC' ) ) ? $_REQUEST['order'] : 'DESC',
+
+               // Default is 15
+               'posts_per_page'   => isset( $_REQUEST['posts'] ) ? absint( $_REQUEST['posts'] ) : 15,
+
+               // Page Number
+               'paged'            => isset( $_REQUEST['wcpage'] ) ? absint( $_REQUEST['wcpage'] ) : 1,
+
+               // Topic Search
+               's'                => empty( $_REQUEST['wcs'] ) ? '' : sanitize_text_field( $_REQUEST['wcs'] ),
+       );
+
+       // Set up variables
+       $wcpt_q = wp_parse_args( $args, $default );
+       $r      = extract( $wcpt_q );
+
+       // Call the query
+       $wcv_template = new WP_Query( $wcpt_q );
+
+       // Add pagination values to query object
+       $wcv_template->posts_per_page = $posts_per_page;
+       $wcv_template->paged          = $paged;
+
+       // Only add pagination if query returned results
+       if ( (int)$wcv_template->found_posts && (int)$wcv_template->posts_per_page ) {
+
+               // Pagination settings with filter
+               $wcpt_pagination = apply_filters( 'wcpt_pagination', array (
+                       'base'      => add_query_arg( 'wvpage', '%#%' ),
+                       'format'    => '',
+                       'total'     => ceil( (int)$wcv_template->found_posts / (int)$posts_per_page ),
+                       'current'   => (int)$wcv_template->paged,
+                       'prev_text' => '&larr;',
+                       'next_text' => '&rarr;',
+                       'mid_size'  => 1
+               ) );
+
+               // Add pagination to query object
+               $wcv_template->pagination_links = paginate_links ( $wcpt_pagination );
+       }
+
+       return apply_filters( 'wcpt_has_venues', $wcv_template->have_posts(), $wcv_template );
+}
+
+/**
+ * wcpt_venues()
+ *
+ * Whether there are more Venues available in the loop
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ *
+ * @global WP_Query $wcv_template
+ * @return object Venue information
+ */
+function wcpt_venues () {
+       global $wcv_template;
+       return $wcv_template->have_posts();
+}
+
+/**
+ * wcpt_the_venue()
+ *
+ * Loads up the current Venue in the loop
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ *
+ * @global WP_Query $wcv_template
+ * @return object Venue information
+ */
+function wcpt_the_venue () {
+       global $wcv_template;
+       return $wcv_template->the_post();
+}
+
+/**
+ * wcpt_venue_id()
+ *
+ * Echo id from wcpt_venue_id()
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ *
+ * @uses wcpt_get_venue_id()
+ */
+function wcpt_venue_id () {
+       echo wcpt_get_venue_id();
+}
+       /**
+        * wcpt_get_venue_id()
+        *
+        * Get the id of the user in a Venue loop
+        *
+        * @package Venue Post Type
+        * @subpackage Template Tags
+        * @since Venue Post Type (0.1)
+        *
+        * @return string Venue id
+        */
+       function wcpt_get_venue_id () {
+               global $wcv_template;
+
+               if ( isset( $wcv_template->post ) )
+                       $venue_id = $wcv_template->post->ID;
+               else
+                       $venue_id = get_the_ID();
+
+               return apply_filters( 'wcpt_get_venue_id', $venue_id );
+       }
+
+/**
+ * wcpt_venue_permalink ()
+ *
+ * Output the link to the Venue in the Venue loop
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ *
+ * @param int $venue_id optional
+ * @uses wcpt_get_venue_permalink()
+ */
+function wcpt_venue_permalink ( $venue_id = 0 ) {
+       echo wcpt_get_venue_permalink( $venue_id );
+}
+       /**
+        * wcpt_get_venue_permalink()
+        *
+        * Return the link to the Venue in the loop
+        *
+        * @package Venue Post Type
+        * @subpackage Template Tags
+        * @since Venue Post Type (0.1)
+        *
+        * @param int $venue_id optional
+        * @uses apply_filters
+        * @uses get_permalink
+        * @return string Permanent link to Venue
+        */
+       function wcpt_get_venue_permalink ( $venue_id = 0 ) {
+               if ( empty( $venue_id ) )
+                       $venue_id = wcpt_get_venue_id();
+
+               return apply_filters( 'wcpt_get_venue_permalink', get_permalink( $venue_id ) );
+       }
+
+/**
+ * wcpt_venue_title ()
+ *
+ * Output the title of the Venue in the loop
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ *
+ * @param int $venue_id optional
+ * @uses wcpt_get_venue_title()
+ */
+function wcpt_venue_title ( $venue_id = 0 ) {
+       echo wcpt_get_venue_title( $venue_id );
+}
+       /**
+        * wcpt_get_venue_title ()
+        *
+        * Return the title of the Venue in the loop
+        *
+        * @package Venue Post Type
+        * @subpackage Template Tags
+        * @since Venue Post Type (0.1)
+        *
+        * @param int $venue_id optional
+        * @uses apply_filters
+        * @uses get_the_title()
+        * @return string Title of Venue
+        *
+        */
+       function wcpt_get_venue_title ( $venue_id = 0 ) {
+               return apply_filters( 'wcpt_get_venue_title', get_the_title( $venue_id ) );
+       }
+
+/**
+ * wcpt_venue_address ()
+ *
+ * Output the Venue Address
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ *
+ * @uses wcpt_get_venue_date()
+ * @param int $venue_id optional
+ */
+function wcpt_venue_address ( $venue_id = 0 ) {
+       echo wcpt_get_venue_address( $venue_id );
+}
+       /**
+        * wcpt_get_venue_address ()
+        *
+        * Return the Venue Address
+        *
+        * @package Venue Post Type
+        * @subpackage Template Tags
+        * @since Venue Post Type (0.1)
+        *
+        * @return string
+        * @param int $venue_id optional
+        */
+       function wcpt_get_venue_address ( $venue_id = 0 ) {
+               if ( empty( $venue_id ) )
+                       $venue_id = wcpt_get_venue_id();
+
+               return apply_filters( 'wcpt_get_venue_address', get_post_meta( $venue_id, 'Address', true ) );
+       }
+
+/**
+ * wcpt_venue_maximum_capacity ()
+ *
+ * Output the Venue Capacity
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ *
+ * @uses wcpt_get_venue_maximum_capacity()
+ * @param int $venue_id optional
+ */
+function wcpt_venue_maximum_capacity ( $venue_id = 0 ) {
+       echo wcpt_get_venue_maximum_capacity( $venue_id );
+}
+       /**
+        * wcpt_get_venue_maximum_capacity ()
+        *
+        * Return the Venue Capacity
+        *
+        * @package Venue Post Type
+        * @subpackage Template Tags
+        * @since Venue Post Type (0.1)
+        *
+        * @return string
+        * @param int $venue_id optional
+        */
+       function wcpt_get_venue_maximum_capacity ( $venue_id = 0 ) {
+               if ( empty( $venue_id ) )
+                       $venue_id = wcpt_get_venue_id();
+
+               return apply_filters( 'wcpt_get_venue_maximum_capacity', get_post_meta( $venue_id, 'Maximum Capacity', true ) );
+       }
+
+/**
+ * wcpt_venue_available_rooms ()
+ *
+ * Output the Venue Rooms
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ *
+ * @uses wcpt_get_venue_url()
+ * @param int $venue_id optional
+ */
+function wcpt_venue_available_rooms ( $venue_id = 0 ) {
+       echo wcpt_get_venue_available_rooms( $venue_id );
+}
+       /**
+        * wcpt_get_venue_available_rooms ()
+        *
+        * Return the Venue Rooms
+        *
+        * @package Venue Post Type
+        * @subpackage Template Tags
+        * @since Venue Post Type (0.1)
+        *
+        * @return string
+        * @param int $venue_id optional
+        */
+       function wcpt_get_venue_available_rooms ( $venue_id = 0 ) {
+               if ( empty( $venue_id ) )
+                       $venue_id = wcpt_get_venue_id();
+
+               return apply_filters( 'wcpt_get_venue_available_rooms', get_post_meta( $venue_id, 'Available Rooms', true ) );
+       }
+
+/**
+ * wcpt_venue_available_rooms ()
+ *
+ * Output the Venue Website
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ *
+ * @uses wcpt_get_venue_url()
+ * @param int $venue_id optional
+ */
+function wcpt_venue_website ( $venue_id = 0 ) {
+       echo wcpt_get_venue_website( $venue_id );
+}
+       /**
+        * wcpt_get_venue_website ()
+        *
+        * Return the Venue Website
+        *
+        * @package Venue Post Type
+        * @subpackage Template Tags
+        * @since Venue Post Type (0.1)
+        *
+        * @return string
+        * @param int $venue_id optional
+        */
+       function wcpt_get_venue_website ( $venue_id = 0 ) {
+               if ( empty( $venue_id ) )
+                       $venue_id = wcpt_get_venue_id();
+
+               return apply_filters( 'wcpt_get_venue_website', get_post_meta( $venue_id, 'Website URL', true ) );
+       }
+
+/**
+ * wcpt_venue_pagination_count ()
+ *
+ * Output the pagination count
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ *
+ * @global WP_Query $wcv_template
+ */
+function wcpt_venue_pagination_count () {
+       echo wcpt_get_venue_pagination_count();
+}
+       /**
+        * wcpt_get_venue_pagination_count ()
+        *
+        * Return the pagination count
+        *
+        * @package Venue Post Type
+        * @subpackage Template Tags
+        * @since Venue Post Type (0.1)
+        *
+        * @global WP_Query $wcv_template
+        * @return string
+        */
+       function wcpt_get_venue_pagination_count () {
+               global $wcv_template;
+
+               // Set pagination values
+               $start_num = intval( ( $wcv_template->paged - 1 ) * $wcv_template->posts_per_page ) + 1;
+               $from_num  = wcpt_number_format( $start_num );
+               $to_num    = wcpt_number_format( ( $start_num + ( $wcv_template->posts_per_page - 1 ) > $wcv_template->found_posts ) ? $wcv_template->found_posts : $start_num + ( $wcv_template->posts_per_page - 1 ) );
+               $total     = wcpt_number_format( $wcv_template->found_posts );
+
+               // Set return string
+               if ( $total > 1 )
+                       $retstr = sprintf( __( 'Viewing %1$s to %2$s (of %3$s)', 'wcpt' ), $from_num, $to_num, $total );
+               else
+                       $retstr = sprintf( __( 'Viewing %1$s Venue', 'wcpt' ), $total );
+
+               // Filter and return
+               return apply_filters( 'wcpt_get_venue_pagination_count', $retstr );
+       }
+
+/**
+ * wcpt_venue_pagination_links ()
+ *
+ * Output pagination links
+ *
+ * @package Venue Post Type
+ * @subpackage Template Tags
+ * @since Venue Post Type (0.1)
+ */
+function wcpt_venue_pagination_links () {
+       echo wcpt_get_venue_pagination_links();
+}
+       /**
+        * wcpt_get_venue_pagination_links ()
+        *
+        * Return pagination links
+        *
+        * @package Venue Post Type
+        * @subpackage Template Tags
+        * @since Venue Post Type (0.1)
+        *
+        * @global WP_Query $wcv_template
+        * @return string
+        */
+       function wcpt_get_venue_pagination_links () {
+               global $wcv_template;
+
+               return apply_filters( 'wcpt_get_venue_pagination_links', $wcv_template->pagination_links );
+       }
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptwordcampwordcampadminphp"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-admin.php (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-admin.php                            (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-admin.php       2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,475 @@
</span><ins>+<?php
+
+if ( !class_exists( 'WordCamp_Admin' ) ) :
+/**
+ * WCPT_Admin
+ *
+ * Loads plugin admin area
+ *
+ * @package WordCamp Post Type
+ * @subpackage Admin
+ * @since WordCamp Post Type (0.1)
+ */
+class WordCamp_Admin {
+
+       /**
+        * wcpt_admin ()
+        *
+        * Initialize WCPT Admin
+        */
+       function WordCamp_Admin () {
+
+               // Add some general styling to the admin area
+               add_action( 'wcpt_admin_head', array( $this, 'admin_head' ) );
+
+               // Forum column headers.
+               add_filter( 'manage_' . WCPT_POST_TYPE_ID . '_posts_columns', array( $this, 'column_headers' ) );
+
+               // Forum columns (in page row)
+               add_action( 'manage_posts_custom_column', array( $this, 'column_data' ), 10, 2 );
+               add_filter( 'post_row_actions', array( $this, 'post_row_actions' ), 10, 2 );
+
+               // Topic metabox actions
+               add_action( 'admin_menu', array( $this, 'metabox' ) );
+               add_action( 'save_post', array( $this, 'metabox_save' ) );
+               
+               // Scripts and CSS
+               add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) );
+               add_action( 'admin_print_scripts', array( $this, 'admin_print_scripts' ), 99 );
+               add_action( 'admin_print_styles', array( $this, 'admin_styles' ) );
+       }
+
+       /**
+        * metabox ()
+        *
+        * Add the metabox
+        *
+        * @uses add_meta_box
+        */
+       function metabox () {
+               add_meta_box (
+                       'wcpt_information',
+                       __( 'WordCamp Information', 'wcpt' ),
+                       'wcpt_wordcamp_metabox',
+                       WCPT_POST_TYPE_ID,
+                       'advanced',
+                       'high'
+               );
+
+               add_meta_box (
+                       'wcpt_organizer_info',
+                       __( 'Organizer Information', 'wcpt' ),
+                       'wcpt_organizer_metabox',
+                       WCPT_POST_TYPE_ID,
+                       'advanced',
+                       'high'
+               );
+
+               add_meta_box (
+                       'wcpt_venue_info',
+                       __( 'Venue Information', 'wcpt' ),
+                       'wcpt_venue_metabox',
+                       WCPT_POST_TYPE_ID,
+                       'advanced',
+                       'high'
+               );
+       }
+
+       /**
+        * metabox_save ()
+        *
+        * Pass the metabox values before saving
+        *
+        * @param int $post_id
+        * @return int
+        */
+       function metabox_save ( $post_id ) {
+               
+               // Don't add/remove meta on revisions and auto-saves
+               if ( wp_is_post_autosave( $post_id ) || wp_is_post_revision( $post_id ) )
+                       return;
+               
+               // WordCamp post type only
+               if ( WCPT_POST_TYPE_ID == get_post_type() ) {
+                       // Post meta keys
+                       $wcpt_meta_keys = WordCamp_Admin::meta_keys();
+
+                       // Loop through meta keys and update
+                       foreach ( $wcpt_meta_keys as $key => $value ) {
+
+                               // Get post value
+                               $post_value   = wcpt_key_to_str( $key, 'wcpt_' );
+                               $values[$key] = isset( $_POST[$post_value] ) ? esc_attr( $_POST[$post_value] ) : '';
+
+                               switch ( $value ) {
+                                       case 'text'     :
+                                       case 'textarea' :
+                                               update_post_meta( $post_id, $key, $values[$key] );
+                                               break;
+
+                                       case 'date' :
+                                               if ( !empty( $values[$key] ) )
+                                                       $values[$key] = strtotime( $values[$key] );
+
+                                               update_post_meta( $post_id, $key, $values[$key] );
+                                               break;
+                                       
+                                       default:
+                                               do_action( 'wcpt_metabox_save', $key, $value, $post_id );
+                                               break;
+                               }
+                       }
+               }
+       }
+
+       /**
+        * meta_keys ()
+        *
+        * Returns post meta key
+        *
+        * @return array
+        */
+       function meta_keys ( $meta_group = '' ) {
+
+               switch ( $meta_group ) {
+                       case 'organizer' :
+                               $retval = array (
+                                       'Organizer Name'         => 'text',
+                                       'WordPress.org Username' => 'text',
+                                       'Email Address'          => 'text',
+                                       'Telephone'              => 'text',
+                                       'Mailing Address'        => 'textarea',
+                               );
+
+                               break;
+
+                       case 'venue' :
+                               $retval = array (
+                                       'Venue Name'          => 'text',
+                                       'Physical Address'    => 'textarea',
+                                       'Maximum Capacity'    => 'text',
+                                       'Available Rooms'     => 'text',
+                                       'Website URL'         => 'text',
+                                       'Contact Information' => 'textarea'
+                               );
+                               break;
+
+                       case 'wordcamp' :
+                               $retval = array (
+                                       'Start Date (YYYY-mm-dd)' => 'date',
+                                       'End Date (YYYY-mm-dd)'   => 'date',
+                                       'Location'                => 'text',
+                                       'URL'                     => 'text',
+                                       'E-mail Address'          => 'text',
+                                       'Twitter'                 => 'text',
+                               );
+                               break;
+
+                       case 'all' :
+                       default :
+                               $retval = array(
+                                       'Start Date (YYYY-mm-dd)' => 'date',
+                                       'End Date (YYYY-mm-dd)'   => 'date',
+                                       'Location'                => 'text',
+                                       'URL'                     => 'text',
+                                       'E-mail Address'          => 'text',
+                                       'Twitter'                 => 'text',
+
+                                       'Organizer Name'         => 'text',
+                                       'WordPress.org Username' => 'text',
+                                       'Email Address'          => 'text',
+                                       'Telephone'              => 'text',
+                                       'Mailing Address'        => 'textarea',
+
+                                       'Venue Name'          => 'text',
+                                       'Physical Address'    => 'textarea',
+                                       'Maximum Capacity'    => 'text',
+                                       'Available Rooms'     => 'text',
+                                       'Website URL'         => 'text',
+                                       'Contact Information' => 'textarea'
+                               );
+                               break;
+
+               }
+
+               return apply_filters( 'wcpt_admin_meta_keys', $retval, $meta_group );
+       }
+       
+       /**
+        * Fired during admin_print_styles
+        * Adds jQuery UI
+        */
+       function admin_scripts() {
+               if ( get_post_type() == WCPT_POST_TYPE_ID )
+                       wp_enqueue_script( 'jquery-ui-custom', WCPT_URL . '/assets/js/jquery-ui-1.8.18.custom.min.js', array( 'jquery' ) );
+       }
+       
+       function admin_print_scripts() {
+               if ( get_post_type() == WCPT_POST_TYPE_ID ) :
+               ?>
+               <script>
+                       jQuery(document).ready(function($) {
+                               $('.date-field').datepicker({
+                                       dateFormat: 'yy-mm-dd'
+                               });
+                       });
+               </script>
+               <?php
+               endif;
+       }
+       
+       function admin_styles() {
+               if ( get_post_type() == WCPT_POST_TYPE_ID )
+                       wp_enqueue_style( 'jquery-ui-redmond', WCPT_URL . '/assets/css/redmond/jquery-ui-1.8.18.custom.css' );
+       }
+
+       /**
+        * admin_head ()
+        *
+        * Add some general styling to the admin area
+        */
+       function admin_head () {
+               // Icons for top level admin menus
+               $menu_icon_url  = WCPT_IMAGES_URL . '/icon-wordcamp.png';
+
+               // Top level menu classes
+               $class = sanitize_html_class( WCPT_POST_TYPE_ID ); ?>
+
+               #menu-posts-<?php echo $class; ?> .wp-menu-image {
+                       background: url(<?php echo $menu_icon_url; ?>) no-repeat 0 -32px;
+               }
+               #menu-posts-<?php echo $class; ?>:hover .wp-menu-image,
+               #menu-posts-<?php echo $class; ?>.wp-has-current-submenu .wp-menu-image {
+                       background: url(<?php echo $menu_icon_url; ?>) no-repeat 0 0;
+               }
+
+               <?php if ( !empty( $_GET['post_type'] ) && $_GET['post_type'] == WCPT_POST_TYPE_ID ) : ?>
+
+                       #icon-edit, #icon-post {
+                               background: url(<?php echo WCPT_IMAGES_URL . '/icon32.png'; ?>) no-repeat 4px 0;
+                       }
+
+                       .column-title { width: 40%; }
+                       .column-wcpt_location, .column-wcpt_date, column-wcpt_organizer { white-space: nowrap; }
+
+               <?php endif;
+       }
+
+       /**
+        * user_profile_update ()
+        *
+        * Responsible for showing additional profile options and settings
+        *
+        * @todo Everything
+        */
+       function user_profile_update ( $user_id ) {
+               if ( !wcpt_has_access() )
+                       return false;
+
+       }
+
+       /**
+        * user_profile_wordcamp ()
+        *
+        * Responsible for saving additional profile options and settings
+        *
+        * @todo Everything
+        */
+       function user_profile_wordcamp ( $profileuser ) {
+
+               if ( !wcpt_has_access() )
+                       return false;
+
+?>
+               <h3><?php _e( 'WordCamps', 'wcpt' ); ?></h3>
+               <table class="form-table">
+                       <tr valign="top">
+                               <th scope="row"><?php _e( 'WordCamps', 'wcpt' ); ?></th>
+                               <td>
+
+                               </td>
+                       </tr>
+               </table>
+<?php
+       }
+
+       /**
+        * column_headers ()
+        *
+        * Manage the column headers
+        *
+        * @param array $columns
+        * @return array $columns
+        */
+       function column_headers ( $columns ) {
+               $columns = array (
+                       'cb'               => '<input type="checkbox" />',
+                       'title'            => __( 'Title', 'wcpt' ),
+                       //'wcpt_location'    => __( 'Location', 'wcpt' ),
+                       'wcpt_date'        => __( 'Date',      'wcpt' ),
+                       'wcpt_organizer'   => __( 'Organizer', 'wcpt' ),
+                       'wcpt_venue'       => __( 'Venue',     'wcpt' ),
+                       'date'             => __( 'Status',    'wcpt' )
+               );
+               return $columns;
+       }
+
+       /**
+        * column_data ( $column, $post_id )
+        *
+        * Print extra columns
+        *
+        * @param string $column
+        * @param int $post_id
+        */
+       function column_data ( $column, $post_id ) {
+               if ( $_GET['post_type'] !== WCPT_POST_TYPE_ID )
+                       return $column;
+
+               switch ( $column ) {
+                       case 'wcpt_location' :
+                               echo wcpt_get_wordcamp_location() ? wcpt_get_wordcamp_location() : __( 'No Location', 'wcpt' );
+                               break;
+
+                       case 'wcpt_date' :
+
+                               // Has a start date
+                               if ( $start = wcpt_get_wordcamp_start_date() ) {
+
+                                       // Has an end date
+                                       if ( $end = wcpt_get_wordcamp_end_date() ) {
+                                               $string_date = sprintf( __( 'Start: %1$s<br />End: %2$s', 'wcpt' ), $start, $end );
+
+                                       // No end date
+                                       } else {
+                                               $string_date = sprintf( __( 'Start: %1$s', 'wcpt' ), $start );
+                                       }
+
+                               // No date
+                               } else {
+                                       $string_date = __( 'No Date', 'wcpt' );
+                               }
+
+                               echo $string_date;
+                               break;
+
+                       case 'wcpt_organizer' :
+                               echo wcpt_get_wordcamp_organizer_name() ? wcpt_get_wordcamp_organizer_name() : __( 'No Organizer', 'wcpt' );
+
+                               break;
+
+                       case 'wcpt_venue' :
+                               echo wcpt_get_wordcamp_venue_name() ? wcpt_get_wordcamp_venue_name() : __( 'No Venue', 'wcpt' );
+                               break;
+               }
+       }
+
+       /**
+        * post_row_actions ( $actions, $post )
+        *
+        * Remove the quick-edit action link and display the description under
+        *
+        * @param array $actions
+        * @param array $post
+        * @return array $actions
+        */
+       function post_row_actions ( $actions, $post ) {
+               if ( WCPT_POST_TYPE_ID == $post->post_type ) {
+                       unset( $actions['inline hide-if-no-js'] );
+
+                       $wc = array();
+
+                       if ( $wc_location = wcpt_get_wordcamp_location() )
+                               $wc['location'] = $wc_location;
+
+                       if ( $wc_url = make_clickable( wcpt_get_wordcamp_url() ) )
+                               $wc['url'] = $wc_url;
+
+                       echo implode( ' - ', (array) $wc );
+               }
+               return $actions;
+       }
+}
+endif; // class_exists check
+
+/**
+ * Functions for displaying specific meta boxes
+ */
+function wcpt_wordcamp_metabox () {
+       $meta_keys = $GLOBALS['wordcamp_admin']->meta_keys( 'wordcamp' );
+       wcpt_metabox( $meta_keys );
+}
+
+function wcpt_organizer_metabox () {
+       $meta_keys = $GLOBALS['wordcamp_admin']->meta_keys( 'organizer' );
+       wcpt_metabox( $meta_keys );
+}
+
+function wcpt_venue_metabox () {
+       $meta_keys = $GLOBALS['wordcamp_admin']->meta_keys( 'venue' );
+       wcpt_metabox( $meta_keys );
+}
+
+/**
+ * wcpt_metabox ()
+ *
+ * The metabox that holds all of the additional information
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ */
+function wcpt_metabox ( $meta_keys ) {
+       global $post_id;
+
+       foreach ( $meta_keys as $key => $value ) :
+               $object_name = wcpt_key_to_str( $key, 'wcpt_' );
+?>
+
+               <div class="inside">
+                       <p>
+                               <strong><?php echo $key; ?></strong>
+                       </p>
+                       <p>
+                               <label class="screen-reader-text" for="<?php echo $object_name; ?>"><?php echo $key; ?></label>
+
+<?php                       switch ( $value ) {
+                                       case 'text' : ?>
+
+                                               <input type="text" size="36" name="<?php echo $object_name; ?>" id="<?php echo $object_name; ?>" value="<?php echo esc_attr( get_post_meta( $post_id, $key, true ) ); ?>" />
+
+<?php                                       break;
+
+                                       case 'date' :
+
+                                               // Quick filter on dates
+                                               if ( $date = get_post_meta( $post_id, $key, true ) ) {
+                                                       $date = date( 'Y-m-d', $date );
+                                               }
+
+                                               ?>
+
+                                               <input type="text" size="36" class="date-field" name="<?php echo $object_name; ?>" id="<?php echo $object_name; ?>" value="<?php echo $date; ?>" />
+
+<?php                                       break;
+
+                                       case 'textarea' : ?>
+
+                                               <textarea rows="4" cols="23" name="<?php echo $object_name; ?>" id="<?php echo $object_name; ?>"><?php echo esc_attr( get_post_meta( $post_id, $key, true ) ); ?></textarea>
+
+<?php                                       break;
+
+                                       default:
+                                               do_action( 'wcpt_metabox_value', $key, $value, $object_name );
+                                               break;
+                               } ?>
+
+                       </p>
+               </div>
+
+<?php
+
+       endforeach;
+}
+
+?>
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptwordcampwordcamploaderphp"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php                           (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php      2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,180 @@
</span><ins>+<?php
+
+if ( !class_exists( 'WordCamp_Loader' ) ) :
+/**
+ * WordCamp_Loader
+ *
+ * @package
+ * @subpackage Loader
+ * @since WordCamp Post Type (0.1)
+ *
+ */
+class WordCamp_Loader {
+
+       /**
+        * The main WordCamp Post Type loader
+        */
+       function wordcamp_loader () {
+
+               // Attach constants to wcpt_loaded.
+               add_action( 'wcpt_constants',           array ( $this, 'constants' ) );
+
+               // Attach includes to wcpt_includes.
+               add_action( 'wcpt_includes',            array ( $this, 'includes' ) );
+
+               // Attach post type registration to wcpt_register_post_types.
+               add_action( 'wcpt_register_post_types', array ( $this, 'register_post_types' ) );
+
+               // Attach tag registration wcpt_register_taxonomies.
+               //add_action( 'wcpt_register_taxonomies', array ( $this, 'register_taxonomies' ) );
+       }
+
+       /**
+        * constants ()
+        *
+        * Default component constants that can be overridden or filtered
+        */
+       function constants () {
+
+               // The default post type ID
+               if ( !defined( 'WCPT_POST_TYPE_ID' ) )
+                       define( 'WCPT_POST_TYPE_ID', apply_filters( 'wcpt_post_type_id', 'wordcamp' ) );
+
+               // The default year ID
+               if ( !defined( 'WCPT_YEAR_ID' ) )
+                       define( 'WCPT_YEAR_ID', apply_filters( 'wcpt_tag_id', 'wordcamp_year' ) );
+
+               // Default slug for post type
+               if ( !defined( 'WCPT_SLUG' ) )
+                       define( 'WCPT_SLUG', apply_filters( 'wcpt_slug', 'wordcamps' ) );
+       }
+
+       /**
+        * includes ()
+        *
+        * Include required files
+        *
+        * @uses is_admin If in WordPress admin, load additional file
+        */
+       function includes () {
+
+               // Load the files
+               require_once ( WCPT_DIR . '/wcpt-wordcamp/wordcamp-template.php' );
+
+               // Quick admin check and load if needed
+               if ( is_admin() )
+                       require_once ( WCPT_DIR . '/wcpt-wordcamp/wordcamp-admin.php' );
+       }
+
+       /**
+        * register_post_type ()
+        *
+        * Setup the post types and taxonomies
+        *
+        * @todo Finish up the post type admin area with messages, columns, etc...*
+        */
+       function register_post_types () {
+
+               // WordCamp post type labels
+               $wcpt_labels = array (
+                       'name'                  => __( 'WordCamps', 'wcpt' ),
+                       'singular_name'         => __( 'WordCamp', 'wcpt' ),
+                       'add_new'               => __( 'Add New', 'wcpt' ),
+                       'add_new_item'          => __( 'Create New WordCamp', 'wcpt' ),
+                       'edit'                  => __( 'Edit', 'wcpt' ),
+                       'edit_item'             => __( 'Edit WordCamp', 'wcpt' ),
+                       'new_item'              => __( 'New WordCamp', 'wcpt' ),
+                       'view'                  => __( 'View WordCamp', 'wcpt' ),
+                       'view_item'             => __( 'View WordCamp', 'wcpt' ),
+                       'search_items'          => __( 'Search WordCamps', 'wcpt' ),
+                       'not_found'             => __( 'No WordCamps found', 'wcpt' ),
+                       'not_found_in_trash'    => __( 'No WordCamps found in Trash', 'wcpt' ),
+                       'parent_item_colon'     => __( 'Parent WordCamp:', 'wcpt' )
+               );
+
+               // WordCamp post type rewrite
+               $wcpt_rewrite = array (
+                       'slug'        => WCPT_SLUG,
+                       'with_front'  => false
+               );
+
+               // WordCamp post type supports
+               $wcpt_supports = array (
+                       'title',
+                       'editor',
+                       'thumbnail',
+                       'revisions',
+               );
+
+               // Register WordCamp post type
+               register_post_type (
+                       WCPT_POST_TYPE_ID,
+                       apply_filters( 'wcpt_register_post_type',
+                               array (
+                                       'labels'            => $wcpt_labels,
+                                       'rewrite'           => $wcpt_rewrite,
+                                       'supports'          => $wcpt_supports,
+                                       'menu_position'     => '100',
+                                       'public'            => true,
+                                       'show_ui'           => true,
+                                       'can_export'        => true,
+                                       'capability_type'   => 'post',
+                                       'hierarchical'      => false,
+                                       'has_archive'       => true,
+                                       'query_var'         => true,
+                                       'menu_icon'         => ''
+                               )
+                       )
+               );
+       }
+
+       /**
+        * register_taxonomies ()
+        *
+        * Register the built in WordCamp Post Type taxonomies
+        *
+        * @since WordCamp Post Type (0.1)
+        *
+        * @uses register_taxonomy()
+        * @uses apply_filters()
+        */
+       function register_taxonomies () {
+
+               // Tag labels
+               $tag_labels = array (
+                       'name'              => __( 'Years', 'wcpt' ),
+                       'singular_name'     => __( 'Year', 'wcpt' ),
+                       'search_items'      => __( 'Search Years', 'wcpt' ),
+                       'popular_items'     => __( 'Popular Years', 'wcpt' ),
+                       'all_items'         => __( 'All Years', 'wcpt' ),
+                       'edit_item'         => __( 'Edit Year', 'wcpt' ),
+                       'update_item'       => __( 'Update Year', 'wcpt' ),
+                       'add_new_item'      => __( 'Add Year', 'wcpt' ),
+                       'new_item_name'     => __( 'New Year', 'wcpt' ),
+               );
+
+               // Tag rewrite
+               $tag_rewrite = array (
+                       'slug' => 'year'
+               );
+
+               // Register the  tag taxonomy
+               register_taxonomy (
+                       WCPT_TAG_ID,               // The  tag ID
+                       WCPT_POST_TYPE_ID,         // The  post type ID
+                       apply_filters( 'wcpt_register_year',
+                               array (
+                                       'labels'                => $tag_labels,
+                                       'rewrite'               => $tag_rewrite,
+                                       //'update_count_callback' => '_update_post_term_count',
+                                       'query_var'             => 'wc-year',
+                                       'hierarchical'          => false,
+                                       'public'                => true,
+                                       'show_ui'               => true,
+                               )
+                       )
+               );
+       }
+}
+
+endif; // class_exists check
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcptwcptwordcampwordcamptemplatephp"></a>
<div class="addfile"><h4>Added: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-template.php (0 => 171)</h4>
<pre class="diff"><span>
<span class="info">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-template.php                         (rev 0)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-template.php    2013-12-25 19:00:26 UTC (rev 171)
</span><span class="lines">@@ -0,0 +1,642 @@
</span><ins>+<?php
+
+/**
+ * wcpt_has_wordcamps()
+ *
+ * The main WordCamp loop. WordPress makes this easy for us.
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @global WP_Query $wcpt_template
+ * @param array $args Possible arguments to change returned WordCamps
+ * @return object Multidimensional array of WordCamp information
+ */
+function wcpt_has_wordcamps ( $args = '' ) {
+       global $wcpt_template;
+
+       $default = array (
+               // Narrow query down to WordCamp Post Type
+               'post_type'        => WCPT_POST_TYPE_ID,
+
+               // No hierarchy
+               'post_parent'      => '0',
+
+               // 'author', 'date', 'title', 'modified', 'parent', rand',
+               'orderby'          => 'date',
+
+               // 'ASC', 'DESC'
+               'order'            => 'DESC',
+
+               // Default is 15
+               'posts_per_page'   => 15,
+
+               // Page Number
+               'paged'            => 1,
+
+               // Topic Search
+               's'                => empty( $_REQUEST['wcs'] ) ? '' : esc_attr( $_REQUEST['wcs'] ),
+       );
+
+       // Set up variables
+       $wcpt_q = wp_parse_args( $args, $default );
+       $r      = extract( $wcpt_q );
+
+       // Call the query
+       $wcpt_template = new WP_Query( $wcpt_q );
+
+       // Add pagination values to query object
+       $wcpt_template->posts_per_page = $posts_per_page;
+       $wcpt_template->paged          = $paged;
+
+       // Only add pagination if query returned results
+       if ( (int)$wcpt_template->found_posts && (int)$wcpt_template->posts_per_page ) {
+
+               // Pagination settings with filter
+               $wcpt_pagination = apply_filters( 'wcpt_pagination', array (
+                       'base'      => add_query_arg( 'wcpage', '%#%' ),
+                       'format'    => '',
+                       'total'     => ceil( (int)$wcpt_template->found_posts / (int)$posts_per_page ),
+                       'current'   => (int)$wcpt_template->paged,
+                       'prev_text' => '&larr;',
+                       'next_text' => '&rarr;',
+                       'mid_size'  => 1
+               ) );
+
+               // Add pagination to query object
+               $wcpt_template->pagination_links = paginate_links ( $wcpt_pagination );
+       }
+
+       return apply_filters( 'wcpt_has_wordcamps', $wcpt_template->have_posts(), $wcpt_template );
+}
+
+/**
+ * wcpt_wordcamps()
+ *
+ * Whether there are more WordCamps available in the loop
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @global WP_Query $wcpt_template
+ * @return object WordCamp information
+ */
+function wcpt_wordcamps () {
+       global $wcpt_template;
+       return $wcpt_template->have_posts();
+}
+
+/**
+ * wcpt_the_wordcamp()
+ *
+ * Loads up the current WordCamp in the loop
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @global WP_Query $wcpt_template
+ * @return object WordCamp information
+ */
+function wcpt_the_wordcamp () {
+       global $wcpt_template;
+       return $wcpt_template->the_post();
+}
+
+/**
+ * wcpt_wordcamp_id()
+ *
+ * Echo id from wcpt_wordcamp_id()
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @uses wcpt_get_wordcamp_id()
+ */
+function wcpt_wordcamp_id () {
+       echo wcpt_get_wordcamp_id();
+}
+       /**
+        * wcpt_get_wordcamp_id()
+        *
+        * Get the id of the user in a WordCamp loop
+        *
+        * @package WordCamp Post Type
+        * @subpackage Template Tags
+        * @since WordCamp Post Type (0.1)
+        *
+        * @return string WordCamp id
+        */
+       function wcpt_get_wordcamp_id () {
+               global $wcpt_template;
+
+               if ( isset( $wcpt_template->post ) )
+                       $wordcamp_id = $wcpt_template->post->ID;
+               else
+                       $wordcamp_id = get_the_ID();
+
+               return apply_filters( 'wcpt_get_wordcamp_id', $wordcamp_id );
+       }
+
+/**
+ * wcpt_wordcamp_permalink ()
+ *
+ * Output the link to the WordCamp in the WordCamp loop
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @param int $wordcamp_id optional
+ * @uses wcpt_get_wordcamp_permalink()
+ */
+function wcpt_wordcamp_permalink ( $wordcamp_id = 0 ) {
+       echo wcpt_get_wordcamp_permalink( $wordcamp_id );
+}
+       /**
+        * wcpt_get_wordcamp_permalink()
+        *
+        * Return the link to the WordCamp in the loop
+        *
+        * @package WordCamp Post Type
+        * @subpackage Template Tags
+        * @since WordCamp Post Type (0.1)
+        *
+        * @param int $wordcamp_id optional
+        * @uses apply_filters
+        * @uses get_permalink
+        * @return string Permanent link to WordCamp
+        */
+       function wcpt_get_wordcamp_permalink ( $wordcamp_id = 0 ) {
+               if ( empty( $wordcamp_id ) )
+                       $wordcamp_id = wcpt_get_wordcamp_id();
+
+               return apply_filters( 'wcpt_get_wordcamp_permalink', get_permalink( $wordcamp_id ) );
+       }
+
+/**
+ * wcpt_wordcamp_title ()
+ *
+ * Output the title of the WordCamp in the loop
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @param int $wordcamp_id optional
+ * @uses wcpt_get_wordcamp_title()
+ */
+function wcpt_wordcamp_title ( $wordcamp_id = 0 ) {
+       echo wcpt_get_wordcamp_title( $wordcamp_id );
+}
+       /**
+        * wcpt_get_wordcamp_title ()
+        *
+        * Return the title of the WordCamp in the loop
+        *
+        * @package WordCamp Post Type
+        * @subpackage Template Tags
+        * @since WordCamp Post Type (0.1)
+        *
+        * @param int $wordcamp_id optional
+        * @uses apply_filters
+        * @uses get_the_title()
+        * @return string Title of WordCamp
+        *
+        */
+       function wcpt_get_wordcamp_title ( $wordcamp_id = 0 ) {
+               return apply_filters( 'wcpt_get_wordcamp_title', get_the_title( $wordcamp_id ) );
+       }
+
+/**
+ * wcpt_wordcamp_link ()
+ *
+ * Output the title of the WordCamp in the loop
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @param int $wordcamp_id optional
+ * @uses wcpt_get_wordcamp_link()
+ */
+function wcpt_wordcamp_link ( $wordcamp_id = 0 ) {
+       echo wcpt_get_wordcamp_link( $wordcamp_id );
+}
+       /**
+        * wcpt_get_wordcamp_link ()
+        *
+        * Return the title of the WordCamp in the loop
+        *
+        * @package WordCamp Post Type
+        * @subpackage Template Tags
+        * @since WordCamp Post Type (0.1)
+        *
+        * @param int $wordcamp_id optional
+        * @uses apply_filters
+        * @uses get_the_link()
+        * @return string Title of WordCamp
+        *
+        */
+       function wcpt_get_wordcamp_link ( $wordcamp_id = 0 ) {
+
+               $title = get_the_title( $wordcamp_id );
+
+               // Has URL
+               if ( $url = wcpt_get_wordcamp_url( $wordcamp_id ) )
+                       $link = '<a href="' . esc_url( $url ) . '">' . esc_html( $title ) . '</a>';
+
+               // No URL
+               else
+                       $link = esc_html( $title );
+
+               return apply_filters( 'wcpt_get_wordcamp_link', $link );
+       }
+
+/**
+ * wcpt_wordcamp_start_date ()
+ *
+ * Output the WordCamps date
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @uses wcpt_get_wordcamp_start_date()
+ * @param int $wordcamp_id optional
+ */
+function wcpt_wordcamp_start_date ( $wordcamp_id = 0, $format = 'F j, Y' ) {
+       echo wcpt_get_wordcamp_start_date( $wordcamp_id, $format );
+}
+       /**
+        * wcpt_get_wordcamp_start_date ()
+        *
+        * Return the WordCamps date
+        *
+        * @package WordCamp Post Type
+        * @subpackage Template Tags
+        * @since WordCamp Post Type (0.1)
+        *
+        * @return string
+        * @param int $wordcamp_id optional
+        */
+       function wcpt_get_wordcamp_start_date ( $wordcamp_id = 0, $format = 'F j, Y' ) {
+               if ( empty( $wordcamp_id ) )
+                       $wordcamp_id = wcpt_get_wordcamp_id();
+
+               if ( $date = get_post_meta( $wordcamp_id, 'Start Date (YYYY-mm-dd)', true ) )
+                       $date = date( $format, $date );
+
+               return apply_filters( 'wcpt_get_wordcamp_start_date', $date, $format );
+       }
+
+/**
+ * wcpt_wordcamp_end_date ()
+ *
+ * Output the WordCamps date
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @uses wcpt_get_wordcamp_end_date()
+ * @param int $wordcamp_id optional
+ */
+function wcpt_wordcamp_end_date ( $wordcamp_id = 0, $format = 'F j, Y' ) {
+       echo wcpt_get_wordcamp_end_date( $wordcamp_id, $format );
+}
+       /**
+        * wcpt_get_wordcamp_end_date ()
+        *
+        * Return the WordCamps date
+        *
+        * @package WordCamp Post Type
+        * @subpackage Template Tags
+        * @since WordCamp Post Type (0.1)
+        *
+        * @return string
+        * @param int $wordcamp_id optional
+        */
+       function wcpt_get_wordcamp_end_date ( $wordcamp_id = 0, $format = 'F j, Y' ) {
+               if ( empty( $wordcamp_id ) )
+                       $wordcamp_id = wcpt_get_wordcamp_id();
+
+               if ( $date = get_post_meta( $wordcamp_id, 'End Date (YYYY-mm-dd)', true ) )
+                       $date = date( $format, $date );
+
+               return apply_filters( 'wcpt_get_wordcamp_end_date', $date, $format );
+       }
+
+/**
+ * wcpt_wordcamp_location ()
+ *
+ * Output the WordCamps location
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @uses wcpt_get_wordcamp_location()
+ * @param int $wordcamp_id optional
+ */
+function wcpt_wordcamp_location ( $wordcamp_id = 0 ) {
+       echo wcpt_get_wordcamp_location( $wordcamp_id );
+}
+       /**
+        * wcpt_get_wordcamp_location ()
+        *
+        * Return the WordCamps location
+        *
+        * @package WordCamp Post Type
+        * @subpackage Template Tags
+        * @since WordCamp Post Type (0.1)
+        *
+        * @return string
+        * @param int $wordcamp_id optional
+        */
+       function wcpt_get_wordcamp_location ( $wordcamp_id = 0 ) {
+               if ( empty( $wordcamp_id ) )
+                       $wordcamp_id = wcpt_get_wordcamp_id();
+
+               return apply_filters( 'wcpt_get_wordcamp_location', get_post_meta( $wordcamp_id, 'Location', true ) );
+       }
+
+/**
+ * wcpt_wordcamp_organizer_name ()
+ *
+ * Output the WordCamps organizer
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @uses wcpt_get_wordcamp_organizer_name()
+ * @param int $wordcamp_id optional
+ */
+function wcpt_wordcamp_organizer_name ( $wordcamp_id = 0 ) {
+       echo wcpt_get_wordcamp_organizer_name( $wordcamp_id );
+}
+       /**
+        * wcpt_get_wordcamp_organizer_name ()
+        *
+        * Return the WordCamps organizer
+        *
+        * @package WordCamp Post Type
+        * @subpackage Template Tags
+        * @since WordCamp Post Type (0.1)
+        *
+        * @return string
+        * @param int $wordcamp_id optional
+        */
+       function wcpt_get_wordcamp_organizer_name ( $wordcamp_id = 0 ) {
+               if ( empty( $wordcamp_id ) )
+                       $wordcamp_id = wcpt_get_wordcamp_id();
+
+               return apply_filters( 'wcpt_get_wordcamp_organizer_name', get_post_meta( $wordcamp_id, 'Organizer Name', true ) );
+       }
+
+/**
+ * wcpt_wordcamp_venue_name ()
+ *
+ * Output the WordCamps organizer
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @uses wcpt_get_wordcamp_venue_name()
+ * @param int $wordcamp_id optional
+ */
+function wcpt_wordcamp_venue_name ( $wordcamp_id = 0 ) {
+       echo wcpt_get_wordcamp_venue_name( $wordcamp_id );
+}
+       /**
+        * wcpt_get_wordcamp_venue_name ()
+        *
+        * Return the WordCamps organizer
+        *
+        * @package WordCamp Post Type
+        * @subpackage Template Tags
+        * @since WordCamp Post Type (0.1)
+        *
+        * @return string
+        * @param int $wordcamp_id optional
+        */
+       function wcpt_get_wordcamp_venue_name ( $wordcamp_id = 0 ) {
+               if ( empty( $wordcamp_id ) )
+                       $wordcamp_id = wcpt_get_wordcamp_id();
+
+               return apply_filters( 'wcpt_get_wordcamp_venue_name', get_post_meta( $wordcamp_id, 'Venue Name', true ) );
+       }
+
+/**
+ * wcpt_wordcamp_url ()
+ *
+ * Output the WordCamps URL
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @uses wcpt_get_wordcamp_url()
+ * @param int $wordcamp_id optional
+ */
+function wcpt_wordcamp_url ( $wordcamp_id = 0 ) {
+       echo wcpt_get_wordcamp_url( $wordcamp_id );
+}
+       /**
+        * wcpt_get_wordcamp_url ()
+        *
+        * Return the WordCamps URL
+        *
+        * @package WordCamp Post Type
+        * @subpackage Template Tags
+        * @since WordCamp Post Type (0.1)
+        *
+        * @return string
+        * @param int $wordcamp_id optional
+        */
+       function wcpt_get_wordcamp_url ( $wordcamp_id = 0 ) {
+               if ( empty( $wordcamp_id ) )
+                       $wordcamp_id = wcpt_get_wordcamp_id();
+
+               return apply_filters( 'wcpt_get_wordcamp_url', get_post_meta( $wordcamp_id, 'URL', true ) );
+       }
+
+/**
+ * wcpt_wordcamp_pagination_count ()
+ *
+ * Output the pagination count
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ *
+ * @global WP_Query $wcpt_template
+ */
+function wcpt_wordcamp_pagination_count () {
+       echo wcpt_get_wordcamp_pagination_count();
+}
+       /**
+        * wcpt_get_wordcamp_pagination_count ()
+        *
+        * Return the pagination count
+        *
+        * @package WordCamp Post Type
+        * @subpackage Template Tags
+        * @since WordCamp Post Type (0.1)
+        *
+        * @global WP_Query $wcpt_template
+        * @return string
+        */
+       function wcpt_get_wordcamp_pagination_count () {
+               global $wcpt_template;
+
+               // Set pagination values
+               $start_num = intval( ( $wcpt_template->paged - 1 ) * $wcpt_template->posts_per_page ) + 1;
+               $from_num  = wcpt_number_format( $start_num );
+               $to_num    = wcpt_number_format( ( $start_num + ( $wcpt_template->posts_per_page - 1 ) > $wcpt_template->found_posts ) ? $wcpt_template->found_posts : $start_num + ( $wcpt_template->posts_per_page - 1 ) );
+               $total     = wcpt_number_format( $wcpt_template->found_posts );
+
+               // Set return string
+               if ( $total > 1 )
+                       $retstr = sprintf( __( 'Viewing %1$s to %2$s (of %3$s)', 'wcpt' ), $from_num, $to_num, $total );
+               else
+                       $retstr = sprintf( __( 'Viewing %1$s WordCamp', 'wcpt' ), $total );
+
+               // Filter and return
+               return apply_filters( 'wcpt_get_wordcamp_pagination_count', $retstr );
+       }
+
+/**
+ * wcpt_wordcamp_pagination_links ()
+ *
+ * Output pagination links
+ *
+ * @package WordCamp Post Type
+ * @subpackage Template Tags
+ * @since WordCamp Post Type (0.1)
+ */
+function wcpt_wordcamp_pagination_links () {
+       echo wcpt_get_wordcamp_pagination_links();
+}
+       /**
+        * wcpt_get_wordcamp_pagination_links ()
+        *
+        * Return pagination links
+        *
+        * @package WordCamp Post Type
+        * @subpackage Template Tags
+        * @since WordCamp Post Type (0.1)
+        *
+        * @global WP_Query $wcpt_template
+        * @return string
+        */
+       function wcpt_get_wordcamp_pagination_links () {
+               global $wcpt_template;
+
+               return apply_filters( 'wcpt_get_wordcamp_pagination_links', $wcpt_template->pagination_links );
+       }
+
+
+/**
+ * Moved from WordCamp Central functions.php
+ */
+if ( ! function_exists( 'wcpt_wordcamp_physical_address' ) ) :
+function wcpt_wordcamp_physical_address( $wordcamp_id = 0 ) {
+       echo wp_filter_kses( nl2br( wcpt_get_wordcamp_physical_address( $wordcamp_id ) ) );
+}
+endif;
+
+       if ( ! function_exists( 'wcpt_get_wordcamp_physical_address' ) ) :
+       function wcpt_get_wordcamp_physical_address( $wordcamp_id = 0 ) {
+               if ( empty( $wordcamp_id ) )
+                       $wordcamp_id = wcpt_get_wordcamp_id();
+
+               $address = get_post_meta( $wordcamp_id, 'Physical Address', true );
+               return apply_filters( 'wcpt_get_wordcamp_physical_address', $address );
+       }
+       endif;
+
+if ( ! function_exists( 'wcpt_wordcamp_venue_url' ) ) :
+function wcpt_wordcamp_venue_url( $wordcamp_id = 0 ) {
+       echo esc_url( wcpt_get_wordcamp_venue_url( $wordcamp_id ) );
+}
+endif;
+
+       if ( ! function_exists( 'wcpt_get_wordcamp_venue_url' ) ) :
+       function wcpt_get_wordcamp_venue_url( $wordcamp_id = 0 ) {
+               if ( empty( $wordcamp_id ) )
+                       $wordcamp_id = wcpt_get_wordcamp_id();
+
+               $venue_url = get_post_meta( $wordcamp_id, 'Website URL', true );
+               return apply_filters( 'wcpt_get_wordcamp_venue_url', $venue_url );
+       }
+       endif;
+
+if ( ! function_exists( 'wcpt_get_wordcamp_twitter_screen_name' ) ) :
+function wcpt_get_wordcamp_twitter_screen_name( $wordcamp_id = 0 ) {
+       if ( empty( $wordcamp_id ) )
+               $wordcamp_id = wcpt_get_wordcamp_id();
+               
+       $screen_name = get_post_meta( $wordcamp_id, 'Twitter', true );
+       return apply_filters( 'wcpt_get_wordcamp_twitter_screen_name', $screen_name );
+}
+endif;
+
+/*
+ * Miscellaneous
+ */
+function wcpt_feed_event_info( $content ) {
+       $custom_fields = get_post_custom();
+       ob_start();
+       
+       ?>
+       
+       <?php if ( isset( $custom_fields[ 'Start Date (YYYY-mm-dd)' ][0] ) && $custom_fields[ 'Start Date (YYYY-mm-dd)' ][0] ) : ?>
+               <p>
+                       Dates:
+                       <?php echo esc_html( date( 'F j, Y', $custom_fields[ 'Start Date (YYYY-mm-dd)' ][0] ) ); ?>
+       
+                       <?php if ( isset( $custom_fields[ 'End Date (YYYY-mm-dd)' ][0] ) && $custom_fields[ 'End Date (YYYY-mm-dd)' ][0] ) : ?>
+                               - <?php echo esc_html( date( 'F j, Y', $custom_fields[ 'End Date (YYYY-mm-dd)' ][0] ) ); ?>
+                       <?php endif; ?>
+               </p>
+       <?php endif; ?>
+
+       <?php if ( isset( $custom_fields[ 'Location' ][0] ) && $custom_fields[ 'Location' ][0] ) : ?>
+               <p>
+                       Location:
+                       <?php echo esc_html( $custom_fields[ 'Location' ][0] ); ?>
+               </p>
+       <?php endif; ?>
+
+       <?php if ( isset( $custom_fields[ 'Venue Name' ][0] ) && $custom_fields[ 'Venue Name' ][0] ) : ?>
+               <p>
+                       Venue:
+                       <?php echo esc_html( $custom_fields[ 'Venue Name' ][0] ); ?>
+               </p>
+       <?php endif; ?>
+       
+       <?php if ( isset( $custom_fields[ 'URL' ][0] ) && '' != str_replace( 'http://', '', $custom_fields[ 'URL' ][0] ) ) : ?>
+               <p>
+                       Website:
+                       <a href="<?php echo esc_attr( esc_url( $custom_fields[ 'URL' ][0] ) ); ?>"><?php echo esc_html( esc_url( $custom_fields[ 'URL' ][0] ) ); ?></a>
+               </p>
+       <?php endif; ?>
+       
+       <?php
+       
+       $event_info = ob_get_clean();
+
+       if ( 'the_excerpt_rss' == current_filter() ) {
+               $event_info = strip_tags( $event_info );
+       }
+       
+       return $content . $event_info;
+}
+add_filter( 'the_content_feed', 'wcpt_feed_event_info' );
+add_filter( 'the_excerpt_rss',  'wcpt_feed_event_info' );
</ins></span></pre>
</div>
</div>

</body>
</html>