[pLog-svn] r4695 - in templates/branches/lifetype-1.2/unported: . subtle subtle/assets subtle/assets/css subtle/assets/images subtle/assets/images/icons subtle/assets/js subtle/styles subtle/styles/default

reto at devel.lifetype.net reto at devel.lifetype.net
Tue Feb 6 17:00:44 EST 2007


Author: reto
Date: 2007-02-06 17:00:44 -0500 (Tue, 06 Feb 2007)
New Revision: 4695

Added:
   templates/branches/lifetype-1.2/unported/subtle/
   templates/branches/lifetype-1.2/unported/subtle/album.template
   templates/branches/lifetype-1.2/unported/subtle/albums.template
   templates/branches/lifetype-1.2/unported/subtle/archives.template
   templates/branches/lifetype-1.2/unported/subtle/assets/
   templates/branches/lifetype-1.2/unported/subtle/assets/css/
   templates/branches/lifetype-1.2/unported/subtle/assets/css/layout.css
   templates/branches/lifetype-1.2/unported/subtle/assets/css/print.css
   templates/branches/lifetype-1.2/unported/subtle/assets/images/
   templates/branches/lifetype-1.2/unported/subtle/assets/images/back_body.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/back_content.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/back_footer.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/back_header.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/back_input.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/back_menu.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/back_menu_selected.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/bullet_star.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_asterisk.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_category.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_comment.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_date.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_email.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_entry.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_feed.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_lightbulb.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_new.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_next.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_page.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_previous.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_search.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_star.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_tag.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_url.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/delicious.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/digman.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/rss.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/technorati.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/logo_famfamfam.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/logo_gluedideas.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/images/logo_wp.gif
   templates/branches/lifetype-1.2/unported/subtle/assets/js/
   templates/branches/lifetype-1.2/unported/subtle/assets/js/animation.js
   templates/branches/lifetype-1.2/unported/subtle/assets/js/core.js
   templates/branches/lifetype-1.2/unported/subtle/assets/js/dom.js
   templates/branches/lifetype-1.2/unported/subtle/assets/js/form_comments.js
   templates/branches/lifetype-1.2/unported/subtle/assets/js/json.js
   templates/branches/lifetype-1.2/unported/subtle/assets/js/widget.js
   templates/branches/lifetype-1.2/unported/subtle/error.template
   templates/branches/lifetype-1.2/unported/subtle/footer.template
   templates/branches/lifetype-1.2/unported/subtle/header.template
   templates/branches/lifetype-1.2/unported/subtle/links.template
   templates/branches/lifetype-1.2/unported/subtle/main.template
   templates/branches/lifetype-1.2/unported/subtle/post.template
   templates/branches/lifetype-1.2/unported/subtle/postandcomments.template
   templates/branches/lifetype-1.2/unported/subtle/posttrackbacks.template
   templates/branches/lifetype-1.2/unported/subtle/resource.template
   templates/branches/lifetype-1.2/unported/subtle/screenshot.png
   templates/branches/lifetype-1.2/unported/subtle/searchresults.template
   templates/branches/lifetype-1.2/unported/subtle/style.css
   templates/branches/lifetype-1.2/unported/subtle/styles/
   templates/branches/lifetype-1.2/unported/subtle/styles/default/
   templates/branches/lifetype-1.2/unported/subtle/styles/default/back_author.jpg
   templates/branches/lifetype-1.2/unported/subtle/styles/default/back_comment_meta.gif
   templates/branches/lifetype-1.2/unported/subtle/styles/default/back_comment_meta.jpg
   templates/branches/lifetype-1.2/unported/subtle/styles/default/back_info.jpg
   templates/branches/lifetype-1.2/unported/subtle/styles/default/back_meta.jpg
   templates/branches/lifetype-1.2/unported/subtle/styles/default/back_prominent.jpg
   templates/branches/lifetype-1.2/unported/subtle/styles/default/back_prominent_inner.gif
   templates/branches/lifetype-1.2/unported/subtle/styles/default/back_search.jpg
   templates/branches/lifetype-1.2/unported/subtle/styles/default/default.css
   templates/branches/lifetype-1.2/unported/subtle/styles/default/footer.jpg
   templates/branches/lifetype-1.2/unported/subtle/styles/default/generator.php
   templates/branches/lifetype-1.2/unported/subtle/styles/default/gravatar.gif
   templates/branches/lifetype-1.2/unported/subtle/styles/default/header.jpg
   templates/branches/lifetype-1.2/unported/subtle/styles/default/header.png
   templates/branches/lifetype-1.2/unported/subtle/styles/default/header_default.jpg
   templates/branches/lifetype-1.2/unported/subtle/styles/default/header_menu.jpg
   templates/branches/lifetype-1.2/unported/subtle/styles/default/header_menu.png
Log:
backing up subtle, another wp template. it looks already nice but albums and a few links are still to be done.



Added: templates/branches/lifetype-1.2/unported/subtle/album.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/album.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/album.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,82 @@
+   		{include file="$blogtemplate/header.template"} 
+
+<h2>{$locale->tr("albums")}</h2>
+
+<h3>{$album->getName()}</h3>
+<p>{$album->getDescription()}</p>
+
+<!-- album contents go here -->
+ 
+<div id="album">
+
+	<div class="clearer">&nbsp;</div>
+ 
+	<div class="album">
+	<a href="{$url->parentAlbumLink($album)}">
+    	<img src="{$url->getTemplateFile("imgs/parentfolder.gif")}" alt="{$locale->tr("parent")}" /></a>
+    	<p>{$locale->tr("parent")}</p>
+	</div>
+
+  {if $pager->getCurrentPage() == 1}
+	{assign var="counter" value=1}
+   	{assign var=children value=$album->getChildren()}
+   	{foreach from=$children item=childalbum}
+	<div class="album">
+   	<a href="{$url->albumLink($childalbum)}">
+   	<img src="{$url->getTemplateFile("imgs/folder.gif")}" alt="{$childalbum->getName()}" /></a>
+   	<p>{$childalbum->getName()} ({$childalbum->getNumResources()})</p>
+   		{assign var="counter" value="`$counter+1`"}
+   		{if $counter%3 == 0}
+   		{/if}
+	</div>
+   	{/foreach}
+  {/if}
+ 
+<!-- show the resources here -->
+
+ {** assign var=resources value=$album->getResources() **}
+ {** use the code above if you want to display all the resources at once, or leave it commented **}
+ {** if you would like to use the new paged display that was introduced in lifetype 1.1 **} 
+ {foreach from=$resources item=resource}
+	<div class="album">
+   		{if $resource->hasPreview()}
+   		{*<a target="_blank" href="resserver.php?blogId={$blog->getId()}&amp;resource={$resource->getFileName()}">*}
+   	<a href="{$url->resourceLink($resource)}">
+    	<img alt="{$resource->getDescription()}" src="{$url->resourcePreviewLink($resource)}" /></a>
+    	<p>{$resource->getFileName()}</p>
+   		{else}
+   	<a href="{$url->resourceLink($resource)}">
+   		{if $resource->isSound()}
+    	<img alt="Sound" src="{$url->getTemplateFile("imgs/sound.gif")}" /></a>
+   		{elseif $resource->isVideo()}
+    	<img alt="Video" src="{$url->getTemplateFile("imgs/video.gif")}" /></a>
+   		{elseif $resource->isZip()}
+    	<img alt="Zip" src="{$url->getTemplateFile("imgs/compressed.gif")}" /></a>
+   		{else}
+   	<img alt="File" src="{$url->getTemplateFile("imgs/file.gif")}" /></a>
+   		{/if}  
+   	<p>{$resource->getFileName()}</p>
+   		{/if}
+   		{assign var=metadata value=$resource->getMetadataReader()}
+  	<p>{$metadata->getRoundedSize()}</p>
+   		{if $resource->isImage()}
+  	<p>{$metadata->getWidth()} x {$metadata->getHeight()}</p>
+   		{elseif $resource->isSound()}
+  	<p>{$metadata->getFormat()|upper} {$metadata->getSampleRate()} bps</p>
+   		{elseif $resource->isVideo()}
+  	<p>{$metadata->getFormat()|upper} {$metadata->getWidth()} x {$metadata->getHeight()}, {$metadata->getLengthString()}</p>
+   		{elseif $resource->isZip()}
+   	<p>{$metadata->getTotalFiles()} {$locale->tr("files")}</p>
+   		{/if}
+   		{assign var="counter" value="`$counter+1`"}
+   		{if $counter%3 == 0}
+   		{/if}
+  	</div>
+  		{/foreach}
+
+	<div class="clearer">&nbsp;</div>
+
+</div>
+
+<!-- end of album contents --> 
+		{include file="$blogtemplate/footer.template"} 
\ No newline at end of file

Added: templates/branches/lifetype-1.2/unported/subtle/albums.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/albums.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/albums.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,27 @@
+{include file="$blogtemplate/header.template"} 
+
+<h2>{$locale->tr("albums")}</h2>
+
+ <!-- album contents go here -->
+ 
+<div id="album">
+	
+	<div class="clearer">&nbsp;</div>
+
+		{assign var="counter" value=0}
+  		{foreach from=$albums item=album}
+	<div class="album">
+	<a href="{$url->albumLink($album)}"><img src="{$url->getTemplateFile("imgs/folder.gif")}" alt="{$album->getName()}" /></a>
+  	<p>{$album->getName()} ({$album->getNumResources()})</p>
+  		{assign var="counter" value="`$counter+1`"}
+		{if $counter%3 == 0}
+		{/if}
+	</div>
+		{/foreach}
+
+	<div class="clearer">&nbsp;</div>
+
+</div>
+
+<!-- end of the albums -->
+{include file="$blogtemplate/footer.template"} 
\ No newline at end of file

Added: templates/branches/lifetype-1.2/unported/subtle/archives.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/archives.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/archives.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,17 @@
+{assign var=title value=$locale->tr("archives")}
+{include file="$blogtemplate/header.template" pageTitle="$pageTitle | $title"} 
+<h2>{$locale->tr("archives")}</h2>
+<!-- Content Start -->
+
+<div id="dates">
+	
+	<ul class="icon date">
+		{foreach from=$archives item=month}
+    	<li><a href="{$month->getUrl()}">{$month->getName()}</a> [{$month->getNumArticles()}]</li>
+    		{/foreach}
+    		
+    		
+    	</ul>
+</div>
+   	
+   		{include file="$blogtemplate/footer.template"} 

