<ul><li><strong>woo_about</strong> - </li><li><strong>woo_ad_image_1</strong> - http://www.uswatersystems.com/blog/wp-content/themes/openair/images/ad.gif</li><li><strong>woo_ad_image_2</strong> - http://www.uswatersystems.com/blog/wp-content/themes/openair/images/ad.gif</li><li><strong>woo_ad_url_1</strong> - http://example.com</li><li><strong>woo_ad_url_2</strong> - http://example.com</li><li><strong>woo_alt_stylesheet</strong> - default.css</li><li><strong>woo_archives</strong> - </li><li><strong>woo_auto_img</strong> - false</li><li><strong>woo_bio</strong> - </li><li><strong>woo_cat_mid_1</strong> - true</li><li><strong>woo_cat_mid_19</strong> - true</li><li><strong>woo_cat_mid_20</strong> - true</li><li><strong>woo_cat_mid_42</strong> - false</li><li><strong>woo_cat_mid_7</strong> - true</li><li><strong>woo_cat_thumb_height</strong> - 76</li><li><strong>woo_cat_thumb_width</strong> - 207</li><li><strong>woo_custom_css</strong> - </li><li><strong>woo_custom_favicon</strong> - </li><li><strong>woo_email</strong> - </li><li><strong>woo_exclude_cats</strong> - true</li><li><strong>woo_featured_category</strong> - What Should I Do?</li><li><strong>woo_feedburner_url</strong> - </li><li><strong>woo_flickr_entries</strong> - Select a number:</li><li><strong>woo_flickr_id</strong> - </li><li><strong>woo_google_analytics</strong> - <script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-2081456-1");
pageTracker._trackPageview();
} catch(err) {}</script></li><li><strong>woo_home_posts</strong> - 12</li><li><strong>woo_image_disable</strong> - true</li><li><strong>woo_image_height</strong> - 173</li><li><strong>woo_image_width</strong> - 230</li><li><strong>woo_logo</strong> - http://www.uswatersystems.com/blog/wp-content/woo_uploads/8-uswaterlogo.png</li><li><strong>woo_manual</strong> - http://www.woothemes.com/support/theme-documentation/open-air/</li><li><strong>woo_resize</strong> - true</li><li><strong>woo_shortname</strong> - woo</li><li><strong>woo_show_blog</strong> - false</li><li><strong>woo_themename</strong> - Open Air</li><li><strong>woo_the_content</strong> - false</li><li><strong>woo_thumb_height</strong> - 145</li><li><strong>woo_thumb_width</strong> - 218</li><li><strong>woo_twitter</strong> - </li><li><strong>woo_uploads</strong> - a:6:{i:0;s:75:"http://www.uswatersystems.com/blog/wp-content/woo_uploads/8-uswaterlogo.png";i:1;s:75:"http://www.uswatersystems.com/blog/wp-content/woo_uploads/7-uswaterlogo.png";i:2;s:75:"http://www.uswatersystems.com/blog/wp-content/woo_uploads/6-uswaterlogo.png";i:3;s:75:"http://www.uswatersystems.com/blog/wp-content/woo_uploads/5-uswaterlogo.png";i:4;s:75:"http://www.uswatersystems.com/blog/wp-content/woo_uploads/4-uswaterlogo.png";i:5;s:75:"http://www.uswatersystems.com/blog/wp-content/woo_uploads/3-uswaterlogo.png";}</li><li><strong>woo_video_posts</strong> - Select a number:</li><li><strong>woo_vidpage</strong> - Select a page:</li></ul>