[library-web/libmaemo] Add missing xsl and style files



commit 9aa1d9b9b1cf36f4adf5e6d87bd52afa2101d317
Author: Frédéric Péters <fpeters 0d be>
Date:   Tue Jun 8 14:03:49 2010 +0200

    Add missing xsl and style files

 data/maemo/heading.xsl                           |   41 +
 data/maemo/html2html-doxygen.xsl                 |   46 +
 data/maemo/html2html-gtkdoc.xsl                  |  114 ++
 data/maemo/html2html.xsl                         |   10 +
 data/maemo/indexes.xsl                           |  622 ++++++++++
 data/maemo/skin/css/legacy.css                   |  412 +++++++
 data/maemo/skin/css/master.css                   | 1376 ++++++++++++++++++++++
 data/maemo/skin/css/print.css                    |   68 ++
 data/maemo/skin/css/reset.css                    |   50 +
 data/maemo/skin/css/screen.css                   |   65 +
 data/maemo/skin/css/simple.css                   |   48 +
 data/maemo/skin/doxygen.css                      |  371 ++++++
 data/maemo/skin/gtkdoc.css                       |   66 +
 data/maemo/skin/img/banner-get-help.gif          |  Bin 0 -> 3075 bytes
 data/maemo/skin/img/banner-get-involved.gif      |  Bin 0 -> 3577 bytes
 data/maemo/skin/img/bg-side-recent-bottom.jpg    |  Bin 0 -> 572 bytes
 data/maemo/skin/img/bg-side-recent-middle.gif    |  Bin 0 -> 64 bytes
 data/maemo/skin/img/bg-side-recent-top.gif       |  Bin 0 -> 363 bytes
 data/maemo/skin/img/buried-hover.png             |  Bin 0 -> 351 bytes
 data/maemo/skin/img/buried-selected.png          |  Bin 0 -> 351 bytes
 data/maemo/skin/img/buried.png                   |  Bin 0 -> 352 bytes
 data/maemo/skin/img/cancel.png                   |  Bin 0 -> 669 bytes
 data/maemo/skin/img/column-item-divider.gif      |  Bin 0 -> 199 bytes
 data/maemo/skin/img/favourite-hover.png          |  Bin 0 -> 346 bytes
 data/maemo/skin/img/favourite-selected.png       |  Bin 0 -> 346 bytes
 data/maemo/skin/img/favourite.png                |  Bin 0 -> 347 bytes
 data/maemo/skin/img/footer_left.png              |  Bin 0 -> 955 bytes
 data/maemo/skin/img/footer_middle.png            |  Bin 0 -> 239 bytes
 data/maemo/skin/img/footer_right.png             |  Bin 0 -> 970 bytes
 data/maemo/skin/img/header_navigation_left.gif   |  Bin 0 -> 110 bytes
 data/maemo/skin/img/header_navigation_middle.gif |  Bin 0 -> 52 bytes
 data/maemo/skin/img/header_navigation_right.gif  |  Bin 0 -> 106 bytes
 data/maemo/skin/img/icon-bug.gif                 |  Bin 0 -> 950 bytes
 data/maemo/skin/img/icon-community.gif           |  Bin 0 -> 965 bytes
 data/maemo/skin/img/icon-contribute.gif          |  Bin 0 -> 910 bytes
 data/maemo/skin/img/icon-document.gif            |  Bin 0 -> 373 bytes
 data/maemo/skin/img/icon-help.gif                |  Bin 0 -> 736 bytes
 data/maemo/skin/img/icon-more.gif                |  Bin 0 -> 527 bytes
 data/maemo/skin/img/icon-rss.gif                 |  Bin 0 -> 669 bytes
 data/maemo/skin/img/icon-security.gif            |  Bin 0 -> 920 bytes
 data/maemo/skin/img/icon-started-code.gif        |  Bin 0 -> 1485 bytes
 data/maemo/skin/img/icon-started-download.gif    |  Bin 0 -> 1310 bytes
 data/maemo/skin/img/icon-started-help.gif        |  Bin 0 -> 1338 bytes
 data/maemo/skin/img/icon-started-start.gif       |  Bin 0 -> 1440 bytes
 data/maemo/skin/img/icon-started-tools.gif       |  Bin 0 -> 1451 bytes
 data/maemo/skin/img/icon-talk.gif                |  Bin 0 -> 1284 bytes
 data/maemo/skin/img/login-box-bg.gif             |  Bin 0 -> 292 bytes
 data/maemo/skin/img/login-box-submit.gif         |  Bin 0 -> 586 bytes
 data/maemo/skin/img/maemo.jpg                    |  Bin 0 -> 7245 bytes
 data/maemo/skin/img/main-divider.gif             |  Bin 0 -> 210 bytes
 data/maemo/skin/img/nav-divider.gif              |  Bin 0 -> 209 bytes
 data/maemo/skin/img/nav-li-active.gif            |  Bin 0 -> 187 bytes
 data/maemo/skin/img/nav-li-normal.gif            |  Bin 0 -> 185 bytes
 data/maemo/skin/img/navigation-selected.gif      |  Bin 0 -> 237 bytes
 data/maemo/skin/img/navigation-separator.gif     |  Bin 0 -> 154 bytes
 data/maemo/skin/img/next.png                     |  Bin 0 -> 676 bytes
 data/maemo/skin/img/password-box-bg.gif          |  Bin 0 -> 160 bytes
 data/maemo/skin/img/previous.png                 |  Bin 0 -> 764 bytes
 data/maemo/skin/img/register-button.gif          |  Bin 0 -> 3685 bytes
 data/maemo/skin/img/save.png                     |  Bin 0 -> 911 bytes
 data/maemo/skin/img/search-box-bg.gif            |  Bin 0 -> 191 bytes
 data/maemo/skin/img/search-button.gif            |  Bin 0 -> 1623 bytes
 data/maemo/skin/img/sidebar-divider.gif          |  Bin 0 -> 198 bytes
 data/maemo/skin/img/top_bg.jpg                   |  Bin 0 -> 475 bytes
 data/maemo/skin/img/username-box-bg.gif          |  Bin 0 -> 174 bytes
 data/maemo/skin/img/web-calendar.png             |  Bin 0 -> 788 bytes
 data/maemo/skin/jquery.autocomplete.css          |   49 +
 67 files changed, 3338 insertions(+), 0 deletions(-)