Added: templates/branches/lifetype-1.2/unported/subtle/assets/css/layout.css
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/assets/css/layout.css	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/assets/css/layout.css	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,721 @@
+/* Layout ----------------------------------------------------------- */
+
+#div {
+	border: 1px solid #FF0000;
+}
+
+html {
+	height: 100%;
+}
+
+body {
+	height: 100%;
+	margin: 0px;
+	padding: 0px;
+}
+
+#container {
+	position: relative;
+	min-height: 100%;
+	min-width: 860px;
+	width: 100%;
+	margin: 0px;
+	padding: 0px 0px 140px 0px;
+	text-align: center;
+}
+
+* html #container {
+	height: 100%;
+}
+
+.style_content {
+	position: relative;
+	margin: 0px auto;
+	text-align: left;
+}
+
+br.clear {
+	clear: both;
+}
+
+
+/* Header Layout */
+
+#header {
+	margin: 0px;
+	padding: 0px;
+}
+
+#header .style_content {
+	width: 860px;
+	height: 145px;
+	position: relative;
+	display: block;
+}
+
+#search_box {
+	display: inline;
+	margin: 0px 40px 0px;
+	padding: 20px 0px 0px;
+	float: right;
+}
+
+#input_search {
+	width: 150px;
+}
+
+#title {
+	margin: 0px 40px 0px;
+	padding: 25px 0px 0px;
+}
+
+#tagline {
+	margin: 0px 40px;
+}
+
+#menu {
+	display: block;
+	margin: 0px 0px 0px 40px;
+	padding: 0px;
+	height: 45px;
+	position: absolute;
+	bottom: -1px;
+}
+
+html>body #menu {
+	bottom: 0px;
+}
+
+#menu li {
+	display: inline;
+	margin: 0px;
+	padding: 0px;
+}
+
+#menu li a {
+	display: block;
+	float: left;
+	margin: 0px;
+	padding: 0px 10px;
+	height: 45px;
+	line-height: 30px;
+}
+
+
+/* Content Layout */
+
+#content {
+	margin: 0px;
+	padding: 0px;
+}
+
+#content .style_content {
+	width: 860px;
+	padding: 20px 40px 0px;
+}
+
+html>body #content .style_content {
+	width: 780px;
+	padding: 20px 0px 0px;
+}
+
+#loop_articles {
+	width: 440px;
+	float: left;
+}
+
+#loop_page {
+	width: 610px;
+	float: left;
+}
+
+#loop_single {
+	width: 440px;
+	padding: 0px 0px 0px 0px;
+	float: left;
+}
+
+#loop_comments {
+	width: 440px;
+	float: left;
+}
+
+#NewComment {
+	width: 320px;
+	margin: 0px 0px 30px 20px;
+	float: right;
+	padding: 0px;
+}
+
+#information {
+	width: 320px;
+	margin: 0px 0px 30px 20px;
+	float: left;
+	padding: 0px;
+	clear: right;
+}
+
+#post_meta {
+	width: 320px;
+	padding: 0px;
+	margin: 0px 0px 30px 20px;
+	float: left;
+	display: inline;
+}
+
+#search {
+	width: 320px;
+	margin: 0px 0px 30px 20px;
+	padding: 0px;
+	float: right;
+}
+
+#author {
+	width: 320px;
+	margin: 0px 0px 30px 20px;
+	padding: 0px;
+	float: right;
+}
+
+#widgets {
+	padding: 0px;
+	margin: 0px 0px 30px 0px;
+	float: right;
+}
+
+.widgets_home, .widgets_single {
+	width: 320px;
+}
+
+#archive_links {
+	width: 320px;
+	padding: 0px;
+	margin: 0px 0px 30px 0px;
+	float: right;
+	clear: right;
+}
+
+#archive_links .archive_group {
+	padding: 0px;
+	float: left;
+	width: 150px;
+	clear: none;
+}
+
+#archive_links .even {
+	margin: 0px;
+	float: right;
+}
+
+#archive_links .odd {
+	margin: 0px 20px 0px 0px;
+}
+
+#loop_articles h2, #loop_comments h2 {
+	margin: 0px 0px 20px 0px;
+}
+
+.navigation ul {
+	display: block;
+	margin: 0px 0px 30px;
+	padding: 0px;
+}
+
+.navigation li {
+	display: block;
+	margin: 0px;
+	padding: 0px;
+	width: 49%;
+}
+
+.navigation li.next {
+	text-align: right;
+	float: right;
+}
+
+#form_search {
+	margin: 0px 0px 20px;
+}
+
+#input_form_search {
+	width: 150px;
+}
+
+
+/* Post and Comment Layout */
+
+.post {
+	padding: 0px;
+	margin: 0px 0px 30px 0px;
+	position: relative;
+}
+
+.post .content {
+	position: relative;
+}
+
+#post_meta .metadata {
+	width: 135px;
+	padding: 0px;
+	margin:  0px;
+}
+
+#post_meta .odd {
+	float: left;
+	clear: left;
+}
+
+#post_meta .even {
+	float: right;
+}
+
+.metalinks {
+	padding: 0px 0px 10px 0px;
+	margin: 0px;
+	display: block;
+	clear: both;
+}
+
+.metalinks li {
+	float: left; 
+	margin-right: 10px; 
+	height: 20px;
+	vertical-align: middle;
+	line-height: 20px;
+}
+
+#commentText {
+	width: 100%;
+}
+
+#CommentForm .comment {
+	padding: 0px;
+	margin: 0px 0px 30px 0px;
+}
+
+#CommentForm .metadata {
+	display: block;
+	margin: 0px 0px 15px 0px;
+}
+
+#CommentForm .metadata dt {
+	display: inline;
+	margin: 0px;
+	padding: 0px;
+}
+
+#CommentForm .metadata dd {
+	display: inline;
+	margin: 0px;
+	padding: 0px;
+}
+
+#CommentForm .metadata dt.comment_number {
+	display: none;
+}
+
+#CommentForm .metadata dd.comment_number {
+	margin: 0px 10px 0px 0px;
+	padding: 0px;
+	display: block;
+	float: left;
+	width: 40px;
+	height: 40px;
+	font-size: 200%;
+	line-height: 40px;
+	text-align: center;
+	vertical-align: middle;
+}
+
+#CommentForm .gravatar {
+	margin: 0px;
+	padding: 0px;
+	vertical-align: middle;
+}
+
+
+/* Footer Layout */
+
+#footer {
+	position: relative;
+	margin-top: -140px;
+	text-align: center;
+	height: 140px;
+}
+
+#footer .style_content {
+	width: 860px;
+	padding: 40px 0px 0px;
+}
+
+#newsletter_signup {
+	position: relative;
+	display: inline;
+	padding: 0px;
+	margin: 8px 40px 0px 0px;
+	float: right;
+}
+
+#input_email_address {
+	width: 150px;
+	vertical-align: middle;
+}
+
+
+#button_email_address {
+	vertical-align: middle;
+}
+
+#footer_title {
+	padding: 0px;
+	margin: 0px 0px 0px 40px;
+	line-height: 40px;
+}
+
+#copyright_notice p {
+	display: block;
+	padding: 0px;
+	margin: 0px 0px 0px 40px;
+	line-height: 60px;
+}
+
+#logos {
+	position: relative;
+	display: inline;
+	padding: 0px;
+	margin: 20px 40px 0px 0px;
+	float: right;
+	vertical-align: middle;
+}
+
+#logos img {
+	vertical-align: middle;
+	margin: 0px 0px 0px 10px;
+	padding: 0px;
+}
+
+
+/* Typography ------------------------------------------------------ */
+
+p, center, blockquote, quote, pre {
+	margin: 0px 0px 20px;
+}
+
+.reduced p, .reduced center, .reduced blockquote, .reduced quote, .reduced pre, .reduced ol, .reduced ul, .reduced table, .reduced dl, .reduced dd, .reduced dt {
+	font-size: 95%;
+}
+
+blockquote, quote {
+	margin: 30px;
+}
+
+h1, h2, h3, h4, h5, h6 {
+	margin: 0px 0px 5px;
+}
+
+h1 {
+	font-size: 250%;
+	line-height: 100%;
+}
+
+h2 {
+	font-size: 170%;
+	line-height: 100%;
+	margin: 0px 0px 5px;
+}
+
+.lead h3.title, #loop_single h3.title, #loop_page h3.title {
+	font-size: 200%;
+	line-height: 100%;
+}
+
+h3 {
+	font-size: 150%;
+	line-height: 100%;
+}
+
+h4 {
+	font-size: 130%;
+	line-height: 100%;
+}
+
+h5 {
+	font-size: 110%;
+	line-height: 100%;
+}
+
+h6 {
+	font-size: 100%;
+	line-height: 100%;
+}
+
+ul, ol, dl {
+	margin: 0px 0px 15px 0px;
+	padding: 5px 0px;
+}
+
+li, dd {
+	margin: 0px 0px 5px 20px;
+	padding: 0px 0px 0px 5px;;
+}
+
+ul li {
+	list-style-type: square;
+}
+
+dt {
+	margin: 0px 0px 5px 0px;
+	padding: 0px;
+}
+
+h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
+	text-decoration: none;
+}
+
+#header a {
+	text-decoration: none;
+}
+
+#tagline {
+	font-size: 120%;
+}
+
+
+/* Graphical Bullets ----------------------------------------------- */
+
+ul .icon, dl .icon, ul.icon li {	
+	background-repeat: no-repeat;
+	background-position: 0px 1px;
+	display: block;
+	margin: 0px 10px 5px 0px;
+	padding: 0px 0px 0px 25px;
+	list-style-type: none;
+}
+
+ul .date, dl .date, ul.icon li {
+	background-image: url(../images/icon_date.gif);
+}
+
+ul .tag, dl .tag, ul.tag li {
+	background-image: url(../images/icon_tag.gif);
+}
+
+ul .category, dl .category, ul.category li {
+	background-image: url(../images/icon_category.gif);
+}
+
+ul .information, dl .information, ul.information li {
+	background-image: url(../images/icon_lightbulb.gif);
+}
+
+ul .jump, dl .jump, ul.jump li {
+	background-image: url(../images/icon_page.gif);
+}
+ul.links li.jump {
+	display:inline;
+}
+
+
+ul .comment, dl .comment, ul.comment li {
+	background-image: url(../images/icon_comment.gif);
+}
+
+ul .feed, dl .feed, ul.feed li {
+	background-image: url(../images/icon_feed.gif);
+}
+
+ul .entry, dl .entry, ul.entry li {
+	background-image: url(../images/icon_entry.gif);
+}
+
+ul .author, dl .author, ul.author li {
+	background-image: url(../images/icon_entry.gif);
+}
+
+ul .delicious, dl .delicious, ul.delicious li {
+	background-image: url(../images/icons/delicious.gif);
+}
+
+ul .technorati, dl .technorati, ul.technorati li {
+	background-image: url(../images/icons/technorati.gif);
+}
+
+ul .digg, dl .digg, ul.digg li {
+	background-image: url(../images/icons/digman.gif);
+}
+
+#loop_articles .summary {
+	padding-left: 25px;
+	background-image: url(../images/icon_page.gif);
+	background-repeat: no-repeat;
+	background-position: 0px 2px;
+}
+
+#loop_articles .new {
+	background-image: url(../images/icon_new.gif);
+	background-position: left top;
+}
+
+.feedburnerFlareBlock {
+	margin: 0px;
+	padding: 0px;
+	display: list-item;
+	background-image: url(../images/icon_page.gif);
+	background-repeat: no-repeat;
+	background-position: 0px 2px;
+	display: block;
+	margin: 0px 10px 5px 0px;
+	padding: 0px 0px 0px 25px;
+	list-style-type: none;
+
+}
+
+/* Widget Styling -------------------------------------------------- */
+
+#container .widget {
+	margin: 0px;
+	padding: 0px 0px 20px 0px;
+}
+
+#widgets_home_a {
+	width: 150px;
+	margin: 0px 0px 0px 0px;
+	padding: 0px;
+	float: left;
+}
+
+#widgets_home_b {
+	width: 150px;
+	margin: 0px 0px 0px 20px;
+	padding: 0px;
+	float: left;
+}
+
+#widgets_single_a {
+	width: 150px;
+	margin: 0px 0px 0px 0px;
+	padding: 0px;
+	float: left;
+	display: inline;
+}
+
+#widgets_single_b {
+	width: 150px;
+	margin: 0px 0px 0px 20px;
+	padding: 0px;
+	float: left;
+	display: inline;
+}
+
+#widgets_page {
+	width: 150px;
+	margin: 0px 0px 0px 0px;
+	padding: 0px;
+}
+
+#content .advert {
+	text-align: center;
+	margin: 0px 0px 30px;
+	padding: 0px 10px;
+}
+
+.widget_archives li, .sb-months li {
+	background-image: url(../images/icon_date.gif);	
+	background-repeat: no-repeat;
+	background-position: 0px 2px;
+	display: block;
+	margin: 0px 0px 5px 0px;
+	padding: 0px 0px 0px 25px;
+	list-style-type: none;
+}
+
+
+.widget_categories li, .sb-categories li {
+	background-image: url(../images/icon_category.gif);	
+	background-repeat: no-repeat;
+	background-position: 0px 2px;
+	display: block;
+	margin: 0px 0px 5px 0px;
+	padding: 0px 0px 0px 25px;
+	list-style-type: none;
+}
+
+.widget_meta li, .sb-meta li {
+	background-image: url(../images/icon_page.gif);	
+	background-repeat: no-repeat;
+	background-position: 0px 2px;
+	display: block;
+	margin: 0px 0px 5px 0px;
+	padding: 0px 0px 0px 25px;
+	list-style-type: none;
+}
+
+.sb-navigation li {
+	display: inline;
+	clear: both;
+}
+
+.widget_pages li, .sb-navigation li li {
+	background-image: url(../images/icon_page.gif);	
+	background-repeat: no-repeat;
+	background-position: 0px 1px;
+	display: block;
+	margin: 0px 0px 5px 0px;
+	padding: 0px 0px 0px 25px;
+	list-style-type: none;
+}
+
+.widget_recent_entries li, .sb-latest li {
+	background-image: url(../images/icon_page.gif);	
+	background-repeat: no-repeat;
+	background-position: 0px 2px;
+	display: block;
+	margin: 0px 0px 5px 0px;
+	padding: 0px 0px 0px 25px;
+	list-style-type: none;
+}
+
+.widget_rss li {
+	background-image: url(../images/icon_url.gif);	
+	background-repeat: no-repeat;
+	background-position: 0px 2px;
+	display: block;
+	margin: 0px 0px 5px 0px;
+	padding: 0px 0px 0px 25px;
+	list-style-type: none;
+}
+
+.gluedideas_TLA_widgetDisplay li {
+	background-image: url(../images/icon_url.gif);	
+	background-repeat: no-repeat;
+	background-position: 0px 2px;
+	display: block;
+	margin: 0px 0px 5px 0px;
+	padding: 0px 0px 0px 25px;
+	list-style-type: none;
+}
+
+#recentcomments li, .sb-comments li {	
+	background-repeat: no-repeat;
+	background-position: 0px 2px;
+	display: block;
+	margin: 0px 0px 5px 0px;
+	padding: 0px 0px 0px 25px;
+	list-style-type: none;
+	background-image: url(../images/icon_comment.gif);
+}
+
+.sb-links li {
+	display: inline;
+	clear: both;
+}
+
+.sb-links li li {
+	background-image: url(../images/icon_page.gif);	
+	background-repeat: no-repeat;
+	background-position: 0px 1px;
+	display: block;
+	margin: 0px 0px 5px 0px;
+	padding: 0px 0px 0px 25px;
+	list-style-type: none;
+}

