- Add the 'themes' directory
authorxcuvellier <xcuvellier@41d37cc5-eb28-0410-a9bf-d37491348ade>
Mon, 2 Jul 2007 12:08:46 +0000 (12:08 +0000)
committerxcuvellier <xcuvellier@41d37cc5-eb28-0410-a9bf-d37491348ade>
Mon, 2 Jul 2007 12:08:46 +0000 (12:08 +0000)
- Put the PlanetLab Europe theme: democratica

62 files changed:
themes/democratica/CHANGELOG.txt [new file with mode: 0644]
themes/democratica/INSTALL.txt [new file with mode: 0644]
themes/democratica/LICENSE.txt [new file with mode: 0644]
themes/democratica/README.txt [new file with mode: 0644]
themes/democratica/basics.css [new file with mode: 0644]
themes/democratica/comment.tpl.php [new file with mode: 0644]
themes/democratica/favicon.ico [new file with mode: 0644]
themes/democratica/images/bg.png [new file with mode: 0644]
themes/democratica/images/bg_branding.png [new file with mode: 0644]
themes/democratica/images/bg_content_left.png [new file with mode: 0644]
themes/democratica/images/bg_error.png [new file with mode: 0644]
themes/democratica/images/bg_error_tracker.png [new file with mode: 0644]
themes/democratica/images/bg_error_tracker_active.png [new file with mode: 0644]
themes/democratica/images/bg_footer.png [new file with mode: 0644]
themes/democratica/images/bg_header.png [new file with mode: 0644]
themes/democratica/images/bg_help.png [new file with mode: 0644]
themes/democratica/images/bg_left.png [new file with mode: 0644]
themes/democratica/images/bg_message.png [new file with mode: 0644]
themes/democratica/images/bg_message_active.png [new file with mode: 0644]
themes/democratica/images/bg_mission.png [new file with mode: 0644]
themes/democratica/images/bg_mission_ie.png [new file with mode: 0644]
themes/democratica/images/bg_right.png [new file with mode: 0644]
themes/democratica/images/bg_user.png [new file with mode: 0644]
themes/democratica/images/bg_user_active.png [new file with mode: 0644]
themes/democratica/images/bg_v1.png [new file with mode: 0644]
themes/democratica/images/bullet_triangle.png [new file with mode: 0644]
themes/democratica/images/calendar_sq_bg.png [new file with mode: 0644]
themes/democratica/images/calendar_sq_event_today.png [new file with mode: 0644]
themes/democratica/images/calendar_sq_hover.png [new file with mode: 0644]
themes/democratica/images/calendar_sq_selected.png [new file with mode: 0644]
themes/democratica/images/calendar_sq_today.png [new file with mode: 0644]
themes/democratica/images/calendar_sq_today_corner.png [new file with mode: 0644]
themes/democratica/images/calendar_sq_weekend.png [new file with mode: 0644]
themes/democratica/images/icon_description.png [new file with mode: 0644]
themes/democratica/images/icon_error.png [new file with mode: 0644]
themes/democratica/images/icon_help.png [new file with mode: 0644]
themes/democratica/images/icon_status.png [new file with mode: 0644]
themes/democratica/images/icon_status_sm.png [new file with mode: 0644]
themes/democratica/images/icons_active.png [new file with mode: 0644]
themes/democratica/images/icons_collapsed.png [new file with mode: 0644]
themes/democratica/images/icons_expanded.png [new file with mode: 0644]
themes/democratica/images/icons_leaf.png [new file with mode: 0644]
themes/democratica/images/logo.png [new file with mode: 0644]
themes/democratica/images/rss.png [new file with mode: 0644]
themes/democratica/images/sidebar_box_bg.png [new file with mode: 0644]
themes/democratica/images/sidebar_box_bottom.png [new file with mode: 0644]
themes/democratica/images/sidebar_box_right.png [new file with mode: 0644]
themes/democratica/images/sidebar_box_top.png [new file with mode: 0644]
themes/democratica/layout.css [new file with mode: 0644]
themes/democratica/local_tasks.css [new file with mode: 0644]
themes/democratica/logo.png [new file with mode: 0644]
themes/democratica/modules.css [new file with mode: 0644]
themes/democratica/node.tpl.php [new file with mode: 0644]
themes/democratica/page.tpl.php [new file with mode: 0644]
themes/democratica/print/styles.css [new file with mode: 0644]
themes/democratica/screenshot-drupal.org.png [new file with mode: 0644]
themes/democratica/screenshot.png [new file with mode: 0644]
themes/democratica/scripts/content_height.js [new file with mode: 0644]
themes/democratica/scripts/scripts.js [new file with mode: 0644]
themes/democratica/scripts/style_switcher.js [new file with mode: 0644]
themes/democratica/style.css [new file with mode: 0644]
themes/democratica/template.php [new file with mode: 0644]