---
diff --git a/data/maemo/heading.xsl b/data/maemo/heading.xsl
new file mode 100644
index 0000000..515a5a1
--- /dev/null
+++ b/data/maemo/heading.xsl
@@ -0,0 +1,41 @@
+<?xml version='1.0' encoding='UTF-8'?><!-- -*- indent-tabs-mode: nil -*- -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns="http://www.w3.org/1999/xhtml";
+                version="1.0">
+
+<xsl:import href="../xslt/gettext.xsl"/>
+
+<xsl:param name="libgo.channel">undefined</xsl:param>
+
+<xsl:template name="libgo.header">
+        <div class="body">
+            <div id="header">
+                <div id="logo">
+                                        <a href="http://maemo.org/";><img src="http://static.maemo.org/style_maemo2009/img/maemo.jpg"; title="maemo.org" alt="maemo.org" /></a>
+                </div><!-- logo -->
+	    </div>
+            <div id="navigation">
+                <div id="navigation-left-wrapper">
+                    <div id="navigation-right-wrapper">
+                        <ul>
+<li><a href="http://maemo.org/intro/";>Intro</a></li>
+<li><a href="http://maemo.org/downloads/";>Downloads</a></li>
+<li><a href="http://maemo.org/community/";>Community</a></li>
+<li class="selected"><a href="http://maemo.org/development/";>Development</a></li>
+<li><a href="http://maemo.org/news/";>News</a></li>
+<li><a style="background-image: none;" href="http://talk.maemo.org";>TALK</a></li>
+</ul>
+                    </div>
+                </div>
+            </div><!-- /navigation -->
+	</div> <!-- /container -->
+</xsl:template>
+
+<xsl:template name="libgo.head">
+  <link rel="stylesheet" type="text/css" href="/skin/css/reset.css"/>
+  <link rel="stylesheet" type="text/css" href="/skin/css/master.css"/>
+  <link media="print" rel="stylesheet" type="text/css" href="/skin/css/print.css"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/data/maemo/html2html-doxygen.xsl b/data/maemo/html2html-doxygen.xsl
new file mode 100644
index 0000000..bb067c1
--- /dev/null
+++ b/data/maemo/html2html-doxygen.xsl
@@ -0,0 +1,46 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns:exsl="http://exslt.org/common";
+                xmlns="http://www.w3.org/1999/xhtml";
+                xmlns:html="http://www.w3.org/1999/xhtml";
+                extension-element-prefixes="exsl"
+                xsl:exclude-result-prefixes="sitemap"
+                version="1.0">
+
+  <xsl:import href="html2html.xsl"/>
+
+  <!-- Extra $XSLT for Doxygen documents -->
+ 
+  <!-- Conversion of flat navigation to hierarchical navigation -->
+  <xsl:template match="html:li" mode="hier">
+    <li><xsl:apply-templates/></li>
+  </xsl:template>
+
+  <xsl:template match="html:li[ class='current']" mode="hier">
+    <xsl:param name="navlevel"/>
+    <li class="current"><xsl:apply-templates/>
+      <xsl:apply-templates
+              select="../../../html:div[ class='tabs' and position() = $navlevel+1]"
+              mode="hier"> 
+        <xsl:with-param name="navlevel" select="$navlevel+1"/>
+      </xsl:apply-templates>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="html:div" mode="hier">
+   <xsl:param name="navlevel"/>
+   <ul class="nav">
+   <xsl:apply-templates mode="hier">
+     <xsl:with-param name="navlevel" select="$navlevel"/>
+   </xsl:apply-templates>
+   </ul>
+  </xsl:template>
+
+  <xsl:template match="html:div[ class='navigation']">
+    <div class="navigation">
+    <xsl:apply-templates select="html:div[ class='tabs'][1]" mode="hier">
+       <xsl:with-param name="navlevel" select="1"/>
+    </xsl:apply-templates>
+    </div>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/data/maemo/html2html-gtkdoc.xsl b/data/maemo/html2html-gtkdoc.xsl
new file mode 100644
index 0000000..c66c9c6
--- /dev/null
+++ b/data/maemo/html2html-gtkdoc.xsl
@@ -0,0 +1,114 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns:exsl="http://exslt.org/common";
+                xmlns="http://www.w3.org/1999/xhtml";
+                xmlns:html="http://www.w3.org/1999/xhtml";
+                extension-element-prefixes="exsl"
+                xsl:exclude-result-prefixes="sitemap"
+                version="1.0">
+
+  <xsl:import href="html2html.xsl"/>
+
+  <!-- Extra $XSLT for gtk-doc documents -->
+
+  <xsl:template match="@href" mode="gtk-doc">
+   <xsl:attribute name="href">
+     <xsl:choose>
+       <xsl:when test="starts-with(., 'http://library.gnome.org/devel/') or not(starts-with(., 'http://'))">
+         <xsl:choose>
+           <xsl:when test="contains(., '/gobject/stable/')">
+             <xsl:value-of select="concat('../gobject/', substring-after(., '/gobject/stable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gobject/unstable/')">
+             <xsl:value-of select="concat('../gobject/', substring-after(., '/gobject/unstable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gobject/')">
+             <xsl:value-of select="concat('../gobject/', substring-after(., '/gobject/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/glib/stable/')">
+             <xsl:value-of select="concat('../glib/', substring-after(., '/glib/stable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/glib/unstable/')">
+             <xsl:value-of select="concat('../glib/', substring-after(., '/glib/unstable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/glib/')">
+             <xsl:value-of select="concat('../glib/', substring-after(., '/glib/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gtk/stable/')">
+             <xsl:value-of select="concat('../gtk/', substring-after(., '/gtk/stable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gtk/unstable/')">
+             <xsl:value-of select="concat('../gtk/', substring-after(., '/gtk/unstable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gtk/')">
+             <xsl:value-of select="concat('../gtk/', substring-after(., '/gtk/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gdk/stable/')">
+             <xsl:value-of select="concat('../gdk/', substring-after(., '/gdk/stable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gdk/unstable/')">
+             <xsl:value-of select="concat('../gdk/', substring-after(., '/gdk/unstable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gdk/')">
+             <xsl:value-of select="concat('../gdk/', substring-after(., '/gdk/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/pango/stable/')">
+             <xsl:value-of select="concat('../pango/', substring-after(., '/pango/stable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/pango/unstable/')">
+             <xsl:value-of select="concat('../pango/', substring-after(., '/pango/unstable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/pango/')">
+             <xsl:value-of select="concat('../pango/', substring-after(., '/pango/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gdk-pixbuf/stable/')">
+             <xsl:value-of select="concat('../gdk-pixbuf/', substring-after(., '/gdk-pixbuf/stable'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gdk-pixbuf/unstable/')">
+             <xsl:value-of select="concat('../gdk-pixbuf/', substring-after(., '/gdk-pixbuf/unstable'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gdk-pixbuf/')">
+             <xsl:value-of select="concat('../gdk-pixbuf/', substring-after(., '/gdk-pixbuf/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gio/stable/')">
+             <xsl:value-of select="concat('../gio/', substring-after(., '/gio/stable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gio/unstable/')">
+             <xsl:value-of select="concat('../gio/', substring-after(., '/gio/unstable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/gio/')">
+             <xsl:value-of select="concat('../gio/', substring-after(., '/gio/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/libempathy/stable/')">
+             <xsl:value-of select="concat('../libempathy/', substring-after(., '/libempathy/stable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/libempathy/unstable/')">
+             <xsl:value-of select="concat('../libempathy/', substring-after(., '/libempathy/unstable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/libempathy/')">
+             <xsl:value-of select="concat('../libempathy/', substring-after(., '/libempathy/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/libempathy-gtk/stable/')">
+             <xsl:value-of select="concat('../libempathy-gtk/', substring-after(., '/libempathy-gtk/stable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/libempathy-gtk/unstable/')">
+             <xsl:value-of select="concat('../libempathy-gtk/', substring-after(., '/libempathy-gtk/unstable/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/libempathy-gtk/')">
+             <xsl:value-of select="concat('../libempathy-gtk/', substring-after(., '/libempathy-gtk/'))"/>
+           </xsl:when>
+           <xsl:when test="contains(., '/libgnome/')">
+             <xsl:value-of select="concat('../libgnome/', substring-after(., '/libgnome/'))"/>
+           </xsl:when>
+           <xsl:otherwise>
+             <xsl:value-of select="."/>
+           </xsl:otherwise>
+         </xsl:choose>
+       </xsl:when>
+       <xsl:otherwise>
+         <xsl:value-of select="."/>
+       </xsl:otherwise>
+     </xsl:choose>
+   </xsl:attribute>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/data/maemo/html2html.xsl b/data/maemo/html2html.xsl
new file mode 100644
index 0000000..257f06a
--- /dev/null
+++ b/data/maemo/html2html.xsl
@@ -0,0 +1,10 @@
+<?xml version='1.0' encoding='UTF-8'?><!-- -*- indent-tabs-mode: nil -*- -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns="http://www.w3.org/1999/xhtml";
+                version="1.0">
+
+<xsl:import href="../xslt/html2html.xsl"/>
+<xsl:import href="heading.xsl"/>
+
+</xsl:stylesheet>
diff --git a/data/maemo/indexes.xsl b/data/maemo/indexes.xsl
new file mode 100644
index 0000000..ac9dd37
--- /dev/null
+++ b/data/maemo/indexes.xsl
@@ -0,0 +1,622 @@
+<?xml version='1.0' encoding='UTF-8'?><!-- -*- indent-tabs-mode: nil -*- -->
+<!--
+Copyright (c) 2009 Frederic Peters <fpeters gnome org>
+
+This file is part of libgo.
+
+libgo is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+libgo is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with libgo; if not, write to the Free Software Foundation, Inc.,
+59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns:exsl="http://exslt.org/common";
+                xmlns:html="http://www.w3.org/1999/xhtml";
+                extension-element-prefixes="exsl"
+                xsl:exclude-result-prefixes="sitemap"
+                version="1.0">
+
+
+<xsl:import href="heading.xsl"/>
+<xsl:import href="../xslt/gettext.xsl"/>
+
+<!-- This gets set on the command line ... -->
+<xsl:param name="libgo.lang" select="''"/>
+<xsl:param name="libgo.debug" select="false()"/>
+<xsl:param name="libgo.dbm_support" select="false()"/>
+
+<xsl:variable name="lcletters">abcdefghijklmnopqrstuvwxyz</xsl:variable>
+<xsl:variable name="ucletters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
+
+<xsl:output method="html" encoding="UTF-8" indent="yes"
+        omit-xml-declaration="yes"
+	doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
+	doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>
+
+<xsl:namespace-alias stylesheet-prefix="html" result-prefix="#default"/>
+
+  <xsl:template name="footer">
+    <div class="body">
+            <div id="footer">
+                <div id="footer-wrapper-left">
+                    <div id="footer-wrapper-right">
+                    	<ul>
+                            <li class="first"><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/";>All Content CC</a></li>
+                            <li><a href="/legal/">Legal</a></li>
+                            <li><a href="/legal/terms_of_use/">Terms of Use</a></li>
+                            <li><a href="/legal/privacy_policy/">Privacy Policy</a></li>
+                            <li class="powered">Powered by <a href="http://www.midgard-project.org/"; rel="powered">Midgard CMS</a></li>
+                    	</ul>
+					</div>
+                </div>
+            </div>
+    </div>
+  </xsl:template>
+
+  <xsl:template name="category-title">
+    <xsl:param name="lang"/>
+    <xsl:param name="tocid"/>
+
+    <xsl:variable name="rtocid">
+      <xsl:choose>
+        <xsl:when test="document('../externals/toc.xml')//toc[ id = $tocid]">
+          <xsl:value-of select="$tocid"/>
+        </xsl:when>
+	<!-- Rarian 0.8 changed all toc id; as library still needs to handle
+	     older documents, here is a quick mapping -->
+        <xsl:when test="$tocid = 'index'">Core</xsl:when>
+        <xsl:when test="$tocid = 'ApplicationsAccessibility'">Accessibility</xsl:when>
+        <xsl:when test="$tocid = 'ApplicationsAccessories'">Utility</xsl:when>
+        <xsl:when test="$tocid = 'ApplicationsEducation'">Education</xsl:when>
+        <xsl:when test="$tocid = 'ApplicationsGames'">Game</xsl:when>
+        <xsl:when test="$tocid = 'ApplicationsGraphics'">Graphics</xsl:when>
+        <xsl:when test="$tocid = 'ApplicationsInternet'">Network</xsl:when>
+        <xsl:when test="$tocid = 'ApplicationsOffice'">Office</xsl:when>
+        <xsl:when test="$tocid = 'ApplicationsOther'">Other</xsl:when>
+        <xsl:when test="$tocid = 'DesktopApplets'">Other</xsl:when>
+        <xsl:when test="$tocid = 'ApplicationsScientific'">Science</xsl:when>
+        <xsl:when test="$tocid = 'ApplicationsMultimedia'">AudioVideo</xsl:when>
+        <xsl:when test="$tocid = 'ApplicationsSystem'">System</xsl:when>
+      </xsl:choose>
+    </xsl:variable>
+
+    <xsl:choose>
+      <xsl:when test="document('../externals/toc.xml')//toc[ id = $rtocid]/title">
+        <xsl:variable name="cat-icon"
+                select="document('../externals/toc.xml')//toc[ id = $rtocid]/@icon"/>
+        <h2>
+          <xsl:attribute name="class">category<xsl:if test="$cat-icon != ''"
+                > cat-<xsl:value-of select="$cat-icon"/></xsl:if></xsl:attribute>
+          <xsl:if test="$cat-icon != ''">
+            <xsl:attribute name="id"><xsl:value-of select="$cat-icon"/></xsl:attribute>
+          </xsl:if>
+        <xsl:choose>
+          <xsl:when test="document('../externals/toc.xml')//toc[ id = $rtocid]/title[ xml:lang = $lang]">
+            <xsl:value-of select="document('../externals/toc.xml')//toc[ id = $rtocid]/title[ xml:lang = $lang]"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="document('../externals/toc.xml')//toc[ id = $rtocid]/title"/>
+          </xsl:otherwise>
+        </xsl:choose>
+        </h2>
+      </xsl:when>
+      <xsl:otherwise>
+        <h2 class="category cat-{$tocid}" id="{$tocid}">
+          <xsl:call-template name="gettext"><xsl:with-param name="lang"
+            select="$lang"/><xsl:with-param name="msgid"
+            select="$tocid"/></xsl:call-template>
+        </h2>
+      </xsl:otherwise>
+    </xsl:choose>
+
+  </xsl:template>
+
+
+  <xsl:template name="language-label">
+    <xsl:param name="lang"/>
+    <xsl:choose>
+      <xsl:when test="document('../languages.xml')//lang[ code = $lang]">
+        <xsl:value-of select="document('../languages.xml')//lang[ code =
+        $lang]"/>
+      </xsl:when>
+      <xsl:when test="document('../languages.xml')//lang[substring(@code, 1, 2) = $lang]">
+        <xsl:value-of
+        select="document('../languages.xml')//lang[substring(@code, 1, 2) =
+        $lang]"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$lang"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="subsection" mode="title">
+    <xsl:param name="lang"/>
+    <xsl:choose>
+      <xsl:when test="title[ xml:lang = $lang]">
+        <xsl:value-of select="title[ xml:lang = $lang]"/>
+      </xsl:when>
+      <xsl:otherwise><xsl:value-of select="title"/></xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+
+  <xsl:template name="overlay-section-title">
+    <xsl:param name="lang"/>
+    <xsl:choose>
+      <xsl:when test="document('../overlay.xml')//subsection[ code = $lang]">
+        <xsl:value-of select="document('../languages.xml')//lang[ code =
+        $lang]"/>
+      </xsl:when>
+      <xsl:when test="document('../languages.xml')//lang[substring(@code, 1, 2) = $lang]">
+        <xsl:value-of
+        select="document('../languages.xml')//lang[substring(@code, 1, 2) =
+        $lang]"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$lang"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+
+
+  <xsl:template match="document" mode="channelindex">
+    <xsl:param name="lang"/>
+    <dt>
+      <xsl:if test="keywords/keyword[. = 'upcoming-deprecation']">
+        <xsl:attribute name="class">upcoming-deprecation</xsl:attribute>
+      </xsl:if>
+      <a lang="{ lang}">
+        <xsl:attribute name="href">
+          <xsl:if test="@path"><xsl:value-of select="@path"/></xsl:if>
+          <xsl:if test="@href"><xsl:value-of select="@href"/></xsl:if>
+        </xsl:attribute>
+        <xsl:if test="@href">
+          <xsl:attribute name="class">external</xsl:attribute>
+        </xsl:if>
+      <xsl:choose>
+	<xsl:when test="normalize-space(title)">
+	  <xsl:value-of select="title" />
+	</xsl:when>
+	<xsl:otherwise>
+	  <xsl:value-of select="@module" />
+	</xsl:otherwise>
+      </xsl:choose>
+      </a>
+      <xsl:if test="@href">
+      <xsl:text> </xsl:text>
+      <span class="module-more">[<xsl:call-template
+            name="gettext"><xsl:with-param name="lang"
+            select="$lang"/><xsl:with-param name="msgid"
+            select="'external-resource'"/></xsl:call-template>]</span>
+      </xsl:if>
+    </dt>
+
+    <dd>
+      <xsl:if test="abstract">
+        <p><xsl:value-of select="abstract" /></p>
+      </xsl:if>
+      <xsl:if test="keywords/keyword[. = 'upcoming-deprecation']">
+        <p class="upcoming-deprecation">
+         <xsl:call-template name="gettext"><xsl:with-param name="lang"
+              select="$lang"/><xsl:with-param name="msgid"
+              select="'upcoming-deprecation'"/></xsl:call-template>
+        </p>
+      </xsl:if>
+      <xsl:if test="count(versions/version) > 1 and versions/version[ keyword = 'unstable']">
+        <p class="other-versions">
+         <xsl:call-template name="gettext"><xsl:with-param name="lang"
+              select="$lang"/><xsl:with-param name="msgid"
+              select="'see-also'"/></xsl:call-template><xsl:text> </xsl:text>
+          <a href="{ modulename}/unstable/" lang="{ lang}"><xsl:call-template
+            name="gettext"><xsl:with-param name="lang"
+              select="$lang"/><xsl:with-param name="msgid"
+              select="'development-version-doc'"/></xsl:call-template></a>
+        </p>
+      </xsl:if>
+      <xsl:if test="substring($lang, 1, 2) != substring(@lang, 1, 2) and @path">
+        <p class="no-translation">
+          <xsl:call-template name="gettext"><xsl:with-param name="lang"
+            select="$lang"/><xsl:with-param name="msgid"
+            select="'missing-translation'"/></xsl:call-template>
+          <xsl:if test="other-languages/lang and @modulename">
+            (<a href="/{ channel}/{ modulename}/">
+              <xsl:call-template name="gettext"><xsl:with-param name="lang"
+                select="$lang"/><xsl:with-param name="msgid"
+                select="'doc-translations'"/></xsl:call-template>
+            </a>)
+          </xsl:if>
+        </p>
+      </xsl:if>
+    </dd>
+  </xsl:template>
+
+  <xsl:template match="version" mode="version-name">
+    <xsl:param name="lang"/>
+    <xsl:choose>
+      <xsl:when test=". = 'nightly'">
+        <xsl:call-template name="gettext"><xsl:with-param name="lang"
+          select="$lang"/><xsl:with-param name="msgid"
+	  select="'nightly-version'"/></xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="."/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="section" mode="channelindex">
+    <xsl:param name="lang"/>
+    <xsl:param name="hidetitle" value="false()"/>
+
+    <xsl:if test="not($hidetitle)">
+    <xsl:call-template name="category-title">
+      <xsl:with-param name="lang" select="$lang"/>
+      <xsl:with-param name="tocid" select="@toc_id"/>
+    </xsl:call-template>
+    </xsl:if>
+
+    <xsl:for-each select="section">
+      <xsl:sort select="format-number(@weight, '0.000')" order="descending"/>
+      <h3 class="subsection" id="{ title}">
+        <xsl:variable name="title" select="@title"/>
+        <xsl:apply-templates select="document('../overlay.xml')//subsection[ id = $title]"
+                             mode="title">
+          <xsl:with-param name="lang" select="$lang" />
+        </xsl:apply-templates>
+      </h3>
+      <dl class="doc-index">
+      <xsl:for-each select="document">
+        <xsl:sort select="format-number(@weight, '0.000')" order="descending"/>
+        <xsl:sort select="translate(title, $ucletters, $lcletters)"/>
+        <xsl:apply-templates select="." mode="channelindex">
+          <xsl:with-param name="lang" select="$lang"/>
+	</xsl:apply-templates>
+      </xsl:for-each>
+      </dl>
+    </xsl:for-each>
+
+    <xsl:if test="section and document">
+      <h3 class="subsection">
+        <xsl:call-template name="gettext">
+          <xsl:with-param name="lang" select="$lang"/>
+          <xsl:with-param name="msgid" select="'others'"/>
+        </xsl:call-template>
+      </h3>
+    </xsl:if>
+
+    <dl class="doc-index">
+      <xsl:for-each select="document">
+        <xsl:sort select="format-number(@weight, '0.000')" order="descending"/>
+        <xsl:sort select="translate(title, $ucletters, $lcletters)"/>
+        <xsl:apply-templates select="." mode="channelindex">
+          <xsl:with-param name="lang" select="$lang"/>
+	</xsl:apply-templates>
+      </xsl:for-each>
+    </dl>
+  </xsl:template>
+
+  <xsl:template match="index" mode="channelindex">
+    <div class="subindex" id="subindex-{ id}">
+      <h2><a href="{ id}"><xsl:value-of select="title"/></a></h2>
+      <xsl:if test="abstract">
+        <p><xsl:value-of select="abstract"/></p>
+      </xsl:if>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="index" mode="toc">
+  <xsl:param name="lang" value="@lang"/>
+
+  <ul class="indextoc">
+   <xsl:for-each select="section">
+     <li>
+      <a href="#{ toc_id}"><xsl:call-template name="gettext"><xsl:with-param name="lang"
+        select="$lang"/><xsl:with-param name="msgid"
+        select="@toc_id"/></xsl:call-template></a>
+     <xsl:if test="section">
+      <ul>
+       <xsl:for-each select="section">
+        <xsl:sort select="format-number(@weight, '0.000')" order="descending"/>
+        <li>
+        <xsl:variable name="title" select="@title"/>
+        <a href="#{ title}"><xsl:apply-templates select="document('../overlay.xml')//subsection[ id = $title]"
+        mode="title">
+        <xsl:with-param name="lang" select="$lang" />
+        </xsl:apply-templates></a>
+        </li>
+        </xsl:for-each>
+       </ul>
+      </xsl:if>
+      </li>
+     </xsl:for-each>
+    </ul>
+  </xsl:template>
+
+  <xsl:template match="index">
+    <xsl:param name="channel" select="@channel"/>
+    <xsl:param name="lang" select="@lang"/>
+    <xsl:param name="filename">
+      <xsl:choose>
+        <xsl:when test="@id"><xsl:value-of select="@id"/></xsl:when>
+        <xsl:otherwise>index</xsl:otherwise>
+      </xsl:choose>
+    </xsl:param>
+
+    <xsl:if test="$libgo.debug">
+      <xsl:message>Writing channel: <xsl:value-of
+                select="concat(@channel, '/', $filename, '.html.', @lang)" /></xsl:message>
+    </xsl:if>
+
+    <xsl:apply-templates select="index" />
+
+    <exsl:document href="{ channel}/{$filename} html { lang}"
+        method="html" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"
+        doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
+        doctype-system="http://www.w3.org/TR/html4/loose.dtd";>
+      <html lang="{ lang}">
+	<head>
+	  <title>Maemo Library</title>
+	  <xsl:call-template name="libgo.head"/>
+	</head>
+	<body>
+	  <xsl:call-template name="libgo.header">
+            <xsl:with-param name="channel" select="@channel"/>
+            <xsl:with-param name="lang" select="@lang"/>
+          </xsl:call-template>
+	  <div class="body body-sidebar">
+	    <xsl:if test="title">
+	      <h1 class="subindex" id="subindex-{ id}"><xsl:value-of select="title"/></h1>
+	    </xsl:if>
+	    <xsl:apply-templates select="section" mode="channelindex">
+              <xsl:sort select="format-number(@weight, '0.000')" order="descending"/>
+	      <xsl:sort select="translate(@toc_id, $ucletters, $lcletters)" />
+              <xsl:with-param name="lang" select="@lang"/>
+	      <xsl:with-param name="hidetitle" select="count(section) = 1"/>
+	    </xsl:apply-templates>
+	    <xsl:apply-templates select="index" mode="channelindex">
+              <xsl:sort select="format-number(@weight, '0.000')" order="descending"/>
+	    </xsl:apply-templates>
+	  </div>
+          <div class="sidebar">
+          </div>
+	  <xsl:call-template name="footer"/>
+	</body>
+      </html>
+    </exsl:document>
+  </xsl:template>
+
+  <xsl:template match="home">
+    <xsl:if test="$libgo.debug">
+      <xsl:message>Writing home: <xsl:value-of select="concat('index.html.', @lang)" /></xsl:message>
+    </xsl:if>
+    <exsl:document href="index html { lang}"
+        method="html" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"
+        doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
+        doctype-system="http://www.w3.org/TR/html4/loose.dtd";>
+      <html lang="{ lang}">
+	<head>
+	  <title>Maemo Library</title>
+	  <xsl:call-template name="libgo.head"/>
+	  <xsl:comment>[if IE]&gt;
+&lt;style&gt;
+div.body-sidebar { width: 100%; }
+&lt;/style&gt;
+&lt;![endif]</xsl:comment><xsl:text>
+</xsl:text>
+	</head>
+	<body class="with-star">
+	  <xsl:call-template name="libgo.header">
+            <xsl:with-param name="channel" select="'home'"/>
+            <xsl:with-param name="lang" select="@lang"/>
+          </xsl:call-template>
+	  <div class="body body-sidebar">
+
+<p>Maemo API reference documentation contains detailed documentation for public
+maemo application programming interfaces. Currently official maemo APIs are for
+the C programming language but also community supported <a
+href="http://maemomm.garage.maemo.org/docs/index.html";>C++ bindings</a> as well
+as <a href="http://pymaemo.garage.maemo.org/";>Python bindings</a> exist.</p>
+
+<p>Instructions how to setup maemo community supported programming language
+environments for maemo SDK and Internet Tablet are available from maemo <a
+href="http://maemo.org/development/documentation/programming_languages/";>Programming
+Languages</a> document.</p>
+
+<h2>Maemo API Documentation</h2>
+
+<ul>
+<xsl:for-each select="../index">
+  <li><a href="{ channel}/"><xsl:value-of select="@channel"/></a></li>
+</xsl:for-each>
+</ul>
+
+	  </div>
+          <div class="sidebar">
+            <h4>
+                <xsl:call-template name="gettext"><xsl:with-param name="lang"
+                select="@lang"/><xsl:with-param name="msgid"
+                select="'langinfo'"/></xsl:call-template>
+            </h4>
+            <ul class="i18n">
+              <xsl:for-each select="//home">
+	        <xsl:sort select="@lang"/>
+                <li><a href="index html { lang}">
+                  <xsl:call-template name="language-label">
+                    <xsl:with-param name="lang" select="@lang"/>
+                  </xsl:call-template>
+		  </a>
+		  <xsl:text> </xsl:text>
+		  <span class="lang-code">(<xsl:value-of select="@lang"/>)</span>
+                </li>
+	      </xsl:for-each>
+	    </ul>
+          </div>
+	  <xsl:call-template name="footer"/>
+	</body>
+      </html>
+    </exsl:document>
+  </xsl:template>
+
+  <!-- Google sitemap stuff -->
+  <xsl:template match="document" mode="sitemap">
+    <xsl:if test="@path"> <!-- only local documents -->
+      <url xmlns="http://www.google.com/schemas/sitemap/0.84";>
+        <loc>http://library.maemo.org<xsl:value-of select="@path"
+          />index.html.<xsl:value-of select="@lang"/></loc>
+        <changefreq>daily</changefreq>
+	<priority>0.7</priority>
+      </url>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="index" mode="sitemap">
+    <xsl:param name="channel" select="@channel"/>
+    <xsl:param name="lang" select="@lang"/>
+    <xsl:param name="filename">
+      <xsl:choose>
+        <xsl:when test="@id"><xsl:value-of select="@id"/></xsl:when>
+        <xsl:otherwise>index</xsl:otherwise>
+      </xsl:choose>
+    </xsl:param>
+
+    <url xmlns="http://www.google.com/schemas/sitemap/0.84";>
+      <loc>http://library.gnome.org/<xsl:value-of select="@channel"
+        />/<xsl:value-of select="$filename"
+        />.html.<xsl:value-of select="@lang"/></loc>
+      <priority>0.9</priority>
+      <changefreq>daily</changefreq>
+    </url>
+    <xsl:apply-templates select="index" mode="sitemap"/>
+    <xsl:apply-templates select="section/document[ lang = $lang]" mode="sitemap"/>
+  </xsl:template>
+
+  <xsl:template match="home" mode="sitemap">
+    <xsl:param name="lang" select="@lang"/>
+    <url xmlns="http://www.google.com/schemas/sitemap/0.84";>
+      <loc>http://library.gnome.org/index.html.<xsl:value-of select="$lang"/></loc>
+      <priority>1.0</priority>
+      <changefreq>daily</changefreq>
+    </url>
+    <xsl:apply-templates select="../index[ lang = $lang]" mode="sitemap"/>
+  </xsl:template>
+
+  <xsl:template match="indexes" mode="sitemap">
+    <exsl:document href="sitemap.xml" method="xml" indent="yes" encoding="UTF-8">
+      <urlset xmlns="http://www.google.com/schemas/sitemap/0.84";
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+        xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84
+        http://www.google.com/schemas/sitemap/0.84/sitemap.xsd";>
+          <xsl:apply-templates select="home" mode="sitemap"/>
+      </urlset>
+    </exsl:document>
+  </xsl:template>
+
+  <!-- search page -->
+  <xsl:template match="index" mode="search">
+    <xsl:if test="$libgo.debug">
+      <xsl:message>Writing channel search: <xsl:value-of select="concat(@channel, '/search.html.', @lang)" /></xsl:message>
+    </xsl:if>
+    <exsl:document href="{ channel}/search html { lang}"
+        method="html" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"
+        doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
+        doctype-system="http://www.w3.org/TR/html4/loose.dtd";>
+      <html lang="{ lang}">
+	<head>
+	  <title>Maemo Library</title>
+	  <xsl:call-template name="libgo.head"/>
+	  <xsl:comment>[if IE]&gt;
+&lt;style&gt;
+div.body-sidebar { width: 100%; }
+&lt;/style&gt;
+&lt;![endif]</xsl:comment><xsl:text>
+</xsl:text>
+	</head>
+	<body class="with-star">
+	  <xsl:call-template name="libgo.header">
+            <xsl:with-param name="channel" select="'home'"/>
+            <xsl:with-param name="lang" select="@lang"/>
+          </xsl:call-template>
+	  <div class="body body-sidebar">
+
+	  <form action="/symbols/{ channel}/search">
+	  <input/>
+	  </form>
+
+	  </div>
+          <div class="sidebar">
+            <h4>
+                <xsl:call-template name="gettext"><xsl:with-param name="lang"
+                select="@lang"/><xsl:with-param name="msgid"
+                select="'langinfo'"/></xsl:call-template>
+            </h4>
+            <ul class="i18n">
+              <xsl:for-each select="//home">
+	        <xsl:sort select="@lang"/>
+                <li><a href="index html { lang}">
+                  <xsl:call-template name="language-label">
+                    <xsl:with-param name="lang" select="@lang"/>
+                  </xsl:call-template>
+		  </a>
+		  <xsl:text> </xsl:text>
+		  <span class="lang-code">(<xsl:value-of select="@lang"/>)</span>
+                </li>
+	      </xsl:for-each>
+	    </ul>
+          </div>
+	  <xsl:call-template name="footer"/>
+	</body>
+      </html>
+    </exsl:document>
+  </xsl:template>
+
+
+  <!-- robots.txt stuff -->
+
+  <xsl:template match="document" mode="robotstxt">
+    <xsl:if test="versions">
+      <xsl:variable name="basedir">/<xsl:value-of  select="@channel"
+      />/<xsl:value-of select="@modulename" />/</xsl:variable>
+      <xsl:for-each select="versions/version">
+        <xsl:text>Disallow: </xsl:text>
+	<xsl:value-of select="$basedir"/><xsl:value-of select="@href"/>
+	<xsl:text>/
+</xsl:text>
+      </xsl:for-each>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="indexes" mode="robotstxt">
+    <xsl:param name="onelang"><xsl:value-of select="index[position() = 1]/@lang"/></xsl:param>
+    <xsl:message>Writing robots.txt</xsl:message>
+    <exsl:document href="robots.txt" method="text" encoding="UTF-8">
+      <xsl:text># don't let robot index all versions of documents
+# see http://bugzilla.gnome.org/show_bug.cgi?id=509424
+User-agent: *
+</xsl:text>
+      <xsl:apply-templates select="index[ lang = $onelang and @channel != 'misc']//document" mode="robotstxt"/>
+    </exsl:document>
+  </xsl:template>
+
+  <xsl:template match="indexes">
+    <xsl:apply-templates select="node()"/>
+    <xsl:apply-templates select="index" mode="search"/>
+    <xsl:for-each select="home">
+      <xsl:variable name="lang" select="@lang"/>
+    </xsl:for-each>
+    <xsl:apply-templates select="." mode="sitemap"/>
+    <xsl:apply-templates select="." mode="robotstxt"/>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/data/maemo/skin/css/legacy.css b/data/maemo/skin/css/legacy.css
new file mode 100644
index 0000000..e400065
--- /dev/null
+++ b/data/maemo/skin/css/legacy.css
@@ -0,0 +1,412 @@
+/* Datamanager CSS rules. Include this whenever you want to have
+ * a datamangager (or at least create the corresponding style
+ * rules).
+ *
+ * $Id: legacy.css 22013 2009-04-25 09:30:50Z flack $
+ */
+
+form.datamanager2 label
+{
+    display: block;
+    padding: 3px 0 3px 0;
+    font-weight: bold;
+}
+
+form.datamanager2 fieldset
+{
+    border: none;
+}
+
+form.datamanager2 fieldset.fieldset
+{
+    border: solid 1px black;
+}
+
+form.datamanager2 fieldset.radio label
+{
+    display: inline;
+    font-weight: normal;
+}
+form.datamanager2 fieldset.radio label span
+{
+    font-weight: bold;
+    margin: 0px;
+    padding: 0px;
+    height: 1em;
+    font-size: 1em;
+    width: 100px;
+    margin-right: 6px;
+    display: inline-block;
+    display: -moz-inline-box;
+}
+
+form.datamanager2 label input.shorttext,
+    form.datamanager2 label textarea.longtext,
+    form.datamanager2 label textarea.tinymce,
+    form.datamanager2 label select.list,
+    form.datamanager2 label select.dropdown,
+    form.datamanager2 label iframe
+{
+    margin: 0.5ex 0 0 0;
+    display: block;
+}
+
+form.datamanager2 label select.selectcomponent option
+{
+    height: 20px;
+    padding-left: 22px;
+    padding-top: 2px;
+    vertical-align: middle;
+    background-position: 2px 2px;
+    background-repeat: no-repeat;
+}
+
+form.datamanager2 label input.radiobutton
+{
+    display: inline;
+}
+
+form.datamanager2 fieldset
+{
+    margin: 1ex 0 1ex 0;
+    padding: 3px 10px;
+}
+
+form.datamanager2 fieldset legend
+{
+    font-weight: bold;
+    /* border: 1px solid black; */
+    padding: 1px 3px;
+}
+
+form.datamanager2 label.required
+{
+    font-weight: bold;
+}
+
+/*form.datamanager2 label.required span.field_text:after
+{
+    content: "*";   
+}*/
+
+form.datamanager2 label span.field_text
+{
+    margin-right: 1em;
+}
+
+form.datamanager2 label.missing
+{
+    color: red;   
+}
+
+form.datamanager2 fieldset.account legend,
+    form.datamanager2 fieldset.blob legend,
+    form.datamanager2 fieldset.image legend,
+    form.datamanager2 fieldset.collection legend,
+    form.datamanager2 fieldset.radiobox legend,
+    form.datamanager2 fieldset.date legend,
+    form.datamanager2 fieldset.mailtemplate legend
+{
+    font-weight: normal;
+}
+
+form.datamanager2 fieldset.radiobox label
+{
+    display: inline;
+    margin: 0px 10px 0px 0px;
+    white-space: nowrap;
+}
+
+form.datamanager2 fieldset.radiobox input
+{
+    display: inline;
+    vertical-align: top !important;
+    vertical-align: baseline; /* This one is for IE */
+}
+
+form.datamanager2 fieldset.date
+{
+    border: none;
+    padding: 3px 0 3px 0;
+    margin: 0;
+    display: inline !important;
+}
+
+form.datamanager2 fieldset.date input.date
+{
+    display: inline !important;
+    width: 10em !important;
+}
+
+form.datamanager2 fieldset.date button.date
+{
+    display: inline;
+    margin: 0px 0px 0px 5px;
+    width: 24px;
+    height: 20px;
+    background-image: url('../stock-icons/16x16/web-calendar.png');
+    background-repeat: no-repeat;
+}
+
+form.datamanager2 div.blob_preview,
+    form.datamanager2 div.image_preview
+{
+    float: right;
+    width: 180px;
+    padding: 5px;
+    border: 1px solid black;
+    margin: 5px;
+    text-align: center;
+}
+
+form.datamanager2 div.image_frame
+{
+    width: 180px;
+    height: 140px;
+    margin: 0px;
+    padding: 0px;
+    border: none;
+    overflow: scroll;
+}
+
+form.datamanager2 fieldset.collection fieldset legend
+{
+    /* Hide the captions of all directly contained blobs, would look weird. */
+    display: none;
+}
+
+form.datamanager2 label.communityhtml select
+{
+    display: inline;
+}
+
+form.datamanager2 textarea.communityhtml
+{
+    width: 500px;
+    height: 250px;
+}
+
+form.datamanager2 span.communityhtml_toolbar img
+{
+    border: none;
+}
+
+/* Save and cancel buttons */
+form.datamanager2 div.form_toolbar input
+{
+    background-image: url('');
+    background-repeat: no-repeat;
+    background-position: left;
+}
+
+form.datamanager2 div.form_toolbar input.save
+{
+    padding-left: 18px;
+    background-image: url('../stock-icons/16x16/save.png');
+}
+
+form.datamanager2 div.form_toolbar input.cancel
+{
+    padding-left: 18px;
+    background-image: url('../stock-icons/16x16/cancel.png');
+}
+
+form.datamanager2 div.form_toolbar input.previous
+{
+    padding-left: 18px;
+    background-image: url('../stock-icons/16x16/previous.png');
+}
+
+form.datamanager2 div.form_toolbar input.next
+{
+    padding-left: 18px;
+    background-image: url('../stock-icons/16x16/next.png');
+}
+
+
+/* Checkbox display */
+form.datamanager2 input.checkbox {
+    display: inline;
+}
+form.datamanager2 label.checkbox {
+    display: inline;
+}
+form.datamanager2 label.checkbox div {
+    display: inline;
+}
+
+/* Selection lists */
+div.form_multiselect ul, div.form_contactchooser ul
+{
+    margin: 0px;
+    padding: 0px;
+}
+div.form_multiselect ul li, div.form_contactchooser ul li
+{
+    list-style: none;
+}
+
+form.datamanager2 table.datamanager_table
+{
+    margin: 1em;
+}
+
+form.datamanager2 table.datamanager_table td
+{
+    border: 0.2px solid #000000;
+    text-align: center;
+}
+
+form.datamanager2 table.datamanager_table td.datamanager_table_rows_header
+{
+    font-weight:bold;
+    padding:0.3em;
+}
+
+form.datamanager2 table.datamanager_table td input.shorttext
+{
+    border:none;
+    background-color: #EAE8E3;
+    text-align: left;
+}
+
+form.datamanager2 img.captcha
+{
+    display: block;
+}
+
+form.datamanager2 fieldset.checkbox
+{
+    border: none;
+}
+form.datamanager2 fieldset.checkbox input.radiobutton
+{
+    clear: left;
+    float: left;
+}
+
+/* image actions */
+div.midcom_helper_datamanager2_widget_image_actions_container
+{
+    clear: left;
+}
+
+div.midcom_helper_datamanager2_widget_image_actions_container ul.midcom_helper_datamanager2_widget_image_actions
+{
+    list-style-type: none;
+    margin: 0px;
+    padding: 0px;
+}
+
+div.midcom_helper_datamanager2_widget_image_actions_container ul.midcom_helper_datamanager2_widget_image_actions li
+{
+    display: inline;
+    margin: 0px;
+    padding: 2px;
+}
+
+form.datamanager2 tr
+{
+  vertical-align: top;
+}
+
+form.datamanager2 td.midcom_helper_datamanager2_helper_sortable .enabled
+{
+  cursor: pointer;
+}
+
+form.datamanager2 table.jquery-enabled td.midcom_helper_datamanager2_helper_sortable input
+{
+  display: none;
+}
+
+form.datamanager2 table.jquery-enabled td.midcom_helper_datamanager2_helper_sortable img
+{
+}
+
+form.datamanager2 table.jquery-enabled tr th.index,
+form.datamanager2 table.jquery-enabled tr td.midcom_helper_datamanager2_helper_sortable,
+form.datamanager2 table.jquery-enabled tr th.add_new_row
+{
+  text-align: right;
+  width: 48px;
+}
+
+form.datamanager2 table.jquery-enabled tr td img.delete
+{
+  display: none;
+  cursor: pointer;
+}
+
+form.datamanager2 table.jquery-enabled tr:hover td img.delete,
+form.datamanager2 table.jquery-enabled tr.hover td img.delete,
+form.datamanager2 table.jquery-enabled tr.deleted td img.delete
+{
+  display: inline;
+}
+
+form.datamanager2 table.jquery-enabled td img.delete
+{
+  position: absolute;
+  margin-left: -16px;
+}
+
+form.datamanager2 table.jquery-enabled tr th.add_new_row img,
+form.datamanager2 table.jquery-enabled tr th img.enabled
+{
+  cursor: pointer;
+}
+
+form.datamanager2 table.jquery-enabled tfoot td
+{
+  display: none;
+}
+
+form.datamanager2 table.jquery-enabled tfoot td.new_row
+{
+  display: table-cell;
+}
+
+form.datamanager2 table.jquery-enabled .deleted input,
+form.datamanager2 table.jquery-enabled .deleted select,
+form.datamanager2 table.jquery-enabled .deleted textarea
+{
+  text-decoration: line-through;
+  font-style: Italic;
+  opacity: 0.5;
+  filter:alpha(opacity=50);
+  -moz-opacity:.50;
+  vertical-align: middle;
+}
+
+form.datamanager2 table.jquery-enabled thead th.add_column
+{
+}
+
+form.datamanager2 table.jquery-enabled thead img.column_sort,
+form.datamanager2 table.jquery-enabled thead img.delete
+{
+  display: none;
+  position: absolute;
+}
+
+form.datamanager2 table.jquery-enabled thead img.move_left
+{
+  margin-left: -16px;
+}
+
+form.datamanager2 table.jquery-enabled thead img.delete
+{
+  margin-left: -32px;
+}
+
+form.datamanager2 table.jquery-enabled thead img.hover
+{
+  display: inline;
+}
+
+form.datamanager2 table.jquery-enabled thead .deleted img.delete
+{
+  display: inline !important;
+}
+
diff --git a/data/maemo/skin/css/master.css b/data/maemo/skin/css/master.css
new file mode 100644
index 0000000..a3d4edb
--- /dev/null
+++ b/data/maemo/skin/css/master.css
@@ -0,0 +1,1376 @@
+body
+{
+    background: #eaeaea url('../img/top_bg.jpg') repeat-x top left;
+    color: #404040;
+    font-family: "Arial", sans-serif;
+    text-align: center;
+}
+
+a
+{
+    text-decoration: none;
+    color: #fa8700;
+}
+
+a:hover
+{
+    text-decoration: underline;
+}
+
+a:visited {
+    color: #888;
+}
+
+h1, h2, h3
+{
+    margin: 0.5em 0;
+}
+
+img
+{
+    border: none;
+}
+
+input
+{
+    font-family: "Arial", sans-serif;
+}
+
+p
+{
+    margin-bottom: 0.5em;
+}
+
+#main p
+{
+    text-align: justify; text-justify: distribute;
+}
+
+#main li
+{
+    text-align: justify; text-justify: distribute;
+}
+
+span.normal
+{
+    font-weight: normal;
+}
+
+div.body
+{
+    min-width: 766px;
+    width: 95%;
+    max-width: 1200px;
+    margin: 0 auto;
+    text-align: left;
+}
+
+div.body #header
+{
+    font-size: 62.5%; /* Reset font to 10px */
+    height: 67px;
+    width: 100%;
+}
+
+div.body #header #logo a
+{
+    float: left;
+    border: none;
+}
+
+/** Login-box **/
+
+div.body #header #user-login
+{
+    float: right;
+    margin-top: 17px;
+    margin-right: 0;
+    width: 240px;
+    font-size: 140%;
+}
+
+div.body #header #user-login form
+{
+	margin: 0;
+	padding: 0;
+}
+
+div.body #header input
+{
+	border: 0;
+	color: #a5a5a6;
+	font-size: 1em;
+	font-weight: bold;
+	padding: 8px 0 7px 10px;
+	display: block;
+    float: left;
+    margin: 0;
+}
+
+div.body #header #user-login #username
+{
+    background: url('../img/username-box-bg.gif') no-repeat top left;
+    height: 20px;
+	width: 82px;
+	margin-right: 7px;
+}
+
+div.body #header #user-login #password
+{
+    background: url('../img/password-box-bg.gif') no-repeat top left;
+	width: 81px;
+    height: 20px;
+}
+
+div.body #header #user-login .submit
+{
+	background: url('../img/search-button.gif') no-repeat top left;
+	width: 49px;
+	height: 31px;
+	text-indent: -1000px;
+    font-size: 0;
+    cursor: pointer;
+}
+
+
+div.body #header #register
+{
+    float: right;
+    margin: 17px 15px 0 0;
+    height: 31px;
+}
+
+div.body #header #register h3
+{
+   clear: none;
+   display: none;   
+}
+
+div.body #navigation
+{
+	font-size: 62.5%; /* Reset font to 10px */
+	background: url(../img/header_navigation_middle.gif) repeat-x scroll right bottom;
+	clear: both;
+	height: 66px;
+}
+
+div.body #navigation #navigation-left-wrapper
+{
+	height: 66px;
+	background: url(../img/header_navigation_left.gif) no-repeat left bottom;
+}
+
+div.body #navigation #navigation-right-wrapper
+{
+	height: 66px;
+	background: url(../img/header_navigation_right.gif) no-repeat right bottom;
+}
+
+div.body #navigation ul
+{
+	list-style-type: none;
+	margin: 0;
+	padding: 0;
+	float: left;
+}
+
+div.body #navigation ul li
+{
+	margin: 0;
+	height: 66px;
+	float: left;
+}
+
+div.body #navigation ul li.selected
+{
+	background: url('../img/navigation-selected.gif') no-repeat bottom center;
+}
+
+div.body #navigation ul li a
+{
+	background: url('../img/navigation-separator.gif') no-repeat top right;
+	text-transform: uppercase;
+	display: block;
+    font-size: 1.3em;
+	color: #ffffff;
+	float: left;
+	padding: 21px 10px 19px 10px;
+	font-weight: bold;
+}
+
+div.body #navigation ul li.talk a
+{
+	background: none !important;
+}
+
+div.body #navigation ul li.selected a,
+div.body #navigation ul li a:hover, 
+div.body #navigation ul li.talk a:hover {
+	background-color: #686868;
+	text-decoration: none;
+}
+
+/** Search-box **/
+
+div.body #navigation #search
+{
+    float: right;
+    margin-top: 11px;
+    margin-right: 0;
+}
+
+div.body #navigation #search input
+{
+	border: 0;
+	float: left;
+	margin: 0;
+	display: block;
+}
+
+div.body #navigation #search #query,
+div.body #navigation #searchInput
+{
+    background: url('../img/search-box-bg.gif') no-repeat top left;
+	width: 181px;
+    height: 20px;
+	color: #a5a5a6;
+	font-size: 1.4em;
+	font-weight: bold;
+	padding: 8px 0 7px 10px;
+}
+
+div.body #navigation #search .submit
+{
+	background: url('../img/search-button.gif') no-repeat top left;
+	width: 49px;
+	padding: 31px 0 0 0;
+	text-indent: -1000px;
+    font-size: 0;
+    cursor: pointer;
+}
+
+/* Self-clearing floats */
+
+div.body #content:after,
+div.body #content #main:after,
+div.body #content #main-wrapper:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+
+div.body #content,
+div.body #content #main,
+div.body #content #main-wrapper { display: inline-block; }
+
+div.body #content,
+div.body #content #main,
+div.body #content #main-wrapper { display: block; }
+
+/* Self-clearing floats */
+
+div.body #content
+{
+    min-width: 766px;
+    line-height: 1.2;
+}
+
+div.body #content a.more
+{
+    background: url('../img/icon-more.gif') no-repeat top right;
+    width: 69px;
+    height: 19px;
+    text-indent: -1000em;
+    float: right;
+    clear: left;
+}
+
+div.body #content a.feed
+{
+    background: url('../img/icon-rss.gif') no-repeat top left;
+    width: 19px;
+    height: 19px;
+    text-indent: -1000em;
+    float: right;
+    margin-top: -40px;
+}
+
+div.body #content a.opml
+{
+	background: transparent url(../img/opml-icon-16x16.png) no-repeat scroll left top;
+	float: left;
+	height: 16px;
+	margin-top: 15px;
+	padding-left: 20px;
+
+}
+
+div.body #content #sidebar a.feed
+{
+    margin-top: -32px;
+}
+
+/* Main */
+
+div.body #content #main
+{
+    margin-right: 255px;
+/*    padding-right: 10px; */
+    font-size: 1.4em;
+    border: 1px solid #eaeaea;
+}
+
+div.body #content #main #main-wrapper
+{
+   overflow: hidden;
+   width: 99%;
+   margin: 0px 0px;
+   float: left;
+   border: 1px solid #eaeaea;
+}
+
+div.body #content #main h1
+{
+    font-size: 1.72em;
+    padding-bottom: 0.375em;
+    text-transform: capitalize;
+}
+
+div.body #content #main h1 a
+{
+    color: #404040;
+}
+
+div.body #content #main h2
+{
+    font-size: 1.571em;
+}
+
+div.body #content #main h3
+{
+    font-size: 1.2857em;
+}
+
+div.body #content #main ul
+{
+    list-style-type: disc;
+    color: #fa8700;
+    margin: 0.5em 0 0.5em 2em;
+}
+
+div.body #content #main li
+{
+    color: #404040;
+}
+
+div.body #content #main #main-wrapper #fp-app-wrapper,
+div.body #content #main #main-wrapper #application-blocks1
+{
+    background: url('../img/main-divider.gif') no-repeat bottom center;
+    float: left;
+    width: 100%;
+    padding-bottom: 10px;
+}
+
+div.body #content #main #fp-app-wrapper #featured,
+div.body #content #main #fp-app-wrapper #updated
+{
+    width: 48%;
+    float: left;
+    padding-top: 8px;
+}
+
+div.body #content #main #fp-app-wrapper #updated
+{
+    margin-left: 15px;
+}
+
+div.body #content #main #fp-app-wrapper #featured .rating,
+div.body #content #main #fp-app-wrapper #updated .rating
+{
+    width: 120px;
+    float: left;
+}
+
+div.body #content #main #fp-app-wrapper #featured .more,
+div.body #content #main #fp-app-wrapper #updated .more,
+div.body #content #main #news a.more
+{
+    clear: right;
+    float: right;
+}
+
+div.body #content #main #fp-app-wrapper #featured .description,
+div.body #content #main #fp-app-wrapper #updated .description
+{
+    height: 74px;
+    overflow: hidden;
+}
+
+div.body #content #main #news .more
+{
+    clear: right;
+    margin-top: 15px;
+}
+
+div.body #content #main #products
+{
+/*    min-width: 500px;
+    max-width: 65%;*/
+    padding-bottom: 40px;
+    background: url('../img/main-divider.gif') no-repeat bottom left;
+}
+
+div.body #content #main #products .product
+{
+    margin-right: 5px;
+    width: 30%;
+    min-width: 240px;
+    float: left;
+}
+
+div.body #content #main .sections
+{
+    width: 100%;
+    float: left;
+    clear: left;
+    margin-top: 20px;
+}
+
+div.body #content #main .sections a
+{
+    color: #404040;
+}
+
+div.body #content #main .sections li
+{
+    background: url('../img/column-item-divider.gif') no-repeat bottom left;
+    margin-top: 1px;
+}
+
+div.body #content #main .sections .column
+{
+    margin-right: 5px;
+    width: 46%;
+    min-width: 220px;
+    float: left;
+}
+
+div.body #content #main .sections ul
+{
+	list-style-type: none;
+	margin:0.5em 0 0.5em 0;
+}
+
+div.body #content #main .sections ul.document li a
+{
+    background: url('../img/icon-document.gif') no-repeat top left;
+    padding: 2px 0 7px 25px;
+    display: block;
+}
+
+div.body #content #main .sections ul.help li a
+{
+    background: url('../img/icon-help.gif') no-repeat top left;
+    padding: 2px 0 7px 30px;
+    display: block;
+}
+
+div.body #content #main .sections ul.talk li a
+{
+    background: url('../img/icon-talk.gif') no-repeat top left;
+    padding: 4px 0 10px 35px;
+    display: block;
+}
+
+div.body #content #main .sections ul.started li a, div.body #content #main .sections ul.experience li a, div.body #content #main .sections ul.difference li a
+{
+    padding: 4px 0 10px 35px;
+    display: block;
+}
+
+div.body #content #main .sections ul.started li.download a
+{
+    background: url('../img/icon-started-download.gif') no-repeat top left;
+}
+
+div.body #content #main .sections ul.started li.help a
+{
+    background: url('../img/icon-started-help.gif') no-repeat top left;
+}
+
+div.body #content #main .sections ul.started li.start a
+{
+    background: url('../img/icon-started-start.gif') no-repeat top left;
+}
+
+div.body #content #main .sections ul.started li.tools a
+{
+    background: url('../img/icon-started-tools.gif') no-repeat top left;
+}
+
+div.body #content #main .sections ul.started li.code a
+{
+    background: url('../img/icon-started-code.gif') no-repeat top left;
+}
+
+div.body #content #main .sections ul.experience li.community a
+{
+    background: url('../img/icon-community.gif') no-repeat top left;
+}
+
+div.body #content #main .sections ul.experience li.download a
+{
+    background: url('../img/icon-started-download.gif') no-repeat top left;
+}
+
+div.body #content #main .sections ul.experience li.code a
+{
+    background: url('../img/icon-started-code.gif') no-repeat top left;
+}
+
+div.body #content #main .sections ul.difference li.contribute a
+{
+    background: url('../img/icon-contribute.gif') no-repeat top left;
+}
+
+div.body #content #main .sections ul.difference li.report a
+{
+    background: url('../img/icon-bug.gif') no-repeat top left;
+}
+
+div.body #content #main .sections ul.difference li.security a
+{
+    background: url('../img/icon-security.gif') no-repeat top left;
+}
+
+div.body #content #main #news
+{
+    width: 100%;
+	float: left;
+	clear: left;
+}
+
+div.body #content #main .user_content_support_whitebox
+{
+    float: left;
+    margin-right: 5px;
+    min-width: 220px;
+    width: 46%;
+}
+
+div.body #content #main #news .br,
+div.body #content #main .user_content_support_whitebox .br
+{
+	background: transparent url(../img/box-br.gif) no-repeat scroll 100% 100%;
+	padding: 10px 1px !important;
+}
+
+.tl
+{
+    background: url(../img/box-tl.gif) 0 0 no-repeat;
+}
+
+.tr
+{
+    background: url(../img/box-tr.gif) 100% 0 no-repeat;
+}
+
+.tm
+{
+    background: url(../img/box-tm.gif) 0 0 repeat-x;
+}
+
+.bl
+{
+    background: url(../img/box-bl.gif) 0 100% no-repeat;
+}
+
+.br
+{
+    background: url(../img/box-br.gif) 100% 100% no-repeat;
+    padding: 1em;
+}
+
+.bm
+{
+    background: url(../img/box-bm.gif) 0 100% repeat-x;
+}
+
+.lm
+{
+    background: url(../img/box-lm.gif) 0 0 repeat-y;
+}
+
+.rm
+{
+    background: url(../img/box-rm.gif) 100% 0 repeat-y;
+}
+
+
+div.body #content #main #news ul.recent, 
+div.body #content #main .user_content_support_whitebox ul.recent
+{
+    padding: 0 1px;
+    background-color: #fff;
+    margin: 0;
+    list-style-type:none !important;
+}
+
+div.body #content #main #news ul.recent li
+{
+    padding: 20px;
+}
+
+div.body #content #main .user_content_support_whitebox ul.recent li
+{
+	padding: 5px 12px;
+}
+
+div.body #content #main #news ul.recent li, 
+div.body #content #main .user_content_support_whitebox ul.recent li
+{
+    border-top: 1px solid #d9d9d9;
+    font-size: 1.1em;
+}
+
+div.body #content #main #news ul.recent li h3
+{
+    margin: 0 0 0.25em;
+    font-size: 1.2727em;
+}
+
+div.body #content #main .user_content_support_whitebox ul.recent li h3
+{
+    margin: 0 0 0.25em;
+    font-size: 1.1em;
+}
+
+ul.recent li h3 a {
+    color: #404040;
+}
+ul.recent li h3 a:hover {
+    color: #fa8700;
+}
+
+div.body #content #main #news ul.recent li.first
+{
+	padding-top: 12px;
+}
+
+div.body #content #main .user_content_support_whitebox ul.recent li.first
+{
+	padding-top: 0;
+}
+
+div.body #content #main #news ul.recent li.first, 
+div.body #content #main .user_content_support_whitebox ul.recent li.first
+{
+    border: none;
+}
+
+div.body #content #main #news ul.recent li.last,
+div.body #content #main .user_content_support_whitebox ul.recent li.last
+{
+    padding-bottom: 0;
+}
+
+div.body #content #main #news .entry-truncated,
+div.body #content #main .planet-entry .entry-truncated
+{
+    clear: both;
+    margin-bottom: 10px;
+}
+
+/* Sidebar */
+
+div.body #content #sidebar
+{
+    float: right;
+    width: 239px; /* 256 */
+    margin-top: 60px;
+}
+
+div.body #content #sidebar #get-involved, 
+div.body #content #sidebar #get-help, 
+div.body #content #sidebar #announcements, 
+div.body #content #sidebar #events, 
+div.body #content #sidebar #banners, 
+div.body #content #sidebar #nav-sub 
+{
+    margin-bottom: 20px;
+}
+
+div.body #content #sidebar h2
+{
+    font-size: 2.2em;
+}
+
+div.body #content #sidebar h2 a, div.body #content #sidebar h3 a
+{
+    color: #404040;
+}
+
+div.body #content #sidebar h3
+{
+    font-size: 1.4em;
+}
+
+div.body #content #sidebar p
+{
+    font-size: 1.4em;
+    margin: 0.5em 0;
+}
+
+div.body #content #sidebar #nav-sub
+{
+/*    margin-left: -10px; */
+}
+
+div.body #content #sidebar #nav-sub ul
+{
+    list-style-type: none;
+}
+
+div.body #content #sidebar #nav-sub li
+{
+    background: url('../img/nav-li-normal.gif') no-repeat top left;
+    margin: 1px 0;
+    text-transform: capitalize;
+}
+
+div.body #content #sidebar #nav-sub li a
+{
+    background: url(../img/nav-divider.gif) no-repeat scroll left bottom;
+    color: #4f5050;
+    font-size: 1.4em;
+    font-weight: normal;
+    display: block;
+    padding: 8px 0 8px 30px;
+}
+
+div.body #content #sidebar #nav-sub li a:hover
+{
+	text-decoration: none;
+    background-color: #FB9200;
+    color: #fff;
+}
+
+div.body #content #sidebar #nav-sub li.active
+{
+    background: url('../img/nav-li-active.gif') no-repeat top left;
+}
+
+div.body #content #sidebar #nav-sub ul ul
+{
+    padding-left: 10px;
+}
+
+div.body #content #sidebar #nav-sub ul ul ul
+{
+    padding-left: 20px;
+}
+
+div.body #content #sidebar .wrapper_top_recent
+{
+    background: url('../img/bg-side-recent-top.gif') no-repeat top left;
+    padding-top: 11px;
+}
+
+div.body #content #sidebar .wrapper_bottom_recent
+{
+    background: url('../img/bg-side-recent-bottom.jpg') no-repeat bottom left;
+    padding-bottom: 11px;
+}
+
+div.body #content #sidebar ul.recent
+{
+    padding: 0 3px;
+    background: #fff url('../img/bg-side-recent-middle.gif') repeat-y top left;
+}
+
+div.body #content #sidebar ul.recent li
+{
+    padding: 5px 12px;
+    border-top: 1px solid #d9d9d9;
+    font-size: 1.1em;
+}
+
+div.body #content #sidebar ul.recent li h3
+{
+    margin: 0 0 0.25em;
+    font-size: 1.2727em;
+}
+
+div.body #content #sidebar ul.recent li.first
+{
+    border: none;
+    padding-top: 0;
+}
+
+div.body #content #sidebar ul.recent li.last
+{
+    padding-bottom: 0;
+}
+
+div.body #content #sidebar #get-involved a
+{
+    background: url('../img/banner-get-involved.gif') no-repeat top left;
+    width: 239px;
+    height: 45px;
+    text-indent: -1000em;
+    display: block;
+}
+
+div.body #content #sidebar #get-help a
+{
+    background: url('../img/banner-get-help.gif') no-repeat top left;
+    width: 239px;
+    height: 36px;
+    text-indent: -1000em;
+    display: block;
+}
+
+div.body #content #sidebar #announcements ul,
+div.body #content #sidebar #events ul
+{
+    list-style-type: disc;
+    margin-left: 15px;
+    color: #FA8700;
+    font-size: 1.4em;
+}
+
+div.body #content #sidebar #announcements ul a
+{
+    color: #404040;
+    padding-bottom: 4px;
+}
+
+div.body #content #sidebar #events .dates
+{
+    color: #404040;
+}
+
+div.body #content #sidebar .people li
+{
+    float: left;
+    width: 75px;
+    height: 50px;
+    text-align: center;
+    margin-bottom: 5px;
+}
+
+div.body #content #sidebar .people li a
+{
+	float: left;
+	width: 47px;
+	height: 47px;
+    padding: 2px;
+    overflow: hidden;
+    margin: 0 9px 8px 0;
+}
+
+div.body #content #sidebar .people a.more
+{
+    margin-right: 15px;
+}
+
+div.body #content #sidebar #shortcut
+{
+    background: url('../img/sidebar-divider.gif') no-repeat bottom center;
+    padding-bottom: 40px;
+}
+
+/* Footer */
+
+div.body #footer
+{
+    font-size: 75%;
+    clear: both;
+    color: #fff;
+    background: url('../img/footer_middle.png') repeat-x top left;
+    height: 46px;
+    margin-top: 20px;
+    min-width: 766px;
+    max-width: 1200px;
+    width: 100%;
+}
+
+div.body #footer #footer-wrapper-left
+{
+	height: 46px;
+	background: url(../img/footer_left.png) no-repeat left bottom;
+}
+
+div.body #footer #footer-wrapper-right
+{
+	height: 46px;
+	background: url(../img/footer_right.png) no-repeat right bottom;
+}
+
+div.body #footer ul
+{
+    padding: 14px 0 0 10px;
+    position: relative;
+}
+
+div.body #footer li
+{
+    color: #fff;
+    display: inline;
+    padding: 0 5px;
+    border-left: 1px solid #fff;
+}
+
+div.body #footer li img
+{
+    vertical-align: middle;
+}
+
+div.body #footer li.first
+{
+    border-left: 0;
+    padding-right: 7px;
+}
+
+div.body #footer a
+{
+    text-decoration: underline;
+}
+
+div.body #footer li.sponsored
+{
+    position: absolute;
+    right: 15px;
+}
+
+/* loginpage */
+div.body #content #login_container
+{
+    margin: 2em auto;
+    width: 350px;
+}
+
+div.body #content #login_container form
+{
+	margin: 0;
+	padding: 0;
+}
+
+div.body #content #login_container input
+{
+	border: 0;
+	color: #a5a5a6;
+	font-size: 1.2em;
+	font-weight: normal;
+	padding: 8px 10px 7px 10px;
+	display: block;
+    margin: 20px 1px 1px 1px;
+}
+
+div.body #content #login_container #username
+{
+    background: url('../img/login-box-bg.gif') no-repeat top left;
+    height: 20px;
+	width: 132px;
+}
+
+div.body #content #login_container #password
+{
+    background: url('../img/login-box-bg.gif') no-repeat top left;
+	width: 132px;
+    height: 20px;
+}
+
+div.body #content #login_container #midcom_services_auth_frontend_form_submit
+{
+	background: url('../img/login-box-submit.gif') no-repeat top left;
+	width: 73px;
+	height: 22px;
+	text-indent: -1000px;
+    font-size: 0;
+    padding: 0;
+    cursor: pointer;
+}
+
+
+
+
+
+/* extra stuff */
+
+/* comments */
+
+div.net_nehmer_comments_comment
+{
+	background-color: #fff;
+    padding: 0;
+    margin: 0;
+}
+
+div.net_nehmer_comments_comment .content,
+div.mfcomment .description
+{
+ padding: 2px;
+ float: left;
+ clear: both;
+ margin-left: 65px;
+ margin-top: -20px;
+}
+
+div.net_nehmer_comments_comment .vcard .avatar,
+div.mfcomment .vcard .avatar
+{
+ float: left;
+ width: 60px;
+}
+
+div.net_nehmer_comments_comment .vcard .status,
+div.mfcomment .vcard .status
+{
+ float: left;
+ margin-left: 5px;
+}
+
+div.net_nehmer_comments_comment .vcard .fn,
+div.mfcomment .vcard .fn
+{
+ margin: 0;
+ font-size:1.1em;
+}
+
+div.net_nehmer_comments_comment .vcard .fn,
+div.net_nehmer_comments_comment .vcard .karma,
+div.mfcomment .vcard .fn,
+div.mfcomment .vcard .karma
+{
+ margin: 0;
+ margin-left: 5px;
+ padding: 0;
+ float: left;
+ font-weight: bold;
+}
+
+div.net_nehmer_comments_comment .vcard .karma,
+div.mfcomment .vcard .karma
+{
+ font-size: 0.9em;
+ color: #A2A2A2;
+ display: inline;
+ font-weight: normal;
+}
+
+div.net_nehmer_comments_comment .rating
+{
+ float: right;
+}
+
+div.net_nehmer_comments_comment .published,
+div.mfcomment .dtcommented
+{
+ float: right;
+ clear: both;
+ color: #a1a1a1;
+ font-weight: bold;
+}
+
+div.mfcomment .dtcommented
+{
+ clear: none;
+}
+
+div.net_nehmer_comments_comment .net_nehmer_comments_comment_toolbar,
+div.mfcomment .midcom_toolbar
+{
+ clear: both;
+}
+
+div.net_nehmer_comments_comment .net_nehmer_comments_comment_toolbar ul,
+div.mfcomment .midcom_toolbar ul
+{
+ clear: left;
+ height: 20px;
+}
+
+div.net_nehmer_comments_comment .net_nehmer_comments_comment_toolbar li,
+div.mfcomment .midcom_toolbar li
+{
+ display: inline;
+ float: left;
+}
+
+div.mfcomment .midcom_toolbar li
+{
+ margin-bottom: 10px;
+}
+
+.midcom_toolbar button
+{
+  background: 0;
+  border: 0;
+}
+
+/* /comments */
+div.body #content #main div.hentry .net_nemein_favourites 
+{
+    display: block;
+}
+
+/* Icons */
+
+div.body #content #main #news .fav
+{
+    float: right;
+    width: 100px;
+    margin-left: 5px;
+}
+
+div.body #content .net_nemein_favourites
+{
+    margin-left: 1px;
+    text-align: center;
+    padding-bottom: 20px;
+}
+
+div.body #content .net_nemein_favourites .fav_btn
+{
+	float: left;
+}
+
+div.body #content .net_nemein_favourites .bury_btn
+{
+	float: left;
+}
+
+div.body #content .net_nemein_favourites .fav_btn,
+div.body #content .net_nemein_favourites .bury_btn
+{
+    width: 34px;
+    height: 18px;
+	background-position: left top;
+	background-repeat: no-repeat;
+	cursor: pointer;
+}
+div.body #content .net_nemein_favourites .fav_btn span,
+div.body #content .net_nemein_favourites .bury_btn span
+{
+    line-height: 18px;
+	float: right;
+	font-weight: normal;
+}
+
+div.body #content .net_nemein_favourites .fav_btn
+{
+    background-image: url('../img/icons/favourite.png');
+}
+div.body #content .net_nemein_favourites .fav_btn_hover
+{
+    background-image: url('../img/icons/favourite-hover.png');
+}
+div.body #content .net_nemein_favourites .bury_btn
+{
+    background-image: url('../img/icons/buried.png');
+}
+div.body #content .net_nemein_favourites .bury_btn_hover
+{
+    background-image: url('../img/icons/buried-hover.png');
+}
+
+div.body #content .net_nemein_favourites .fav_btn_disabled
+{
+    background-image: url('../img/icons/favourite-selected.png');
+}
+div.body #content .net_nemein_favourites .bury_btn_disabled
+{
+    background-image: url('../img/icons/buried-selected.png');
+}
+
+.net_nemein_favourites .fav_btn_loading,
+.net_nemein_favourites .bury_btn_loading
+{
+    background-image: url('loader.gif');
+}
+
+div.body #content .net_nemein_favourites_clearfix {
+	clear: left;
+	height: 0;
+	line-height: 0;
+	margin: 0;
+	padding: 0;
+}
+
+
+/* Archive view */
+
+
+div.body #content #archive
+{
+	height: 50px;
+	clear: left;
+	margin-bottom: 20px;
+}
+
+div.body #content #archive h2
+{
+    width: 50px;
+    font-size: 1em;
+    float: left;
+    margin-top: 20px;
+}
+
+
+div.body #content #archive ul
+{
+	list-style-type: none;
+	margin: 0;
+	padding: 0;
+	float: left;
+}
+
+div.body #content #archive ul li
+{
+	margin: 0px 1px 0px 1px;
+	height: 50px;
+	width: 36px;
+	float: left;
+}
+
+div.body #content #archive ul li span.month
+{
+	text-transform: uppercase;
+    font-size: 0.7em;
+	color: #000;
+    width: 36px;
+	padding: 0px 0px 0px 0px;
+	font-weight: normal;
+	display: block;
+	height: 12px;
+	text-align: center;
+}
+
+div.body #content #archive ul li a
+{
+    font-size: 1.3em;
+	color: #ffffff;
+	width: 36px;
+	font-weight: bold;
+	display: block;
+	height: 39px; 
+}
+
+
+div.body #content #archive ul li a span.number
+{
+	background: url(../img/archive-tp.png) no-repeat right top;
+	text-transform: uppercase;
+    font-size: 1em;
+	color: #fff;
+	padding: 9px 3px 0px 3px;
+    font-weight: bold;
+	display: block;
+	text-align: center;
+	height: 39px;
+}
+
+
+div.body  #content #archive ul li a:hover {
+	background-color: #fb9200 !important;
+	text-decoration: none;
+}
+
+div.body #content #archive:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+
+div.body #content #archive { display: inline-block; }
+
+div.body #content #archive { display: block; }
+
+
+div.body #breadcrumb, 
+div.body #content
+{
+	margin: 0 6px;
+}
+
+div.body #breadcrumb
+{
+    font-size: 1.4em;
+    margin-top: 15px;
+}
+
+/* content */
+
+#content pre {
+  color: #000;
+  background: #fffbf2;
+  border: 2px solid #999;
+  margin: 12px;
+  padding: 12px;
+  text-align: left;
+  white-space: pre-wrap; /* css-3 */
+  white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
+  white-space: -pre-wrap; /* Opera 4-6 */
+  white-space: -o-pre-wrap; /* Opera 7 */
+  word-wrap: break-word; /* Internet Explorer 5.5+ */
+  display: block;
+  overflow: auto;
+}
+
+/* simple profile dynload */
+#content .vcard,
+#content .vcard .fn
+{
+    display: inline;
+}
+
+/* discussions */
+div.body .mail,
+div.body .mfcomment
+{
+ clear: left;
+ background-color: #ffffff;
+}
+
+div.body .mail h2
+{
+ margin: 0;
+ clear: left;
+}
+
+/* wide page */
+
+body.wide div.body #content #sidebar
+{
+	display: none;
+}
+
+body.wide div.body #content #main
+{
+	margin-right: 0 !important;
+}
+
+.net_nemein_registrations_list td
+{
+    padding: 2px;
+    border-right: 1px solid black;
+}
+
+.net_nemein_registrations_list th
+{
+    padding-left: 5px;
+    padding-right: 5px;
+}
+
+
+/* library.maemo.org stuff */
+
+div.body-sidebar {
+	padding-top: 10px;
+	width: auto;
+	padding-left: 3%;
+	padding-right: 300px;
+	text-align: justify;
+}
+
+div.sidebar {
+	position: absolute;
+	text-align: right;
+	width: 250px;
+	right: 3%;
+	top: 150px;
+}
diff --git a/data/maemo/skin/css/print.css b/data/maemo/skin/css/print.css
new file mode 100644
index 0000000..cde912e
--- /dev/null
+++ b/data/maemo/skin/css/print.css
@@ -0,0 +1,68 @@
+.search, #navigation, #sidebar, #breadcrumb, #content_menu, .midcom_services_toolbars_fancy, #user-login, #footer{
+    display: none;
+}
+
+a img{
+    border: 0;
+}
+
+a:link, a:visited {
+    color: #025;
+    background: transparent;
+    font-weight: bold;
+    text-decoration: underline;
+}
+
+body{
+    font-family: Serif;
+    font-size: 12pt;
+}
+
+pre{
+    border: 1px solid black;
+    padding-left: 0.5em;
+    padding-right: 0.5em;
+    white-space: pre-wrap; /* css-3 */
+    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
+    white-space: -pre-wrap; /* Opera 4-6 */
+    white-space: -o-pre-wrap; /* Opera 7 */
+    word-wrap: break-word; /* Internet Explorer 5.5+ */
+    background-color: #e0e0e0;
+    overflow: scroll;
+    font-size: 9pt;
+}
+
+h1{
+    font-family: Sans Serif;
+    font-size: 22pt;
+    font-weight: bold;
+}
+
+h2{
+    font-family: Sans Serif;
+    font-size: 18pt;
+    font-weight: bold;
+}
+
+h3{
+    font-family: Sans Serif;
+    font-size: 16pt;
+    font-weight: normal;
+}
+
+h4{
+    font-family: Sans Serif;
+    font-size: 12pt;
+    font-weight: bold;
+}
+
+table{
+    border: 1px solid black;
+    margin: 0;
+    padding: 0;
+}
+
+td{
+    border: 1px solid black;
+    background-color: #ffffff;
+}
diff --git a/data/maemo/skin/css/reset.css b/data/maemo/skin/css/reset.css
new file mode 100644
index 0000000..af58eca
--- /dev/null
+++ b/data/maemo/skin/css/reset.css
@@ -0,0 +1,50 @@
+/* v1.0 | 20080212 */
+
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, font, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend {
+	margin: 0;
+	padding: 0;
+	border: 0;
+	outline: 0;
+	font-size: 100%;
+	vertical-align: baseline;
+	background: transparent;
+}
+body {
+}
+ol, ul {
+	list-style: none;
+}
+blockquote, q {
+	quotes: none;
+}
+blockquote:before, blockquote:after,
+q:before, q:after {
+	content: '';
+	content: none;
+}
+
+/* remember to define focus styles! */
+:focus {
+	outline: 0;
+}
+
+/* remember to highlight inserts somehow! */
+ins {
+	text-decoration: none;
+}
+del {
+	text-decoration: line-through;
+}
+
+/* tables still need 'cellspacing="0"' in the markup */
+table {
+	border-collapse: collapse;
+	border-spacing: 0;
+}
diff --git a/data/maemo/skin/css/screen.css b/data/maemo/skin/css/screen.css
new file mode 100644
index 0000000..dced3ca
--- /dev/null
+++ b/data/maemo/skin/css/screen.css
@@ -0,0 +1,65 @@
+.net_nemein_favourites .fav_btn,
+.net_nemein_favourites .bury_btn
+{
+    cursor: pointer;
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+.net_nemein_favourites .fav_btn_disabled,
+.net_nemein_favourites .bury_btn_disabled
+{
+    cursor: default;
+}
+.net_nemein_favourites .fav_btn,
+.net_nemein_favourites .bury_btn
+{
+    float: left;
+    width: 32px;
+    height: 16px;
+    margin-right: 3px;
+}
+.net_nemein_favourites .fav_btn span,
+.net_nemein_favourites .bury_btn span
+{
+    line-height: 16px;    
+}
+
+.net_nemein_favourites .fav_btn
+{
+    background-image: url('not-favorite.png');
+}
+.net_nemein_favourites .fav_btn_hover
+{
+    background-image: url('not-favorite-hover.png');
+}
+.net_nemein_favourites .bury_btn
+{
+    background-image: url('not-buried.png');
+}
+.net_nemein_favourites .bury_btn_hover
+{
+    background-image: url('not-buried-hover.png');
+}
+.net_nemein_favourites .fav_btn_disabled
+{
+    background-image: url('favorite.png');
+}
+.net_nemein_favourites .bury_btn_disabled
+{
+    background-image: url('bury.png');
+}
+
+.net_nemein_favourites .fav_btn_loading,
+.net_nemein_favourites .bury_btn_loading
+{
+    background-image: url('loader.gif');
+}
+
+.net_nemein_favourites_clearfix
+{
+    clear: both;
+    height: 0px;
+    line-height: 0px;
+    margin: 0px;
+    padding: 0px;
+}
\ No newline at end of file
diff --git a/data/maemo/skin/css/simple.css b/data/maemo/skin/css/simple.css
new file mode 100644
index 0000000..bbc0bc8
--- /dev/null
+++ b/data/maemo/skin/css/simple.css
@@ -0,0 +1,48 @@
+/**
+ * Styles for ui messages without javascript
+**/
+
+div.midcom_services_uimessages_holder
+{
+    margin: 15px;
+    padding: 5px;
+    color: #000000;
+}
+
+div.midcom_services_uimessages_message
+{
+    margin: 10px 0 10px 0;
+}
+div.msu_info
+{
+    border: 1px solid #008000;
+}
+div.msu_ok
+{
+    border: 1px solid #008000;
+}
+div.msu_warning
+{
+    border: 1px solid #ff0000;
+}
+div.msu_error
+{
+    border: 1px solid #ff0000;
+}
+div.msu_debug
+{
+    border: 1px solid #ffff00;
+}
+
+div.midcom_services_uimessages_message_type
+{
+    display: none;
+}
+div.midcom_services_uimessages_message_title
+{
+    font-weight: bold;
+}
+div.midcom_services_uimessages_message_msg
+{
+    
+}
\ No newline at end of file
diff --git a/data/maemo/skin/doxygen.css b/data/maemo/skin/doxygen.css
new file mode 100644
index 0000000..2c5dc0c
--- /dev/null
+++ b/data/maemo/skin/doxygen.css
@@ -0,0 +1,371 @@
+DIV.qindex {
+	width: 100%;
+	background-color: #e8eef2;
+	border: 1px solid #84b0c7;
+	text-align: center;
+	margin: 2px;
+	padding: 2px;
+	line-height: 140%;
+}
+DIV.nav {
+	width: 100%;
+	border: 1px solid #84b0c7;
+	text-align: center;
+	margin: 2px;
+	padding: 2px;
+	line-height: 140%;
+}
+DIV.navtab {
+       background-color: #e8eef2;
+       border: 1px solid #84b0c7;
+       text-align: center;
+       margin: 2px;
+       margin-right: 15px;
+       padding: 2px;
+}
+TD.navtab {
+       font-size: 70%;
+}
+A.qindex {
+       text-decoration: none;
+       font-weight: bold;
+       color: #1A419D;
+}
+A.qindex:visited {
+       text-decoration: none;
+       font-weight: bold;
+       color: #1A419D
+}
+A.qindex:hover {
+	text-decoration: none;
+	background-color: #ddddff;
+}
+A.qindexHL {
+	text-decoration: none;
+	font-weight: bold;
+	background-color: #6666cc;
+	color: #ffffff;
+	border: 1px double #9295C2;
+}
+A.qindexHL:hover {
+	text-decoration: none;
+	background-color: #6666cc;
+	color: #ffffff;
+}
+A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
+A.elRef { font-weight: bold }
+A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
+A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
+A.codeRef:link { font-weight: normal; color: #0000FF}
+A.codeRef:visited { font-weight: normal; color: #0000FF}
+A:hover { text-decoration: underline; }
+DL.el { margin-left: -1cm }
+.fragment {
+       font-family: monospace, fixed;
+       font-size: 95%;
+}
+PRE.fragment {
+	border: 1px solid #CCCCCC;
+	background-color: #f5f5f5;
+	margin-top: 4px;
+	margin-bottom: 4px;
+	margin-left: 2px;
+	margin-right: 8px;
+	padding-left: 6px;
+	padding-right: 6px;
+	padding-top: 4px;
+	padding-bottom: 4px;
+}
+DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+
+DIV.groupHeader {
+       margin-left: 16px;
+       margin-top: 12px;
+       margin-bottom: 6px;
+       font-weight: bold;
+}
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
+TD.indexkey {
+	background-color: #e8eef2;
+	font-weight: bold;
+	padding-right  : 10px;
+	padding-top    : 2px;
+	padding-left   : 10px;
+	padding-bottom : 2px;
+	margin-left    : 0px;
+	margin-right   : 0px;
+	margin-top     : 2px;
+	margin-bottom  : 2px;
+	border: 1px solid #CCCCCC;
+}
+TD.indexvalue {
+	background-color: #e8eef2;
+	font-style: italic;
+	padding-right  : 10px;
+	padding-top    : 2px;
+	padding-left   : 10px;
+	padding-bottom : 2px;
+	margin-left    : 0px;
+	margin-right   : 0px;
+	margin-top     : 2px;
+	margin-bottom  : 2px;
+	border: 1px solid #CCCCCC;
+}
+TR.memlist {
+   background-color: #f0f0f0; 
+}
+P.formulaDsp { text-align: center; }
+IMG.formulaDsp { }
+IMG.formulaInl { vertical-align: middle; }
+SPAN.keyword       { color: #008000 }
+SPAN.keywordtype   { color: #604020 }
+SPAN.keywordflow   { color: #e08000 }
+SPAN.comment       { color: #800000 }
+SPAN.preprocessor  { color: #806020 }
+SPAN.stringliteral { color: #002080 }
+SPAN.charliteral   { color: #008080 }
+.mdescLeft {
+       padding: 0px 8px 4px 8px;
+	font-size: 80%;
+	font-style: italic;
+	background-color: #FAFAFA;
+	border-top: 1px none #E0E0E0;
+	border-right: 1px none #E0E0E0;
+	border-bottom: 1px none #E0E0E0;
+	border-left: 1px none #E0E0E0;
+	margin: 0px;
+}
+.mdescRight {
+       padding: 0px 8px 4px 8px;
+	font-size: 80%;
+	font-style: italic;
+	background-color: #FAFAFA;
+	border-top: 1px none #E0E0E0;
+	border-right: 1px none #E0E0E0;
+	border-bottom: 1px none #E0E0E0;
+	border-left: 1px none #E0E0E0;
+	margin: 0px;
+}
+.memItemLeft {
+	padding: 1px 0px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: solid;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.memItemRight {
+	padding: 1px 8px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: solid;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.memTemplItemLeft {
+	padding: 1px 0px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: none;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.memTemplItemRight {
+	padding: 1px 8px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: none;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.memTemplParams {
+	padding: 1px 0px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: solid;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+       color: #606060;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.search     { color: #003399;
+              font-weight: bold;
+}
+FORM.search {
+              margin-bottom: 0px;
+              margin-top: 0px;
+}
+INPUT.search { font-size: 75%;
+               color: #000080;
+               font-weight: normal;
+               background-color: #e8eef2;
+}
+TD.tiny      { font-size: 75%;
+}
+.dirtab { padding: 4px;
+          border-collapse: collapse;
+          border: 1px solid #84b0c7;
+}
+TH.dirtab { background: #e8eef2;
+            font-weight: bold;
+}
+
+/* Style for detailed member documentation */
+.memtemplate {
+  font-size: 80%;
+  color: #606060;
+  font-weight: normal;
+} 
+.memnav { 
+  background-color: #e8eef2;
+  border: 1px solid #84b0c7;
+  text-align: center;
+  margin: 2px;
+  margin-right: 15px;
+  padding: 2px;
+}
+.memitem {
+  padding: 4px;
+  background-color: #eef3f5;
+  border-width: 1px;
+  border-style: solid;
+  border-color: #dedeee;
+  -moz-border-radius: 8px 8px 8px 8px;
+}
+.memname {
+  white-space: nowrap;
+  font-weight: bold;
+}
+.memdoc{
+  padding-left: 10px;
+}
+.memproto {
+  background-color: #d5e1e8;
+  width: 100%;
+  border-width: 1px;
+  border-style: solid;
+  border-color: #84b0c7;
+  font-weight: bold;
+  -moz-border-radius: 8px 8px 8px 8px;
+}
+.paramkey {
+  text-align: right;
+}
+.paramtype {
+  white-space: nowrap;
+}
+.paramname {
+  color: #602020;
+  font-style: italic;
+  white-space: nowrap;
+}
+/* End Styling for detailed member documentation */
+
+/* for the tree view */
+.ftvtree {
+	font-family: sans-serif;
+	margin:0.5em;
+}
+.directory { font-size: 9pt; font-weight: bold; }
+.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
+.directory > h3 { margin-top: 0; }
+.directory p { margin: 0px; white-space: nowrap; }
+.directory div { display: none; margin: 0px; }
+.directory img { vertical-align: -30%; }
+
+div.tabs {
+	padding-top: 1em;
+	margin-bottom: 1em;
+}
+
+div.doxygen div.tabs ul {
+	padding: 0;
+}
+
+div.tabs ul li {
+    display: inline;
+    padding: 8px 0 5px 0;
+    background: url(img/nav-divider.gif) no-repeat scroll left bottom;
+}
+
+div.tabs ul a {
+    color: #4f5050;
+    font-size: 1em;
+    font-weight: normal;
+    padding: 8px 15px 8px 15px;
+    height: 30px;
+    background: url(img/nav-li-normal.gif) no-repeat top left;
+}
+
+div.tabs ul a:hover {
+    color: #FB9200;
+}
+
+div.tabs ul li:hover a,
+div.tabs ul li#current a {
+    background-image: url(img/nav-li-active.gif);
+    background-repeat: no-repeat;
+    background-position: top left;
+}
+
+address {
+	display: none;
+}
+
+div.doxygen ul {
+	padding-left: 2em;
+	list-style: circle;
+}
+
+div.doxygen table {
+	margin: 1em 0;
+}
diff --git a/data/maemo/skin/gtkdoc.css b/data/maemo/skin/gtkdoc.css
new file mode 100644
index 0000000..538261a
--- /dev/null
+++ b/data/maemo/skin/gtkdoc.css
@@ -0,0 +1,66 @@
+table#top {
+	margin: 1em auto;
+	clear: both;
+	border: 1px solid #bc6d00;
+	background: #fb9200;
+	font-weight: bold;
+}
+
+table#top th p {
+	text-align: center;
+	margin: 1em 0;
+}
+
+div.book {
+	margin-bottom: 1em;
+}
+
+div.gtk-doc div.footer {
+	display: none;
+}
+
+.synopsis, .classsynopsis 
+{
+	background: #eee;
+	border: solid 1px #aaa;
+	padding: 0.5em;
+}
+.programlisting 
+{
+	background: #eef;
+	border: solid 1px #aaf;
+	padding: 0.5em;
+}
+.variablelist 
+{
+	padding: 4px;
+	margin-left: 3em;
+}
+.variablelist td:first-child
+{
+	vertical-align: top;
+}
+
+.variablelist p {
+	margin: 0;
+}
+
+div.toc dd {
+	margin-left: 1em;
+}
+
+div.gtk-doc h1 {
+	font-size: 150%;
+}
+
+div.gtk-doc h2 {
+	font-size: 130%;
+}
+
+div.gtk-doc h3 {
+	font-size: 115%;
+}
+
+div.gtk-doc {
+	margin-bottom: 1em;
+}
diff --git a/data/maemo/skin/img/banner-get-help.gif b/data/maemo/skin/img/banner-get-help.gif
new file mode 100644
index 0000000..877f39a
Binary files /dev/null and b/data/maemo/skin/img/banner-get-help.gif differ
diff --git a/data/maemo/skin/img/banner-get-involved.gif b/data/maemo/skin/img/banner-get-involved.gif
new file mode 100644
index 0000000..c2160d2
Binary files /dev/null and b/data/maemo/skin/img/banner-get-involved.gif differ
diff --git a/data/maemo/skin/img/bg-side-recent-bottom.jpg b/data/maemo/skin/img/bg-side-recent-bottom.jpg
new file mode 100644
index 0000000..bbac868
Binary files /dev/null and b/data/maemo/skin/img/bg-side-recent-bottom.jpg differ
diff --git a/data/maemo/skin/img/bg-side-recent-middle.gif b/data/maemo/skin/img/bg-side-recent-middle.gif
new file mode 100644
index 0000000..eca8d6d
Binary files /dev/null and b/data/maemo/skin/img/bg-side-recent-middle.gif differ
diff --git a/data/maemo/skin/img/bg-side-recent-top.gif b/data/maemo/skin/img/bg-side-recent-top.gif
new file mode 100644
index 0000000..a519178
Binary files /dev/null and b/data/maemo/skin/img/bg-side-recent-top.gif differ
diff --git a/data/maemo/skin/img/buried-hover.png b/data/maemo/skin/img/buried-hover.png
new file mode 100644
index 0000000..e925274
Binary files /dev/null and b/data/maemo/skin/img/buried-hover.png differ
diff --git a/data/maemo/skin/img/buried-selected.png b/data/maemo/skin/img/buried-selected.png
new file mode 100644
index 0000000..0143f99
Binary files /dev/null and b/data/maemo/skin/img/buried-selected.png differ
diff --git a/data/maemo/skin/img/buried.png b/data/maemo/skin/img/buried.png
new file mode 100644
index 0000000..ccb5d73
Binary files /dev/null and b/data/maemo/skin/img/buried.png differ
diff --git a/data/maemo/skin/img/cancel.png b/data/maemo/skin/img/cancel.png
new file mode 100644
index 0000000..5c08b05
Binary files /dev/null and b/data/maemo/skin/img/cancel.png differ
diff --git a/data/maemo/skin/img/column-item-divider.gif b/data/maemo/skin/img/column-item-divider.gif
new file mode 100644
index 0000000..03839c9
Binary files /dev/null and b/data/maemo/skin/img/column-item-divider.gif differ
diff --git a/data/maemo/skin/img/favourite-hover.png b/data/maemo/skin/img/favourite-hover.png
new file mode 100644
index 0000000..4e33dee
Binary files /dev/null and b/data/maemo/skin/img/favourite-hover.png differ
diff --git a/data/maemo/skin/img/favourite-selected.png b/data/maemo/skin/img/favourite-selected.png
new file mode 100644
index 0000000..1b4f966
Binary files /dev/null and b/data/maemo/skin/img/favourite-selected.png differ
diff --git a/data/maemo/skin/img/favourite.png b/data/maemo/skin/img/favourite.png
new file mode 100644
index 0000000..0a1b5cd
Binary files /dev/null and b/data/maemo/skin/img/favourite.png differ
diff --git a/data/maemo/skin/img/footer_left.png b/data/maemo/skin/img/footer_left.png
new file mode 100644
index 0000000..02e0643
Binary files /dev/null and b/data/maemo/skin/img/footer_left.png differ
diff --git a/data/maemo/skin/img/footer_middle.png b/data/maemo/skin/img/footer_middle.png
new file mode 100644
index 0000000..e307b0a
Binary files /dev/null and b/data/maemo/skin/img/footer_middle.png differ
diff --git a/data/maemo/skin/img/footer_right.png b/data/maemo/skin/img/footer_right.png
new file mode 100644
index 0000000..15ebbd4
Binary files /dev/null and b/data/maemo/skin/img/footer_right.png differ
diff --git a/data/maemo/skin/img/header_navigation_left.gif b/data/maemo/skin/img/header_navigation_left.gif
new file mode 100644
index 0000000..1e537f0
Binary files /dev/null and b/data/maemo/skin/img/header_navigation_left.gif differ
diff --git a/data/maemo/skin/img/header_navigation_middle.gif b/data/maemo/skin/img/header_navigation_middle.gif
new file mode 100644
index 0000000..72fccc2
Binary files /dev/null and b/data/maemo/skin/img/header_navigation_middle.gif differ
diff --git a/data/maemo/skin/img/header_navigation_right.gif b/data/maemo/skin/img/header_navigation_right.gif
new file mode 100644
index 0000000..9654b5e
Binary files /dev/null and b/data/maemo/skin/img/header_navigation_right.gif differ
diff --git a/data/maemo/skin/img/icon-bug.gif b/data/maemo/skin/img/icon-bug.gif
new file mode 100644
index 0000000..598500c
Binary files /dev/null and b/data/maemo/skin/img/icon-bug.gif differ
diff --git a/data/maemo/skin/img/icon-community.gif b/data/maemo/skin/img/icon-community.gif
new file mode 100644
index 0000000..3aac996
Binary files /dev/null and b/data/maemo/skin/img/icon-community.gif differ
diff --git a/data/maemo/skin/img/icon-contribute.gif b/data/maemo/skin/img/icon-contribute.gif
new file mode 100644
index 0000000..2ef3ba7
Binary files /dev/null and b/data/maemo/skin/img/icon-contribute.gif differ
diff --git a/data/maemo/skin/img/icon-document.gif b/data/maemo/skin/img/icon-document.gif
new file mode 100644
index 0000000..a94a65b
Binary files /dev/null and b/data/maemo/skin/img/icon-document.gif differ
diff --git a/data/maemo/skin/img/icon-help.gif b/data/maemo/skin/img/icon-help.gif
new file mode 100644
index 0000000..3d3b22d
Binary files /dev/null and b/data/maemo/skin/img/icon-help.gif differ
diff --git a/data/maemo/skin/img/icon-more.gif b/data/maemo/skin/img/icon-more.gif
new file mode 100644
index 0000000..536e1d0
Binary files /dev/null and b/data/maemo/skin/img/icon-more.gif differ
diff --git a/data/maemo/skin/img/icon-rss.gif b/data/maemo/skin/img/icon-rss.gif
new file mode 100644
index 0000000..990e66a
Binary files /dev/null and b/data/maemo/skin/img/icon-rss.gif differ
diff --git a/data/maemo/skin/img/icon-security.gif b/data/maemo/skin/img/icon-security.gif
new file mode 100644
index 0000000..d51ac60
Binary files /dev/null and b/data/maemo/skin/img/icon-security.gif differ
diff --git a/data/maemo/skin/img/icon-started-code.gif b/data/maemo/skin/img/icon-started-code.gif
new file mode 100644
index 0000000..d29b667
Binary files /dev/null and b/data/maemo/skin/img/icon-started-code.gif differ
diff --git a/data/maemo/skin/img/icon-started-download.gif b/data/maemo/skin/img/icon-started-download.gif
new file mode 100644
index 0000000..6ba9ef8
Binary files /dev/null and b/data/maemo/skin/img/icon-started-download.gif differ
diff --git a/data/maemo/skin/img/icon-started-help.gif b/data/maemo/skin/img/icon-started-help.gif
new file mode 100644
index 0000000..7b65725
Binary files /dev/null and b/data/maemo/skin/img/icon-started-help.gif differ
diff --git a/data/maemo/skin/img/icon-started-start.gif b/data/maemo/skin/img/icon-started-start.gif
new file mode 100644
index 0000000..cfdf45f
Binary files /dev/null and b/data/maemo/skin/img/icon-started-start.gif differ
diff --git a/data/maemo/skin/img/icon-started-tools.gif b/data/maemo/skin/img/icon-started-tools.gif
new file mode 100644
index 0000000..8cf9b2e
Binary files /dev/null and b/data/maemo/skin/img/icon-started-tools.gif differ
diff --git a/data/maemo/skin/img/icon-talk.gif b/data/maemo/skin/img/icon-talk.gif
new file mode 100644
index 0000000..0211d54
Binary files /dev/null and b/data/maemo/skin/img/icon-talk.gif differ
diff --git a/data/maemo/skin/img/login-box-bg.gif b/data/maemo/skin/img/login-box-bg.gif
new file mode 100644
index 0000000..52bb41d
Binary files /dev/null and b/data/maemo/skin/img/login-box-bg.gif differ
diff --git a/data/maemo/skin/img/login-box-submit.gif b/data/maemo/skin/img/login-box-submit.gif
new file mode 100644
index 0000000..4600213
Binary files /dev/null and b/data/maemo/skin/img/login-box-submit.gif differ
diff --git a/data/maemo/skin/img/maemo.jpg b/data/maemo/skin/img/maemo.jpg
new file mode 100644
index 0000000..c2a0f8e
Binary files /dev/null and b/data/maemo/skin/img/maemo.jpg differ
diff --git a/data/maemo/skin/img/main-divider.gif b/data/maemo/skin/img/main-divider.gif
new file mode 100644
index 0000000..0b9ddc1
Binary files /dev/null and b/data/maemo/skin/img/main-divider.gif differ
diff --git a/data/maemo/skin/img/nav-divider.gif b/data/maemo/skin/img/nav-divider.gif
new file mode 100644
index 0000000..2f1a981
Binary files /dev/null and b/data/maemo/skin/img/nav-divider.gif differ
diff --git a/data/maemo/skin/img/nav-li-active.gif b/data/maemo/skin/img/nav-li-active.gif
new file mode 100644
index 0000000..38d1d70
Binary files /dev/null and b/data/maemo/skin/img/nav-li-active.gif differ
diff --git a/data/maemo/skin/img/nav-li-normal.gif b/data/maemo/skin/img/nav-li-normal.gif
new file mode 100644
index 0000000..a707a3d
Binary files /dev/null and b/data/maemo/skin/img/nav-li-normal.gif differ
diff --git a/data/maemo/skin/img/navigation-selected.gif b/data/maemo/skin/img/navigation-selected.gif
new file mode 100644
index 0000000..10fc8e3
Binary files /dev/null and b/data/maemo/skin/img/navigation-selected.gif differ
diff --git a/data/maemo/skin/img/navigation-separator.gif b/data/maemo/skin/img/navigation-separator.gif
new file mode 100644
index 0000000..31688e7
Binary files /dev/null and b/data/maemo/skin/img/navigation-separator.gif differ
diff --git a/data/maemo/skin/img/next.png b/data/maemo/skin/img/next.png
new file mode 100644
index 0000000..6ef8de7
Binary files /dev/null and b/data/maemo/skin/img/next.png differ
diff --git a/data/maemo/skin/img/password-box-bg.gif b/data/maemo/skin/img/password-box-bg.gif
new file mode 100644
index 0000000..f93998d
Binary files /dev/null and b/data/maemo/skin/img/password-box-bg.gif differ
diff --git a/data/maemo/skin/img/previous.png b/data/maemo/skin/img/previous.png
new file mode 100644
index 0000000..ffcac31
Binary files /dev/null and b/data/maemo/skin/img/previous.png differ
diff --git a/data/maemo/skin/img/register-button.gif b/data/maemo/skin/img/register-button.gif
new file mode 100644
index 0000000..a490ff6
Binary files /dev/null and b/data/maemo/skin/img/register-button.gif differ
diff --git a/data/maemo/skin/img/save.png b/data/maemo/skin/img/save.png
new file mode 100644
index 0000000..22ff495
Binary files /dev/null and b/data/maemo/skin/img/save.png differ
diff --git a/data/maemo/skin/img/search-box-bg.gif b/data/maemo/skin/img/search-box-bg.gif
new file mode 100644
index 0000000..d204962
Binary files /dev/null and b/data/maemo/skin/img/search-box-bg.gif differ
diff --git a/data/maemo/skin/img/search-button.gif b/data/maemo/skin/img/search-button.gif
new file mode 100644
index 0000000..cbee8cc
Binary files /dev/null and b/data/maemo/skin/img/search-button.gif differ
diff --git a/data/maemo/skin/img/sidebar-divider.gif b/data/maemo/skin/img/sidebar-divider.gif
new file mode 100644
index 0000000..1534d6c
Binary files /dev/null and b/data/maemo/skin/img/sidebar-divider.gif differ
diff --git a/data/maemo/skin/img/top_bg.jpg b/data/maemo/skin/img/top_bg.jpg
new file mode 100644
index 0000000..524d541
Binary files /dev/null and b/data/maemo/skin/img/top_bg.jpg differ
diff --git a/data/maemo/skin/img/username-box-bg.gif b/data/maemo/skin/img/username-box-bg.gif
new file mode 100644
index 0000000..f54de45
Binary files /dev/null and b/data/maemo/skin/img/username-box-bg.gif differ
diff --git a/data/maemo/skin/img/web-calendar.png b/data/maemo/skin/img/web-calendar.png
new file mode 100644
index 0000000..d40a89f
Binary files /dev/null and b/data/maemo/skin/img/web-calendar.png differ
diff --git a/data/maemo/skin/jquery.autocomplete.css b/data/maemo/skin/jquery.autocomplete.css
new file mode 100644
index 0000000..f35f45c
--- /dev/null
+++ b/data/maemo/skin/jquery.autocomplete.css
@@ -0,0 +1,49 @@
+.ac_results {
+	margin: 0;
+	padding: 0px;
+	color: black;
+	text-align: left;
+	border: 1px solid #333;
+	background: #dadada;
+	z-index: 5;
+}
+
+.ac_results ul {
+	width: 100%;
+	list-style-position: outside;
+	list-style: none;
+	padding: 0;
+	margin: 0;
+}
+
+.ac_results iframe {
+	display:none;/*sorry for IE5*/
+	display/**/:block;/*sorry for IE5*/
+	position:absolute;
+	top:0;
+	left:0;
+	z-index:-1;
+	filter:mask();
+	width:3000px;
+	height:3000px;
+}
+
+.ac_results li {
+	margin: 0px;
+	padding: 2px 5px;
+	cursor: pointer;
+	display: block;
+	width: 100%;
+	font: menu;
+	font-size: 12px;
+	overflow: hidden;
+}
+
+.ac_loading {
+	background: Window url(/skin/indicator.gif) right center no-repeat;
+}
+
+.ac_over {
+	background-color: Highlight;
+	color: HighlightText;
+}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]