Added: templates/branches/lifetype-1.2/unported/subtle/assets/css/print.css
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/assets/css/print.css	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/assets/css/print.css	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,119 @@
+#search_box, #newsletter_signup, #logos, #form_comments, #menu {
+	display: none;
+}
+
+img {
+	margin: 0px 10px 10px;
+}
+
+p, center, blockquote, quote, pre {
+	margin: 0px 0px 20px;
+}
+
+.reduced p, .reduced center, .reduced blockquote, .reduced quote, .reduced pre, .reduced ol, .reduced ul, .reduced table, .reduced dl, .reduced dd, .reduced dt {
+	font-size: 95%;
+	line-height: 170%;
+}
+
+blockquote, quote {
+	margin: 30px;
+}
+
+h1, h2, h3, h4, h5, h6 {
+	margin: 0px 0px 5px;
+}
+
+h1 {
+	font-size: 250%;
+	line-height: 100%;
+}
+
+h2 {
+	font-size: 170%;
+	line-height: 100%;
+	margin: 0px 0px 5px;
+}
+
+.lead h3.title, #loop_single h3.title, #loop_page h3.title {
+	font-size: 200%;
+	line-height: 100%;
+}
+
+h3 {
+	font-size: 150%;
+	line-height: 100%;
+}
+
+h4 {
+	font-size: 130%;
+	line-height: 100%;
+}
+
+h5 {
+	font-size: 110%;
+	line-height: 100%;
+}
+
+h6 {
+	font-size: 100%;
+	line-height: 100%;
+}
+
+ul, ol, dl {
+	margin: 0px 0px 15px 0px;
+	padding: 5px 0px;
+}
+
+li, dd {
+	margin: 0px 0px 5px 20px;
+	padding: 0px 0px 0px 5px;;
+}
+
+ul li {
+	list-style-type: square;
+}
+
+dt {
+	margin: 0px 0px 5px 0px;
+	padding: 0px;
+}
+
+h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
+	text-decoration: none;
+}
+
+.post {
+	margin: 0px 0px 20px 0px;
+}
+
+#comment_area .metadata {
+	display: block;
+	margin: 0px 0px 15px 0px;
+}
+
+#comment_area .metadata dt {
+	display: inline;
+	margin: 0px;
+	padding: 0px;
+}
+
+#comment_area .metadata dd {
+	display: inline;
+	margin: 0px;
+	padding: 0px;
+}
+
+#comment_area .metadata dt.comment_number {
+	display: none;
+}
+
+#comment_area .metadata dd.comment_number {
+	display: block;
+	float: left;
+	width: 50px;
+	height: 40px;
+	font-size: 200%;
+	line-height: 40px;
+	text-align: center;
+	vertical-align: middle;
+}
\ No newline at end of file

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_body.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_body.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_content.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_content.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_footer.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_footer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_header.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_header.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_input.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_input.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_menu.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_menu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_menu_selected.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/back_menu_selected.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/bullet_star.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/bullet_star.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_asterisk.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_asterisk.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_category.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_category.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_comment.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_comment.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_date.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_date.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_email.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_email.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_entry.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_entry.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_feed.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_feed.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_lightbulb.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_lightbulb.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_new.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_new.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_next.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_next.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_page.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_page.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_previous.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_previous.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_search.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_search.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_star.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_star.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_tag.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_tag.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_url.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icon_url.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/delicious.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/delicious.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/digman.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/digman.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/rss.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/rss.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/technorati.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/icons/technorati.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/logo_famfamfam.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/logo_famfamfam.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/logo_gluedideas.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/logo_gluedideas.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/images/logo_wp.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/assets/images/logo_wp.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/assets/js/animation.js
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/assets/js/animation.js	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/assets/js/animation.js	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,255 @@
+/**
+ * Animation object constructor.  Allows for simplified animation of 
+ * elements and their attributes on a page.
+ * 
+ */
+
+GluedTools._Animator = {
+
+	framesPerSecond : 15,
+	interval : 67,
+	currentFrame : 0,
+	animationQueue : new Array,
+	DOM : new GluedTools.dom(),
+
+	startAnimator : function () {
+		var self = this;
+
+		var renderAnimationQueue = function () {
+			var currentFrame = self.currentFrame++;
+			var animationQueue = self.animationQueue;
+			var emptyQueue = true;
+
+			for (requestIndex in animationQueue) {
+				var currentRequest = animationQueue[requestIndex];
+
+				if (currentRequest != null) {
+					emptyQueue = false;
+
+					if (currentFrame > currentRequest.endFrame) {
+						if (currentRequest.attribute.indexOf("style[") > -1) {
+							self.DOM.setElementStyle(currentRequest.element, currentRequest.attribute.substring(7, currentRequest.attribute.length - 2), self.toValueString(currentRequest.aliasedValue));
+						} else {
+							eval("currentRequest.element." + currentRequest.attribute + " = self.toValueString(currentRequest.aliasedValue)");
+						}
+						animationQueue[requestIndex] = null;
+					} else {
+
+						if (currentFrame >= currentRequest.startFrame) {
+
+							if (currentFrame < currentRequest.easeTo) {
+								var frameSpeed = (currentFrame - currentRequest.startFrame) / (currentRequest.easeTo - currentRequest.startFrame);
+							} else if (currentFrame > currentRequest.easeFrom) {
+								var frameSpeed = (currentRequest.endFrame - currentFrame) / (currentRequest.endFrame - currentRequest.easeFrom);
+							} else {
+								var frameSpeed = 1
+							}
+							
+							if (currentRequest.easeToMethod == "cos") {
+								var frameSpeed = Math.cos((Math.PI / 2) * frameSpeed);
+							} else if (currentRequest.easeToMethod == "sin") {
+								var frameSpeed = Math.sin((Math.PI / 2) * frameSpeed);
+							}
+
+							if (currentRequest.easeFromMethod == "cos") {
+								var frameSpeed = Math.cos((Math.PI / 2) * frameSpeed);
+							} else if (currentRequest.easeFromMethod == "sin") {
+								var frameSpeed = Math.sin((Math.PI / 2) * frameSpeed);
+							}
+
+							for (valuePart in currentRequest.incrementValue.value) {
+								currentRequest.currentValue.value[valuePart] = currentRequest.currentValue.value[valuePart] + (currentRequest.incrementValue.value[valuePart] * frameSpeed);
+								
+								if (currentRequest.startValue.value[valuePart] > currentRequest.endValue.value[valuePart]) {
+									if (currentRequest.endValue.value[valuePart] > currentRequest.currentValue.value[valuePart]) {currentRequest.currentValue.value[valuePart] = currentRequest.endValue.value[valuePart];}
+								} else {
+									if (currentRequest.endValue.value[valuePart] < currentRequest.currentValue.value[valuePart]) {currentRequest.currentValue.value[valuePart] = currentRequest.endValue.value[valuePart];}
+								}
+
+								if (currentRequest.aliasValue.value[valuePart] > 0) {
+									currentRequest.aliasedValue.value[valuePart] = Math.round(currentRequest.currentValue.value[valuePart] / currentRequest.aliasValue.value[valuePart]) * currentRequest.aliasValue.value[valuePart];
+								} else {
+									currentRequest.aliasedValue.value[valuePart] = currentRequest.currentValue.value[valuePart];
+								}
+
+							}
+							
+							if (currentRequest.attribute.indexOf("style[") > -1) {
+								self.DOM.setElementStyle(currentRequest.element, currentRequest.attribute.substring(7, currentRequest.attribute.length - 2), self.toValueString(currentRequest.aliasedValue));
+							} else {
+								eval("currentRequest.element." + currentRequest.attribute + " = self.toValueString(currentRequest.aliasedValue)");
+							}
+
+						}
+					}
+				}
+			}
+			if (emptyQueue) {
+				self.animationQueue = new Array;
+			}
+		}
+
+		setInterval(renderAnimationQueue, 1000 / this.framesPerSecond);
+		
+	},
+
+
+
+	animateAttribute : function (arguments) {
+		
+		if (arguments.element && arguments.attribute && arguments.endValue) {
+			
+			var previousRequest = null;
+			var animationQueue = this.animationQueue;
+			var currentFrame = this.currentFrame;
+			var startFrame = this.currentFrame;
+			
+			var element = arguments.element;
+			var elementID = arguments.element.id;
+			var attribute = arguments.attribute;
+			var endValue = this.parseValue(arguments.endValue);
+			var animationOffset = (arguments.animationOffset == null) ? 0 : this.toFrame(arguments.animationOffset);
+			var animationLength = (arguments.animationLength == null) ? 0 : this.toFrame(arguments.animationLength);
+			var easeIn = (arguments.easeIn == null) ? 0 : this.toFrame(arguments.easeIn);
+			var easeInMethod = (arguments.easeIn == null) ? "linear" : arguments.easeIn;
+			var easeOut = (arguments.easeOut == null) ? 0 : this.toFrame(arguments.easeOut);
+			var easeOutMethod = (arguments.easeOut == null) ? "linear" : arguments.easeOut;
+			var append = (arguments.append == null) ? true : arguments.append;
+			var aliasValue = (arguments.aliasValue == null) ? this.parseValue("0") : this.parseValue(arguments.aliasValue);
+			
+			for (requestIndex in animationQueue) {
+				var currentRequest = animationQueue[requestIndex];
+				if (currentRequest != null) {
+					if (currentRequest.elementID == elementID && currentRequest.attribute == attribute) {
+						if (append) {
+							var previousRequest = currentRequest;
+							startFrame = currentRequest.endFrame + 1;
+						} else {
+							currentRequest = null;
+						}
+					}
+				}
+			}
+			
+			if (arguments.startValue == null) {
+				if (previousRequest == null) {
+					var startValue = eval("this.parseValue(element." + attribute + ")");
+				} else {
+					var startValue = previousRequest.endValue;
+				}
+			} else {
+				var startValue = this.parseValue(arguments.startValue);
+			}
+
+			if (easeIn > animationLength) { easeIn = animationLength; }
+			if (easeIn + easeOut > animationLength) { easeOut = animationLength - easeIn; }
+			var easedLength = animationLength - (easeIn / 2) - (easeOut / 2);
+			
+			var incrementValue = { value : new Array, type : endValue.type };
+			for (valuePart in startValue.value) {
+				incrementValue.value[valuePart] = (endValue.value[valuePart] - startValue.value[valuePart]) / easedLength;
+			}
+
+			var animationRequest = {
+				element : element,
+				elementID : elementID,
+				attribute : attribute,
+				startValue : startValue, 
+				endValue : endValue, 
+				incrementValue : incrementValue,
+				startFrame : startFrame + animationOffset, 
+				animationLength : animationLength, 
+				endFrame : startFrame + animationOffset + animationLength, 
+				easeTo : startFrame + easeIn, 
+				easeToMethod : easeInMethod,
+				easeFrom : (startFrame + animationOffset + animationLength) - easeOut, 
+				easeFromMethod : easeOutMethod,
+				aliasValue : aliasValue,
+				currentValue : this.parseValue(this.toValueString(startValue)),
+				aliasedValue : this.parseValue(this.toValueString(startValue))
+			}
+
+			animationQueue[animationQueue.length] = animationRequest;
+
+		} else {
+			throw "The animation could not be initialized: missing arguments";
+		}
+	},
+
+
+
+	toFrame : function (valueString) {
+		var numericPart = parseFloat(valueString);
+		var frames = null;
+
+		if (isNaN(valueString)) {
+			if (valueString.indexOf("ms") > -1) { 
+				frames = Math.round(numericPart / this.interval); 
+			} else if (valueString.indexOf("sec") > -1) { 
+				frames = Math.round((numericPart * 1000) / this.interval); 
+			} else {
+				frames = Math.round(numericPart); 
+			}
+		} else {
+			frames = Math.round(numericPart); 
+		}
+		return frames;
+	},
+
+
+
+	parseValue : function (valueString) {
+		if (isNaN(valueString)) {
+			if (valueString.indexOf("#") > -1) {
+				return { value : { r : parseInt(valueString.substr(valueString.indexOf("#") + 1, 2), 16), g :  parseInt(valueString.substr(valueString.indexOf("#") + 3, 2), 16),  b : parseInt(valueString.substr(valueString.indexOf("#") + 5, 2), 16) } , type : "color" };
+			} else if (valueString.indexOf("rgb") > -1) {
+				var colorString = valueString.split("rgb(");
+				var colorValues = colorString[1].split(",")
+				return { value : { r : parseInt(colorValues[0]), g :  parseInt(colorValues[1]),  b :parseInt(colorValues[2]) }, type : "color" };
+			} else {
+				valueFloat = parseFloat(valueString);
+				if (valueString.length == valueFloat.toString(10).length) {
+					return { value : [ valueFloat ], type : "numeric" };
+				} else {
+					var valueLabel = valueString.substr(valueFloat.toString(10).length);
+					return { value : [ valueFloat ], type : valueLabel };
+				}
+			}
+		} else {
+			return { value : { 0 : valueString }, type : "numeric" }
+		}
+	},
+
+
+
+	toValueString : function (valueObject) {
+		if (valueObject.type == "numeric") {
+			return valueObject.value[0];
+		} else if (valueObject.type == "color") {
+			return "#" + this.toColorPart(valueObject.value.r) + this.toColorPart(valueObject.value.g) + this.toColorPart(valueObject.value.b);
+		} else {
+			if (valueObject.type == "px") {
+				return parseInt(valueObject.value[0]).toString(10) + valueObject.type;
+			} else {
+				return valueObject.value[0].toString(10) + valueObject.type;
+			}
+		}
+	},
+
+
+
+	toColorPart : function (decimalColor) {
+		var decimalColor = parseInt(decimalColor);
+
+		if (!isNaN(decimalColor)) {
+			if (decimalColor < 0 ) { decimalColor = 0; }
+			if (decimalColor > 255 ) { decimalColor = 255; }
+			var hexString = decimalColor.toString(16);
+			if (decimalColor < 16) { hexString = "0" + hexString; }
+		} else {
+			var hexString = "00";
+		}
+		return hexString;
+	}
+	
+}
\ No newline at end of file