diff --git a/themes/democratica/CHANGELOG.txt b/themes/democratica/CHANGELOG.txt
new file mode 100644 (file)
index 0000000..02300a4
--- /dev/null
@@ -0,0 +1,71 @@
+CHANGELOG
+=========
+0.8_delta
+* drupal.css bugs
+** removed clear:both on #aggregator .news-item
+
+0.8_echo
+* removed 7px padding-right on #sidebar-left to account for column-drop
+* added error, status and help icons and improved colors
+* removed error background image from input.error
+* added .watchdog .active styles
+* added nifty image alt text print style
+* got rid of link on previews
+* fixed missing calendar backgound images
+* the calendars WILL NOT WORK IN THE LEFT SIDEBAR. Sorry, but the're
+  just not enough space.
+
+0.8_foxtrot
+* fixed invalid duplicate of site_name id
+* fixed invalid "skip to content" link attributes output by l()
+* tidied up label:hovers with outline and background instead of 
+  underline in main content; also middle aligned label::inputs
+* removed johnkerry.com h2 lowercase style
+* unbolded breadcrumbs and added hover underline
+* fixed width of user login inputs; no one told me that #name
+  and #pass had been renamed to #edit-name and #edit-pass!
+* did what I could to fix up input formats but the html is
+  atrocious, so any real improvements will have to wait
+* changed layout.css .clearing style to have font-size: 0; 
+  instead of visibility: hidden;
+* fixed IE JavaScript warning bug
+* added node.tpl.php to try and fix column overlaps: added overflow setting to .content
+* changed overall width to 94% for 3 column designs; 2 column layouts are at 80%
+* Added min-width trick for IE 
+* Added styles for #.watchdog-httpd in #tracker
+
+0.8_golf (the IE bugfix release)
+* Fixed IE min-width trick (svn from 12/12 caused IE crash!)
+* fixed #sidebar-left border (bad alignment in IE)
+* added some junk to fix up the user menu in IE
+* moved search location to sidebars (what it was doing floating up there I may never know...)
+* removed original worthless min-width lteIE6 styles in page.tpl.php, incidently 
+  fixing jibberish characters that appeared above web page
+* Since IE doesn't support :focus well, I removed the red BG from required form fields (IE only)
+* Removed .comment .title formatting... not sure how or why it turned green!
+* More drupal.css fixes.
+* Fixed problem with background: none; on input format list by tossing the background image 
+  offscreen (hey! it works.)
+* Fixed weird background coloring on fieldset legends
+* Fix for exploding textareas (flpanque.net/2003/Articles/iecsstextarea and
+  intertwingly.net/stories/2003/05/25/1432a.html); had to set page-title height
+  for IE to prevent them from disappearing.
+* Removed page-title underlines
+* Big changes to colors and comment formatting (including hovers)
+* Fixed excessive nav-primary height in IE
+* Fixed IE bug of not showing aggregator page content 
+* Fixed a bunch of formatting issues on the profile page
+* Fixed a bunch of peekaboo bugs with * {zoom: 1;} (see )
+
+0.8_hector
+* Destroyed drupal.css. YAY!!!
+* Added a new semantic local task menu system (not active yet)
+* Added word_split function for long text in sidebars
+* Fixed 98% content dropping issues (some exist in IE due to font-size problems)
+* Removed my nasty tracker background images
+* Reformed modules.css file -- pulled in drupal.css styles and gutted fonts
+* Created custom aggregator output & fixed wonky styles
+* Fixed output of empty secondary nav 
+
+Drupal 4.5
+* Port to Drupal base, 4.5 and 4.6 by Khalid Baheyeldin
diff --git a/themes/democratica/INSTALL.txt b/themes/democratica/INSTALL.txt
new file mode 100644 (file)
index 0000000..68a7586
--- /dev/null
@@ -0,0 +1,4 @@
+This theme requires Drupal 4.5 or 4.6
+
+It also requires the respective phptemplate theme engine
+for the Drupal version.
diff --git a/themes/democratica/LICENSE.txt b/themes/democratica/LICENSE.txt
new file mode 100644 (file)
index 0000000..2c095c8
--- /dev/null
@@ -0,0 +1,274 @@
+GNU GENERAL PUBLIC LICENSE
+
+              Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave,
+Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute
+verbatim copies of this license document, but changing it is not allowed.
+
+                  Preamble
+
+The licenses for most software are designed to take away your freedom to
+share and change it. By contrast, the GNU General Public License is
+intended to guarantee your freedom to share and change free software--to
+make sure the software is free for all its users. This General Public License
+applies to most of the Free Software Foundation's software and to any other
+program whose authors commit to using it. (Some other Free Software
+Foundation software is covered by the GNU Library General Public License
+instead.) You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our
+General Public Licenses are designed to make sure that you have the
+freedom to distribute copies of free software (and charge for this service if
+you wish), that you receive source code or can get it if you want it, that you
+can change the software or use pieces of it in new free programs; and that
+you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to
+deny you these rights or to ask you to surrender the rights. These restrictions
+translate to certain responsibilities for you if you distribute copies of the
+software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for
+a fee, you must give the recipients all the rights that you have. You must make
+sure that they, too, receive or can get the source code. And you must show
+them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2)
+offer you this license which gives you legal permission to copy, distribute
+and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that
+everyone understands that there is no warranty for this free software. If the
+software is modified by someone else and passed on, we want its recipients
+to know that what they have is not the original, so that any problems
+introduced by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We
+wish to avoid the danger that redistributors of a free program will individually
+obtain patent licenses, in effect making the program proprietary. To prevent
+this, we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification
+follow.
+
+           GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND
+               MODIFICATION
+
+0. This License applies to any program or other work which contains a notice
+placed by the copyright holder saying it may be distributed under the terms
+of this General Public License. The "Program", below, refers to any such
+program or work, and a "work based on the Program" means either the
+Program or any derivative work under copyright law: that is to say, a work
+containing the Program or a portion of it, either verbatim or with
+modifications and/or translated into another language. (Hereinafter, translation
+is included without limitation in the term "modification".) Each licensee is
+addressed as "you".
+
+Activities other than copying, distribution and modification are not covered
+by this License; they are outside its scope. The act of running the Program is
+not restricted, and the output from the Program is covered only if its contents
+constitute a work based on the Program (independent of having been made
+by running the Program). Whether that is true depends on what the Program
+does.
+
+1. You may copy and distribute verbatim copies of the Program's source
+code as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and
+disclaimer of warranty; keep intact all the notices that refer to this License
+and to the absence of any warranty; and give any other recipients of the
+Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you
+may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it,
+thus forming a work based on the Program, and copy and distribute such
+modifications or work under the terms of Section 1 above, provided that you
+also meet all of these conditions:
+
+a) You must cause the modified files to carry prominent notices stating that
+you changed the files and the date of any change.
+
+b) You must cause any work that you distribute or publish, that in whole or in
+part contains or is derived from the Program or any part thereof, to be
+licensed as a whole at no charge to all third parties under the terms of this
+License.
+
+c) If the modified program normally reads commands interactively when run,
+you must cause it, when started running for such interactive use in the most
+ordinary way, to print or display an announcement including an appropriate
+copyright notice and a notice that there is no warranty (or else, saying that
+you provide a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this License.
+(Exception: if the Program itself is interactive but does not normally print such
+an announcement, your work based on the Program is not required to print
+an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Program, and can be
+reasonably considered independent and separate works in themselves, then
+this License, and its terms, do not apply to those sections when you distribute
+them as separate works. But when you distribute the same sections as part
+of a whole which is a work based on the Program, the distribution of the
+whole must be on the terms of this License, whose permissions for other
+licensees extend to the entire whole, and thus to each and every part
+regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to
+work written entirely by you; rather, the intent is to exercise the right to
+control the distribution of derivative or collective works based on the
+Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of a
+storage or distribution medium does not bring the other work under the scope
+of this License.
+
+3. You may copy and distribute the Program (or a work based on it, under
+Section 2) in object code or executable form under the terms of Sections 1
+and 2 above provided that you also do one of the following:
+
+a) Accompany it with the complete corresponding machine-readable source
+code, which must be distributed under the terms of Sections 1 and 2 above
+on a medium customarily used for software interchange; or,
+
+b) Accompany it with a written offer, valid for at least three years, to give
+any third party, for a charge no more than your cost of physically performing
+source distribution, a complete machine-readable copy of the corresponding
+source code, to be distributed under the terms of Sections 1 and 2 above on
+a medium customarily used for software interchange; or,
+
+c) Accompany it with the information you received as to the offer to distribute
+corresponding source code. (This alternative is allowed only for
+noncommercial distribution and only if you received the program in object
+code or executable form with such an offer, in accord with Subsection b
+above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source code
+means all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation and
+installation of the executable. However, as a special exception, the source
+code distributed need not include anything that is normally distributed (in
+either source or binary form) with the major components (compiler, kernel,
+and so on) of the operating system on which the executable runs, unless that
+component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to
+copy from a designated place, then offering equivalent access to copy the
+source code from the same place counts as distribution of the source code,
+even though third parties are not compelled to copy the source along with the
+object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except as
+expressly provided under this License. Any attempt otherwise to copy,
+modify, sublicense or distribute the Program is void, and will automatically
+terminate your rights under this License. However, parties who have received
+copies, or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed it.
+However, nothing else grants you permission to modify or distribute the
+Program or its derivative works. These actions are prohibited by law if you
+do not accept this License. Therefore, by modifying or distributing the
+Program (or any work based on the Program), you indicate your acceptance
+of this License to do so, and all its terms and conditions for copying,
+distributing or modifying the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the original
+licensor to copy, distribute or modify the Program subject to these terms and
+conditions. You may not impose any further restrictions on the recipients'
+exercise of the rights granted herein. You are not responsible for enforcing
+compliance by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues), conditions
+are imposed on you (whether by court order, agreement or otherwise) that
+contradict the conditions of this License, they do not excuse you from the
+conditions of this License. If you cannot distribute so as to satisfy
+simultaneously your obligations under this License and any other pertinent
+obligations, then as a consequence you may not distribute the Program at all.
+For example, if a patent license would not permit royalty-free redistribution
+of the Program by all those who receive copies directly or indirectly through
+you, then the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply and
+the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or
+other property right claims or to contest validity of any such claims; this
+section has the sole purpose of protecting the integrity of the free software
+distribution system, which is implemented by public license practices. Many
+people have made generous contributions to the wide range of software
+distributed through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose
+that choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain
+countries either by patents or by copyrighted interfaces, the original copyright
+holder who places the Program under this License may add an explicit
+geographical distribution limitation excluding those countries, so that
+distribution is permitted only in or among countries not thus excluded. In such
+case, this License incorporates the limitation as if written in the body of this
+License.
+
+9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will be
+similar in spirit to the present version, but may differ in detail to address new
+problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies
+a version number of this License which applies to it and "any later version",
+you have the option of following the terms and conditions either of that
+version or of any later version published by the Free Software Foundation. If
+the Program does not specify a version number of this License, you may
+choose any version ever published by the Free Software Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs
+whose distribution conditions are different, write to the author to ask for
+permission. For software which is copyrighted by the Free Software
+Foundation, write to the Free Software Foundation; we sometimes make
+exceptions for this. Our decision will be guided by the two goals of
+preserving the free status of all derivatives of our free software and of
+promoting the sharing and reuse of software generally.
+
+               NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE,
+THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT
+PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
+STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
+WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
+PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
+NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR
+AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR
+ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
+LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
+SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
+ARISING OUT OF THE USE OR INABILITY TO USE THE
+PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
+OR DATA BEING RENDERED INACCURATE OR LOSSES
+SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
+PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN
+IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.
+
+          END OF TERMS AND CONDITIONS
diff --git a/themes/democratica/README.txt b/themes/democratica/README.txt
new file mode 100644 (file)
index 0000000..c365319
--- /dev/null
@@ -0,0 +1,53 @@
+DEMOCRATICA THEME README
+For CivicSpace v0.8.0.3 Chris Messina
+Last updated 2005-02-16 5:22:55 PM
+Ported by Khalid Baheyeldin http://baheyeldin.com/khalid
+ to Drupal 4.5 and 4.6
+
+COMMENTS
+========
+
+This theme was originally developed for CivicSpace to match 
+JohnKerry.com.
+
+v0.8.1 adds the ability to have a 1, 2 or 3 column layout. However, 
+I don't know how to achieve a one-column layout at this time with 
+Drupal... but if you need it, it's there!
+
+I'm also implementing an attempted fix at column overlap by tables
+and images with a javascript solution. Not sure if it'll be ready
+in time for "print". In fact, well, nope, it's definitely not ready,
+but it's in the scripts folder if you want to try your own hand at it!
+
+I've gutted all the unnecessary styles I could find and pushed all
+the typographic styles into basic.css. This is a new technique that
+I'm developing. It might seem annoying at first, but really makes it
+*much* easier to find those annoying font styles usually buried deep 
+in structural markup.
+
+All images are now PNGs instead of a mix of GIFs and PNGs. The 
+interesting issue is that, at least in Safari, colors in an image 
+in Photoshop turn up differently in a web browser next to their hex-
+adecimal equivalent. This of course is a problem when dealing with 
+transparent elements, like the old slogan/search. But since I
+abandoned those styles, the problem no longer needs to be fixed!
+
+I also have hopefully converted completely to UNIX line endings.
+
+
+KNOWN ISSUES
+============
+
+At lower resolutions, IE and Firefox do weird things with the content.
+In three column-mode, IE will drop the content in a waterfall; Firefox
+will overlap the columns. I tried a number of things but nothing fixed
+the problem as of 0.8.0.3.
+
+
+TO DO
+=====
+
+* Print styles.
+* More custom HTML output.
+x -Fix poll content dropping in IE
+x -Fix drupal.css-induced clearing bugs.
diff --git a/themes/democratica/basics.css b/themes/democratica/basics.css
new file mode 100644 (file)
index 0000000..768ea48
--- /dev/null
@@ -0,0 +1,189 @@
+/* $Id: basics.css,v 1.1 2005/03/25 01:06:43 kbahey Exp $ */
+/* Democratica Basic Styles */
+
+/*<group=HTML>*/
+
+body {
+  color: #333;
+  background-color: #fff;
+}
+/*
+** HTML elements
+*/
+hr {
+  height: 1px;
+  border: 1px solid gray;
+}
+img {
+  border: 0;
+}
+table {
+  border-collapse: collapse;
+}
+th {
+  text-align: left;
+  padding-right: 1em;
+  border-bottom: 3px solid #ccc;
+  white-space: nowrap;
+}
+p {
+  padding: 0;
+  margin: 0;
+}
+p, #content ul li {
+  margin-bottom: 0.8em;
+} 
+hr {
+  border: 1px dotted #004D81;
+}
+pre {
+  background-color: #efefef;
+  padding: 0.75em 1.5em;
+  border: 1px solid #ddd;
+  width: 90%;
+  overflow: scroll;
+}
+img { 
+  border: 0; 
+}
+blockquote {
+  border: 0 #ddd dashed;
+  border-width: 1px 0;
+  margin: 0.5em 1.0em;
+  padding: 0.3em;
+}
+h3 { 
+  padding-bottom: 0.2em; 
+  margin-bottom: 0; 
+}
+        
+      /*</group>*/
+/*<group=Typography>*/
+
+body {
+  font: 76% verdana, sans-serif;
+  _font-size: 100%;
+}
+/*<group=Typefaces>*/
+code, .form-text, textarea {
+  font-family: 'andale mono', 'Courier New', Monaco, monospace;
+}
+#branding {
+  font-family: georgia, times, serif;
+}
+
+/*</group>*/
+/*<group=Font Weight, Style & Decoration>*/
+#main-content fieldset .form-item label.option, #main-content .watchdog-error td a, .form-item label, #main-content .node .links, #help:before, .page-title {
+  font-weight: normal;
+}
+h3, h4, h5, h6, #site-name, #site-slogan, #mission, #main-content h2.page-title, #main-content legend, #main-content .comment .title, .comment-folded .subject, legend, input[type="submit"], .comment .new, .comment-folded .new, .item-list .title, #sidebar-right .block .more-link, #main-content .links .read-more, .error, #main-content .watchdog-error td, #main-content .form-item label.option, .node h2.page-title, .poll .text, .poll-title, .book .title, div#forum table .name, div#forum a, div#forum table .navigation {
+  font-weight: bold;     
+}
+#help:before {
+  font-style: normal;
+}
+blockquote, #sidebar-right .block h2, .description, #help, #main-content .links .read-more, #aggregator .news-item-source {
+  font-style: italic;
+}
+#notices a, .item-list .icon a, .item-list .icon a:hover, a:hover, .content a:hover, .content a, :link, .sidebar label:hover, #main-content table label:hover, #current a, .menu a.active, #breadcrumbs a:hover, #main-content .node h2.page-title a:hover, #main-content .links a:hover {
+  text-decoration: underline;  
+}
+#site-name, #site-name a, #branding a, #breadcrumbs a, #navigation #nav-primary a, .menu a, #navigation #nav-primary a:link, #navigation #nav-primary a:visited, #main-content label:hover, #main-content .node h2.page-title a, #main-content .links a, .comment .title a, .comment-folded .subject a, ul.primary li a:hover, #local-tasks ul.primary a, #local-tasks ul.primary span, #local-tasks ul.primary li a.current {
+  text-decoration: none;
+}
+
+/*</group>*/
+/*<group=Font Colors>*/
+#main-content h2, #pager a, :before {
+  color: #004D81;
+}
+a, .content a, :link, #navigation #nav-primary a, .menu a {
+  color: #065285;
+}
+:visited, .path a, .path a:visited {
+  color: #10598A;
+}
+#main-content .box h2, .comment .title a, .comment-folded .subject a  {
+  color: #3579B2;
+}
+label:hover {
+  color: #039;
+}
+a:hover, .content a:hover, #current a, .menu a.active, #navigation #nav-primary a:hover, #navigation #nav-primary a:hover {
+  color: #C20508;
+}
+.marker, .error, #main-content .watchdog-error td, #main-content .watchdog-error td a, #content-title, .page-title, #main-content .watchdog-httpd td, #main-content .links a:hover {
+  color: #BE0101;
+}
+#site-slogan { 
+  color: #efefef;
+}  
+.item-list .icon {
+  color: #aaa;
+}
+label:hover, .form-item label, .description, #help, #local-tasks ul.primary a, #local-tasks ul.primary span, #local-tasks ul.primary li a.current  {
+  color: #333; 
+}
+#pager :visited, .comment-reply .comment-new .author, #help:before, #main-content #breadcrumbs ul:before {
+  color: #666;
+  }
+#main-content .node .info, #main-content .node small, #main-content .comment .author {
+  color: #979797;
+}
+#main-content .node small a, #main-content .links a, #main-content .comment .author a {
+  color: #be734d;
+}
+#main-content .node small a:hover, , #main-content .comment .author a:hover {
+  color: #720101;
+}
+span.credit {
+  color: #999;
+}
+#site-name, #site-name a, #branding a, #mission, #notices, #notices a {
+  color: #fff;
+}
+.comment-reply .comment-new a, .node-add .node a, .node-add #main-content .node h2, .node-edit .node a, .node-edit #main-content .node h2, .item-list .icon a, .item-list .icon a:hover {
+  color: #000;
+}
+.comment-folded .new, .comment .new {
+  color: #fc0;
+}
+#main-content #breadcrumbs {
+  color: #6b0;
+}
+.ok {
+  color: #080;
+}
+
+/*</group>*/
+/*<group=Font Sizes>*/
+
+#site-name, .page-title {
+  font-size: 2.0em;
+}
+#content-title, #main-content .node h2.page-title, h1, #main-content .comment .title, div#forum table .name { 
+  font-size: 1.2em; 
+}
+h2, pre, code, #site-slogan {
+  font-size: 1.1em;
+}
+h3, .sidebar .block h2, #main-content .box h2, .item-list .title, #main-content #breadcrumb, .comment-folded .subject, button.form-submit, form .page-title, fieldset legend, input, textarea {
+  font-size: 1.0em;
+}
+h4, h5, h6, #search .form-text, #breadcrumbs, #help, #main-content .node .info, .sidebar .block .content, #sidebar-left h2, .sidebar .block-search .form-submit, #main-nav a, #main-content td, #main-content th, .form-item label, .comment select, #notices, #pager, #sidebar-left .item-list, #tabs .secondary, .tips, #local-tasks ul.primary a, #local-tasks ul.primary span, #local-tasks ul.primary li a.current, #aggregator .news-item-source, #forum .description, #forum .navigation {
+  font-size: 0.9em;
+}
+.node .links, .description, .comment .links, .comment .new, .comment .author, span.credit, .comment-folded .new, .box select, .more-help-link, div#forum table .topics, div#forum table .posts, div#forum table .last-reply, div#forum table .created, div#forum table .replies {
+  font-size: 0.8em;
+}
+.sidebar .block-user, body.admin-modules table, body.admin-block table, body.admin-user table, body.admin-logs table {
+  _font-size: 11px;
+}
+body.admin-aggregator table, body.admin-user table, body.admin-comment table, body.admin-filters table, body.admin table, #notices, #pager {
+  _font-size: 10px;
+}
+
+
+/*</group>*/
+  /*</group>*/ 
\ No newline at end of file
diff --git a/themes/democratica/comment.tpl.php b/themes/democratica/comment.tpl.php
new file mode 100644 (file)
index 0000000..cabf6ea
--- /dev/null
@@ -0,0 +1,25 @@
+<div class="comment <?php print ($comment->new) ? 'comment-new' : '' ?>">
+<?php if ($comment->new) : ?>
+  <a id="new"></a>
+  <span class="new"><?php print $new ?></span>
+<?php endif; ?>
+
+<div class="title"><?php print $title ?></div>
+  <div class="content">
+    <?php if ($picture) : ?>
+    <div class="user-picture">
+      <?php print $picture ?>
+    </div>
+    <?php endif; ?>
+    <?php print $content ?>
+  </div>
+  <?php if ($picture) : ?>
+    <br class="clear" />
+  <?php endif; ?>
+  <div class="author">
+    <?php print $submitted; ?>
+  </div>
+  <div class="links">
+    <?php print $links ?>
+  </div>
+</div>
diff --git a/themes/democratica/favicon.ico b/themes/democratica/favicon.ico
new file mode 100644 (file)
index 0000000..e483f35
Binary files /dev/null and b/themes/democratica/favicon.ico differ
diff --git a/themes/democratica/images/bg.png b/themes/democratica/images/bg.png
new file mode 100644 (file)
index 0000000..e7f9842
Binary files /dev/null and b/themes/democratica/images/bg.png differ
diff --git a/themes/democratica/images/bg_branding.png b/themes/democratica/images/bg_branding.png
new file mode 100644 (file)
index 0000000..e967d56
Binary files /dev/null and b/themes/democratica/images/bg_branding.png differ
diff --git a/themes/democratica/images/bg_content_left.png b/themes/democratica/images/bg_content_left.png
new file mode 100644 (file)
index 0000000..fab1f55
Binary files /dev/null and b/themes/democratica/images/bg_content_left.png differ
diff --git a/themes/democratica/images/bg_error.png b/themes/democratica/images/bg_error.png
new file mode 100644 (file)
index 0000000..aff0ecb
Binary files /dev/null and b/themes/democratica/images/bg_error.png differ
diff --git a/themes/democratica/images/bg_error_tracker.png b/themes/democratica/images/bg_error_tracker.png
new file mode 100644 (file)
index 0000000..aff0ecb
Binary files /dev/null and b/themes/democratica/images/bg_error_tracker.png differ
diff --git a/themes/democratica/images/bg_error_tracker_active.png b/themes/democratica/images/bg_error_tracker_active.png
new file mode 100644 (file)
index 0000000..bed6a71
Binary files /dev/null and b/themes/democratica/images/bg_error_tracker_active.png differ
diff --git a/themes/democratica/images/bg_footer.png b/themes/democratica/images/bg_footer.png
new file mode 100644 (file)
index 0000000..2b24f2c
Binary files /dev/null and b/themes/democratica/images/bg_footer.png differ
diff --git a/themes/democratica/images/bg_header.png b/themes/democratica/images/bg_header.png
new file mode 100644 (file)
index 0000000..a1f7c49
Binary files /dev/null and b/themes/democratica/images/bg_header.png differ
diff --git a/themes/democratica/images/bg_help.png b/themes/democratica/images/bg_help.png
new file mode 100644 (file)
index 0000000..f738e36
Binary files /dev/null and b/themes/democratica/images/bg_help.png differ
diff --git a/themes/democratica/images/bg_left.png b/themes/democratica/images/bg_left.png
new file mode 100644 (file)
index 0000000..36f1b4e
Binary files /dev/null and b/themes/democratica/images/bg_left.png differ
diff --git a/themes/democratica/images/bg_message.png b/themes/democratica/images/bg_message.png
new file mode 100644 (file)
index 0000000..59b0ba9
Binary files /dev/null and b/themes/democratica/images/bg_message.png differ
diff --git a/themes/democratica/images/bg_message_active.png b/themes/democratica/images/bg_message_active.png
new file mode 100644 (file)
index 0000000..42d4658
Binary files /dev/null and b/themes/democratica/images/bg_message_active.png differ
diff --git a/themes/democratica/images/bg_mission.png b/themes/democratica/images/bg_mission.png
new file mode 100644 (file)
index 0000000..a462377
Binary files /dev/null and b/themes/democratica/images/bg_mission.png differ
diff --git a/themes/democratica/images/bg_mission_ie.png b/themes/democratica/images/bg_mission_ie.png
new file mode 100644 (file)
index 0000000..9d51856
Binary files /dev/null and b/themes/democratica/images/bg_mission_ie.png differ
diff --git a/themes/democratica/images/bg_right.png b/themes/democratica/images/bg_right.png
new file mode 100644 (file)
index 0000000..8e8832b
Binary files /dev/null and b/themes/democratica/images/bg_right.png differ
diff --git a/themes/democratica/images/bg_user.png b/themes/democratica/images/bg_user.png
new file mode 100644 (file)
index 0000000..c6ad203
Binary files /dev/null and b/themes/democratica/images/bg_user.png differ
diff --git a/themes/democratica/images/bg_user_active.png b/themes/democratica/images/bg_user_active.png
new file mode 100644 (file)
index 0000000..6535ab7
Binary files /dev/null and b/themes/democratica/images/bg_user_active.png differ
diff --git a/themes/democratica/images/bg_v1.png b/themes/democratica/images/bg_v1.png
new file mode 100644 (file)
index 0000000..1d26c50
Binary files /dev/null and b/themes/democratica/images/bg_v1.png differ
diff --git a/themes/democratica/images/bullet_triangle.png b/themes/democratica/images/bullet_triangle.png
new file mode 100644 (file)
index 0000000..33befd8
Binary files /dev/null and b/themes/democratica/images/bullet_triangle.png differ
diff --git a/themes/democratica/images/calendar_sq_bg.png b/themes/democratica/images/calendar_sq_bg.png
new file mode 100644 (file)
index 0000000..8a7d097
Binary files /dev/null and b/themes/democratica/images/calendar_sq_bg.png differ
diff --git a/themes/democratica/images/calendar_sq_event_today.png b/themes/democratica/images/calendar_sq_event_today.png
new file mode 100644 (file)
index 0000000..a5d4a9f
Binary files /dev/null and b/themes/democratica/images/calendar_sq_event_today.png differ
diff --git a/themes/democratica/images/calendar_sq_hover.png b/themes/democratica/images/calendar_sq_hover.png
new file mode 100644 (file)
index 0000000..bafddf1
Binary files /dev/null and b/themes/democratica/images/calendar_sq_hover.png differ
diff --git a/themes/democratica/images/calendar_sq_selected.png b/themes/democratica/images/calendar_sq_selected.png
new file mode 100644 (file)
index 0000000..46bd8b8
Binary files /dev/null and b/themes/democratica/images/calendar_sq_selected.png differ
diff --git a/themes/democratica/images/calendar_sq_today.png b/themes/democratica/images/calendar_sq_today.png
new file mode 100644 (file)
index 0000000..dfd54f4
Binary files /dev/null and b/themes/democratica/images/calendar_sq_today.png differ
diff --git a/themes/democratica/images/calendar_sq_today_corner.png b/themes/democratica/images/calendar_sq_today_corner.png
new file mode 100644 (file)
index 0000000..4d9aa24
Binary files /dev/null and b/themes/democratica/images/calendar_sq_today_corner.png differ
diff --git a/themes/democratica/images/calendar_sq_weekend.png b/themes/democratica/images/calendar_sq_weekend.png
new file mode 100644 (file)
index 0000000..556436a
Binary files /dev/null and b/themes/democratica/images/calendar_sq_weekend.png differ
diff --git a/themes/democratica/images/icon_description.png b/themes/democratica/images/icon_description.png
new file mode 100644 (file)
index 0000000..840844d
Binary files /dev/null and b/themes/democratica/images/icon_description.png differ
diff --git a/themes/democratica/images/icon_error.png b/themes/democratica/images/icon_error.png
new file mode 100644 (file)
index 0000000..47a91c8
Binary files /dev/null and b/themes/democratica/images/icon_error.png differ
diff --git a/themes/democratica/images/icon_help.png b/themes/democratica/images/icon_help.png
new file mode 100644 (file)
index 0000000..9a7c523
Binary files /dev/null and b/themes/democratica/images/icon_help.png differ
diff --git a/themes/democratica/images/icon_status.png b/themes/democratica/images/icon_status.png
new file mode 100644 (file)
index 0000000..388f64a
Binary files /dev/null and b/themes/democratica/images/icon_status.png differ
diff --git a/themes/democratica/images/icon_status_sm.png b/themes/democratica/images/icon_status_sm.png
new file mode 100644 (file)
index 0000000..0cfcbeb
Binary files /dev/null and b/themes/democratica/images/icon_status_sm.png differ
diff --git a/themes/democratica/images/icons_active.png b/themes/democratica/images/icons_active.png
new file mode 100644 (file)
index 0000000..70f38a0
Binary files /dev/null and b/themes/democratica/images/icons_active.png differ
diff --git a/themes/democratica/images/icons_collapsed.png b/themes/democratica/images/icons_collapsed.png
new file mode 100644 (file)
index 0000000..abac1b5
Binary files /dev/null and b/themes/democratica/images/icons_collapsed.png differ
diff --git a/themes/democratica/images/icons_expanded.png b/themes/democratica/images/icons_expanded.png
new file mode 100644 (file)
index 0000000..cccf4d3
Binary files /dev/null and b/themes/democratica/images/icons_expanded.png differ
diff --git a/themes/democratica/images/icons_leaf.png b/themes/democratica/images/icons_leaf.png
new file mode 100644 (file)
index 0000000..a564e35
Binary files /dev/null and b/themes/democratica/images/icons_leaf.png differ
diff --git a/themes/democratica/images/logo.png b/themes/democratica/images/logo.png
new file mode 100644 (file)
index 0000000..35f0c86
Binary files /dev/null and b/themes/democratica/images/logo.png differ
diff --git a/themes/democratica/images/rss.png b/themes/democratica/images/rss.png
new file mode 100644 (file)
index 0000000..b5d31b6
Binary files /dev/null and b/themes/democratica/images/rss.png differ
diff --git a/themes/democratica/images/sidebar_box_bg.png b/themes/democratica/images/sidebar_box_bg.png
new file mode 100644 (file)
index 0000000..b307d1f
Binary files /dev/null and b/themes/democratica/images/sidebar_box_bg.png differ
diff --git a/themes/democratica/images/sidebar_box_bottom.png b/themes/democratica/images/sidebar_box_bottom.png
new file mode 100644 (file)
index 0000000..8c5181b
Binary files /dev/null and b/themes/democratica/images/sidebar_box_bottom.png differ
diff --git a/themes/democratica/images/sidebar_box_right.png b/themes/democratica/images/sidebar_box_right.png
new file mode 100644 (file)
index 0000000..bf635d2
Binary files /dev/null and b/themes/democratica/images/sidebar_box_right.png differ
diff --git a/themes/democratica/images/sidebar_box_top.png b/themes/democratica/images/sidebar_box_top.png
new file mode 100644 (file)
index 0000000..ec36254
Binary files /dev/null and b/themes/democratica/images/sidebar_box_top.png differ
diff --git a/themes/democratica/layout.css b/themes/democratica/layout.css
new file mode 100644 (file)
index 0000000..89472e0
--- /dev/null
@@ -0,0 +1,135 @@
+/* $Id: layout.css,v 1.1 2005/03/25 01:06:43 kbahey Exp $ */
+/* Democratica Layout Styles */
+
+* {
+  zoom: 1; /* IE peekaboo fix */
+}
+body {
+  margin: 0;
+  padding: 0;
+  background: url(images/bg.png) repeat;
+}
+/**
+
+I'm using a mix of Dan Cederholm's Faux Columns for the background image
+from http://www.alistapart.com/articles/fauxcolumns/ and Ryan Brill's
+"Creating Liquid Layouts with Negative Margins" for the 3-column 
+layout from http://www.alistapart.com/articles/negativemargins/
+
+**/
+#outer-wrapper {
+  width: 94%;
+  _width: expression( ( documentElement.clientWidth < 760 ) ? "760px" : "auto" ); /* IE min-width hack */
+  min-width: 760px;
+  max-width:1200px;
+  margin: 10px;
+  margin-left: auto;
+  margin-right: auto;
+  padding: 0;
+}
+#wrapper {
+  padding-top: 9px;
+  _padding-top: 0;
+  background: url(images/bg_footer.png) repeat-x top left;
+
+}
+#container {
+  width: 100%;
+  float: left;
+  background-color: #fff;
+}
+#content {
+  padding: 10px 0;
+}  
+#sidebar-left {
+  margin-right: -1px;
+  border-right: 1px solid #bababa;
+}
+#notices {
+  margin: 0;
+  clear: left;
+  padding: 14px 10px;
+  background: url(images/bg_footer.png) repeat-x top left;
+}
+/*<group=Left Column Only Styles>*/
+body.layout-left #sidebar-right {
+  display: none;
+}
+body.layout-left #content {
+  margin-right: 1.0em;
+}
+#sidebar-left {
+  background: url(images/bg_left.png) left repeat-y; /* needed for sidebar-left bg color */
+  padding: 0;
+/*  padding-right: 7px; */
+}
+
+/*</group>*/
+/*<group=Right Column Only Styles>*/
+
+/**
+
+Right Column Only Layout
+       
+**/
+body.layout-right #sidebar-left {
+  display: none;
+}
+body.layout-right #content {
+  margin-left: 1.0em;
+}
+
+/*</group>*/
+/*<group=Shared Layout Styles>*/
+/*<group=Right Styles>*/
+body.layout-both #content, body.layout-right #content {
+  margin-right: 280px; /* This must match container margin-right */
+}
+body.layout-both #container, body.layout-right #container {
+  margin-right: -280px;  /* This must match content's margin-right */
+  background: #fff url(images/bg_right.png) top right repeat-y;
+}
+body.layout-both #sidebar-right, body.layout-right #sidebar-right {
+  float: right;
+  width: 270px; /* This must be less than content's margin-right */
+}
+body.layout-right #navigation {
+  margin-left: 1.5em;
+  margin-bottom: 1.0em;
+}
+
+/*</group>*/
+/*<group=Left Styles>*/
+body.layout-both #content, body.layout-left #content {
+  background: url(images/bg_left.png) left repeat-y; /* needed for sidebar-left bg color */
+}
+body.layout-both #main-content, body.layout-left #main-content {
+  margin-left: 170px;
+}
+body.layout-both #sidebar-left, body.layout-left #sidebar-left {
+  display: block;
+  width: 150px;
+  float: left;
+  padding-left: 6px;
+}
+body.layout-left #outer-wrapper, body.layout-right #outer-wrapper {
+  width: 80%;
+}
+
+/*</group>*/
+
+/*</group>*/
+
+/*<group=Utility>*/
+.hide {
+  display: none;
+}
+br.clear {
+  clear: both;
+}
+.clearing {
+  height: 0;
+  clear: both;
+  font-size: 0;
+}
+     /*</group>*/  
\ No newline at end of file
diff --git a/themes/democratica/local_tasks.css b/themes/democratica/local_tasks.css
new file mode 100644 (file)
index 0000000..05cd072
--- /dev/null
@@ -0,0 +1,95 @@
+/*<group=Local Task Tabs>*/
+#local-tasks {
+       position: relative;
+       margin-bottom: 4em;
+       height: 2em;
+/*
+       width: 45em; 
+       _width: 30em;
+       width: 100%;*/
+}
+#local-tasks ul.primary {
+       margin: 0;
+       padding: 0;
+       position: absolute;
+       bottom: -1px;
+/*
+       width: 45em; 
+       _width: 30em;*/
+}
+#local-tasks ul.primary li  {
+       display: inline;
+       list-style: none;
+}
+#local-tasks ul.primary a, #local-tasks ul.primary span, #local-tasks ul.primary li a.current {
+       width: 8em;
+       display: block;
+       float: left;
+       padding: 4px 0;
+       margin: 1px 2px 0 0;
+       text-align: center;
+}
+#local-tasks ul.primary span, #local-tasks ul.primary li a.current, #local-tasks ul.primary li a.current:hover {
+  border-color: #bbb;
+  border-width: 1px;
+  border-style: solid solid none solid;
+  -moz-border-radius-topleft: 0.3em;
+  -moz-border-radius-topright: 0.3em;
+       border-bottom: none;
+       background: #FFF3B3;
+       padding-bottom: 6px;
+       margin-top: 0;
+}
+#local-tasks ul.primary a {
+       background: #FFFAE1;
+  -moz-border-radius-topleft: 0.3em;
+  -moz-border-radius-topright: 0.3em;
+       border: 1px solid #AAA;
+       border-bottom: none;
+}
+#local-tasks ul.primary a:hover {
+       margin-top: 0;
+       border-color: #aaa;
+       background: #FFF7CD;
+       padding-bottom: 5px;
+}
+#local-tasks ul.secondary {
+       position: absolute;
+       margin: 0;
+       padding: 0;
+       bottom: -4em;
+       left: 1px;
+       width: 50em; /* a width is required for Opera, older Mozilla browsers, and Konqueror browsers */
+       _width: 30em;
+}
+#local-tasks ul.secondary li a, #local-tasks ul.secondary li span {
+       width: auto;
+       display: block;
+       float: left;
+       padding: 4px 10px;
+       margin: 0;
+       text-align: auto;
+       border: none;
+       border-right: 1px dotted #AAA;
+       background: none;
+}
+#local-tasks ul.secondary li a {
+       color: #06C;
+       text-decoration: underline;
+}
+#local-tasks ul.secondary li a:hover {
+       color: #333;
+       background: transparent;
+       padding: 4px 10px;
+       border: none;
+       border-right: 1px dotted #AAA;
+}
+#local-tasks ul.secondary li a:active {
+       color: #000;
+       background: transparent;
+}
+#local-tasks ul.secondary li:last-child a {
+  border: none; 
+}
+
+/*</group>*/
\ No newline at end of file
diff --git a/themes/democratica/logo.png b/themes/democratica/logo.png
new file mode 100644 (file)
index 0000000..9e45670
Binary files /dev/null and b/themes/democratica/logo.png differ
diff --git a/themes/democratica/modules.css b/themes/democratica/modules.css
new file mode 100644 (file)
index 0000000..4a60775
--- /dev/null
@@ -0,0 +1,484 @@
+/* $Id: modules.css,v 1.1 2005/03/25 01:06:43 kbahey Exp $ */
+/*<group=Poll>*/
+
+#content .poll {
+  margin: 0.5em;
+  padding: 0.5em;
+  border: #ccc solid 1px; 
+}
+.block-poll .poll {
+  background-color: #EBEFF2; 
+}
+#sidebar-left .block-poll .links {
+  display: none;
+}
+.poll .links {
+  text-align: center;
+}
+.poll-title {
+  padding-bottom: 0.3em;
+  margin-bottom: 0.4em;
+  border-bottom: #ccc solid 1px;
+}
+.poll .text {
+  margin-bottom: 0.3em;
+}
+.poll .vote-form .choices {
+  text-align: left;
+  margin: 0 auto;
+  display: table; 
+}
+.poll .percent {
+  text-align: right;
+  padding-bottom: 0.3em;
+  margin-bottom: 0.4em;
+  border-bottom: #ccc dashed 1px; 
+}
+.poll .total {
+  text-align: center;
+}
+.poll .bar {
+  height: 5px;
+  margin: 1px 0;
+  background-color: #ddd; 
+}
+.poll .bar .foreground {
+  float: left; 
+  height: 5px;
+  background-color: #aaa;
+/*  border: #ccc solid 1px;*/ /* causes content dropping in IE */
+}
+.node-form .poll-form fieldset {
+  display: block; 
+}
+.poll .vote-form {
+  text-align: center;
+}
+  
+  /*</group>*/
+/*<group=Event Calendar & Archive Calendar>*/
+
+/* Mini-Calendar Formatting */
+.sidebar .event-calendar th.heading, .sidebar .event-calendar th, .sidebar .calendar th, .sidebar .calendar .header-month {
+  font-size: 1.0em;
+ }
+.sidebar .event-calendar th, .sidebar .calendar th, .sidebar .event-calendar td, .sidebar .calendar td, #event .event-calendar .event .teaser {
+  font-size: 0.9em;
+ }
+.sidebar .event-calendar table, .sidebar .calendar table {
+  border: 1px solid #BDCEE1;
+  border-collapse: collapse;
+  border-spacing: 0;
+  background-color: #BDCEE1;
+  width: 100%;
+  margin-bottom: 6px;
+ }
+.sidebar .event-calendar tr, .sidebar .calendar tr {
+  padding: 0;
+  margin: 0;
+  background: transparent;
+ }
+.sidebar .event-calendar th, .sidebar .calendar th, .sidebar .calendar td.header-month {
+  background-color: transparent;
+  background: url(images/calendar_sq_bg.png) top left no-repeat;
+  text-align: center;
+  border: 1px solid #BDCEE1;
+  color: #C30;
+  padding: 4px 2px;
+ }
+.sidebar .event-calendar th.heading, .sidebar .event-calendar th.prev, .sidebar .event-calendar th.next, .sidebar .calendar th.header-month, .sidebar .calendar td.header-month {
+  border-width: 1px 0;
+  background-image: none;
+  background-color: #BDCEE1;
+ }
+.sidebar .event-calendar th.prev {
+  text-align: left;
+ }
+.sidebar .event-calendar th.next {
+  text-align: right;
+ }
+.sidebar .event-calendar th, .sidebar .calendar .header-month a, .sidebar .calendar .header-month {
+  font-weight: bold;
+  color: #C30;
+ }
+.sidebar .event-calendar th a {
+  display: block;
+ }
+.sidebar .calendar .header-month a {
+  display: inline;
+ }
+.sidebar .calendar .header-week td {
+  border: none;
+  padding: 4px;
+}
+.sidebar .event-calendar td, .sidebar .calendar .row-week td {
+  border: 1px solid #BDCEE1;
+  color: #727664;
+  text-align: center;
+  vertical-align: middle;
+  margin: 0;
+  padding: 6px 2px;
+  background: url(images/calendar_sq_bg.png) top left no-repeat;
+ }
+.sidebar .calendar td div {
+  margin: 0;
+  padding: 0;
+ }
+.sidebar .calendar .row-week td.day-selected {
+  background-color: transparent;
+  background: url(images/calendar_sq_selected.png) top left repeat;\r }
+.sidebar .calendar .row-week td.day-blank {
+  background-color: transparent;
+  background-image: none;
+ }
+.sidebar .event-calendar td a, .sidebar .calendar .row-week td a {
+  font-weight: bold;
+  text-decoration: none;
+  display: block;
+  margin: 0;
+  padding: 0;
+ }
+.sidebar .event-calendar td a:hover, .sidebar .calendar .row-week td a:hover { 
+  color: #c30;
+  background-color: transparent;
+  text-decoration: underline; 
+ }
+.sidebar .event-calendar td.sat, .sidebar .event-calendar td.sun {
+  background: url(images/calendar_sq_weekend.png) top left no-repeat;\r }
+.sidebar .event-calendar td.today, .sidebar .calendar td.day-today {
+  color: #fff;
+  background: #c30 url(images/calendar_sq_today_corner.png) bottom right no-repeat;\r }
+.sidebar .event-calendar td.today a, .sidebar .calendar td.day-today a {
+  color: #fff;
+  text-decoration: none;
+  display: block;
+ }
+.sidebar .event-calendar td.today a:hover, .sidebar .calendar td.day-today a:hover {
+  color: #fff;
+  background-color: transparent;
+  text-decoration: underline;  
+ }
+.sidebar .event-calendar td.selected, .sidebar .calendar .day-selected {
+  background: url(images/calendar_sq_selected.png) top left repeat;
+ }
+.sidebar .event-calendar td.days, calendar td.day-normal, .sidebar .calendar .header-week {
+  color: #798786;
+  font-weight: normal;
+  background: #fff;
+  text-align: center;
+  padding: 4px 2px;
+ }
+.sidebar .event-calendar div.event {
+  text-align: left;
+  margin: 0.25em 0 1em 0.25em;
+ }
+.sidebar .event-calendar td.days, .sidebar .calendar td.header-month {
+  border: none;
+ }
+.sidebar .event-calendar div.day {
+  float: right;
+  text-align: center;
+  padding: 0.125em 0.25em 0 0.25em;
+  margin: 0;
+  border: none;
+  background: #f3f3f3;
+ }
+.sidebar .event-calendar div.event span {
+  display: block;
+  color: #000;
+  padding: 0;
+  margin: 0;
+ }
+.sidebar .event-calendar div.event span.title a {
+  font-weight: normal;
+  font-size: 0.9em;
+  color: #000;
+ }
+.sidebar .event-calendar div.event span.time {
+  font-weight: bold;
+ }
+.sidebar .event-calendar div.event span.location {
+  font-style: italic;
+  color: #555;
+ }
+.time {
+  padding: 20px;
+ }
+
+/* Event Detail Page */
+\r
+#event {
+  margin-top: 1.0em;
+  padding-bottom: 1.0em;
+  text-align: center;
+}
+#event .event-calendar {
+/*  border: 1px solid #BDCEE1; */
+  margin-bottom: 0.5em;
+  padding-bottom: 0;
+  border: 0;
+}
+#event .event-calendar table {
+  background-color: #BDCEE1;
+  width: 99%;
+  padding: 0 1px 1px 0;
+  border-collapse: collapse;
+ }
+#event .event-calendar th {
+  text-align: center;
+  border: 1px solid #BDCEE1;
+  color: #C30;
+  padding: 4px 2px;
+  border-width: 1px 0;
+  background-image: none;
+  background-color: #BDCEE1;
+}
+#event .event-calendar th.prev {
+  text-align: left;
+  padding-left: 4px;
+}
+#event .event-calendar th.next {
+  text-align: right;
+  padding-right: 4px;
+}
+#event .event-calendar th a {
+  color: #C30;
+ }
+#event .event-calendar th a:hover {
+  color: #C30;
+  text-decoration: underline;
+ }
+#event .event-calendar td {
+  width: 14.3%;
+  border: 0;
+  color: #727664;
+  text-align: left;
+  vertical-align: top;
+  margin: 0;
+  padding: 0;
+ }
+#event .event-calendar td.mon, #event .event-calendar td.tue, #event .event-calendar td.wed, #event .event-calendar td.thu, #event .event-calendar td.fri {
+  border: 1px solid #BDCEE1;
+  border-bottom: 1px solid #BDCEE1;
+  background: #fff url(images/calendar_sq_bg.png) top left no-repeat;
+}
+#event .event-calendar td.sat, #event .event-calendar td.sun {
+  border: 0;
+  border-bottom: 1px solid #BDCEE1;
+  border-top: 1px solid #BDCEE1;
+  background: #fff url(images/calendar_sq_weekend.png) top left no-repeat;\r}
+#event .event-calendar td.sun {
+  border-right: 0;
+ }
+#event .event-calendar td.sat {
+  border-left: 0;
+ }
+#event .event-calendar td.days {
+  border: 0;
+  border-bottom: 1px solid #BDCEE1;
+  background: #fff none;
+}
+#event .event-calendar td.lastweek {
+  border-bottom: 0;
+ }
+#event .event-calendar td.today a {
+  color: #065285;
+  text-decoration: underline;
+}
+#event .event-calendar td.today a:hover {
+  color: #C20508;
+  text-decoration: underline;
+}
+#event .event-calendar td.today {
+  color: #c30;
+  font-weight: bold;
+ }
+#event .event-calendar td.today .day {
+  color: #fff;
+  font-weight: bold;
+  background: #c30 url(images/calendar_sq_today_corner.png) bottom right no-repeat;\r }
+#event .event-calendar .days {
+  background-image: none;
+  background-color: #fff;
+  border-bottom: 1px solid #BDCEE1;
+  padding: 4px 2px;
+  border: none;
+  text-align: center;
+}
+#event .event-calendar .day {
+  padding: 4px 4px 6px 6px;
+  margin: 0 0 4px 2px;
+}
+#event .event-calendar .event {
+  margin: 4px;
+}
+#event .event-calendar .event-empty {
+  min-height: 6em;
+  padding: 0;
+  margin: 0;
+}
+
+/* Event Formatting */
+
+.event .details {
+  padding: 0;
+ }
+.event .content:before {
+  content: "Event details: ";
+  display: block;
+ }
+.event .content:before, .event label {
+  font-size: 0.9em;
+  color: #004D81;
+ }
+.node .event .content {
+  border-left: 1.0em solid #CFE4F3;
+  margin: 0 1.0em 2.0em 1.0em;
+  padding-left: 1.5em;
+  border-top: none;
+  margin: 0;
+}
+.event .details .form-item, .node .event .details .form-item .title {
+  color: #c60;
+}
+.event .details .form-item .title {
+  display: inline;
+  padding-right: 0.2em;
+}
+  
+  /*</group>*/
+/*<group=Book>*/
+.book {
+  margin: 1em 0 1em 0;
+}
+.book .title {
+  margin-bottom:1em;
+}
+.book .tree {
+  padding-top:1em;
+  border-top: 1px solid #888;
+  padding-bottom: 1em;
+}
+.book .name {
+  padding-top:1em;
+}
+.book .nav {
+  border-top: 1px solid #888;
+  border-bottom: 1px solid #888;
+  padding-bottom: 3em;
+  padding-top: 1em;
+}
+.book .nav .prev {
+  float: left;
+  text-align: left;
+  width: 45%;
+}
+.book .nav .next {
+  float: right;
+  text-align: right;
+  width: 45%;
+}
+.book .nav .up {
+  text-align: center;
+}
+  
+/*</group>*/
+
+/*<group=Forum>*/
+
+/*** FORUM STYLE ***/
+div#forum table {
+  width: 100%;
+  margin-bottom: 1em;
+}
+#forum td {
+  padding: 0.5em 0.5em 0.5em 0.5em;
+  line-height: 1.2em;
+}
+#forum td.statistics, #forum td.settings, #forum td.pager {
+  height: 1.5em;
+  border: 1px solid #bbb;
+}
+#forum td.created, #forum td.posts, #forum td.topics, #forum td.last-reply, #forum td.replies, #forum td.pager {
+  white-space: nowrap;
+}
+#forum td.created, #forum td.posts, #forum td.topics, #forum td.last-reply, #forum td.replies, #forum td.pager {
+  white-space: nowrap;
+}
+#forum td.posts, #forum td.topics, #forum td.replies, #forum td.pager {
+  text-align: center;
+}
+#forum td.posts, #forum td.topics, #forum td.replies, #forum td.pager {
+  text-align: center;
+}
+div#forum table .topics,
+div#forum table .posts,
+div#forum table .last-reply {
+  width: 5%;
+}
+div#forum table .name,
+div#forum table .description,
+div#forum table .navigation,
+div#forum table .description {
+  margin: 0;
+}
+div#forum table th {
+  white-space: nowrap;
+}
+div#forum table .name {
+  margin: 0.5em;
+  margin: 0;
+}
+#forum .description, #forum .navigation, #forum .description {
+  margin: 0.5em;
+}
+div#forum table .topic {
+  width: 80%;
+}
+div#forum table .icon {
+  width: 20px;
+  text-align: center;
+}
+div#forum table .created,
+div#forum table .replies {
+  width: 5%;
+}
+  
+  /*</group>*/
+/*<group=HTMLArea>*/
+#main-content .htmlarea table {
+  width: auto;
+  border-width: 0;
+  margin-bottom: 0;  
+}
+#main-content .htmlarea tr td {
+  border-width: 0;
+  padding: 0;
+}  
+/*</group>*/
+/*<group=Aggregator>*/
+#aggregator .aggregator-date {
+  margin-bottom: 1em;
+}
+#aggregator .news-item {
+  padding-bottom: 1em;
+  margin-left: 2em;
+}
+#aggregator .news-item-body {
+  margin-top: 1em;
+  margin-left: 4em;
+}
+#aggregator td {
+  vertical-align: bottom;
+}
+#aggregator td.categorize-item {
+  white-space: nowrap;
+}
+#aggregator .categorize-item .news-item .body {
+  margin-top: 0;
+}
+#aggregator .categorize-item h3 {
+  margin-bottom: 1em;
+  margin-top: 0;
+}
+/*</group>*/
diff --git a/themes/democratica/node.tpl.php b/themes/democratica/node.tpl.php
new file mode 100644 (file)
index 0000000..f017604
--- /dev/null
@@ -0,0 +1,14 @@
+<div class="node<?php print ($sticky) ? " sticky" : ""; ?>"> \r
+  <?php if ($page == 0): ?> \r
+  <h2 class="page-title"><a href="<?php print $node_url ?>" rel="bookmark" title="Permanent Link to <?php print $title ?>"><?php print $title ?></a></h2> \r
+  <?php endif; ?> \r
+  <small><?php print $submitted ?></small> \r
+  <div class="content"> \r
+    <?php print $content ?> \r
+  </div> \r
+  <?php if ($links): ?>\r
+  <div class="links">\r
+  <?php if ($terms): ?> <span class="postmetadata">Posted in <?php print $terms ?></span> | <?php endif; ?><?php print $links ?> &#187;</p> \r
+  </div>\r
+  <?php endif; ?> \r
+</div>\r
diff --git a/themes/democratica/page.tpl.php b/themes/democratica/page.tpl.php
new file mode 100644 (file)
index 0000000..79c6ca3
--- /dev/null
@@ -0,0 +1,242 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html lang="<?php print $language ?>" xml:lang="<?php print $language ?>" xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title><?php print $head_title ?></title>
+ <?php print $head ?>
+ <style type="text/css" media="screen">
+  <!--
+    @import url(<?php print base_path() . path_to_theme() . "/basics.css" ?>);
+    @import url(<?php print base_path() . path_to_theme() . "/layout.css"; ?>);
+    @import url(<?php print base_path() . path_to_theme() . "/modules.css"; ?>);
+  // -->
+  </style>
+ <?php print $styles ?>
+</head>
+<?php
+$classes = array();
+$classes[] = 'layout-'. $layout;
+if ($_GET['q']) {
+  $classes[] = preg_replace('/\d+-/', '', str_replace('/', '-', $_GET['q']));
+}
+if (arg(1)) {
+  $classes[] = arg(0) . '-' . arg(1);
+}
+$classes[] = 'page-'. str_replace('/', '-', $_GET['q']);
+?>
+<body <?php print theme("onload_attribute"); ?> class="<?php print implode(' ', $classes) ?>">
+
+<!-- Accessibility & Search engine optimization -->
+<div class="hide">
+  <?php if ($site_name) : ?>
+    <h1><a href="<?php print url(); ?>/" title="Index Page"><?php print($site_name)?></a> <?php if ($mission != ""): ?> &mdash; <?php print($mission) ?><?php endif; ?></h1>
+  <?php endif;?>
+  <p>
+    <?php print l(t('Skip to content'), $_GET['q'],array('title' =>'Skip directly to the content'),NULL,'main-content',FALSE) ?>
+  </p>
+</div>
+
+<div id="outer-wrapper">
+
+<!-- START: BRANDING -->
+
+<div id="branding">
+  <?php if ($logo) : ?>
+    <div id="logo"><a href="<?php print url() ?>" title="Index Page"><img src="<?php print($logo) ?>" alt="<?php print($site_name) ?> Logo" /></a></div>
+  <?php else: ?>
+    <?php if ($site_name) : ?>
+      <h1 id="site-name"><a href="<?php print url() ?>" title="Index Page"><?php print($site_name) ?></a></h1>
+    <?php endif;?>
+  <?php endif;?>
+  <?php if ($site_slogan) : ?>
+    <div id="site-slogan"><?php print($site_slogan) ?></div>
+  <?php endif;?>
+</div>
+
+<hr class="hide" />
+
+<!-- END: BRANDING -->  
+
+ <div id="wrapper">
+  <div id="container">
+   <div id="content">
+
+<!-- START: LEFT REGION -->
+
+    <?php if ($sidebar_left != '') { ?>
+     <div class="sidebar" id="sidebar-left">
+          
+      <?php if ( $layout == "left" || "both" ): ?>          
+       <!-- START: NAVIGATION                -->
+
+        <div id="navigation">
+         <h2 class="hide">Site Navigation</h2>
+          <?php if (is_array($primary_links)) : ?>
+           <ul id="nav-primary">
+            <?php foreach ($primary_links as $link): ?>
+             <li><?php print $link?></li>
+            <?php endforeach; ?>
+           </ul>
+          <?php endif; ?>
+          <?php if (is_array($secondary_links) && (count($secondary_links) != 0)) : ?>
+           <ul id="nav-secondary">
+            <?php foreach ($secondary_links as $link): ?>
+             <li><?php print $link?></li>
+            <?php endforeach; ?>
+           </ul>
+          <?php endif; ?>
+         </div>
+
+         <hr class="hide" />
+
+         <!-- END: NAVIGATION                  -->  
+          <?php endif; ?>
+
+          <?php if ($search_box && $layout == "left" ): ?>
+           <!-- START: SEARCH                    -->  
+            <div class="block block-search" id="block-search">
+             <h2>Search this site</h2>
+              <div class="content">
+               <form action="<?php print $search_url ?>" method="post" id="search">
+                <input class="form-text" type="text" size="15" value="" name="edit[keys]" />
+                <input class="form-submit" type="submit" value="<?php print $search_button_text ?>" />
+                </form>          
+              </div>
+            </div>
+
+            <hr class="hide" />
+
+            <!-- END: SEARCH -->  
+          <?php endif; ?>
+
+          <?php print(word_split($sidebar_left, 15)); ?>
+        </div>
+        <?php } ?>
+
+<!-- END: LEFT REGION -->  
+
+
+<!-- START: CONTENT -->
+
+        <div id="main-content">
+            <?php if (($_GET['q']) != variable_get('site_frontpage','node')): /* this prevents breadcrumb from showing up on homepage */ ?>    
+              <?php if ($breadcrumb != ""): ?>
+                <div id="breadcrumbs">
+                  <?php print $breadcrumb;?>
+                </div>
+                <hr class="hide" />
+              <?php endif; ?>
+            <?php endif; ?>
+    
+            <?php if ($mission != ""): ?>
+              <div id="mission">
+                <?php print $mission ?>
+              </div>
+            <?php endif; ?>
+    
+            <?php if ($title != ""): ?>
+              <h1 class="page-title"><?php print $title ?></h1>
+            <?php endif; ?>
+
+            <?php if ($tabs != ""): ?>
+              <?php print $tabs ?>
+            <?php endif; ?>
+            
+            <?php if ($messages != ""): ?>
+              <div class="message"><?php print $messages ?></div>
+            <?php endif; ?>
+    
+            <?php if ($help != ""): ?>
+              <div id="help"><?php print $help ?></div>
+            <?php endif; ?>
+            
+            <div id="body-content">
+              <?php print $content ?>
+            </div>
+        </div>
+
+        <hr class="hide" />
+
+<!-- END: CONTENT -->  
+
+      </div><!-- end #content -->
+    </div><!-- end #container -->
+
+<!-- START: SECONDARY CONTENT -->
+<?php if ($sidebar_right != '') : ?>
+
+    <div class="sidebar" id="sidebar-right">
+      <?php if ( $layout == "right" ): ?>
+        <!-- START: NAVIGATION -->
+
+        <div id="navigation">
+          <h2 class="hide">Site Navigation</h2>
+        <?php if (is_array($primary_links)) : ?>
+          <ul id="nav-primary">
+          <?php foreach ($primary_links as $link): ?>
+            <li><?php print $link?></li>
+          <?php endforeach; ?>
+          </ul>
+        <?php endif; ?>
+
+        <?php if (is_array($secondary_links) && (count($secondary_links) != 0)) : ?>
+          <ul id="nav-secondary">
+          <?php foreach ($secondary_links as $link): ?>
+            <li><?php print $link?></li>
+          <?php endforeach; ?>
+          </ul>
+        <?php endif; ?>
+        </div>
+
+        <hr class="hide" />
+
+        <!-- END: NAVIGATION -->  
+      <?php endif; ?>
+
+      <?php if ($search_box && $layout == "right" || "both" ): ?>
+
+      <!-- START: SEARCH -->  
+      <div class="block block-search" id="block-search">
+        <h2>Search this site</h2>
+        <div class="content">
+          <form action="<?php print $search_url ?>" method="post" id="search">
+            <input class="form-text" type="text" size="15" value="" name="edit[keys]" />
+           <input class="form-submit" type="submit" value="<?php print $search_button_text ?>" />
+          </form>          
+        </div>
+      </div>
+
+      <hr class="hide" />
+
+      <!-- END: SEARCH -->  
+
+      <?php endif; ?>
+
+      <?php print(word_split($sidebar_right, 30)); ?>
+    </div>
+
+<?php endif;?>
+
+    <div class="clearing"></div>
+  </div><!-- end #wrapper -->
+
+  <hr class="hide" />
+
+<!-- END: SECONDARY CONTENT --> 
+
+
+<!-- START: NOTICES -->
+
+<div id="notices">
+<?php if ($footer_message) : ?>
+    <?php print $footer_message;?>
+<?php endif; ?>
+<?php print $closure;?>
+</div>
+
+<!-- END: NOTICES -->  
+
+</div><!-- end #outer-wrapper -->
+
+</body>
+</html>
diff --git a/themes/democratica/print/styles.css b/themes/democratica/print/styles.css
new file mode 100644 (file)
index 0000000..4d3f59a
--- /dev/null
@@ -0,0 +1,9 @@
+/* $Id: styles.css,v 1.1 2005/03/25 01:06:44 kbahey Exp $ */
+/* Democratica Print Styles */
+
+#branding, #navigation, .sidebar {
+  display: none;
+}
+img:after {
+  content: attr(alt)
+}
\ No newline at end of file
diff --git a/themes/democratica/screenshot-drupal.org.png b/themes/democratica/screenshot-drupal.org.png
new file mode 100644 (file)
index 0000000..b119dc2
Binary files /dev/null and b/themes/democratica/screenshot-drupal.org.png differ
diff --git a/themes/democratica/screenshot.png b/themes/democratica/screenshot.png
new file mode 100644 (file)
index 0000000..39b124c
Binary files /dev/null and b/themes/democratica/screenshot.png differ
diff --git a/themes/democratica/scripts/content_height.js b/themes/democratica/scripts/content_height.js
new file mode 100644 (file)
index 0000000..2fceb6b
--- /dev/null
@@ -0,0 +1,29 @@
+// borrowed from http://www.themaninblue.com/scripts/content_height.js\r
+\r
+\r
+\r
+function checkContentHeight()\r
+{\r
+       if (document.getElementById)\r
+       {\r
+               contentLeftHandle = document.getElementById("contentLeft");\r
+               contentRightHandle = document.getElementById("contentRight");\r
+       }\r
+       else if (document.all)\r
+       {\r
+               contentLeftHandle = document.all["contentLeft"];\r
+               contentRightHandle = document.all["contentRight"];\r
+       }\r
+\r
+       if (contentLeftHandle.scrollHeight < 200)\r
+       {\r
+               contentLeftHandle.style.height = "200px";\r
+       }\r
+\r
+       if (contentLeftHandle.scrollHeight < contentRightHandle.scrollHeight)\r
+       {\r
+               contentLeftHandle.style.height = contentRightHandle.scrollHeight + 50 + "px";\r
+       }\r
+\r
+       return;\r
+}\r
diff --git a/themes/democratica/scripts/scripts.js b/themes/democratica/scripts/scripts.js
new file mode 100644 (file)
index 0000000..581cd77
--- /dev/null
@@ -0,0 +1,233 @@
+//My top Javascripts for Designers 
+//See http://www.blakems.com/archives/000087.html for more info.
+
+//expandCollapse
+function expandCollapse() {
+       for (var i=0; i<expandCollapse.arguments.length; i++) {
+               var element = document.getElementById(expandCollapse.arguments[i]);
+               element.style.display = (element.style.display == "none") ? "block" : "none";
+       }
+}
+//Hide Timer
+var timerID;
+
+function ShowLayer(id) {
+  document.getElementById().style.display = "block"; 
+}
+
+function HideTimedLayer(id) {  
+       clearTimeout(timerID);
+       document.getElementById(id).style.display = "none";
+}
+
+function timedLayer(id) {
+  setTimeout("HideTimedLayer(\"" + id + "\")", 5000); //5000= 5 seconds
+}
+//error check
+function check_required(myForm) {
+       var requiredFields = myForm.required.value.split("|");
+       var errorString = '';
+       for (var i=0; i<requiredFields.length; i++) {
+               var parts = requiredFields[i].split(",");
+               var field = parts[0]; var title = parts[1];
+               for (var j=0; j<myForm.elements.length; j++) {
+                       var myElement = myForm.elements[j];
+                       var isNull = false;
+                       if (myElement.name == field && myElement.style.display != "none") {
+                               if (myElement.type == "select-one" || myElement.type == "select-multiple") {
+                                       if ((myElement.options[myElement.selectedIndex].value == null || myElement.options[myElement.selectedIndex].value == '') && errorString.indexOf(title) == -1) {
+                                               isNull = true;
+                                       }
+                               } else if ((myElement.value == null || myElement.value.search(/\w/) == -1) && errorString.indexOf(title) == -1) {
+                                       isNull = true;
+                               }
+                               
+                               if (isNull) {
+                                       errorString += title + ", ";
+                                       if (document.getElementById('label_'+myElement.name)) { document.getElementById('label_'+myElement.name).className="er"; }
+                                       myElement.className="erInput";
+                               } else {
+                                       if (document.getElementById('label_'+myElement.name)) {
+                                               document.getElementById('label_'+myElement.name).className="s1";
+                                       }
+                                       myElement.className="s1";
+                               }
+                       }
+               }
+       }
+       if (errorString != '') {
+               errorString = errorString.slice(0,errorString.length-2);
+               window.alert("Please fill in the following required fields before submitting this form:\n\n"+errorString)
+               return false;
+       }
+       else {
+               return true;
+       }
+}
+//Sons of Suckerfish http://www.htmldog.com/articles/suckerfish/dropdowns/
+sfHover = function() {
+       var sfEls = document.getElementById("nav").getElementsByTagName("LI");
+       for (var i=0; i<sfEls.length; i++) {
+               sfEls[i].onmouseover=function() {
+                       this.className+=" sfhover";
+               }
+               sfEls[i].onmouseout=function() {
+                       this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
+               }
+       }
+}
+if (window.attachEvent) window.attachEvent("onload", sfHover);
+
+//Style switcher http://www.alistapart.com/articles/alternate/
+function setActiveStyleSheet(title) {
+  var i, a, main;
+  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
+    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
+      a.disabled = true;
+      if(a.getAttribute("title") == title) a.disabled = false;
+    }
+  }
+}
+
+function getActiveStyleSheet() {
+  var i, a;
+  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
+    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
+  }
+  return null;
+}
+
+function getPreferredStyleSheet() {
+  var i, a;
+  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
+    if(a.getAttribute("rel").indexOf("style") != -1
+       && a.getAttribute("rel").indexOf("alt") == -1
+       && a.getAttribute("title")
+       ) return a.getAttribute("title");
+  }
+  return null;
+}
+
+function createCookie(name,value,days) {
+  if (days) {
+    var date = new Date();
+    date.setTime(date.getTime()+(days*24*60*60*1000));
+    var expires = "; expires="+date.toGMTString();
+  }
+  else expires = "";
+  document.cookie = name+"="+value+expires+"; path=/";
+}
+
+function readCookie(name) {
+  var nameEQ = name + "=";
+  var ca = document.cookie.split(';');
+  for(var i=0;i < ca.length;i++) {
+    var c = ca[i];
+    while (c.charAt(0)==' ') c = c.substring(1,c.length);
+    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
+  }
+  return null;
+}
+
+window.onload = function(e) {
+  var cookie = readCookie("style");
+  var title = cookie ? cookie : getPreferredStyleSheet();
+  setActiveStyleSheet(title);
+}
+
+window.onunload = function(e) {
+  var title = getActiveStyleSheet();
+  createCookie("style", title, 365);
+}
+
+var cookie = readCookie("style");
+var title = cookie ? cookie : getPreferredStyleSheet();
+setActiveStyleSheet(title);
+
+//Get element height & width 
+//See http://www.aspandjavascript.co.uk/javascript/javascript_api/get_element_width_height.asp
+//get height
+function getElementHeight(Elem) {
+       if (ns4) {
+               var elem = getObjNN4(document, Elem);
+               return elem.clip.height;
+       } else {
+               if(document.getElementById) {
+                       var elem = document.getElementById(Elem);
+               } else if (document.all){
+                       var elem = document.all[Elem];
+               }
+               if (op5) { 
+                       xPos = elem.style.pixelHeight;
+               } else {
+                       xPos = elem.offsetHeight;
+               }
+               return xPos;
+       } 
+}
+
+// get width
+function getElementWidth(Elem) {
+       if(document.getElementById) {
+               var elem = document.getElementById(Elem);
+       } else if (document.all){
+               var elem = document.all[Elem];
+       }
+       if (op5) {
+               xPos = elem.style.pixelWidth;
+       } else {
+               xPos = elem.offsetWidth;
+       }
+       return xPos;
+}
+// from http://www.quirksmode.org/dom/getstyles.html
+function getOff(el) {
+       if (!document.createElement)
+       {
+               alert('This script won\'t work in your browser.');
+               return;
+       }
+       x = document.getElementById(el);
+       return x.offsetWidth;
+}
+
+function changeOff(amount) {
+       var y = getOff();
+       x.style.width = y + amount;
+}
+
+function movePar(el,newEl) {
+       if (!document.createElement)
+       {
+               alert('This script won\'t work in your browser.');
+               return;
+       }
+       var x = document.getElementById(el);
+       document.getElementById(newEl).appendChild(x);
+}
+
+function getStyle(el,styleProp) {
+       var x = document.getElementById(el);
+       if (window.getComputedStyle)
+               var y = window.getComputedStyle(x,null).getPropertyValue(styleProp);
+       else if (x.currentStyle)
+               var y = eval('x.currentStyle.' + styleProp);
+       return y;
+}
+
+function prepare() {
+       if (!document.createElement)
+       {
+               alert('This script won\'t work in your browser.');
+               return;
+       }
+       var z = document.forms[0].prop.value;
+       if (z) var y = getStyle('test',z);
+       alert(z + ' = ' + y);
+}
+
+
+function fixTableWidths() {
+  
+  
+}
\ No newline at end of file
diff --git a/themes/democratica/scripts/style_switcher.js b/themes/democratica/scripts/style_switcher.js
new file mode 100644 (file)
index 0000000..a3ae367
--- /dev/null
@@ -0,0 +1,64 @@
+function setActiveStyleSheet(title) {
+  var i, a, main;
+  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
+    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
+      a.disabled = true;
+      if(a.getAttribute("title") == title) a.disabled = false;
+    }
+  }
+}
+
+function getActiveStyleSheet() {
+  var i, a;
+  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
+    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
+  }
+  return null;
+}
+
+function getPreferredStyleSheet() {
+  var i, a;
+  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
+    if(a.getAttribute("rel").indexOf("style") != -1
+       && a.getAttribute("rel").indexOf("alt") == -1
+       && a.getAttribute("title")
+       ) return a.getAttribute("title");
+  }
+  return null;
+}
+
+function createCookie(name,value,days) {
+  if (days) {
+    var date = new Date();
+    date.setTime(date.getTime()+(days*24*60*60*1000));
+    var expires = "; expires="+date.toGMTString();
+  }
+  else expires = "";
+  document.cookie = name+"="+value+expires+"; path=/";
+}
+
+function readCookie(name) {
+  var nameEQ = name + "=";
+  var ca = document.cookie.split(';');
+  for(var i=0;i < ca.length;i++) {
+    var c = ca[i];
+    while (c.charAt(0)==' ') c = c.substring(1,c.length);
+    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
+  }
+  return null;
+}
+
+window.onload = function(e) {
+  var cookie = readCookie("style");
+  var title = cookie ? cookie : getPreferredStyleSheet();
+  setActiveStyleSheet(title);
+}
+
+window.onunload = function(e) {
+  var title = getActiveStyleSheet();
+  createCookie("style", title, 365);
+}
+
+var cookie = readCookie("style");
+var title = cookie ? cookie : getPreferredStyleSheet();
+setActiveStyleSheet(title);
diff --git a/themes/democratica/style.css b/themes/democratica/style.css
new file mode 100644 (file)
index 0000000..b975d6d
--- /dev/null
@@ -0,0 +1,925 @@
+/* $Id: style.css,v 1.2 2006/10/05 23:02:46 kbahey Exp $ */
+/* Democratica Visual Styles */
+
+/*<group=Site Specific Information>*/
+
+#branding {
+  padding: 0;
+  margin: 0;
+  border-bottom: 1px solid #1395D2;
+  background: url(images/bg_branding.png) repeat-x top left;
+}
+#branding a:hover {  
+  background-color: transparent; 
+}
+#site-name {
+  margin: 4px 0 0 4px;
+  padding-top: 1.0em;
+}
+#logo  {
+  padding: 1.0em 0 4px;
+}
+#site-slogan { 
+  clear: right;
+  float: right;
+  margin: -1.5em 0 0 0;
+  padding: 0 8px 2px 0;
+}
+#site-slogan span {
+  margin:0;
+  padding: 6px 6px 2px 170px;
+}
+#mission {
+  vertical-align: middle;
+  padding: 1.0em;
+  padding-right: 120px; /* makes room for bg graphic */
+  margin: 0 0 1.0em 0;
+  min-height: 30px;
+  border: 1px solid #466A8D;
+  border-right-color: #5D8CBA;
+  border-bottom-color: #5D8CBA;
+  background: #69C url(images/bg_mission.png) top right no-repeat;
+  _background-image: url(images/bg_mission_ie.png) !important;
+}  
+  /*</group>*/
+/*<group=Navigation>*/
+/*<group=Drupal Tabs>*/
+ul.primary {
+  border-collapse: collapse;
+  padding: 0 0 0 1em;
+  white-space: nowrap;
+  list-style: none;
+  margin: 0 5px 1.0em;
+  height: auto; 
+  line-height: normal;
+  border-bottom: 1px solid #bbb;
+}
+ul.primary li {
+  display: inline;
+  margin: 0;
+  padding: 0;
+}
+ul.primary li a {
+  background-color: #ddd;
+  border-color: #bbb;
+  border-width: 1px;
+  border-style: solid solid none solid;
+  -moz-border-radius-topleft: 0.3em;
+  -moz-border-radius-topright: 0.3em;
+  height: auto;
+  margin: 0;
+  padding: 0;
+  margin-right: 0.5em;
+  padding: 0em 1em;
+  text-decoration: none;
+}
+ul.primary li.active a {
+  background-color: #fff;
+  border: 1px solid #bbb;
+  border-bottom: #fff 1px solid;
+}
+ul.primary li a:hover {
+  background-color: #eee;
+  border-color: #ccc;
+  border-bottom-color: #eee;
+}
+ul.secondary {
+/*  border-bottom: 1px solid #bbb; */
+  padding: 0.5em 1em 0.5em 1em;
+  margin: 5px;
+}
+ul.secondary li {
+  display: inline;
+  padding: 0 1em;
+  border-right: 1px solid #ccc;
+}
+ul.secondary a {
+  padding: 0;
+  text-decoration: none;
+}
+ul.secondary a.active {
+  border-bottom: 4px solid #999;
+}
+
+/*</group>*/
+/*<group=Primary Navigation>*/
+
+#navigation #nav-primary, #navigation #nav-secondary {
+  margin: 0;
+  margin-top: 12px;
+  padding: 0;
+}
+#navigation #nav-primary ul {
+  list-style-type: none; 
+}
+#navigation #nav-primary li {
+  list-style: none; 
+}
+#navigation li {
+  padding: 0;
+  margin: 0 0 2px 6px;
+}
+#navigation #nav-primary a {
+  border-bottom: 1px solid #bbb;
+}
+body.layout-right #navigation #nav-primary a {
+  border-bottom-color: #f0f5fa;
+}
+#navigation a {
+  padding: 1px 0;
+  _height: 0; /* fixes double height in IE */
+}
+#navigation a, .menu a {
+  display: block;
+}
+/*</group>*/
+
+/*<group=Secondary Navigation>*/
+#navigation ul#nav-secondary {
+  margin-left: 1.0em;
+  list-style: outside !important;
+  list-style-type: square !important; 
+}
+#navigation ul#nav-secondary li {
+  list-style: outside !important;
+  list-style-type: square !important; 
+}
+/*</group>*/
+/*<group=Breadcrumbs>*/
+
+#main-content #breadcrumbs {
+  padding: 0.5em 0;
+  margin: 0;
+  _height: 0;
+}
+#main-content #breadcrumbs ul {
+  list-style: none;
+  margin: 0;
+  padding: 0;
+}
+#main-content #breadcrumbs li {
+  display: inline;
+  _padding-left: 1.0em; 
+  _margin-left: 0.5em; 
+}
+#main-content #breadcrumbs li.first {
+  background: none; 
+  padding-left: 0; 
+  margin-left: 0; 
+}
+/*</group>*/
+  /*</group>*/
+/*<group=Notices>*/
+
+#notices a:hover {
+  background-color: transparent;
+}  
+  /*</group>*/
+/*<group=Search>*/
+
+#search {
+  padding-bottom: 1.0em;
+}
+#search .form-text, #search .form-submit {
+  margin: 0;
+}
+#search .form-text {
+  margin-right: 1.0em;
+}
+  /*</group>*/
+/*<group=Messages>*/
+.message {
+  padding: 0;
+  margin: 0.5em 1.25em;
+}
+form #message {
+  background-image: none; 
+}
+.description, #help, .messages  {
+  padding: 0.75em;
+  margin: 1.0em 0;
+  line-height: 1.4em;
+  border-width: 2px 0;
+  border-style: solid;
+  _height: 0;
+}
+.messages ul {
+  padding: 0;
+  margin: 0;
+}
+/*<group=Status>*/
+.status {
+  background: url(images/bg_message.png) repeat;
+  border: 2px solid #80FF00;
+}  
+#main-content .status ul li {
+  background: url(images/icon_status_sm.png) 0 4px no-repeat; 
+  padding-left: 15px; 
+  list-style: none; 
+  line-height: 1.5em;
+  padding-bottom: 0.25em;
+}
+/*</group>*/
+/*<group=Description>*/
+.description {
+  border-width: 1px 0;
+  border-style: dotted;
+  border-color: #999;
+}
+.description:before {
+  content: url(images/icon_description.png);
+  vertical-align: middle;
+  padding-right: 4px;
+}
+/*</group>*/
+/*<group=Help>*/
+
+#help { 
+  cursor: help;
+  background: url(images/bg_help.png) repeat;
+  border-color: #fc0;
+}
+#help:before {
+  content: url(images/icon_help.png);
+  vertical-align: middle;
+  padding-right: 4px;
+}
+/*</group>*/
+/*<group=Error>*/
+.error, .form-item input.error {
+  border-color: #BE0101;
+}    
+.error {
+  background: url(images/bg_error.png) repeat;
+}
+td .error {
+  background-image: none;
+}
+.error:before {
+  content: url(images/icon_error.png);
+  vertical-align: middle;
+}
+td .error:before {
+  padding-right: 4px;
+}
+
+.form-item input.error {
+  background-image: none;
+}    
+/*</group>*/
+#message .item-list, .item-list h3 {
+  margin-top: 0; 
+}
+/*</group>*/  
+
+/*<group=Main Content>*/
+h1.page-title {
+  margin-top: 0.25em;
+  border-bottom: 1px solid #BE0101;
+  _height: 0; /* this fixes the disappearing titles with the exploding textarea fix */
+}
+#content-title, .node .page-title {
+  padding-bottom: 5px;
+  margin-bottom: 1.0em;
+  border-bottom: 1px dotted #be734d;
+  _height: 0; /* this fixes the disappearing titles with the exploding textarea fix */
+  position: relative;
+}
+#body-content {
+/*
+  _overflow: auto;
+  _width: expression( ( documentElement.clientWidth < 760 ) ? "300px" : "auto" ); */ /* IE min-width hack */
+}
+#main-content {
+  padding: 0;
+  margin: 0;
+}
+#main-content h2 {
+  padding: 0;
+  padding-bottom: 0.25em;
+  margin: 0.25em 0;
+  border-bottom: 1px solid #3579B2;
+}
+#main-content h2 a {
+  border-bottom: none;
+  display: block;
+}
+#main-content .node {
+  margin: 0;
+  margin-bottom: 1.0em;
+}
+#main-content .node .content, .comment .content, .comment, .comment-folded {
+  padding: 0.5em;
+  margin: 0.5em 0;
+  line-height: 1.5em;
+/*  overflow: auto;*/
+}
+#main-content .node .content {
+  padding: 5px 0;
+  margin: 0;
+}
+#main-content .node .info {
+  margin: 1.0em 0;
+  margin-top: 0;
+}
+
+/*<group=Profile Styles>*/
+.profile {
+  _position: relative;
+  _height: 1%;
+  clear: none; /* override drupal.css clear:both which causes whitespace */
+}
+.picture {
+  _position: relative;
+  _height: 1%;
+}
+.picture img {
+  padding: 2px;
+  border: 1px solid #ebebeb;
+  background-color: #fff;
+}
+.profile .picture {
+  margin: 0 0 1em 1em;
+}
+/*</group>*/
+
+/*<group=Book Styles>*/
+.node-add #main-content .node .book .nav, .node-edit #main-content .node .book .nav {
+  display: none;
+}  
+/*</group>*/
+
+/*<group=Post Links>*/
+
+#main-content .node .links, #main-content .comment .links {
+  padding: 2px 10px 0;
+  margin: 0 0 0.5em 0;
+  border-top: 1px dotted #3579B2;
+  text-align: right;
+}
+#main-content .links {
+  margin-bottom: -0.01em;
+  clear: none;
+  _height: 0;
+}
+#main-content .links .read-more {
+  background: transparent;
+}
+/*</group>*/
+/*<group=Box Formatting>*/
+
+#main-content .box {
+  background-color: #EDF3F9; 
+  border: 1px solid #CFE4F3;
+  padding: 0;
+  margin: 0 0 2.0em 0;
+}
+#main-content .box h2 {
+  margin: 0 0 0.5em 0;
+  background-color: #CFE4F3;
+  border-bottom: 1px dotted #3579B2;
+}
+#main-content .box .content, #main-content .box h2 {
+  padding: 0.5em;
+}
+/*</group>*/
+
+/*<group=Comment Formatting>*/
+.comment {
+  border: 2px solid #fff;
+}
+.comment:hover {
+  background-color: #ffe;
+  border: 2px solid #fec;
+}
+/*</group>*/  
+
+
+/*<group=Comments & Book Previews>*/ 
+#main-content .comment .content {
+  padding: 0;
+}
+/** Borrowed from 37 Signals **/ 
+.comment-reply #main-content .comment-new .content, .node-add #main-content .node .content, .node-edit #main-content .node .content {
+  padding: 0 10px 5px;
+  _height: 0;
+}
+.comment-folded .new, .comment .new {
+  float: right;
+  margin: 5px 5px 0 0;
+}
+.comment-reply .comment-new, .node-add #main-content .node, .node-edit #main-content .node {
+  padding: 0;
+  padding-bottom: 5px;
+  border: 2px solid #ef9c00;
+  margin: 0 0 1.0em 0;
+  background-color: #ffc;
+}
+.comment-reply .comment-new .title, .node-add #main-content .node h2, .node-edit #main-content .node h2 {
+  background-color: #ff6;
+  border-bottom: 1px solid #000;
+}
+.comment-reply .comment-new .author, .node-add #main-content .node .info, .node-edit #main-content .node .info  {
+  background-color: #ffc;
+  padding: 0 10px;
+}
+.comment .author, span.credit, .node-add #main-content .node .info, .node-edit #main-content .node .info {
+  padding-bottom: 0.5em;
+}
+.comment-reply #main-content .comment-new .links, .node-add #main-content .node .links, .node-edit #main-content .node .links {
+  display: none;
+}
+.comment-reply .comment-new .title, .comment-folded .subject, .node-add #main-content .node h2, .node-edit #main-content .node h2 {
+  margin: 0;
+  padding: 5px 10px;
+  border: none;
+}
+/*</group>*/
+
+/*</group>*/ 
+/*<group=Sidebar>*/
+/*<group=General Styles>*/
+
+.sidebar {
+  padding: 0;
+  margin: 0;  
+}
+.sidebar table, .sidebar th, .sidebar td {
+  border: 0;
+}
+.sidebar .block h2 {
+  padding: 5px;
+  margin: 0;
+  margin-top: 1.0em;
+  color: #3579B2;
+}
+.sidebar .block {
+  margin-left: 0;
+  padding: 0;
+}
+.sidebar .block ul {
+  margin: 0;
+  padding: 0 0 0.25em 0.5em;
+}
+.sidebar .block .content {
+  padding: 0;
+  margin: 0 6px;
+  /** delta: remove clear:both; **/
+}
+.xml-icon {
+  text-align: right;
+  margin-top: 0.5em;
+}
+.sidebar .block .content .xml-icon {
+  text-align: center;
+}
+.sidebar .block input.form-text, .sidebar .block-search input.form-password {
+  width: 125px;
+}
+.sidebar .block-search input.form-text {
+  width: 100px;
+  padding: 1px;
+  margin-right: 5px;
+}
+.sidebar .block-search button.form-submit { 
+  width: 60px;
+}
+/*</group>*/
+/*<group=Right Sidebar>*/
+
+#sidebar-right {
+  padding-top: 6px; 
+  _height: 0;
+}
+#sidebar-right .block {
+  width: 247px;
+  background: repeat-y left top url(images/sidebar_box_bg.png);
+  padding: 0;
+  margin: 0;
+  margin-left: 16px;
+}
+#sidebar-right .block h2 {
+  background: no-repeat top left url(images/sidebar_box_top.png);  
+  padding: 0.8em 1.0em 0.5em 1.0em;
+  margin: 0;
+}
+#sidebar-right .block .content {
+  background: no-repeat bottom url(images/sidebar_box_bottom.png);  
+  margin: 0;
+  padding: 0 1.0em 12px 1.0em;
+}
+#sidebar-right .block .more-link {
+  text-align: right;
+}
+#sidebar-right .block .more-link a {
+  background: url(images/bullet_triangle.png) 1px 4px no-repeat; 
+  padding-left: 9px; 
+}
+/*</group>*/
+/*<group=Sidebar Left>*/
+#sidebar-left .block h2 {
+  color:  #004D81;
+  padding: 0;
+  margin: 1.5em 0 0 0.5em;
+}
+   
+/*</group>*/
+/*<group=Block User>*/
+
+/*  Block User */  
+.block-user .menu li.expanded, .block-user .menu li.leaf, .block-user .menu li.collapsed {
+  list-style-type: none;
+  list-style-image: none;
+}
+.block-user .menu {
+  margin-bottom: 1.0em;
+  background-color: #f1f1f1;
+}
+.block-user .menu, .block-user .menu ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.block-user .menu ul {
+  padding: 0.3em 0;
+  border-left: 1px solid #D0D9D9;
+  border-bottom: 1px solid #D0D9D9;
+  margin-top: 0.2em;
+  _margin-left: -0.5em;
+  _width: 140px;
+  _overflow: hidden;
+}
+.block-user .menu ul ul {
+  margin-top: 0.3em;
+}
+.block-user .menu li {
+  display: block;
+  padding: 0.1em 0 0.1em 10px;
+  margin: 0;
+}  
+.block-user .menu li.expanded {
+  background: url(images/icons_expanded.png) 0px 3px no-repeat;
+}
+.block-user .menu li.leaf {
+  background: url(images/icons_leaf.png) 0px 3px no-repeat;
+}
+.block-user .menu li.collapsed {
+  background: url(images/icons_collapsed.png) 0px 3px no-repeat;
+}
+.block-user .menu li.expanded:hover {
+  background-position: -400px 3px ;
+}
+.block-user .menu li.leaf:hover {
+  background-position: -400px 3px;
+}
+.block-user .menu li.collapsed:hover {
+  background-position: -400px 3px;
+}
+.block-user .menu li a {
+  display: block;
+  padding: 0;
+  padding-left: 10px;
+  margin: 0;
+  text-decoration: none;  
+}
+.block-user .menu li a.active {
+  font-weight: bold;
+}
+.block-user .menu li a:hover {
+  text-decoration: underline;
+}
+/*</group>*/
+  
+  /*</group>*/
+/*<group=Tables>*/
+
+#main-content table {
+  width: 93%;
+  padding: 0;
+  margin: 0;
+  margin-bottom: 1.0em;  
+}
+.admin #main-content table tr td {
+  padding: 2px 4px;
+}
+#main-content tr td, #tracker td {
+  border: solid #BDCEE1;
+  border-width: 0 1px 1px 0;
+  padding: 4px 8px;
+  margin: 0;  
+  vertical-align: top;
+}
+#main-content th {
+  padding: 4px;
+  border: 0;
+  border-bottom: 1px solid #BDCEE1;
+  text-align: center;
+  vertical-align: middle;
+  background-color: #fff;
+}
+/*<group=Logs>*/
+.admin-logs tr.odd td.active {
+  background-color: #E0E0E0;
+}
+.admin-logs tr.even td.active {
+  background-color: #D9D9D9;
+}
+/*</group>*/
+/*<group=Tracker>*/
+#tracker td.replies {
+  text-align: center;
+}
+
+#tracker table {
+  width: 99%;
+  border-collapse: collapse;
+}
+#tracker tr.even td, tr.even td {
+  background-color: #e7e7e7; 
+}
+#tracker tr.odd td, tr.odd td {
+  background-color: #efefef; 
+}
+#tracker td ul {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+/*</group>*/
+  /*</group>*/
+
+/*<group=Forms>*/
+/*<group=Fieldsets>*/
+fieldset {
+  border-style: solid;
+  border-color: #999;
+  border-width: 0 1px 1px 0;
+  background-color: #f7f7f7;
+  margin-bottom: 1em;
+  padding: 1.0em 0.5em;
+  _padding-top: 0;
+}
+fieldset:focus {
+  background-color: #efefef;
+}
+legend {
+  padding-left: 2px;
+  padding-right: 2px;
+  border: none;
+}
+form {
+  margin: 0;
+  padding: 0;
+}
+#body-content form {
+  _width: 99%;
+}
+#node-form, .comment-reply form {
+  _width: 93%; /* causes page-titles in IE to disappear but fixes exploding textareas */
+}
+/*</group>*/
+/*<group=Inputs & Buttons>*/
+input.page-title {
+  margin: 0; 
+}
+input.required, textarea.required {
+  background-color: #F1DFDE;  
+  _background-color: #fff;
+}
+input.required:focus, textarea.required:focus {
+  background-color: #fff;  
+}
+select {
+  background-color: #fff;
+  color: inherit;
+  margin: 0 5px;
+}
+#main-content input:focus, #main-content textarea:focus {
+  border-color: #7EADD9;
+}
+#main-content form .form-text,
+#main-content form textarea,
+#main-content .node-form textarea,
+#main-content textarea#edit-trackback_urls {
+  width: 93%;
+}
+#main-content form input[name="recipient"] {
+  width: 93%;
+}
+
+.form-radio, .form-checkbox {
+  background-color: transparent;
+  border: 0;  
+}
+button.form-submit {
+  border: solid 1px #ddd;
+  margin: 0;
+  padding: 0;
+}
+   
+/*</group>*/
+
+/*<group=Labels>*/
+label input {
+  vertical-align: middle;
+}
+label:hover, .form-item label {
+  cursor: pointer;
+}
+#main-content label:hover {
+  background-color: #ffc;
+  border-color: #fc0;
+  border-style: solid;
+  border-width: 1px 0;
+  padding: 2px 0;
+}
+#main-content table .form-item label:hover {
+  background-color: transparent;
+  border-style: none;
+}
+  /*</group>*/
+form {
+  padding: 0;
+  margin: 0;
+}
+.form-item {
+  margin-bottom: 1.0em;
+}
+h3.form-title {
+  text-align: left;
+}
+/*<group=User Login Block>*/
+.user-login-block .form-item label {
+  margin: 0;
+  padding: 0;
+}
+#sidebar-left .user-login-block #edit-name, #sidebar-left .user-login-block #edit-pass {
+  width: 130px;
+  margin: 0; 
+}
+#sidebar-right .user-login-block #edit-name, #sidebar-right .user-login-block #edit-pass {
+  width: 220px;
+  margin: 0; 
+} 
+.user-login-block .form-item {
+  margin: 0;
+  margin-bottom: 0.8em;
+  padding: 0;
+  text-align: left; 
+}
+/*</group>*/
+
+  /*</group>*/
+
+/*<group=Lists>*/
+li.leaf {
+  list-style-type: none;
+}
+#body-content ul {
+  padding: 0; 
+  margin: 0; 
+}
+#main-content #breadcrumbs ul li, #body-content ul li, .block-blog ul li {
+  background: url(images/bullet_triangle.png) 1px 4px no-repeat; 
+  padding-left: 9px; 
+  list-style: none; 
+  line-height: 1.4em;
+  padding-bottom: 0.25em;
+}
+/*<group=Input Formats>*/
+#main-content ul.tips li {
+  background-position: -1000em;
+  padding: 0;
+  margin-left: 2.25em;
+}  
+/*</group>*/
+/*<group=Filter Tips>*/
+
+ul.filter-tips-short {
+  line-height: 1.0em;
+  margin: 0;
+  padding: 0;
+}
+.filter-tips-short li, .more-tips {  
+  margin: 0;
+  padding: 0;
+}
+/*</group>*/
+/*<group=Item Lists>*/
+
+.item-list {
+  margin: 0 0 0.5em 0;
+}
+.item-list .icon {
+  padding-left: 0.25em;
+}
+.item-list .icon img, .item-list .title {
+  border: 0;
+}
+.item-list ul {
+  list-style: none;
+  margin: 0.3em 0 0.5em 0;
+  padding: 0
+}
+.item-list ul > ul {
+  margin: 0;
+  padding: 0
+}
+.item-list ul.sub-list {
+  list-style: none;
+  margin: 0 0 0.75em 25px;
+  padding: 0
+}
+.item-list ul li {
+  margin: 0 0 0.25em 1.0em;
+  padding: 0 0 0 15px;
+  line-height: 1.3em;
+  list-style: none;
+}
+.sidebar .item-list ul li {
+  margin: 0 0 0.25em 2px;
+  list-style: none;
+}
+/*</group>*/
+  
+  /*</group>*/
+/*<group=Salvaged Drupal.css Styles>*/
+/*<group=Permissions>*/
+
+#permissions td.module {
+  font-weight: bold;
+}
+#permissions td.permission {
+  padding-left: 2em;
+}
+/*</group>*/
+/*<group=Watchdog>*/
+tr.watchdog-user {
+  background-color: #EFEAC9;
+  border: 0;
+}
+tr.watchdog-user .active {
+  background-color: #eed;
+}
+tr.watchdog-special {
+  background-color: #C9DCEF;
+  border: 0;
+}
+tr.watchdog-special .active {
+  background-color: #cce;
+}
+tr.watchdog-warning {
+  background-color: #fda;
+}
+tr.watchdog-warning .active {
+  background-color: #ec9;
+}
+tr.watchdog-httpd {
+  background-color: #ffe0e0;
+  border-width: 1px 0;
+  border-color: #f99;
+}
+tr.watchdog-httpd .active {
+  background-color: #cec;
+}
+tr.watchdog-error {
+  background-color: #ffe0e0;
+  border-width: 1px 0;
+  border-color: #be0101;
+}
+tr.watchdog-error .active {
+  background-color: #eeb9b9;
+}
+/*</group>*/
+
+th.active img {
+  display: inline;
+}
+tr.even, tr.odd {
+  background-color: #eee;
+  border-bottom: 1px solid #ccc;
+}
+tr.even, tr.odd {
+  padding: 0.1em 0.6em;
+}
+td.active {
+  background-color: #ddd;
+}
+img.screenshot {
+  border: 1px solid #808080;
+  display: block;
+  margin: 2px;
+}
+.more-help-link {
+  text-align: right;
+}
+.path {
+  padding-bottom: 0.7em;
+}
+.container-inline div {
+  display: inline;
+}
+.container-inline .form-submit {
+  margin: 0;
+}
+  
+/*</group>*/
\ No newline at end of file
diff --git a/themes/democratica/template.php b/themes/democratica/template.php
new file mode 100644 (file)
index 0000000..0221d24
--- /dev/null
@@ -0,0 +1,179 @@
+<?php
+
+/*******************************************************************************
+
+Author:                Christopher Messina
+Created:       2004-11-02
+Updated: 2005-02-15
+Copyright:     (cc) Share alike 2005, some rights reserved.
+
+  Thanks to cxj and moshe in #drupal for their help.
+
+*******************************************************************************/
+
+function phptemplate_breadcrumb($breadcrumb) {
+  $breadcrumb[] = drupal_get_title();
+  return "<div class=\"hide\">You are here:</div>\n<ul>\n<li class=\"first\">". implode("</li>\n<li>", $breadcrumb) ."</li>\n</ul>\n";
+}
+
+function phptemplate_xml_icon($url) {
+  $dir = base_path() . path_to_theme() . '/images/rss.png';
+  if ($image = theme('image', $dir, t('XML feed'), t('XML feed'))) {
+    return '<div class="xml-icon"><a href="'. $url .'" title="Subscribe to RSS feed">'. $image .'</a></div>';
+  }
+} 
+
+function _word_split($text) {
+  global $democratica_word_length;
+  return preg_replace('/([^ ]{'. $democratica_word_length .'})(?=[^ ])/u', '\1-<wbr />', $text[0]);
+}
+
+function word_split($text, $max_char = 15) {
+  global $democratica_word_length;
+  $democratica_word_length = $max_char;
+  return substr(preg_replace_callback('/>[^<]+</', '_word_split', '>'. $text .'<'), 1, -1);
+}
+
+function phptemplate_comment_thread_min($comment, $threshold, $pid = 0) {
+  if (comment_visible($comment, $threshold)) {
+    $output  = "<dl>\n";
+    $output .= theme('comment_view', $comment, '', 0);
+    $output .= "</dl>\n";
+  }
+  return $output;
+}
+
+function phptemplate_comment_thread_max($comment, $threshold, $level = 0) {
+  $output = '';
+  if ($comment->depth) {
+    $output .= "<dl>\n";
+  }
+
+  $output .= theme('comment_view', $comment, theme('links', module_invoke_all('link', 'comment', $comment, 0)), comment_visible($comment, $threshold));
+
+  if ($comment->depth) {
+    $output .= "</dl>\n";
+  }
+  return $output;
+}
+
+
+function phptemplate_status_messages() {
+  if ($data = drupal_get_messages()) {
+    $output = '';
+    foreach ($data as $type => $messages) {
+      $output .= "<div class=\"messages $type\">\n";
+        $output .= " <ul>\n";
+        foreach($messages as $message) {
+          $output .= '  <li>'. $message ."</li>\n";
+        }
+        $output .= " </ul>\n";
+      $output .= "</div>\n";
+    }
+    return $output;
+  }
+} 
+
+function phptemplate_aggregator_page_item($item) {
+  static $last;
+
+  $date = date('Ymd', $item->timestamp);
+  if ($date != $last) {
+    $last = $date;
+    $output .= '<h2 class="aggregator-date">'. date('F j, Y', $item->timestamp) ."</h2>\n";
+  }
+
+  $output .= "<div class=\"news-item\">\n";
+  $output .= " <h3 class=\"news-item-title\"><a href=\"$item->link\">$item->title</a></h3>\n";
+  if ($item->ftitle && $item->fid) { $output .= '  <div class="news-item-source"> Source: '. l($item->ftitle, "aggregator/sources/$item->fid") .' @ <span class="news-item-date">'. date('H:i', $item->timestamp) ."</span>\n</div>\n"; }
+  $output .= " <div class=\"news-item-body\">\n";
+  if ($item->description) {
+    $output .= "  <div class=\"news-item-description\">$item->description</div>\n";
+  }
+
+  $result = db_query('SELECT c.title, c.cid FROM {aggregator_category_item} ci LEFT JOIN {aggregator_category} c ON ci.cid = c.cid WHERE ci.iid = %d ORDER BY c.title', $item->iid);
+  $categories = array();
+  while ($category = db_fetch_object($result)) {
+    $categories[] = l($category->title, 'aggregator/categories/'. $category->cid);
+  }
+  if ($categories) {
+    $output .= '  <div class="news-item-categories">'. t('Categories') .': '. implode(', ', $categories) ."</div>\n";
+  }
+
+  $output .= " </div>\n";
+  $output .= "</div>\n";
+
+  return $output;
+} 
+
+/*
+function phptemplate_menu_item($mid) {
+  $menu = menu_get_menu();
+
+  $link_mid = $mid;
+  while ($menu['items'][$link_mid]['type'] & MENU_LINKS_TO_PARENT) {
+    $link_mid = $menu['items'][$link_mid]['pid'];
+  }
+
+  $class = array();
+  $local_tasks = menu_get_local_tasks();
+  if (menu_in_active_trail($mid)) {
+    $class = array('class' => 'current');
+  }
+
+  return l($menu['items'][$mid]['title'],
+           $menu['items'][$link_mid]['path'],
+           array_key_exists('description', $menu['items'][$mid]) ? array_merge($class, array("title" => $menu['items'][$mid]['description'])) : $class);
+} 
+
+function phptemplate_menu_local_task($mid, $active) {
+  $local_tasks = menu_get_local_tasks();
+  $pid = menu_get_active_nontask_item();
+  $menu = menu_get_menu();
+  if ($active) {
+    if ($menu['items'][$mid]['children'][0] == menu_get_active_item()) {
+      $output = '<li class="active"><span>'. $menu['items'][$mid]['title'] .'</span>';      
+    }
+    else {
+      $output = '<li class="active">'. theme('menu_item', $mid) ."</li>\n"; 
+    }
+    foreach ($local_tasks[$pid]['children'] as $mid) {
+      if (menu_in_active_trail($mid) && count($local_tasks[$mid]['children']) > 1) {
+        $output .= "<ul class=\"secondary\">\n";
+        foreach ($local_tasks[$mid]['children'] as $cid) {
+          $output .= theme('menu_local_task', $cid, 0);
+        }
+        $output .= "</ul>\n";
+      }
+    }
+    $output .= "</li>\n";
+    return $output;
+  }
+  else {
+    if (menu_in_active_trail($mid)) {
+      return '<li class="active"><span>'. $menu['items'][$mid]['title'] ."</span></li>\n";
+    }
+    else {  
+      return '<li>'. theme('menu_item', $mid) ."</li>\n";
+    }
+  }
+} 
+
+function phptemplate_menu_local_tasks() {
+  $local_tasks = menu_get_local_tasks();
+  $pid = menu_get_active_nontask_item();
+  $output = '';
+
+  if (count($local_tasks[$pid]['children'])) {
+    $output .= "<div id=\"local-tasks\">\n";
+    $output .= "  <ul class=\"primary\">\n";
+    foreach ($local_tasks[$pid]['children'] as $mid) {
+      $output .= theme('menu_local_task', $mid, menu_in_active_trail($mid));
+    }
+    $output .= "  </ul>\n";
+    $output .= "</div>\n";
+  }
+  return $output;
+} 
+*/
+?>