Added: templates/branches/lifetype-1.2/unported/subtle/assets/js/core.js
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/assets/js/core.js	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/assets/js/core.js	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,45 @@
+// JavaScript Document
+
+var GluedTools = {
+
+	dom : function() {
+		if (!GluedTools._DOM) {
+			throw "Glued Tools DOM module is missing.";
+		} else {
+			return GluedTools._DOM;
+		}
+	},
+	
+	animator : function() {
+		if (!GluedTools._Animator) {
+			throw "Glued Tools Animation module is missing.";
+		} else {
+			return GluedTools._Animator;
+		}
+	},
+	
+	form : function() {
+		if (!GluedTools._Form) {
+			throw "Glued Tools Form module is missing.";
+		} else {
+			return GluedTools._Form;
+		}
+	},
+
+	gui : function() {
+		if (!GluedTools._GUI) {
+			throw "Glued Tools GUI module is missing.";
+		} else {
+			return GluedTools._GUI;
+		}
+	},
+	
+	widgetFactory : function() {
+		if (!GluedTools._WidgetFactory) {
+			throw "Glued Tools Widget module is missing.";
+		} else {
+			return GluedTools._WidgetFactory;
+		}
+	}
+	
+}
\ No newline at end of file

Added: templates/branches/lifetype-1.2/unported/subtle/assets/js/dom.js
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/assets/js/dom.js	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/assets/js/dom.js	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,181 @@
+// JavaScript Document
+
+GluedTools._DOM = {
+
+	getBrowserType : function () {
+		if (navigator.userAgent.indexOf("Opera")!=-1 && document.getElementById) { 
+			return "OP";
+		} else if (document.all) {
+			return "IE";
+		} else if (document.layers) { 
+			return "NN";
+		} else if (!document.all && document.getElementById) {
+			return "MO";
+		} else {
+			return "IE";
+		}
+	},
+	
+	getElementByID : function (elementID) {
+		if (document.layers) {
+			// NN4+
+			return document.layers[elementID];
+		} else if (document.getElementById) {
+			// NN6 + IE5+
+			return document.getElementById(elementID);
+		} else if (document.all) {
+			// IE4
+			return document.all[elementID];
+		}
+	},
+	
+	getElementsByTagName : function (elementTag) {
+		if (document.layers) {
+			// NN4+ - Find out about this one
+			return null;
+		} else if (document.getElementsByTagName) {
+			// NN6 + IE5+
+			return document.getElementsByTagName(elementID);
+		} else if (document.all) {
+			// IE4
+			return document.all.tags(elementID);
+		}
+	},
+	
+	getElementsByClassName : function (className) {
+		var foundElements = [];
+		var regexp = new RegExp('\\b' + className + '\\b');
+		var all_elements = document.all ? document.all : document.getElementsByTagName("*");
+		for (var i = 0, j = all_elements.length; i < j; i++) {
+			if (regexp.test( all_elements[i].className)) {
+				foundElements.push(all_elements[i]);
+			}
+		}
+		return foundElements;
+	},
+	
+	setElementStyle : function (element, attribute, value) {
+		if(document.layers) {
+			element[attribute] = value;
+		} else {
+			if (attribute == 'opacity') {
+				if (element.filters) {
+					element.style.filter = 'alpha(opacity=' + value * 100 + ')';
+				} else {
+					element.style.opacity = value;
+					element.style['-moz-opacity'] = value;
+					element.style['-khtml-opacity'] = value;
+				}
+			} else {
+				element.style[attribute] = value;
+			}
+		}
+	},
+	
+	getElementStyle : function (element, attribute) {
+		if(document.layers) {
+			return element[attribute];
+		} else {
+			if (!element.style[attribute]) { 
+				if (window.getComputedStyle) {
+					this.setElementStyle(element, attribute, window.getComputedStyle(element, null)[attribute]); 
+				} else {
+					this.setElementStyle(element, attribute, element.currentStyle[attribute]); 
+				}
+			}
+			return element.style[attribute];
+		}
+	},
+	
+	addEventListener : function (element, eventtype, callback, captures) {
+		if (element.addEventListener) {
+			element.addEventListener(eventtype, callback, captures);
+		} else if (element.attachEvent) {
+			element.attachEvent('on'+eventtype, callback, captures);
+		} else {
+			element['on'+eventtype] = callback;
+		}
+	},
+	
+	getElementPosition : function (element) {
+		var position = new Array;
+		if (document.getBoxObjectFor) {
+			var box = document.getBoxObjectFor(element);
+			position['left'] = box.x;
+			position['width'] = box.width;
+			position['top'] = box.y;
+			position['height'] = box.height;
+		} else if (element.getBoundingClientRect) {
+			var box = element.getBoundingClientRect();
+			position['left'] = box.left;
+			position['width'] = box.right - box.left;
+			position['top'] = box.top;
+			position['height'] = box.bottom - box.top;
+		} 
+		return position;
+	},
+	
+	pageX : function (pos) {
+		if (document.all) {
+			return document.body.scrollLeft + pos;
+		} else {
+			return window.pageXOffset + pos;
+		}
+	},
+
+	pageY : function (pos) {
+		if (document.all) {
+			return document.body.scrollTop + pos;
+		} else {
+			return window.pageYOffset + pos;
+		}
+	},
+	
+	swapNodes : function (elementA, elementB) {
+		var cloneA = elementA.cloneNode(true);
+		elementB.parentNode.insertBefore(clonedA, elementB);
+		elementA.parentNode.replaceNode(elementB, elementA);
+		return true;
+	},
+	
+	getViewportSize : function () {
+
+		var windowSize = { width : 0, height : 0 };
+		
+		if (typeof window.innerWidth != 'undefined') {
+			windowSize = { width : window.innerWidth, height : window.innerHeight };
+		} else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
+			windowSize = { width : document.documentElement.clientWidth, height : document.documentElement.clientHeight };
+		} else {
+			windowSize = { width : document.getElementsByTagName('body')[0].clientWidth, height : document.getElementsByTagName('body')[0].clientHeight };
+		}
+		
+		return windowSize;
+	},
+	
+	cloneObject : function (object) {
+		var clone = {}
+
+		for (property in object) {
+			if (typeof(object[property]) == "object") {
+				clone[property] = new GluedTools._DOM.cloneObject(object[property]);
+			} else {
+				clone[property] = object[property];
+			}
+		}
+		return clone;
+	},
+	
+	checkElementOverlap : function (positionA, positionB) {
+		var overlapFlag = true;
+		
+		if (positionA.top > (positionB.top + positionB.height) && (positionA.top + positionA.height) > (positionB.top + positionB.height)) { overlapFlag = false; }
+		if (positionA.top < positionB.top && (positionA.top + positionA.height) < positionB.top) { overlapFlag = false; }
+
+		if (positionA.left > (positionB.left + positionB.width) && (positionA.left + positionA.width) > (positionB.left + positionB.width)) { overlapFlag = false; }
+		if (positionA.left < positionB.left && (positionA.left  + positionA.width) < positionB.left) { overlapFlag = false; }
+		
+		return overlapFlag;
+	}
+
+}
\ No newline at end of file

Added: templates/branches/lifetype-1.2/unported/subtle/assets/js/form_comments.js
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/assets/js/form_comments.js	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/assets/js/form_comments.js	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,32 @@
+// JavaScript Document
+
+window.onload = function () {
+	var DOM = new GluedTools.dom();
+	var eCommentArea = DOM.getElementByID('comment_area');
+	var eFormComment = DOM.getElementByID('form_comments');
+	var eAllowFloat = DOM.getElementByID('input_allow_float');
+	var currentPageY = DOM.pageY(0);
+	
+	if (DOM.getBrowserType() != 'IE') { setInterval(handleMovement, 10); }
+	
+	function handleMovement () {
+		if (DOM.pageY(0) != currentPageY) {
+			currentPageY = DOM.pageY(0);
+			var posCommentArea = DOM.getElementPosition(eCommentArea);
+			var posFormComment = DOM.getElementPosition(eFormComment);
+			if (currentPageY > (posCommentArea.top - 20) && eAllowFloat.checked) {
+				if (DOM.getElementStyle(eFormComment, 'position') != 'fixed' && parseInt(posCommentArea.height) > parseInt(posFormComment.height) + 100) {
+					DOM.setElementStyle(eCommentArea, 'height', parseInt(posCommentArea.height) + 'px');
+					DOM.setElementStyle(eFormComment, 'position', 'fixed');
+					DOM.setElementStyle(eFormComment, 'top', '20px');
+					DOM.setElementStyle(eFormComment, 'marginLeft', '460px');
+				}
+			} else {
+				DOM.setElementStyle(eFormComment, 'position', 'relative');
+				DOM.setElementStyle(eFormComment, 'top', '0px');
+				DOM.setElementStyle(eFormComment, 'marginLeft', '20px');
+			}
+		}
+	}
+}
+

Added: templates/branches/lifetype-1.2/unported/subtle/assets/js/json.js
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/assets/js/json.js	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/assets/js/json.js	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,139 @@
+/*
+Copyright (c) 2005 JSON.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The Software shall be used for Good, not Evil.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+
+/*
+    The global object JSON contains two methods.
+
+    JSON.stringify(value) takes a JavaScript value and produces a JSON text.
+    The value must not be cyclical.
+
+    JSON.parse(text) takes a JSON text and produces a JavaScript value. It will
+    return false if there is an error.
+*/
+var JSON = function () {
+    var m = {
+            '\b': '\\b',
+            '\t': '\\t',
+            '\n': '\\n',
+            '\f': '\\f',
+            '\r': '\\r',
+            '"' : '\\"',
+            '\\': '\\\\'
+        },
+        s = {
+            'boolean': function (x) {
+                return String(x);
+            },
+            number: function (x) {
+                return isFinite(x) ? String(x) : 'null';
+            },
+            string: function (x) {
+                if (/["\\\x00-\x1f]/.test(x)) {
+                    x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) {
+                        var c = m[b];
+                        if (c) {
+                            return c;
+                        }
+                        c = b.charCodeAt();
+                        return '\\u00' +
+                            Math.floor(c / 16).toString(16) +
+                            (c % 16).toString(16);
+                    });
+                }
+                return '"' + x + '"';
+            },
+            object: function (x) {
+                if (x) {
+                    var a = [], b, f, i, l, v;
+                    if (x instanceof Array) {
+                        a[0] = '[';
+                        l = x.length;
+                        for (i = 0; i < l; i += 1) {
+                            v = x[i];
+                            f = s[typeof v];
+                            if (f) {
+                                v = f(v);
+                                if (typeof v == 'string') {
+                                    if (b) {
+                                        a[a.length] = ',';
+                                    }
+                                    a[a.length] = v;
+                                    b = true;
+                                }
+                            }
+                        }
+                        a[a.length] = ']';
+                    } else if (x instanceof Object) {
+                        a[0] = '{';
+                        for (i in x) {
+                            v = x[i];
+                            f = s[typeof v];
+                            if (f) {
+                                v = f(v);
+                                if (typeof v == 'string') {
+                                    if (b) {
+                                        a[a.length] = ',';
+                                    }
+                                    a.push(s.string(i), ':', v);
+                                    b = true;
+                                }
+                            }
+                        }
+                        a[a.length] = '}';
+                    } else {
+                        return;
+                    }
+                    return a.join('');
+                }
+                return 'null';
+            }
+        };
+    return {
+        copyright: '(c)2005 JSON.org',
+        license: 'http://www.crockford.com/JSON/license.html',
+/*
+    Stringify a JavaScript value, producing a JSON text.
+*/
+        stringify: function (v) {
+            var f = s[typeof v];
+            if (f) {
+                v = f(v);
+                if (typeof v == 'string') {
+                    return v;
+                }
+            }
+            return null;
+        },
+/*
+    Parse a JSON text, producing a JavaScript value.
+    It returns false if there is a syntax error.
+*/
+        parse: function (text) {
+            try {
+                return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(
+                        text.replace(/"(\\.|[^"\\])*"/g, ''))) &&
+                    eval('(' + text + ')');
+            } catch (e) {
+                return false;
+            }
+        }
+    };
+}();
\ No newline at end of file

Added: templates/branches/lifetype-1.2/unported/subtle/assets/js/widget.js
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/assets/js/widget.js	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/assets/js/widget.js	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,309 @@
+// JavaScript Document
+
+GluedTools._WidgetFactory = {
+	
+	bindElement : function (protoWidget, elementid) {
+		var elementBase = GluedTools._DOM.getElementByID(elementid);
+		var widget = GluedTools._DOM.cloneObject(protoWidget);
+		widget.elements.base = elementid;
+		widget.id = elementid;
+		
+		if (elementBase) {
+			for (attribute in elementBase.attributes) {
+				if (elementBase.attributes[attribute] != null && typeof(elementBase.attributes[attribute].name) == "string") {
+					var attrNamespace = elementBase.attributes[attribute].name.split(":");
+					if (attrNamespace[0] == "widget") {
+						var attributeName = "widget";
+						for (index = 1; index < attrNamespace.length; index++) {
+							if (typeof(eval(attributeName + "." + attrNamespace[index].toLowerCase())) === "undefined") {
+								eval(attributeName + "." + attrNamespace[index].toLowerCase() + "= {}");
+							}
+							attributeName = attributeName + "." + attrNamespace[index].toLowerCase();
+						}
+						if (elementBase.attributes[attribute].value == "true") { 
+							eval(attributeName + " = true");
+						} else if (elementBase.attributes[attribute].value == "false") {
+							eval(attributeName + " = false");
+						} else {
+							eval(attributeName + " = elementBase.attributes[attribute].value");
+						}
+					}
+				}
+			}
+
+			if (typeof(widget.dragdrop) != "undefined") {
+				if (widget.dragdrop.drag || widget.dragdrop.target) { this.makeDragDrop(widget); }
+			}
+			
+			if (GluedTools._DOM.getElementStyle(elementBase, "left").indexOf("px") < 0) { widget.virtualLeft = 0; } else { widget.virtualLeft = parseInt(GluedTools._DOM.getElementStyle(elementBase, "left")); }
+			if (GluedTools._DOM.getElementStyle(elementBase, "top").indexOf("px") < 0) { widget.virtualTop = 0; } else { widget.virtualTop = parseInt(GluedTools._DOM.getElementStyle(elementBase, "top")); }
+
+			return widget;
+		} else {
+			return false;
+		}
+	},
+
+	getRootWidget : function (object) {
+		if (object.parentWidget === false) {
+			return object;
+		} else {
+			return this.getRootWidget(object.parentWidget);
+		}
+	},
+	
+	moveElement : function (widget, element, deltaLeft, deltaTop) {
+		var elementTop = parseInt(GluedTools._DOM.getElementStyle(element, "top"));
+		var elementLeft = parseInt(GluedTools._DOM.getElementStyle(element, "left"));
+		
+		widget.virtualTop = widget.virtualTop + deltaTop;
+		widget.virtualLeft = widget.virtualLeft + deltaLeft;
+		
+		if (parseInt(widget.aliasVert) > 0 ) { var displayTop = Math.round(widget.virtualTop / parseInt(widget.aliasVert)) * parseInt(widget.aliasVert); } else { var displayTop = widget.virtualTop; }
+		if (parseInt(widget.aliasHoriz) > 0 ) { var displayLeft = Math.round(widget.virtualLeft / parseInt(widget.aliasHoriz)) * parseInt(widget.aliasHoriz); } else { var displayLeft = widget.virtualLeft; }
+
+		if (displayTop < parseInt(widget.mintop)) { displayTop = parseInt(widget.mintop); }
+		if (displayTop > parseInt(widget.maxtop)) { displayTop = parseInt(widget.maxtop); }
+		if (displayLeft < parseInt(widget.minleft)) { displayLeft = parseInt(widget.minleft); }
+		if (displayLeft > parseInt(widget.maxleft)) { displayLeft = parseInt(widget.maxleft); }
+
+		if (this.getRootWidget(widget).animator && widget.animationTemplate["dragHoriz"] && displayLeft != elementLeft) {
+			widget.animationTemplate["dragHoriz"].element = element;
+			widget.animationTemplate["dragHoriz"].endValue = displayLeft + "px";
+			this.getRootWidget(widget).animator.animateAttribute(widget.animationTemplate["dragHoriz"]);
+		} else {
+			GluedTools._DOM.setElementStyle(element, "left", displayLeft + "px")
+		}
+
+		if (this.getRootWidget(widget).animator && widget.animationTemplate["dragVert"] && displayTop != elementTop) {
+			widget.animationTemplate["dragVert"].element = element;
+			widget.animationTemplate["dragVert"].endValue = displayTop + "px";
+			this.getRootWidget(widget).animator.animateAttribute(widget.animationTemplate["dragVert"]);
+		} else {
+			GluedTools._DOM.setElementStyle(element, "top", displayTop + "px")
+		}
+	},
+
+
+	makeDragDrop : function (widget) {
+
+		var onMouseDown_handler = function (event) {
+			if (widget.dragdrop.drag) {
+				var elementDrag = GluedTools._DOM.getElementByID(widget.elements.drag);
+				widget.dragdrop.mousedown = true;
+				widget.dragdrop.selected = true;
+				widget.dragdrop.clientx = event.clientX;
+				widget.dragdrop.clienty = event.clientY;
+
+				if (GluedTools._DOM.getElementStyle(elementDrag, "position") == "absolute") {
+					var positionDrag = GluedTools._DOM.getElementPosition(elementDrag);
+					if (GluedTools._DOM.getElementStyle(elementDrag, "left").indexOf("px") < 0) { GluedTools._DOM.setElementStyle(elementDrag, "left", positionDrag.left + "px"); }
+					if (GluedTools._DOM.getElementStyle(elementDrag, "top").indexOf("px") < 0) { GluedTools._DOM.setElementStyle(elementDrag, "top", positionDrag.top + "px"); }
+				}
+
+				widget.onDragStart(widget);
+			}
+		}
+
+		var onMouseMove_handler = function (event) {
+			if (widget.dragdrop.mousedown && widget.dragdrop.drag && !widget.dragdrop.locked) {
+				widget.dragdrop.dragging = true;
+
+				widget.onDrag(widget);
+				GluedTools._WidgetFactory.moveElement(widget, GluedTools._DOM.getElementByID(widget.elements.drag), event.clientX - widget.dragdrop.clientx, event.clientY - widget.dragdrop.clienty);
+
+				widget.dragdrop.clientx = event.clientX;
+				widget.dragdrop.clienty = event.clientY;
+				
+				GluedTools._WidgetFactory.getRootWidget(widget).handleBubble("this.onDragOver_handler", widget);
+			}
+		}
+
+		var onMouseUp_handler = function (event) {
+			if (widget.dragdrop.mousedown) {
+				widget.dragdrop.mousedown = false;
+				widget.dragdrop.dragging = false;
+				widget.onDragEnd(widget);
+				GluedTools._WidgetFactory.getRootWidget(widget).handleBubble("this.onDrop_handler", widget);
+			}
+		}
+		
+		widget.onDragOver_handler = function (widgetDrag) {
+			if (this.dragdrop.target && widgetDrag != this && this.group === widgetDrag.group) {
+				var elementBase = GluedTools._DOM.getElementByID(this.elements.base);
+				var elementDrag = GluedTools._DOM.getElementByID(widgetDrag.elements.drag);
+				
+				var positionBase = GluedTools._DOM.getElementPosition(elementBase);
+				if (widgetDrag.dragdrop.targetstyle == "cursor") {
+					var positionDrag = { top : widgetDrag.dragdrop.clienty, left : widgetDrag.dragdrop.clientx, height : 0, width : 0 }
+				} else {
+					var positionDrag = GluedTools._DOM.getElementPosition(elementDrag);
+				}
+				
+				if (GluedTools._DOM.checkElementOverlap(positionBase, positionDrag)) {
+					if (!this.dragdrop.targeted) {
+						this.dragdrop.targeted = true;
+						this.onDragEnter(widgetDrag);
+						widgetDrag.onDragOver(this);
+					}
+				} else if (this.dragdrop.targeted) {
+					this.onDragLeave(widgetDrag);
+					this.dragdrop.targeted = false;
+					widgetDrag.onDragOut(this);
+				}
+			}
+		}
+		
+		widget.onDrop_handler = function (widgetDrag) {
+			if (this.dragdrop.targeted && this != widgetDrag && this.group == widgetDrag.group) {
+				this.onDrop(widgetDrag);
+			}
+		}
+
+		if (typeof(widget.elements.handle) != "string") { widget.elements.handle = widget.elements.base; }
+		if (typeof(widget.elements.drag) != "string") { widget.elements.drag = widget.elements.base; }
+
+		widget.dragdrop.clientx = null;
+		widget.dragdrop.clienty = null;
+		widget.dragdrop.dragging = false;
+		widget.dragdrop.mousedown = false;
+		widget.dragdrop.selected = false;
+		widget.dragdrop.targeted = false;
+			
+		if (typeof(widget.dragdrop.targetstyle) == "undefined") { widget.dragdrop.targetstyle = "cursor"; }
+		if (typeof(widget.dragdrop.locked) == "undefined") { widget.dragdrop.targetstyle = false; }
+
+		if (typeof(widget.onSelect) == "undefined") { widget.onSelect = function () {}; }
+		if (typeof(widget.onDragStart) == "undefined") { widget.onDragStart = function () {}; }
+		if (typeof(widget.onDrag) == "undefined") { widget.onDrag = function () {}; }
+		if (typeof(widget.onDragEnd) == "undefined") { widget.onDragEnd = function () {}; }
+		if (typeof(widget.onDragOver) == "undefined") { widget.onDragOver = function () {}; }
+		if (typeof(widget.onDragOut) == "undefined") { widget.onDragOut = function () {}; }
+
+		if (typeof(widget.onDragEnter) == "undefined") { widget.dragOver = function () {}; }
+		if (typeof(widget.onDragLeave) == "undefined") { widget.dragOver = function () {}; }
+		if (typeof(widget.onDrop) == "undefined") { widget.dropOn = function () {}; }
+
+		GluedTools._DOM.addEventListener(GluedTools._DOM.getElementByID(widget.elements.handle), "mousedown", onMouseDown_handler, true);
+		GluedTools._DOM.addEventListener(document, "mouseup", onMouseUp_handler, true);
+		GluedTools._DOM.addEventListener(document, "mousemove", onMouseMove_handler, true);
+	},
+
+
+	prototypes : {
+
+		generic : function () {
+			var widget = {
+				id : null,
+				type : null,
+				form : null,
+				group : "default",
+
+				elements : { base : null },
+				parentWidget : false,
+				childWidgets : new Array,
+
+				animator : null,
+				animationTemplate : new Array,
+
+				virtualTop : null,
+				virtualLeft : null,
+				aliasHoriz : "0px",
+				aliasVert : "0px",
+				mintop : null,
+				maxtop : null,
+				minleft : null,
+				maxleft : null,
+	
+				appendWidget : function (widget) {
+					widget.parentWidget = this;
+					this.childWidgets[widget.id] = widget;
+				},
+				
+				handleBubble : function (method, args) {
+					if (typeof(eval(method)) != "undefined") { eval(method + "(args)"); }
+					for (childIndex in this.childWidgets) { 
+						this.childWidgets[childIndex].handleBubble(method, args); 
+					}
+				}
+				
+			}
+			
+			return widget;
+		},
+		
+		form : function () {
+			var widget = new GluedTools._WidgetFactory.prototypes.generic();
+			
+			widget.directives = new Array;
+			widget.hasXHR = false;
+			
+			widget.startQueue = function () {
+				var self = this;
+				
+				var processDirectives = function () {
+
+					var XHR;
+					var directives = widget.directives;
+					var action = GluedTools._DOM.getElementByID(self.elements.base).action;
+					var request = { 
+						formID : self.id,
+						directives : directives
+					}
+					
+					if (action && directives.length > 0) {
+						try { 
+							XHR = new ActiveXObject("Msxml2.XMLHttp"); 
+						} catch(e) { 
+							try { 
+								XHR = new ActiveXObject("Microsoft.XMLHttp"); 
+							} catch(e2) { } 
+						}
+						
+						if (XHR == undefined && (typeof XMLHttpRequest != 'undefined')) { XHR = new XMLHttpRequest(); }
+		
+						XHR.onreadystatechange = function () { self.processResponse(XHR); }
+						XHR.open("POST", action, true);
+						XHR.send(JSON.stringify(request));
+						
+						self.clearDirectives();
+						
+					} else {
+						return false;
+					}
+				}
+				
+				setInterval(processDirectives, 1000);
+		
+			}
+			
+			widget.addDirective = function (method, args) {
+				widget.directives[widget.directives.length] = { method : method, args : args };
+				return widget.directives.length;
+			}
+			
+			widget.removeDirective = function (directiveID) {
+			}
+			
+			widget.clearDirectives = function () {
+				widget.directives = new Array;
+				return true;
+			}
+			
+			widget.processResponse = function (XHR) {
+				if (XHR.readyState == 4) {
+					if(XHR.status == "200") {
+						var response = JSON.parse(XHR.responseText);
+						for (directive in response) {
+							eval("this." + response[directive]['method'] + "(response[directive]['args'])");
+						}
+					}
+				}
+			}
+			
+			return widget;
+		}
+
+	}
+
+}
\ No newline at end of file

Added: templates/branches/lifetype-1.2/unported/subtle/error.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/error.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/error.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,5 @@
+		{include file="$blogtemplate/header.template"} 
+ 	<h2>{$locale->tr("error")}</h2>
+ 		<p>{$locale->tr($message)}</p>
+		<p><a href="javascript:history.go(-1)">{$locale->tr("back")}</a></p>
+		{include file="$blogtemplate/footer.template"} 

Added: templates/branches/lifetype-1.2/unported/subtle/footer.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/footer.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/footer.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,30 @@
+<!-- Footer Start -->
+			<br class="clear" />
+		</div>
+	</div>
+
+</div>
+
+<div id="footer">
+	<div class="style_content">
+		<h3 id="footer_title"><a href="{$url->blogLink()}"><span>{$blog->getBlog()}</span></a></h3>
+		
+		<div id="logos">
+			Powered by <a href="http://lifetype.net/" class="logo">LifeType</a>
+			<a href="http://blog.gluedideas.com/" class="logo"><img src="{$url->getTemplateFile("assets/images/logo_gluedideas.gif")}" alt="Design by Glued Ideas" align="top" border="0" /></a>
+			<a href="http://www.famfamfam.com/" class="logo"><img src="{$url->getTemplateFile("assets/images/logo_famfamfam.gif")}" alt="Icons by Fam Fam Fam" align="top" border="0" /></a>
+		</div>
+	
+		<div id="copyright_notice" class="reduced"><p>Unless otherwise specified, all content is made available under the <a href="http://creativecommons.org/licenses/by/2.5/">Creative Commons License</a></p></div>
+		
+	</div>
+</div>
+
+<!--
+Copyright Original Desing: 2006, Glued Ideas
+Author Original Design: Christopher Frazier (cfrazier at gluedideas.com)
+Ported to LifeType by: Reto Hugi (http://hugi.to/blog)
+-->
+
+</body>
+</html>

Added: templates/branches/lifetype-1.2/unported/subtle/header.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/header.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/header.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <meta http-equiv="content-type" content="text/html; charset={$locale->getCharset()}" />
+	<title>{$pageTitle|escape:"html"}</title>
+	 <meta name="generator" content="{$version}" /> <!-- leave this for stats -->
+ <meta http-equiv="Content-Language" content="{$locale->getLanguageId()}" />
+     <link rel="stylesheet" type="text/css" title="Style" href="{$url->getTemplateFile("assets/css/layout.css")}" media="screen" />
+     <link rel="stylesheet" type="text/css" title="Style" href="{$url->getTemplateFile("assets/css/layout.css")}" media="print" />
+     <link rel="stylesheet" type="text/css" title="Style" href="{$url->getTemplateFile("styles/default/default.css")}" media="all" />
+
+	<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="{$url->rssLink("rss20")}" />
+	<link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="{$url->rssLink("atom")}" />
+
+	<link rel="shortcut icon" type="image/x-icon" href="{$url->getTemplateFile("favicon.ico")}" />
+
+	<script language="JavaScript" type="text/javascript" src="{$url->getTemplateFile("assets/js/core.js")}"></script>
+	<script language="JavaScript" type="text/javascript" src="{$url->getTemplateFile("assets/js/dom.js")}"></script>
+
+</head>
+
+<body>
+<!-- Cached content created: {"0"|date_format:"%D %H:%M:%S"} -->
+<div id="container">
+
+	<div id="header">
+		<div class="style_content">
+
+			<form action="{$url->getIndexUrl()}" name="search_box" id="search_box" method="get">
+				<label for="input_search" id="label_search">{$locale->tr("search")}</label> 
+				<input type="text" id="input_search" class="input" name="searchTerms" />
+				<input type="image" src="{$url->getTemplateFile("assets/images/icon_search.gif")}" align="top" id="button_search" value="{$locale->tr("search_s")}" />
+	<input type="hidden" name="op" value="Search" />
+	<input type="hidden" name="blogId" value="{$blog->getId()}" /> 
+			</form>
+			
+			<h1 id="title"><a href="{$url->blogLink()}"><span>{$blog->getBlog()}</span></a></h1>
+			<p id="tagline"><span>{$blog->getAbout()}</span></p>
+
+    	
+    	<ul id="menu">
+    	<li class="page_item"><a title="{$locale->tr("main")}" href="{$url->blogLink()}">{$locale->tr("main")}</a></li>
+    	<li class="page_item"><a title="{$locale->tr("archives")}" href="{$url->templatePage("archives")}">{$locale->tr("archives")}</a></li>
+    	<li class="page_item"><a title="{$locale->tr("albums")}" href="{$url->albumLink()}">{$locale->tr("albums")}</a></li>
+        </ul>
+
+		</div>
+	</div>
+
+
+	<div id="content">
+		<div class="style_content">
+
+
+<!-- Header End -->

Added: templates/branches/lifetype-1.2/unported/subtle/links.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/links.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/links.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,17 @@
+{assign var=title value=$locale->tr("links")}
+{include file="$blogtemplate/header.template" pageTitle="$pageTitle | $title"} 
+<div id="Links">
+	<h2>{$locale->tr("my_links")}</h2>
+  		{foreach from=$mylinkscategories item=linkcategory}
+    	<h3>{$linkcategory->getName()}</h3>
+   	<ul>
+  		{foreach from=$linkcategory->getLinks() item=link}
+  	<li><a href="{$link->getUrl()}" title="{$link->getDescription()}">{$link->getName()}</a>: {$link->getDescription()} {if $link->getRssFeed() != ""}
+      <a href="{$link->getRssFeed()}"><img src="{$url->getUrl("/imgs/rss_logo_small.gif")}" alt="RSS" /></a>
+    {/if}</li>
+    		{/foreach}
+  	</ul>
+  		{/foreach}
+  	</div>
+  
+		{include file="$blogtemplate/footer.template"} 
\ No newline at end of file

Added: templates/branches/lifetype-1.2/unported/subtle/main.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/main.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/main.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,71 @@
+		{assign var="OnMainPage" value=1}
+		{include file="$blogtemplate/header.template"} 
+		
+<div id="loop_articles">
+
+{foreach from=$posts item=post}
+   {include file="$blogtemplate/post.template"}
+{/foreach}
+
+{pager style="links"}
+</div>
+
+<!-- Start right Panel Stuff -->
+{assign var=blogOwner value=$blog->getOwnerInfo()}
+{assign var=AboutMyself value=$blogOwner->getAboutMyself()}
+{if $blogOwner->hasPicture() && $AboutMyself}
+{assign var=picture value=$blogOwner->getPicture()}
+<div id="information" class="prominent reduced">
+<div class="inner">
+<h2>Welcome to {$blog->getBlog()}</h2>
+<p><img id="UserPicture" src="{$picture->getPreviewLink()}" alt="{$blogOwner->getUsername()}" style="float:left;" />
+{$AboutMyself}</p>
+<ul class="links">
+<li class="icon information"><a href="/about/"><span>Find out more...</span></a></li>
+</ul>
+</div>
+</div>
+{/if}
+
+
+<div id="widgets" class="home">
+    <div id="widgets_home_a" class="widget_set reduced">
+
+<h3>Archives</h3>
+<ul class="icon category">
+{foreach from=$archives item=month}
+   <li><a href="{$month->getUrl()}" title="{$month->getName()}">{$month->getName()}</a> [{$month->getNumArticles()}]</li>
+{/foreach}
+</ul>
+
+<h3>Meta</h3>
+<ul class="icon jump">
+		<li><a title="{$locale->tr("main")}" href="{$url->blogLink()}">{$locale->tr("main")}</a></li>
+		<li><a title="{$locale->tr("archives")}" href="{$url->templatePage("archives")}">{$locale->tr("archives")}</a></li>
+		<li><a title="{$locale->tr("albums")}" href="{$url->albumLink()}">{$locale->tr("albums")}</a></li>
+		
+{foreach name=mylinkscategories from=$mylinkscategories item=panel_linkcategory}
+ {if $smarty.foreach.mylinkscategories.first}
+        <li><a title="{$locale->tr("links")}" href="{$url->templatePage("links")}">{$locale->tr("links")}</a></li>
+ {/if}
+{/foreach}
+	</ul>
+</div>
+
+<div id="widgets_single_b" class="widget_set reduced"></div>
+<h3>{$locale->tr("recently")}</h3>
+<ul class="icon jump">
+{foreach from=$recentposts item=post}
+    <li><a title="{$post->getTopic()|strip_tags}}" href="{$url->postLink($post)}">{$post->getTopic()|strip_tags|truncate:20:"...":false}</a></li>
+{/foreach}
+
+</div>
+
+</div>
+
+
+			
+<!-- Content End -->
+
+
+		{include file="$blogtemplate/footer.template"} 

Added: templates/branches/lifetype-1.2/unported/subtle/post.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/post.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/post.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,46 @@
+		{assign var="postDate" value=$post->getDateObject()}
+		{assign var="postOwner" value=$post->getUserInfo()}
+
+<div id="post_274" class="post lead">
+<h3><a href="{$url->postPermalink($post)}"><span>{$post->getTopic()|strip_tags}</span></a></h3>
+<div class="timestamp author">
+Posted by {$postOwner->getUsername()} on {$locale->formatDate($postDate,"%d %B, %Y %H:%M")}
+</div>
+
+<div class="content">
+{$post->getText()}
+</div>
+
+{if $OnMainPage}
+<ul class="links">
+{if $blogsettings->getValue("comments_enabled") && $post->getCommentsEnabled()==1 || $post->getNumComments() > 0 }
+<li class="icon jump">
+<a href="{$url->postPermalink($post)}#comments" title="{$locale->tr("comments")|capitalize} -> {$post->getTopic()|strip_tags}">{if $post->getNumComments() == 0 }{$locale->tr("add_comment")}{else if}{$locale->tr("comments")|capitalize} ({$post->getNumComments()}){/if}</a>
+</li>
+{/if}
+{if $post->getNumTrackbacks() > 0}
+<li class="icon jump">
+<a href="{$url->postTrackbackStatsLink($post)}" title="{$locale->tr("trackbacks")} -> {$post->getTopic()|strip_tags}">{$locale->tr("trackbacks")} ({$post->getNumTrackbacks()})</a>{else}{$locale->tr("trackbacks")} ({$post->getNumTrackbacks()})
+</li>
+{/if}
+</ul>
+
+{else}
+<ul class="links" style="text-align:center">    
+    {if $post->getNextArticle() != ""}
+      <li class="icon" style="display:inline">
+        {assign var=nextpost value=$post->getNextArticle()}
+        &laquo; <a href="{$url->postPermalink($nextpost)|strip_tags}">{$locale->tr("next_post")}</a>
+      </li>
+    {/if}
+        
+    {if $post->getPrevArticle() != ""}
+      <li class="icon" style="display:inline">
+        {assign var=prevpost value=$post->getPrevArticle()}
+        <a href="{$url->postPermalink($prevpost)|strip_tags}"> {$locale->tr("previous_post")}</a> &raquo; 
+      </li>
+    {/if} 
+</ul>
+{/if}   
+
+</div>

Added: templates/branches/lifetype-1.2/unported/subtle/postandcomments.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/postandcomments.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/postandcomments.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,145 @@
+		{assign var="postPageTitle" value=$post->getTopic()}
+		{assign var="postPageTitle" value=" | $postPageTitle"}
+		{include file="$blogtemplate/header.template"} 
+  
+
+   
+   		{assign var="poster" value=$post->getUserInfo()}
+   		<!-- {$url->postTrackbackLink($post)} -->
+   		
+   		<div id="loop_single">
+   		
+   		{include file="$blogtemplate/post.template"}
+
+        </div>
+
+
+<div id="post_meta" class="prominent reduced"><div class="inner">
+				<h2>Information and Links</h2>
+				<p>Join the fray by commenting, tracking what others have to say, or linking to it from your blog.</p>
+
+	
+				<dl class="metadata odd">
+					<dt class="">Information</dt>
+					<dd class="icon date"><a href="#">Link to this Month Archive</a></dd>
+					{if $blogsettings->getValue("comments_enabled") && $post->getCommentsEnabled()==1 || $post->getNumComments() > 0 }
+					<dd class="icon comment"><a href="{$url->postPermalink($post)}#comments" title="{$locale->tr("comments")|capitalize} -> {$post->getTopic()|strip_tags}">{if $post->getNumComments() == 0 }{$locale->tr("add_comment")}{else if}{$locale->tr("comments")|capitalize} ({$post->getNumComments()}){/if}</a></dd>
+					{/if}
+					{if $post->getNumTrackbacks() > 0}
+					<dd class="icon comment"><a href="{$url->postTrackbackStatsLink($post)}#trackbacks" title="{$locale->tr("trackbacks")} -> {$post->getTopic()|strip_tags}">{$locale->tr("trackbacks")} ({$post->getNumTrackbacks()})</a></dd>
+					{/if}
+				</dl>
+	
+				<dl class="metadata even">
+					<dt>Feeds and Links</dt>
+
+					<dd class="icon feed"><a href="#">Comment Feed</a></dd>
+					<dd class="icon feed"><a href="#">Comment Feed</a></dd>
+					<dd class="icon feed"><a href="#">Comment Feed</a></dd>
+					<dd class="icon entry"><a href="#">From This Author</a></dd>
+					<dd class="icon delicious"><a href="http://del.icio.us/post?url={$url->postPermalink($post)}&title={$post->getTopic()|strip_tags}">Del.icio.us</a></dd>
+					<dd class="icon digg"><a href="http://www.digg.com/submit" target="_new">Digg</a></dd>
+					<dd class="icon technorati"><a href="http://technorati.com/cosmos/search.html?url={$url->postPermalink($post)}">Technorati</a></dd>
+				</dl>
+
+	
+				<dl class="metadata odd">
+					<dt>Categories</dt>				
+{foreach name=categories from=$post->getCategories() item=postCategory}
+<dd class="icon category">
+<a href="{$url->categoryLink($postCategory)}" title="{$locale->tr("category")}: {$postCategory->getName()}">{$postCategory->getName()}</a>
+</dd>{/foreach}
+				</dl>
+				
+				<br class="clear" />
+	
+				<dl class="other">
+
+					<dt>Other Posts</dt>
+					<dd class="icon jump"></dd>
+					<dd class="icon jump"><a href="#">New hosting</a></dd>
+				</dl>
+</div></div>
+
+	<!--
+			<div id="widgets" class="single">
+				<div id="widgets_single_a" class="widget_set reduced"></div>
+				<div id="widgets_single_b" class="widget_set reduced"></div>
+			</div>
+			-->
+			
+					
+			<br class="clear" />
+
+			
+<br />
+
+
+
+
+
+<!-- Comments -->
+
+
+
+{if $blogsettings->getValue("comments_enabled") && $post->getCommentsEnabled()==1}
+<!-- Commentform -->
+{include file="$blogtemplate/commentform.template"}
+{/if}
+
+<div id="loop_comments">
+
+{if $comments}
+    <h2 id="comments">{$locale->tr("comments")|capitalize}</h2>
+
+{foreach from=$comments item=comment}
+
+<h3 class="commentheader">{if $comment->getTopic() != null} {$comment->getTopic()|strip_tags}{else}Re: <em>{$post->getTopic()|strip_tags}</em>{/if}</h3>
+
+<p class="commentposterinfo">
+		{assign var="postDate" value=$comment->getTimestamp()}
+		{if $comment->getUserUrl() != ""}<a href="{$comment->getUserUrl()}">{$comment->getUsername()}</a>
+		{else}
+			{$comment->getUsername()}
+		{/if} | {$locale->formatDate($postDate, "%d/%m/%Y, %H:%M")}
+</p>
+
+<div class="commenttext">
+{if $comment->IsPosterAuthenticated()}
+ {assign var=poster value=$comment->getUser()}
+ {if $poster->hasPicture()}
+   {assign var=posterimg value=$poster->getPicture()}
+   {assign var=commenter value=$comment->getUser()}
+   <img src="{$posterimg->getPreviewLink()}" alt="{$commenter->getUserName()}" />
+  {/if}
+{/if}
+{$comment->getText()}
+</div>
+{/foreach}	
+{pager style="links"}
+</div>
+
+{elseif $trackbacks}
+<h2 id="comments">{$locale->tr("trackbacks")|capitalize}</h2>
+
+{foreach from=$trackbacks item=trackback}
+{assign var="trackbackDate" value=$trackback->getDateObject()}
+
+<h3 class="commentheader">{$trackback->getTitle()}</h3>
+
+<p class="commentposterinfo">
+		<a href="{$trackback->getUrl()}">{$trackback->getBlogName()}</a>
+         | {$locale->formatDate($trackbackDate, "%d/%m/%Y %H:%M")}
+</p>
+
+<div class="commenttext">
+{$trackback->getExcerpt()}
+</div>
+{/foreach}	
+
+</div>
+{/if}
+
+ 		
+
+{include file="$blogtemplate/footer.template"}

Added: templates/branches/lifetype-1.2/unported/subtle/posttrackbacks.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/posttrackbacks.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/posttrackbacks.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1 @@
+		{include file="$blogtemplate/postandcomments.template"} 

Added: templates/branches/lifetype-1.2/unported/subtle/resource.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/resource.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/resource.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,74 @@
+		{include file="$blogtemplate/header.template"} 
+
+<h2>{$locale->tr("albums")}</h2>
+
+		{assign var=metadata value=$resource->getMetadataReader()}
+		{assign var=updated value=$resource->getTimestamp()}
+<div id="album">
+	<h3>{$resource->getFileName()}</h3>
+
+	<div id="Resource-Desc">
+    	<a href="{$url->resourceDownloadLink($resource)}">{$locale->tr("download")}</a> 
+    	({$metadata->getRoundedSize()}) | {$locale->tr("created")} {$locale->formatDate($updated,"%d %b, %Y")}</div>
+ 
+ 	<div id="Resource">    
+  	<p>{$resource->getDescription()}</p>
+  		{if $resource->isImage()}
+   	<img src="{$url->resourceMediumSizePreviewLink($resource)}" alt="{$resource->getFileName()}, {$metadata->getRoundedSize()}" />
+  
+  		{else}
+     	<a href="{$url->resourceDownloadLink($resource)}">
+   		{* show some information about the file *}
+   
+   		{if $resource->isSound()}
+     	<img alt="Sound" src="{$url->getTemplateFile("imgs/sound.gif")}" /></a>
+     	<p>{$resource->getFileName()}</p>
+     	<p>{$locale->tr("format")}: {$metadata->getFormat()|upper}</p>
+     	<p>{$locale->tr("length")}: {$metadata->getLengthString()}</p>
+     	<p>{$locale->tr("sample_rate")}: {$metadata->getSampleRate()} Khz</p>
+   
+   		{elseif $resource->isVideo()}
+     	<img alt="Sound" src="{$url->getTemplateFile("imgs/video.gif")}" /></a>
+     	<p>{$resource->getFileName()}</p>
+     	<p>{$locale->tr("format")}: {$metadata->getFormat()|upper}</p>
+    	<p>{$locale->tr("size")}: {$metadata->getHeight()} x {$metadata->getWidth()}</p>
+    	<p>{$locale->tr("length")}: {$metadata->getLengthString()}</p>
+    	<p>{$locale->tr("video_codec")}: {$metadata->getVideoCodec()}</p>
+    	<p>{$locale->tr("audio_codec")}: {$metadata->getAudioCodec()}</p>
+   
+   		{elseif $resource->isZip()}
+     	<img alt="Zip" src="{$url->getTemplateFile("imgs/compressed.gif")}" /></a>
+     	<p>{$resource->getFileName()}</p> 
+    	<p>{$metadata->getTotalFiles()} {$locale->tr("files")}</p>
+    	<p>{$locale->tr("uncompressed_size")}: {$metadata->getRoundedUncompressedSize()}</p>
+   
+   		{else}
+     	<img alt="File" src="{$url->getTemplateFile("imgs/file.gif")}" /></a>
+     	<p>{$resource->getFileName()}</p>
+         
+   		{/if}   
+  		{/if}
+ 	</div>
+ 
+ 
+		{assign var=album value=$resource->getAlbum()} 
+	<p><a href="{$url->albumLink($album)}">{$locale->tr("parent")}</a></p>
+
+</div>
+
+</div>
+
+
+<div class="clearer">&nbsp;</div> 
+
+</div>
+
+<div id="Bottommenu"><a href="http://www.w3.org/WAI/">Accessible</a> and Valid <a href="http://validator.w3.org/check/referer">XHTML 1.0 Strict</a> and <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a></div>
+
+
+<!-- Please leave the credit intact. Thank you. -->
+<div id="Bottom">Powered by <a href="http://www.lifetype.net">LifeType</a> - Design by <a href="http://www.balearweb.com/">BalearWeb</a></div>
+
+</div>
+</body>
+</html>
\ No newline at end of file

Added: templates/branches/lifetype-1.2/unported/subtle/screenshot.png
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/screenshot.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/searchresults.template
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/searchresults.template	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/searchresults.template	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,22 @@
+{include file="$blogtemplate/header.template"} 
+   <h2>{$locale->tr("search_results")}: {foreach from=$searchterms item=term}{$term} {/foreach}</h2>
+   <div id="SearchResults">
+    {foreach from=$searchresults item=result}
+    
+    
+      {assign var=article value=$result->getArticle()}
+      <h3><a href="{$url->postPermalink($article)}">{$article->getTopic()}</a></h3>
+      <p class="searchArticle">
+      {$article->getText()|strip_tags|truncate:300:"...":false}
+      </p>
+      <p class="footer">
+		{foreach name=categories from=$article->getCategories() 
+				 item=postCategory}
+          <a href="{$url->categoryLink($postCategory)}">
+			 {$postCategory->getName()}</a>{if 
+				!$smarty.foreach.categories.last}, {/if}
+        {/foreach}
+      </p>
+    {/foreach}
+   </div> 
+{include file="$blogtemplate/footer.template"} 

Added: templates/branches/lifetype-1.2/unported/subtle/style.css
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/style.css	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/style.css	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,21 @@
+/*  
+Theme Name: Glued Ideas - Subtle
+Theme URI: http://blog.gluedideas.com
+Description: Multi-author blog template with subtle gradients.
+Author: Christopher Frazier
+Author URI: http://blog.gluedideas.com/
+Version: 0.391
+$Revision: 38 $
+$Date: 2006-09-23 05:57:39 -0700 (Sat, 23 Sep 2006) $
+
+	Glued Ideas
+	http://gluedideas.com
+
+	Multi-author blog template with subtle gradients
+
+	Unless otherwise specified, all content is made available under the Creative Commons License:
+	http://creativecommons.org/licenses/by/2.5/
+	
+	Looking for some actual CSS?  Try looking in /assets/css/layout.css or /styles/default/default.css
+	
+*/

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_author.jpg
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_author.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_comment_meta.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_comment_meta.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_comment_meta.jpg
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_comment_meta.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_info.jpg
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_info.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_meta.jpg
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_meta.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_prominent.jpg
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_prominent.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_prominent_inner.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_prominent_inner.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_search.jpg
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/back_search.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/default.css
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/styles/default/default.css	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/styles/default/default.css	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,198 @@
+/* Background Graphics --------------------------------------------- */
+
+body {
+	background-color: #f3f3eb;
+}
+
+#container {
+	background-image: url(../../assets/images/back_content.gif);
+	background-repeat: repeat-y;
+	background-position: center;
+}
+
+#header {
+	background-image: url(../../assets/images/back_header.gif);
+	background-repeat: repeat-x;
+}
+
+#menu .page_item a {
+	background-image: url(../../assets/images/back_menu.gif);
+	background-position: center top;
+	background-repeat: repeat-x;
+}
+
+#menu .current_page_item a {
+	background-image: url(../../assets/images/back_menu_selected.gif);
+	background-position: center top;
+	background-repeat: repeat-x;
+}
+
+.prominent {
+	background-image: url(back_prominent.jpg);
+	background-repeat: no-repeat;
+	background-position: right bottom;
+	background-color: #f4f4ec;
+}
+
+.prominent .inner {
+	background-image: url(back_prominent_inner.gif);
+	background-repeat: no-repeat;
+	background-position: left top;
+	margin: 0px;
+	padding: 15px 15px 10px;
+}
+
+
+#footer {
+	background-image: url(../../assets/images/back_footer.gif);
+	background-repeat: repeat-x;
+	background-position: top;
+}
+
+#footer .style_content {
+	background-image: url(footer.jpg);
+	background-repeat: no-repeat;
+	background-position: top;
+}
+
+#comment_area .metadata {
+	background-image: url(back_comment_meta.jpg);
+	background-repeat: no-repeat;
+	background-position: right bottom;
+	margin: 0px 0px 15px;
+	padding: 10px;
+	background-color: #f4f4ec;
+}
+
+#information {
+	background-image: url(back_info.jpg);
+}
+
+#post_meta {
+	background-image: url(back_prominent.jpg);
+}
+
+#search {
+	background-image: url(back_search.jpg);
+}
+
+#author {
+	background-image: url(back_author.jpg);
+}
+
+/* Header Images ---------------------------------------------------- */
+#header .style_content {
+ background-image: url(header.jpg);
+ background-repeat: no-repeat;
+}
+#menu {
+ background-image: url(header_menu.jpg);
+  background-repeat: no-repeat;
+}
+
+
+/* Color ----------------------------------------------------------- */
+
+#div {
+	border: 1px solid #FF0000;
+}
+
+a, a:link {
+	color: #bb6f02;
+}
+
+a:hover, a:active {
+	color: #e58802;
+}
+
+#header, #footer {
+	color: #FFFFFF;
+}
+
+#header a, #header a:link, #footer a, #footer a:link {
+	color: #FFFFFF;
+}
+
+#header a:hover, #header a:active, #footer a:hover, #footer a:active {
+	color: #DDDDDD;
+}
+
+
+
+/* Typography ------------------------------------------------------ */
+
+body {
+	font-family: "Lucida Grande", Arial, Sans-serif;
+	font-size: 9pt;
+	line-height: 180%;
+	color: #382e1f;
+}
+
+h1, h2, h3, h4, h5, h6 {
+	font-weight: normal;
+	letter-spacing: -0.06em;
+}
+
+
+/* Forms ----------------------------------------------------------- */
+
+.input {
+	background-color: #FFFFFF;
+	background-image: url(../../assets/images/back_input.gif);
+	background-repeat: repeat-x;
+	background-position: top;
+	border: 1px solid #a79d8f;
+	margin: 0px;
+	padding: 2px 1px;
+	line-height: inherit;
+	font-size: inherit;
+	display: inline;
+}
+
+
+/* LT Default Commentform fix */
+#CommentForm form {
+	background-image: url(back_prominent.jpg);
+	background-repeat: no-repeat;
+	background-position: right bottom;
+	background-color: #f4f4ec;
+}
+#NewComment {
+	background-image: url(back_prominent_inner.gif);
+	background-repeat: no-repeat;
+	background-position: left top;
+	margin: 0px;
+	/*padding: 15px 15px 10px;*/
+}
+fieldset {
+    margin:20px;
+    padding:0px;
+    border:0px;
+}
+legend {
+	font-size: 170%;
+	line-height: 100%;
+	margin: 0px 0px 5px;
+	letter-spacing: -0.06em;
+}
+fieldset div {
+ margin: 2px 0px 10px 0px;
+}
+#commentTopic, #userName, #userEmail, #userUrl, #commentText {
+	background-color: #FFFFFF;
+	background-image: url(../../assets/images/back_input.gif);
+	background-repeat: repeat-x;
+	background-position: top;
+	border: 1px solid #a79d8f;
+	margin: 0px;
+	padding: 2px 1px;
+	line-height: inherit;
+	font-size: inherit;
+	display: inline;
+}
+fieldset div label {
+	clear:both;
+	width:6em;
+	display:block;
+	float:left;
+}

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/footer.jpg
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/footer.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/generator.php
===================================================================
--- templates/branches/lifetype-1.2/unported/subtle/styles/default/generator.php	                        (rev 0)
+++ templates/branches/lifetype-1.2/unported/subtle/styles/default/generator.php	2007-02-06 22:00:44 UTC (rev 4695)
@@ -0,0 +1,85 @@
+<?php
+/*
+Filename: 		generator.php
+Date: 			06-06-25
+Copyright: 		2006, Glued Ideas
+Author: 		Christopher Frazier (cfrazier at gluedideas.com)
+Description: 	Header generator script
+Requires:
+*/
+
+function generateHeader ($sStyleFolder, $bReset) {
+
+	global $wp_version;
+	$aErrors = array();
+
+	if (isset($wp_version) and $wp_version == "MU") {
+		$sHeaderFile = $sStyleFolder . 'headers/' . md5($_SERVER['HTTP_HOST']) . '.jpg';
+		$sMenuFile = $sStyleFolder . 'headers/' . md5($_SERVER['HTTP_HOST']) . '_menu.jpg';
+	} else {
+		$sHeaderFile = $sStyleFolder . 'headers/header.jpg';
+		$sMenuFile = $sStyleFolder . 'headers/header_menu.jpg';
+	}
+
+	if (is_writable($sStyleFolder . 'headers/')) {
+	
+		if (function_exists('imagecopy')) {
+			if ($bReset == 'true') {
+				$imgHeaderBase = imagecreatefromjpeg($sStyleFolder . 'header_default.jpg');
+			} else {
+				$imgHeaderBase = imagecreatefromjpeg($_FILES['gi_subtle_header']['tmp_name']);
+			}
+			$imgHeaderOverlay = imagecreatefrompng($sStyleFolder . 'header.png');
+			$imgMenuOverlay = imagecreatefrompng($sStyleFolder . 'header_menu.png');
+	
+			$imgHeader = imagecreatetruecolor(imagesx($imgHeaderOverlay), imagesy($imgHeaderOverlay));
+			$imgMenu = imagecreatetruecolor(imagesx($imgMenuOverlay), imagesy($imgMenuOverlay));
+			
+			imagecopy($imgMenu, $imgHeaderBase, 0, 0, 20, 100, 780, 45);
+			imagecopy($imgMenu, $imgMenuOverlay, 0, 0, 0, 0, 780, 45);
+			imagejpeg($imgMenu, $sMenuFile, 100);
+	
+			imagecopy($imgHeader, $imgHeaderBase, 20, 0, 0, 0, 820, 145);
+			imagecopy($imgHeader, $imgHeaderOverlay, 0, 0, 0, 0, 860, 145);
+			imagejpeg($imgHeader, $sHeaderFile, 100);
+	
+		} else {
+	
+			$aErrors[] = "Your host does not support the GD extension.  Check with them to see if support is available.";
+	
+		}
+	
+	} else {
+	
+		$aErrors[] = "The header file you uploaded was not written correctly.  Make sure that the header folder is writable.";
+	
+	}
+	
+	return $aErrors;
+}
+
+function getHeaderCSS ($sStyleFolder) {
+
+	global $wp_version;
+	$sOutput = '';
+
+	if (isset($wp_version) and $wp_version == "MU") {
+		$sHeaderFile = 'headers/' . md5($_SERVER['HTTP_HOST']) . '.jpg';
+		$sMenuFile = 'headers/' . md5($_SERVER['HTTP_HOST']) . '_menu.jpg';
+	} else {
+		$sHeaderFile = 'headers/header.jpg';
+		$sMenuFile = 'headers/header_menu.jpg';
+	}
+
+	$sStyleURL = str_replace(str_replace('\\', '/', ABSPATH), get_settings('siteurl') . '/', str_replace('\\', '/', dirname(__FILE__))) . '/';
+
+	if (!file_exists($sStyleFolder . $sHeaderFile)) {
+		$sOutput .= '#header .style_content { background-image: url(' . $sStyleURL . 'header.jpg); background-repeat: no-repeat; }';
+		$sOutput .= '#menu { background-image: url(' . $sStyleURL . 'header_menu.jpg); background-repeat: no-repeat; }';
+	} else {
+		$sOutput .= '#header .style_content { background-image: url(' . $sStyleURL . $sHeaderFile . '); background-repeat: no-repeat; }';
+		$sOutput .= '#menu { background-image: url(' . $sStyleURL . $sMenuFile . '); background-repeat: no-repeat; }';
+	}
+	return $sOutput;
+}
+?>
\ No newline at end of file

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/gravatar.gif
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/gravatar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/header.jpg
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/header.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/header.png
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/header.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/header_default.jpg
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/header_default.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/header_menu.jpg
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/header_menu.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: templates/branches/lifetype-1.2/unported/subtle/styles/default/header_menu.png
===================================================================
(Binary files differ)


Property changes on: templates/branches/lifetype-1.2/unported/subtle/styles/default/header_menu.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream



More information about the pLog-svn mailing list