From 54d4fc73c4933901b6fe559091e76f18d89cfa49 Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Fri, 24 Aug 2012 21:25:39 -0600
Subject: [PATCH 01/22] fix image and file upload on frost moble; add support
 to frost for local post time

---
 view/theme/frost-mobile/jot-header.tpl | 1 +
 view/theme/frost-mobile/theme.php      | 6 +++---
 view/theme/frost/theme.php             | 6 +++---
 view/theme/frost/wall_item.tpl         | 2 +-
 view/theme/frost/wall_thread.tpl       | 2 +-
 view/theme/frost/wallwall_item.tpl     | 2 +-
 view/theme/frost/wallwall_thread.tpl   | 2 +-
 7 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/view/theme/frost-mobile/jot-header.tpl b/view/theme/frost-mobile/jot-header.tpl
index 66a2c8796..b7aafc5ed 100644
--- a/view/theme/frost-mobile/jot-header.tpl
+++ b/view/theme/frost-mobile/jot-header.tpl
@@ -11,6 +11,7 @@
 	window.term = "$term";
 	window.baseURL = "$baseurl";
 	window.geoTag = function () { $geotag }
+	window.ajaxType = 'jot-header';
 </script>
 
 
diff --git a/view/theme/frost-mobile/theme.php b/view/theme/frost-mobile/theme.php
index 986fa19cc..54fac5efa 100644
--- a/view/theme/frost-mobile/theme.php
+++ b/view/theme/frost-mobile/theme.php
@@ -4,9 +4,9 @@
  * Name: Frost--mobile version
  * Description: Like frosted glass
  * Credits: Navigation icons taken from http://iconza.com. Other icons taken from http://thenounproject.com, including: Like, Dislike, Black Lock, Unlock, Pencil, Tag, Camera, Paperclip (Marie Coons), Folder (Sergio Calcara), Chain-link (Andrew Fortnum), Speaker (Harold Kim), Quotes (Henry Ryder), Video Camera (Anas Ramadan), and Left Arrow, Right Arrow, and Delete X (all three P.J. Onori). All under Attribution (CC BY 3.0). Others from The Noun Project are public domain or No Rights Reserved (CC0).
- * Version: Version 0.2.7
- * Author: Zach P <windforest@f.shmuz.in>
- * Maintainer: Zach P <windforest@f.shmuz.in>
+ * Version: Version 0.2.8
+ * Author: Zach P <techcity@f.shmuz.in>
+ * Maintainer: Zach P <techcity@f.shmuz.in>
  */
 
 $a->theme_info = array();
diff --git a/view/theme/frost/theme.php b/view/theme/frost/theme.php
index 18c8204c4..46bff03f1 100644
--- a/view/theme/frost/theme.php
+++ b/view/theme/frost/theme.php
@@ -4,9 +4,9 @@
  * Name: Frost
  * Description: Like frosted glass
  * Credits: Navigation icons taken from http://iconza.com. Other icons taken from http://thenounproject.com, including: Like, Dislike, Black Lock, Unlock, Pencil, Tag, Camera, Paperclip (Marie Coons), Folder (Sergio Calcara), Chain-link (Andrew Fortnum), Speaker (Harold Kim), Quotes (Henry Ryder), Video Camera (Anas Ramadan), and Left Arrow, Right Arrow, and Delete X (all three P.J. Onori). All under Attribution (CC BY 3.0). Others from The Noun Project are public domain or No Rights Reserved (CC0).
- * Version: Version 0.2.5
- * Author: Zach P <windforest@f.shmuz.in>
- * Maintainer: Zach P <windforest@f.shmuz.in>
+ * Version: Version 0.2.6
+ * Author: Zach P <techcity@f.shmuz.in>
+ * Maintainer: Zach P <techcity@f.shmuz.in>
  */
 
 $a->theme_info = array();
diff --git a/view/theme/frost/wall_item.tpl b/view/theme/frost/wall_item.tpl
index d12752b62..fb9290f12 100644
--- a/view/theme/frost/wall_item.tpl
+++ b/view/theme/frost/wall_item.tpl
@@ -24,7 +24,7 @@
 		</div>
 		<!--<div class="wall-item-author">-->
 				<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a>
-				<div class="wall-item-ago" id="wall-item-ago-$item.id" >$item.ago</div>
+				<div class="wall-item-ago" id="wall-item-ago-$item.id" title="$item.localtime" >$item.ago</div>
 				
 		<!--</div>-->
 		<div class="wall-item-content" id="wall-item-content-$item.id" >
diff --git a/view/theme/frost/wall_thread.tpl b/view/theme/frost/wall_thread.tpl
index 9e81c7a6a..69f6c4c14 100644
--- a/view/theme/frost/wall_thread.tpl
+++ b/view/theme/frost/wall_thread.tpl
@@ -31,7 +31,7 @@
 		</div>
 		<!--<div class="wall-item-author">-->
 				<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a>
-				<div class="wall-item-ago" id="wall-item-ago-$item.id" >$item.ago</div>
+				<div class="wall-item-ago" id="wall-item-ago-$item.id" title="$item.localtime" >$item.ago</div>
 				
 		<!--</div>-->
 		<div class="wall-item-content" id="wall-item-content-$item.id" >
diff --git a/view/theme/frost/wallwall_item.tpl b/view/theme/frost/wallwall_item.tpl
index 8a898b8b4..4ef81686e 100644
--- a/view/theme/frost/wallwall_item.tpl
+++ b/view/theme/frost/wallwall_item.tpl
@@ -29,7 +29,7 @@
 		</div>
 		<!--<div class="wall-item-author">-->
 				<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a> $item.to <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="wall-item-name-link"><span class="wall-item-name$item.osparkle" id="wall-item-ownername-$item.id">$item.owner_name</span></a> $item.vwall<br />
-				<div class="wall-item-ago"  id="wall-item-ago-$item.id">$item.ago</div>				
+				<div class="wall-item-ago"  id="wall-item-ago-$item.id" title="$item.localtime" >$item.ago</div>
 		<!--</div>-->
 		<div class="wall-item-content" id="wall-item-content-$item.id" >
 			<div class="wall-item-title" id="wall-item-title-$item.id">$item.title</div>
diff --git a/view/theme/frost/wallwall_thread.tpl b/view/theme/frost/wallwall_thread.tpl
index 346e384e5..0039e8d91 100644
--- a/view/theme/frost/wallwall_thread.tpl
+++ b/view/theme/frost/wallwall_thread.tpl
@@ -36,7 +36,7 @@
 		</div>
 		<!--<div class="wall-item-author">-->
 				<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a> $item.to <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="wall-item-name-link"><span class="wall-item-name$item.osparkle" id="wall-item-ownername-$item.id">$item.owner_name</span></a> $item.vwall<br />
-				<div class="wall-item-ago"  id="wall-item-ago-$item.id">$item.ago</div>				
+				<div class="wall-item-ago"  id="wall-item-ago-$item.id" title="$item.localtime" >$item.ago</div>
 		<!--</div>-->
 		<div class="wall-item-content" id="wall-item-content-$item.id" >
 			<div class="wall-item-title" id="wall-item-title-$item.id">$item.title</div>

From 7c5f5f3113067c5259f8c47467b9d5d2aa11b185 Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Fri, 24 Aug 2012 21:28:28 -0600
Subject: [PATCH 02/22] automatically make posts private for new users

---
 include/user.php | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/include/user.php b/include/user.php
index 039b30bbd..9d94efeea 100644
--- a/include/user.php
+++ b/include/user.php
@@ -277,6 +277,21 @@ function create_user($arr) {
 		require_once('include/group.php');
 		group_add($newuid, t('Friends'));
 
+		if((! isset($a->config['system']['newuser_public'])) || ($a->config['system']['newuser_public'] === 0)) {
+			// Make the group we just created the default for new contacts and for posts
+			$r = q("SELECT id FROM `group` WHERE uid = %d AND name = '%s'",
+				intval($newuid),
+				dbesc(t('Friends'))
+			);
+			if($r) {
+				q("UPDATE user SET def_gid = %d, allow_gid = '%s' WHERE uid = %d",
+				   intval($r[0]['id']),
+				   dbesc("<" . $r[0]['id'] . ">"),
+				   intval($newuid)
+				);
+			}
+		}
+
 	}
 
 	// if we have no OpenID photo try to look up an avatar

From bd59f3d1526a52b6ee5a6c2210b8957560707cdd Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Fri, 24 Aug 2012 21:46:42 -0600
Subject: [PATCH 03/22] probably shouldn't require exact match for non-string

---
 include/user.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/user.php b/include/user.php
index 9d94efeea..7fa48559e 100644
--- a/include/user.php
+++ b/include/user.php
@@ -277,7 +277,7 @@ function create_user($arr) {
 		require_once('include/group.php');
 		group_add($newuid, t('Friends'));
 
-		if((! isset($a->config['system']['newuser_public'])) || ($a->config['system']['newuser_public'] === 0)) {
+		if((! isset($a->config['system']['newuser_public'])) || ($a->config['system']['newuser_public'] == 0)) {
 			// Make the group we just created the default for new contacts and for posts
 			$r = q("SELECT id FROM `group` WHERE uid = %d AND name = '%s'",
 				intval($newuid),

From 3413cc10067bc794af2cad4de0e0a9cb615cde52 Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Sat, 25 Aug 2012 10:08:25 -0600
Subject: [PATCH 04/22] restore nav element to login pages, since system
 messages are sent in it

---
 view/theme/frost-mobile/default.php     |  8 ++++----
 view/theme/frost-mobile/login-style.css | 20 ++++++++++++++++++++
 view/theme/frost/default.php            |  8 ++++----
 view/theme/frost/login-style.css        | 20 ++++++++++++++++++++
 4 files changed, 48 insertions(+), 8 deletions(-)

diff --git a/view/theme/frost-mobile/default.php b/view/theme/frost-mobile/default.php
index 99f96f4b6..b7feae371 100644
--- a/view/theme/frost-mobile/default.php
+++ b/view/theme/frost-mobile/default.php
@@ -6,23 +6,23 @@
   <?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?>
 </head>
 <body>
+	<?php if(x($page,'nav')) echo $page['nav']; ?>
+
 	<?php if( $a->module === 'home' ) { ?>
 	<center>
 	<div class="login-button">
 	<a href="login" class="login-button-link"><img class="login-button-image" src="/images/friendika-1600.png" title="Click to log in"></a>
 	</div>
 	</center>
+
 	<?php } elseif ( $a->module === 'login' || $a->module === 'register' || $a->module === 'lostpass' ) {
 	?>
-
 	<div class='section-wrapper'>
 	<section><?php if(x($page,'content')) echo $page['content']; ?>
 	</section>
 	</div>
 
-	<?php } else {
-
-	if(x($page,'nav')) echo $page['nav']; ?>
+	<?php } else { ?>
 	<div class='main-container'>
 		<div class='main-content-container'>
 		<aside><?php if(x($page,'aside')) echo $page['aside']; ?></aside>
diff --git a/view/theme/frost-mobile/login-style.css b/view/theme/frost-mobile/login-style.css
index 618e07c0c..5c07aba77 100644
--- a/view/theme/frost-mobile/login-style.css
+++ b/view/theme/frost-mobile/login-style.css
@@ -15,6 +15,26 @@ a:hover {text-decoration: underline; }
 
 img { border :0px; }
 
+nav {
+	display: none;
+}
+
+/* popup notifications */
+div.jGrowl div.notice {
+  background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
+  color: #ffffff;
+  padding-left: 58px;
+}
+div.jGrowl div.info {
+  background: #364e59 url("../../../images/icons/48/info.png") no-repeat 5px center;
+  color: #ffffff;
+  padding-left: 58px;
+}
+#jGrowl.top-right {
+	top: 15px;
+	right: 15px;
+}
+
 .login-button {
 	margin-top: 90px;
 	margin-left: auto;
diff --git a/view/theme/frost/default.php b/view/theme/frost/default.php
index 9f764c73e..aa032524f 100644
--- a/view/theme/frost/default.php
+++ b/view/theme/frost/default.php
@@ -6,23 +6,23 @@
   <?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?>
 </head>
 <body>
+	<?php if(x($page,'nav')) echo $page['nav']; ?>
+
 	<?php if( $a->module === 'home' ) { ?>
 	<center>
 	<div class="login-button">
 	<a href="login" class="login-button-link"><img class="login-button-image" src="/images/friendika-1600.png" title="Click to log in"></a>
 	</div>
 	</center>
+
 	<?php } elseif ( $a->module === 'login' || $a->module === 'register' || $a->module === 'lostpass' ) {
 	?>
-
 	<div class='section-wrapper'>
 	<section><?php if(x($page,'content')) echo $page['content']; ?>
 	</section>
 	</div>
 
-	<?php } else {
-
-	if(x($page,'nav')) echo $page['nav']; ?>
+	<?php } else { ?>
 	<div class='main-container'>
 		<!--<div class='main-content-loading'><img src="/view/theme/frost/images/ajax-loader.gif" alt="Please wait..."></div>-->
 		<div class='main-content-container'>
diff --git a/view/theme/frost/login-style.css b/view/theme/frost/login-style.css
index 3b9a9eb82..1c8c1cd45 100644
--- a/view/theme/frost/login-style.css
+++ b/view/theme/frost/login-style.css
@@ -12,6 +12,26 @@ a:hover {text-decoration: underline; }
 
 img { border :0px; }
 
+nav {
+	display: none;
+}
+
+/* popup notifications */
+div.jGrowl div.notice {
+  background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
+  color: #ffffff;
+  padding-left: 58px;
+}
+div.jGrowl div.info {
+  background: #364e59 url("../../../images/icons/48/info.png") no-repeat 5px center;
+  color: #ffffff;
+  padding-left: 58px;
+}
+#jGrowl.top-right {
+	top: 15px;
+	right: 15px;
+}
+
 .login-button {
 	margin-top: 110px;
 }

From f062ccbb6610b01e1d4923dfa96199ed05897fb5 Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Sat, 25 Aug 2012 15:03:16 -0600
Subject: [PATCH 05/22] add documentation; add to admin panel; some tweaks and
 interface stuff

---
 doc/Groups-and-Privacy.md              |  28 +++++--
 include/user.php                       |   3 +-
 mod/admin.php                          | 101 ++++++++++++++-----------
 mod/newmember.php                      |  68 +++++++++++++----
 view/admin_site.tpl                    |   3 +
 view/theme/frost-mobile/admin_site.tpl |   5 +-
 view/theme/frost/admin_site.tpl        |   5 +-
 7 files changed, 142 insertions(+), 71 deletions(-)

diff --git a/doc/Groups-and-Privacy.md b/doc/Groups-and-Privacy.md
index 09c6a7349..6e860b20d 100644
--- a/doc/Groups-and-Privacy.md
+++ b/doc/Groups-and-Privacy.md
@@ -4,7 +4,9 @@ Groups and Privacy
 * [Home](help)
 
 
-Groups are merely collections of friends. But Friendica uses these to unlock some very powerful features. 
+Groups are merely collections of friends. But Friendica uses these to unlock some very powerful features.
+
+**Setting Up Groups** 
 
 To create a group, visit your Friendica "Contacts" page and select "Create a new group". Give the group a name.
 
@@ -14,6 +16,8 @@ You will have two boxes on this page. The top box is the roster of current group
 
 If you click on a photo of a person who isn't in the group, they will be put into the group. If you click on a photo of a person who is in the group, they will be removed from it. 
 
+**Access Control**
+
 Once you have created a group, you may use it in any access control list. This is the little lock icon beneath the status update box on your home page. If you click this you can select who can see and who can *not* see the post you are about to make.  These can be individual people or groups. 
 
 On your "Network" page you will find posts and conversation from everybody in your network. You may select an individual group on this page to show conversations pertaining only to members of that group. 
@@ -22,32 +26,44 @@ But wait, there's more...
 
 If you look carefully when visiting a group from your Network page, the lock icon under the status update box has an exclamation mark next to it. This is meant to draw attention to that lock. Click the lock. You will see that since you are only viewing a certain group of people, your status updates while on that screen default to only being seen by that same group of people. This is how you keep your future employers from seeing what you write to your drinking buddies.  You can over-ride this setting, but this makes it easy to separate your conversations into different friend circles.
 
+**Default Post Privacy**
+
+By default, Friendica assumes that you want all of your posts to be private. Therefore, when you sign up, Friendica creates a group for you that it will automatically add all of your contacts to. All of your posts are restricted to that group by default.
+
+Note that this behavior can be overridden by your site admin, in which case your posts will be "public" (i.e. visible to the entire Internet) by default.
+
+If you want your posts to be "public" by default, you can change your default post permissions on your Settings page. You also have the option there to change which groups you post to by default, or to change which group your new contacts get placed into by default.
+
+**Privacy Concerns To Be Aware Of**
+
 These private conversations work best when your friends are Friendica members. We know who else can see the conversations - nobody, *unless* your friends cut and paste the messages and send them to others. 
 
 This is a trust issue you need to be aware of. No software in the world can prevent your friends from leaking your confidential and trusted communications. Only a wise choice of friends.  
 
 But it isn't as clear cut when dealing with status.net, identi.ca and other network providers. You are encouraged to be **very** cautious when other network members are in a group because it's entirely possible for your private messages to end up in a public newsfeed. If you look at the Contact Edit page for any person, we will tell you whether or not they are members of an insecure network where you should exercise caution.
 
-On your "Settings" page, you may create a set of default permissions which apply to every post that you create. 
-
 Once you have created a post, you can not change the permissions assigned. Within seconds it has been delivered to lots of people - and perhaps everybody it was addressed to. If you mistakenly created a message and wish you could take it back, the best you can do is to delete it. We will send out a delete notification to everybody who received the message - and this should wipe out the message with the same speed it was initially propagated. In most cases it will be completely wiped from the Internet - in under a minute. Again, this applies to Friendica networks. Once a message spreads to other networks, it may not be removed quickly and in some cases it may not be removed at all. 
 
-In case you haven't yet figured this out, we are encouraging you to encourage your friends to use Friendica - because all these privacy features work much better within a privacy-aware network. Many of the other social networks Friendica can connect to have no privacy controls. 
+In case you haven't yet figured this out, we are encouraging you to encourage your friends to use Friendica - because all these privacy features work much better within a privacy-aware network. Many of the other social networks Friendica can connect to have no privacy controls.
 
 
-Profiles, Privacy, and Photos
+Profiles, Photos, and Privacy
 =============================
 
 The decentralised nature of Friendica (many websites exchanging information rather than one website which controls everything) has some implications with privacy as it relates to people on other sites. There are things you should be aware of, so you can decide best how to interact privately.
 
+**Photos**
+
 Sharing photos privately is a problem. We can only share them __privately__ with Friendica members. In order to share with other people, we need to prove who they are. We can prove the identity of Friendica members, as we have a mechanism to do so. Your friends on other networks will be blocked from viewing these private photos because we cannot prove that they should be allowed to see them.
 
 Our developers are working on solutions to allow access to your friends - no matter what network they are on. However we take privacy seriously and don't behave like some networks that __pretend__ your photos are private, but make them available to others without proof of identity.
 
+**Profiles**
+
 Your profile and "wall" may also be visited by your friends from other networks, and you can block access to these by web visitors that Friendica doesn't know. Be aware that this could include some of your friends on other networks.
 
 This may produce undesired results when posting a long status message to (for instance) Twitter and even Facebook. When Friendica sends a post to these networks which exceeds the service length limit, we truncate it and provide a link to the original. The original is a link back to your Friendica profile. As Friendica cannot prove who they are, it may not be possible for these people to view your post in full.    
 
 For people in this situation we would recommend providing a "Twitter-length" summary, with more detail for friends that can see the post in full. 
 
-Blocking your profile or entire Friendica site from unknown web visitors also has serious implications for communicating with StatusNet/identi.ca members. These networks communicate with others via public protocols that are not authenticated. In order to view your posts, these networks have to access them as an "unknown web visitor". If we allowed this, it would mean anybody could in fact see your posts, and you've instructed Friendica not to allow this. So be aware that the act of blocking your profile to unknown visitors also has the effect of blocking outbound communication with public networks (such as identi.ca) and feed readers such as Google Reader.   
\ No newline at end of file
+Blocking your profile or entire Friendica site from unknown web visitors also has serious implications for communicating with StatusNet/identi.ca members. These networks communicate with others via public protocols that are not authenticated. In order to view your posts, these networks have to access them as an "unknown web visitor". If we allowed this, it would mean anybody could in fact see your posts, and you've instructed Friendica not to allow this. So be aware that the act of blocking your profile to unknown visitors also has the effect of blocking outbound communication with public networks (such as identi.ca) and feed readers such as Google Reader.   
diff --git a/include/user.php b/include/user.php
index 7fa48559e..2d06ef374 100644
--- a/include/user.php
+++ b/include/user.php
@@ -277,8 +277,7 @@ function create_user($arr) {
 		require_once('include/group.php');
 		group_add($newuid, t('Friends'));
 
-		if((! isset($a->config['system']['newuser_public'])) || ($a->config['system']['newuser_public'] == 0)) {
-			// Make the group we just created the default for new contacts and for posts
+		if(! get_config('system', 'newuser_public')) {
 			$r = q("SELECT id FROM `group` WHERE uid = %d AND name = '%s'",
 				intval($newuid),
 				dbesc(t('Friends'))
diff --git a/mod/admin.php b/mod/admin.php
index c4a984dcd..cc13e27b1 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -231,44 +231,47 @@ function admin_page_site_post(&$a){
 		return;
 	}
 
-    check_form_security_token_redirectOnErr('/admin/site', 'admin_site');
+	check_form_security_token_redirectOnErr('/admin/site', 'admin_site');
 
-	$sitename 			=	((x($_POST,'sitename'))			? notags(trim($_POST['sitename']))			: '');
-	$banner				=	((x($_POST,'banner'))      		? trim($_POST['banner'])					: false);
-	$language			=	((x($_POST,'language'))			? notags(trim($_POST['language']))			: '');
-	$theme				=	((x($_POST,'theme'))			? notags(trim($_POST['theme']))				: '');
-	$theme_mobile			=	((x($_POST,'theme_mobile'))		? notags(trim($_POST['theme_mobile']))			: '');
+	$sitename 		=	((x($_POST,'sitename'))			? notags(trim($_POST['sitename']))		: '');
+	$banner			=	((x($_POST,'banner'))      		? trim($_POST['banner'])			: false);
+	$language		=	((x($_POST,'language'))			? notags(trim($_POST['language']))		: '');
+	$theme			=	((x($_POST,'theme'))			? notags(trim($_POST['theme']))			: '');
+	$theme_mobile		=	((x($_POST,'theme_mobile'))		? notags(trim($_POST['theme_mobile']))		: '');
 	$maximagesize		=	((x($_POST,'maximagesize'))		? intval(trim($_POST['maximagesize']))		:  0);
+	$maximagelength		=	((x($_POST,'maximagelength'))		? intval(trim($_POST['maximagelength']))	:  MAX_IMAGE_LENGTH);
+	$jpegimagequality	=	((x($_POST,'jpegimagequality'))		? intval(trim($_POST['jpegimagequality']))	:  JPEG_QUALITY);
 	
 	
-	$register_policy	=	((x($_POST,'register_policy'))	? intval(trim($_POST['register_policy']))	:  0);
-	$abandon_days	    =	((x($_POST,'abandon_days'))	    ? intval(trim($_POST['abandon_days']))	    :  0);
+	$register_policy	=	((x($_POST,'register_policy'))		? intval(trim($_POST['register_policy']))	:  0);
+	$abandon_days	    	=	((x($_POST,'abandon_days'))		? intval(trim($_POST['abandon_days']))		:  0);
 
-	$register_text		=	((x($_POST,'register_text'))	? notags(trim($_POST['register_text']))		: '');	
+	$register_text		=	((x($_POST,'register_text'))		? notags(trim($_POST['register_text']))		: '');	
 	
-	$allowed_sites		=	((x($_POST,'allowed_sites'))	? notags(trim($_POST['allowed_sites']))		: '');
-	$allowed_email		=	((x($_POST,'allowed_email'))	? notags(trim($_POST['allowed_email']))		: '');
-	$block_public		=	((x($_POST,'block_public'))		? True	:	False);
-	$force_publish		=	((x($_POST,'publish_all'))		? True	:	False);
+	$allowed_sites		=	((x($_POST,'allowed_sites'))		? notags(trim($_POST['allowed_sites']))		: '');
+	$allowed_email		=	((x($_POST,'allowed_email'))		? notags(trim($_POST['allowed_email']))		: '');
+	$block_public		=	((x($_POST,'block_public'))		? True						: False);
+	$force_publish		=	((x($_POST,'publish_all'))		? True						: False);
 	$global_directory	=	((x($_POST,'directory_submit_url'))	? notags(trim($_POST['directory_submit_url']))	: '');
-	$thread_allow		=	((x($_POST,'thread_allow'))		? True	:	False);
-	$no_multi_reg		=	((x($_POST,'no_multi_reg'))		? True	:	False);
-	$no_openid			=	!((x($_POST,'no_openid'))		? True	:	False);
-	$no_regfullname		=	!((x($_POST,'no_regfullname'))	? True	:	False);
-	$no_utf				=	!((x($_POST,'no_utf'))			? True	:	False);
-	$no_community_page	=	!((x($_POST,'no_community_page'))	? True	:	False);
+	$thread_allow		=	((x($_POST,'thread_allow'))		? True						: False);
+	$newuser_public		=	((x($_POST,'newuser_public'))		? True						: False);
+	$no_multi_reg		=	((x($_POST,'no_multi_reg'))		? True						: False);
+	$no_openid		=	!((x($_POST,'no_openid'))		? True						: False);
+	$no_regfullname		=	!((x($_POST,'no_regfullname'))		? True						: False);
+	$no_utf			=	!((x($_POST,'no_utf'))			? True						: False);
+	$no_community_page	=	!((x($_POST,'no_community_page'))	? True						: False);
 
-	$verifyssl			=	((x($_POST,'verifyssl'))		? True	:	False);
-	$proxyuser			=	((x($_POST,'proxyuser'))		? notags(trim($_POST['proxyuser']))	: '');
-	$proxy				=	((x($_POST,'proxy'))			? notags(trim($_POST['proxy']))	: '');
-	$timeout			=	((x($_POST,'timeout'))			? intval(trim($_POST['timeout']))		: 60);
-	$delivery_interval	=	((x($_POST,'delivery_interval'))? intval(trim($_POST['delivery_interval']))		: 0);
-	$poll_interval	=	((x($_POST,'poll_interval'))? intval(trim($_POST['poll_interval']))		: 0);
-	$maxloadavg	        =	((x($_POST,'maxloadavg'))       ? intval(trim($_POST['maxloadavg']))		: 50);
-	$dfrn_only          =	((x($_POST,'dfrn_only'))	    ? True	:	False);
-	$ostatus_disabled   =   !((x($_POST,'ostatus_disabled')) ? True  :   False);
-	$diaspora_enabled   =   ((x($_POST,'diaspora_enabled')) ? True   :  False);
-	$ssl_policy         =   ((x($_POST,'ssl_policy')) ? intval($_POST['ssl_policy']) : 0);
+	$verifyssl		=	((x($_POST,'verifyssl'))		? True						: False);
+	$proxyuser		=	((x($_POST,'proxyuser'))		? notags(trim($_POST['proxyuser']))		: '');
+	$proxy			=	((x($_POST,'proxy'))			? notags(trim($_POST['proxy']))			: '');
+	$timeout		=	((x($_POST,'timeout'))			? intval(trim($_POST['timeout']))		: 60);
+	$delivery_interval	=	((x($_POST,'delivery_interval'))	? intval(trim($_POST['delivery_interval']))	: 0);
+	$poll_interval		=	((x($_POST,'poll_interval'))		? intval(trim($_POST['poll_interval']))		: 0);
+	$maxloadavg		=	((x($_POST,'maxloadavg'))		? intval(trim($_POST['maxloadavg']))		: 50);
+	$dfrn_only		=	((x($_POST,'dfrn_only'))		? True						: False);
+	$ostatus_disabled	=	!((x($_POST,'ostatus_disabled'))	? True  					: False);
+	$diaspora_enabled	=	((x($_POST,'diaspora_enabled'))		? True   					: False);
+	$ssl_policy		=	((x($_POST,'ssl_policy'))		? intval($_POST['ssl_policy']) 			: 0);
 
 	if($ssl_policy != intval(get_config('system','ssl_policy'))) {
 		if($ssl_policy == SSL_POLICY_FULL) {
@@ -332,6 +335,8 @@ function admin_page_site_post(&$a){
     	    set_config('system','mobile-theme', $theme_mobile);
         }
 	set_config('system','maximagesize', $maximagesize);
+	set_config('system','max_image_length', $maximagelength);
+	set_config('system','jpeg_quality', $jpegimagequality);
 	
 	set_config('config','register_policy', $register_policy);
 	set_config('system','account_abandon_days', $abandon_days);
@@ -350,6 +355,7 @@ function admin_page_site_post(&$a){
 		set_config('system','directory_submit_url', $global_directory);
 	}
 	set_config('system','thread_allow', $thread_allow);
+	set_config('system','newuser_public', $newuser_public);
 
 	set_config('system','block_extended_register', $no_multi_reg);
 	set_config('system','no_openid', $no_openid);
@@ -439,40 +445,43 @@ function admin_page_site(&$a) {
 		'$advanced' => t('Advanced'),
 		
 		'$baseurl' => $a->get_baseurl(true),
-									// name, label, value, help string, extra data...
+		// name, label, value, help string, extra data...
 		'$sitename' 		=> array('sitename', t("Site name"), htmlentities($a->config['sitename'], ENT_QUOTES), ""),
-		'$banner'			=> array('banner', t("Banner/Logo"), $banner, ""),
+		'$banner'		=> array('banner', t("Banner/Logo"), $banner, ""),
 		'$language' 		=> array('language', t("System language"), get_config('system','language'), "", $lang_choices),
-		'$theme' 			=> array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"), $theme_choices),
-		'$theme_mobile' 			=> array('theme_mobile', t("Mobile system theme"), get_config('system','mobile-theme'), t("Theme for mobile devices"), $theme_choices_mobile),
-		'$ssl_policy'       => array('ssl_policy', t("SSL link policy"), (string) intval(get_config('system','ssl_policy')), t("Determines whether generated links should be forced to use SSL"), $ssl_choices),
+		'$theme' 		=> array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"), $theme_choices),
+		'$theme_mobile' 	=> array('theme_mobile', t("Mobile system theme"), get_config('system','mobile-theme'), t("Theme for mobile devices"), $theme_choices_mobile),
+		'$ssl_policy'		=> array('ssl_policy', t("SSL link policy"), (string) intval(get_config('system','ssl_policy')), t("Determines whether generated links should be forced to use SSL"), $ssl_choices),
 		'$maximagesize'		=> array('maximagesize', t("Maximum image size"), get_config('system','maximagesize'), t("Maximum size in bytes of uploaded images. Default is 0, which means no limits.")),
+		'$maximagelength'		=> array('maximagelength', t("Maximum image length"), get_config('system','max_image_length'), t("Maximum length in pixels of the longest side of uploaded images. Default is -1, which means no limits.")),
+		'$jpegimagequality'		=> array('jpegimagequality', t("JPEG image quality"), get_config('system','jpeg_quality'), t("Uploaded JPEGS will be saved at this quality setting [0-100]. Default is 100, which is full quality.")),
 
 		'$register_policy'	=> array('register_policy', t("Register policy"), $a->config['register_policy'], "", $register_choices),
 		'$register_text'	=> array('register_text', t("Register text"), htmlentities($a->config['register_text'], ENT_QUOTES, 'UTF-8'), t("Will be displayed prominently on the registration page.")),
-		'$abandon_days'     => array('abandon_days', t('Accounts abandoned after x days'), get_config('system','account_abandon_days'), t('Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit.')),
+		'$abandon_days'		=> array('abandon_days', t('Accounts abandoned after x days'), get_config('system','account_abandon_days'), t('Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit.')),
 		'$allowed_sites'	=> array('allowed_sites', t("Allowed friend domains"), get_config('system','allowed_sites'), t("Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains")),
 		'$allowed_email'	=> array('allowed_email', t("Allowed email domains"), get_config('system','allowed_email'), t("Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains")),
 		'$block_public'		=> array('block_public', t("Block public"), get_config('system','block_public'), t("Check to block public access to all otherwise public personal pages on this site unless you are currently logged in.")),
 		'$force_publish'	=> array('publish_all', t("Force publish"), get_config('system','publish_all'), t("Check to force all profiles on this site to be listed in the site directory.")),
 		'$global_directory'	=> array('directory_submit_url', t("Global directory update URL"), get_config('system','directory_submit_url'), t("URL to update the global directory. If this is not set, the global directory is completely unavailable to the application.")),
 		'$thread_allow'		=> array('thread_allow', t("Allow threaded items"), get_config('system','thread_allow'), t("Allow infinite level threading for items on this site.")),
+		'$newuser_public'	=> array('newuser_public', t("No default permissions for new users"), get_config('system','newuser_public'), t("New users will have no private permissions set for their posts by default, making their posts public until they change it.")),
 			
 		'$no_multi_reg'		=> array('no_multi_reg', t("Block multiple registrations"),  get_config('system','block_extended_register'), t("Disallow users to register additional accounts for use as pages.")),
 		'$no_openid'		=> array('no_openid', t("OpenID support"), !get_config('system','no_openid'), t("OpenID support for registration and logins.")),
 		'$no_regfullname'	=> array('no_regfullname', t("Fullname check"), !get_config('system','no_regfullname'), t("Force users to register with a space between firstname and lastname in Full name, as an antispam measure")),
-		'$no_utf'			=> array('no_utf', t("UTF-8 Regular expressions"), !get_config('system','no_utf'), t("Use PHP UTF8 regular expressions")),
-		'$no_community_page' => array('no_community_page', t("Show Community Page"), !get_config('system','no_community_page'), t("Display a Community page showing all recent public postings on this site.")),
-		'$ostatus_disabled' => array('ostatus_disabled', t("Enable OStatus support"), !get_config('system','ostatus_disable'), t("Provide built-in OStatus \x28identi.ca, status.net, etc.\x29 compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed.")),	
-		'$diaspora_enabled' => array('diaspora_enabled', t("Enable Diaspora support"), get_config('system','diaspora_enabled'), t("Provide built-in Diaspora network compatibility.")),	
-		'$dfrn_only'        => array('dfrn_only', t('Only allow Friendica contacts'), get_config('system','dfrn_only'), t("All contacts must use Friendica protocols. All other built-in communication protocols disabled.")),
+		'$no_utf'		=> array('no_utf', t("UTF-8 Regular expressions"), !get_config('system','no_utf'), t("Use PHP UTF8 regular expressions")),
+		'$no_community_page' 	=> array('no_community_page', t("Show Community Page"), !get_config('system','no_community_page'), t("Display a Community page showing all recent public postings on this site.")),
+		'$ostatus_disabled' 	=> array('ostatus_disabled', t("Enable OStatus support"), !get_config('system','ostatus_disable'), t("Provide built-in OStatus \x28identi.ca, status.net, etc.\x29 compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed.")),	
+		'$diaspora_enabled' 	=> array('diaspora_enabled', t("Enable Diaspora support"), get_config('system','diaspora_enabled'), t("Provide built-in Diaspora network compatibility.")),	
+		'$dfrn_only'        	=> array('dfrn_only', t('Only allow Friendica contacts'), get_config('system','dfrn_only'), t("All contacts must use Friendica protocols. All other built-in communication protocols disabled.")),
 		'$verifyssl' 		=> array('verifyssl', t("Verify SSL"), get_config('system','verifyssl'), t("If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites.")),
 		'$proxyuser'		=> array('proxyuser', t("Proxy user"), get_config('system','proxyuser'), ""),
-		'$proxy'			=> array('proxy', t("Proxy URL"), get_config('system','proxy'), ""),
-		'$timeout'			=> array('timeout', t("Network timeout"), (x(get_config('system','curl_timeout'))?get_config('system','curl_timeout'):60), t("Value is in seconds. Set to 0 for unlimited (not recommended).")),
-		'$delivery_interval'			=> array('delivery_interval', t("Delivery interval"), (x(get_config('system','delivery_interval'))?get_config('system','delivery_interval'):2), t("Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers.")),
-		'$poll_interval'			=> array('poll_interval', t("Poll interval"), (x(get_config('system','poll_interval'))?get_config('system','poll_interval'):2), t("Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval.")),
-		'$maxloadavg'			=> array('maxloadavg', t("Maximum Load Average"), ((intval(get_config('system','maxloadavg')) > 0)?get_config('system','maxloadavg'):50), t("Maximum system load before delivery and poll processes are deferred - default 50.")),
+		'$proxy'		=> array('proxy', t("Proxy URL"), get_config('system','proxy'), ""),
+		'$timeout'		=> array('timeout', t("Network timeout"), (x(get_config('system','curl_timeout'))?get_config('system','curl_timeout'):60), t("Value is in seconds. Set to 0 for unlimited (not recommended).")),
+		'$delivery_interval'	=> array('delivery_interval', t("Delivery interval"), (x(get_config('system','delivery_interval'))?get_config('system','delivery_interval'):2), t("Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers.")),
+		'$poll_interval'	=> array('poll_interval', t("Poll interval"), (x(get_config('system','poll_interval'))?get_config('system','poll_interval'):2), t("Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval.")),
+		'$maxloadavg'		=> array('maxloadavg', t("Maximum Load Average"), ((intval(get_config('system','maxloadavg')) > 0)?get_config('system','maxloadavg'):50), t("Maximum system load before delivery and poll processes are deferred - default 50.")),
         '$form_security_token' => get_form_security_token("admin_site"),
 			
 	));
diff --git a/mod/newmember.php b/mod/newmember.php
index 8f71a7c0d..e2c1eb733 100644
--- a/mod/newmember.php
+++ b/mod/newmember.php
@@ -3,7 +3,7 @@
 function newmember_content(&$a) {
 
 
-	$o = '<h3>' . t('Welcome to Friendica') . '</h3>';
+	$o = '<h1>' . t('Welcome to Friendica') . '</h1>';
 
 	$o .= '<h3>' . t('New Member Checklist') . '</h3>';
 
@@ -11,39 +11,77 @@ function newmember_content(&$a) {
 
 	$o .= t('We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page. A link to this page will be visible from your home page for two weeks after your initial registration and then will quietly disappear.');
 
+	$o .= '<h4>' . t('Getting Started') . '</h4>';
+
 	$o .= '<ul>';
 
-	$o .= '<li>' . '<a target="newmember" href="help/guide">' . t('On your <em>Quick Start</em> page - find a brief introduction to your profile and network tabs, make some new connections, and find some groups to join.') . '</a></li>' . EOL; 
+	$o .= '<li> ' . '<a target="newmember" href="help/guide">' . t('Friendica Walk-Through') . '</a><br />' . t('On your <em>Quick Start</em> page - find a brief introduction to your profile and network tabs, make some new connections, and find some groups to join.') . '</li>' . EOL; 
 
-	$o .= '<li>' . '<a target="newmember" href="settings">' . t('On your <em>Settings</em> page -  change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web.') . '</a></li>' . EOL; 
+	$o .= '</ul>';
 
-	$o .= '<li>' . '<a target="newmember" href="settings">' . t('Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you.') . '</a></li>' . EOL;
+	$o .= '<h4>' . t('Settings') . '</h4>';
 
-	$o .= '<li>' . '<a target="newmember" href="profile_photo">' . t('Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not.') . '</a></li>' . EOL;  
+	$o .= '<ul>';
+
+	$o .= '<li>' . '<a target="newmember" href="settings">' . t('Go to Your Settings') . '</a><br />' . t('On your <em>Settings</em> page -  change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web.') . '</li>' . EOL; 
+
+	$o .= '<li>' . t('Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you.') . '</li>' . EOL;
+
+	$o .= '</ul>';
+
+	$o .= '<h4>' . t('Profile') . '</h4>';
+
+	$o .= '<ul>';
+
+	$o .= '<li>' . '<a target="newmember" href="profile_photo">' . t('Upload Profile Photo') . '</a><br />' . t('Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not.') . '</li>' . EOL;  
+
+	$o .= '<li>' . '<a target="newmember" href="profiles">' . t('Edit Your Profile') . '</a><br />' . t('Edit your <strong>default</strong> profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors.') . '</li>' . EOL;
+
+	$o .= '<li>' . '<a target="newmember" href="profiles">' . t('Profile Keywords') . '</a><br />' . t('Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships.') . '</li>' . EOL;
+
+	$o .= '</ul>';
+
+	$o .= '<h4>' . t('Connecting') . '</h4>';
+
+	$o .= '<ul>';
 
 	if(in_array('facebook', $a->plugins))
-		$o .= '<li>' . '<a target="newmember" href="facebook">' . t("Authorise the Facebook Connector if you currently have a Facebook account and we will \x28optionally\x29 import all your Facebook friends and conversations.") . '</a></li>' . EOL;
+		$o .= '<li>' . '<a target="newmember" href="facebook">' . t('Facebook') . '</a><br />' . t("Authorise the Facebook Connector if you currently have a Facebook account and we will \x28optionally\x29 import all your Facebook friends and conversations.") . '</li>' . EOL;
 	else
-		$o .= '<li>' . '<a target="newmember" href="help/Installing-Connectors">' . t("<em>If</em> this is your own personal server, installing the Facebook addon may ease your transition to the free social web.") . '</a></li>' . EOL;
+		$o .= '<li>' . '<a target="newmember" href="help/Installing-Connectors">' . t('Facebook') . '</a><br />' . t("<em>If</em> this is your own personal server, installing the Facebook addon may ease your transition to the free social web.") . '</li>' . EOL;
 
     $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1);
 	
 	if(! $mail_disabled)
-		$o .= '<li>' . '<a target="newmember" href="settings/connectors">' .  t('Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX') . '</a></li>' . EOL;
+		$o .= '<li>' . '<a target="newmember" href="settings/connectors">' . t('Importing Emails') . '</a><br />' . t('Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX') . '</li>' . EOL;
 
-	$o .= '<li>' . '<a target="newmember" href="profiles">' . t('Edit your <strong>default</strong> profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors.') . '</a></li>' . EOL;
+	$o .= '<li>' . '<a target="newmember" href="contacts">' . t('Go to Your Contacts Page') . '</a><br />' . t('Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the <em>Add New Contact</em> dialog.') . '</li>' . EOL;
 
-	$o .= '<li>' . '<a target="newmember" href="profiles">' . t('Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships.') . '</a></li>' . EOL;
+	$o .= '<li>' . '<a target="newmember" href="directory">' . t("Go to Your Site's Directory") . '</a><br />' . t('The Directory page lets you find other people in this network or other federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on their profile page. Provide your own Identity Address if requested.') . '</li>' . EOL;
 
-	$o .= '<li>' . '<a target="newmember" href="contacts">' . t('Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the <em>Add New Contact</em> dialog.') . '</a></li>' . EOL;
+	$o .= '<li>' . '<a target="newmember" href="contacts">' . t('Finding New People') . '</a><br />' . t("On the side panel of the Contacts page are several tools to find new friends. We can match people by interest, look up people by name or interest, and provide suggestions based on network relationships. On a brand new site, friend suggestions will usually begin to be populated within 24 hours.") . '</li>' . EOL;
 
-	$o .= '<li>' . '<a target="newmember" href="directory">' . t('The Directory page lets you find other people in this network or other federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on their profile page. Provide your own Identity Address if requested.') . '</a></li>' . EOL;
+	$o .= '</ul>';
 
-	$o .= '<li>' . '<a target="newmember" href="contacts">' . t("On the side panel of the Contacts page are several tools to find new friends. We can match people by interest, look up people by name or interest, and provide suggestions based on network relationships. On a brand new site, friend suggestions will usually begin to be populated within 24 hours.") . '</a></li>' . EOL;
+	$o .= '<h4>' . t('Groups') . '</h4>';
 
-	$o .= '<li>' . '<a target="newmember" href="contacts">' . t('Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page.') . '</a></li>' . EOL;
+	$o .= '<ul>';
 
-	$o .= '<li>' . '<a target="newmember" href="help">' . t('Our <strong>help</strong> pages may be consulted for detail on other program features and resources.') . '</a></li>' . EOL;
+	$o .= '<li>' . '<a target="newmember" href="contacts">' . t('Group Your Contacts') . '</a><br />' . t('Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page.') . '</li>' . EOL;
+
+	if((! isset($a->config['system']['newuser_public'])) || (! $a->config['system']['newuser_public'])) {
+		$o .= '<li>' . '<a target="newmember" href="help/Groups-and-Privacy">' . t("Why Aren't My Posts Public?") . '</a><br />' . t("Friendica respects your privacy. By default, your posts will only show up to people you've added as friends. For more information, see the help section from the link above.") . '</li>' . EOL;
+	}
+
+	$o .= '</ul>';
+
+	$o .= '<h4>' . t('Getting Help') . '</h4>';
+
+	$o .= '<ul>';
+
+	$o .= '<li>' . '<a target="newmember" href="help">' . t('Go to the Help Section') . '</a><br />' . t('Our <strong>help</strong> pages may be consulted for detail on other program features and resources.') . '</li>' . EOL;
+
+	$o .= '</ul>';
 
 	$o .= '</div>';
 
diff --git a/view/admin_site.tpl b/view/admin_site.tpl
index eb19afeed..6564565f7 100644
--- a/view/admin_site.tpl
+++ b/view/admin_site.tpl
@@ -62,6 +62,8 @@
 
 	<h3>$upload</h3>
 	{{ inc field_input.tpl with $field=$maximagesize }}{{ endinc }}
+	{{ inc field_input.tpl with $field=$maximagelength }}{{ endinc }}
+	{{ inc field_input.tpl with $field=$jpegimagequality }}{{ endinc }}
 	
 	<h3>$corporate</h3>
 	{{ inc field_input.tpl with $field=$allowed_sites }}{{ endinc }}
@@ -74,6 +76,7 @@
 	{{ inc field_checkbox.tpl with $field=$dfrn_only }}{{ endinc }}
 	{{ inc field_input.tpl with $field=$global_directory }}{{ endinc }}
 	{{ inc field_checkbox.tpl with $field=$thread_allow }}{{ endinc }}
+	{{ inc field_checkbox.tpl with $field=$newuser_public }}{{ endinc }}
 	
 	<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
 	
diff --git a/view/theme/frost-mobile/admin_site.tpl b/view/theme/frost-mobile/admin_site.tpl
index e95ad588f..91aeda035 100644
--- a/view/theme/frost-mobile/admin_site.tpl
+++ b/view/theme/frost-mobile/admin_site.tpl
@@ -26,6 +26,8 @@
 
 	<h3>$upload</h3>
 	{{ inc field_input.tpl with $field=$maximagesize }}{{ endinc }}
+	{{ inc field_input.tpl with $field=$maximagelength }}{{ endinc }}
+	{{ inc field_input.tpl with $field=$jpegimagequality }}{{ endinc }}
 	
 	<h3>$corporate</h3>
 	{{ inc field_input.tpl with $field=$allowed_sites }}{{ endinc }}
@@ -36,8 +38,9 @@
 	{{ inc field_checkbox.tpl with $field=$ostatus_disabled }}{{ endinc }}
 	{{ inc field_checkbox.tpl with $field=$diaspora_enabled }}{{ endinc }}
 	{{ inc field_checkbox.tpl with $field=$dfrn_only }}{{ endinc }}
-	{{ inc field_checkbox.tpl with $field=$thread_allow }}{{ endinc }}
 	{{ inc field_input.tpl with $field=$global_directory }}{{ endinc }}
+	{{ inc field_checkbox.tpl with $field=$thread_allow }}{{ endinc }}
+	{{ inc field_checkbox.tpl with $field=$newuser_public }}{{ endinc }}
 	
 	<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
 	
diff --git a/view/theme/frost/admin_site.tpl b/view/theme/frost/admin_site.tpl
index e95ad588f..91aeda035 100644
--- a/view/theme/frost/admin_site.tpl
+++ b/view/theme/frost/admin_site.tpl
@@ -26,6 +26,8 @@
 
 	<h3>$upload</h3>
 	{{ inc field_input.tpl with $field=$maximagesize }}{{ endinc }}
+	{{ inc field_input.tpl with $field=$maximagelength }}{{ endinc }}
+	{{ inc field_input.tpl with $field=$jpegimagequality }}{{ endinc }}
 	
 	<h3>$corporate</h3>
 	{{ inc field_input.tpl with $field=$allowed_sites }}{{ endinc }}
@@ -36,8 +38,9 @@
 	{{ inc field_checkbox.tpl with $field=$ostatus_disabled }}{{ endinc }}
 	{{ inc field_checkbox.tpl with $field=$diaspora_enabled }}{{ endinc }}
 	{{ inc field_checkbox.tpl with $field=$dfrn_only }}{{ endinc }}
-	{{ inc field_checkbox.tpl with $field=$thread_allow }}{{ endinc }}
 	{{ inc field_input.tpl with $field=$global_directory }}{{ endinc }}
+	{{ inc field_checkbox.tpl with $field=$thread_allow }}{{ endinc }}
+	{{ inc field_checkbox.tpl with $field=$newuser_public }}{{ endinc }}
 	
 	<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
 	

From 1ffd67f291a5ef166580087e1535be27e0a0b83d Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Sat, 25 Aug 2012 15:07:39 -0600
Subject: [PATCH 06/22] hey: you missed a spot

---
 mod/newmember.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mod/newmember.php b/mod/newmember.php
index e2c1eb733..e17a0db03 100644
--- a/mod/newmember.php
+++ b/mod/newmember.php
@@ -69,7 +69,7 @@ function newmember_content(&$a) {
 
 	$o .= '<li>' . '<a target="newmember" href="contacts">' . t('Group Your Contacts') . '</a><br />' . t('Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page.') . '</li>' . EOL;
 
-	if((! isset($a->config['system']['newuser_public'])) || (! $a->config['system']['newuser_public'])) {
+	if(! get_config('system', 'newuser_public')) {
 		$o .= '<li>' . '<a target="newmember" href="help/Groups-and-Privacy">' . t("Why Aren't My Posts Public?") . '</a><br />' . t("Friendica respects your privacy. By default, your posts will only show up to people you've added as friends. For more information, see the help section from the link above.") . '</li>' . EOL;
 	}
 

From 193cc2c537988c468ff76d5479f4a3137ec3f265 Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Sat, 25 Aug 2012 22:41:22 -0600
Subject: [PATCH 07/22] try to get rid of scrollbars in Frost

---
 include/oembed.php                            |  2 +-
 view/theme/frost-mobile/end.tpl               |  1 +
 .../js/jquery.divgrow-1.3.1.min.js            |  1 +
 view/theme/frost-mobile/js/main.js            | 27 +++++++++++++++++++
 view/theme/frost-mobile/js/main.min.js        |  2 +-
 view/theme/frost/end.tpl                      |  1 +
 .../frost/js/jquery.divgrow-1.3.1.min.js      |  1 +
 view/theme/frost/js/main.js                   | 27 +++++++++++++++++++
 view/theme/frost/js/main.min.js               |  2 +-
 view/theme/frost/style.css                    |  2 +-
 view/theme/frost/theme.php                    |  3 +++
 11 files changed, 65 insertions(+), 4 deletions(-)
 create mode 100644 view/theme/frost-mobile/js/jquery.divgrow-1.3.1.min.js
 create mode 100644 view/theme/frost/js/jquery.divgrow-1.3.1.min.js

diff --git a/include/oembed.php b/include/oembed.php
index 6fc4c5371..dbb96a67c 100755
--- a/include/oembed.php
+++ b/include/oembed.php
@@ -116,7 +116,7 @@ function oembed_format_object($j){
 		if (isset($j->provider_name)) $ret.=" on ".$j->provider_name;
 	} else {
 		// add <a> for html2bbcode conversion
-		$ret .= "<a href='$embedurl' rel='oembed'/>";
+		$ret .= "<a href='$embedurl' rel='oembed'></a>";
 	}
 	$ret.="<br style='clear:left'></span>";
 	return  mb_convert_encoding($ret, 'HTML-ENTITIES', mb_detect_encoding($ret));
diff --git a/view/theme/frost-mobile/end.tpl b/view/theme/frost-mobile/end.tpl
index 49633557b..993218133 100644
--- a/view/theme/frost-mobile/end.tpl
+++ b/view/theme/frost-mobile/end.tpl
@@ -7,6 +7,7 @@
 </script>-->
 <script type="text/javascript" src="$baseurl/js/jquery.js" ></script>
 <script type="text/javascript">var $j = jQuery.noConflict();</script>
+<script type="text/javascript" src="$baseurl/view/theme/frost/js/jquery.divgrow-1.3.1.min.js" ></script>
 <script type="text/javascript" src="$baseurl/js/jquery.textinputs.js" ></script>
 <script type="text/javascript" src="$baseurl/view/theme/frost-mobile/js/fk.autocomplete.min.js" ></script>
 <!--<script type="text/javascript" src="$baseurl/library/fancybox/jquery.fancybox-1.3.4.pack.js"></script>-->
diff --git a/view/theme/frost-mobile/js/jquery.divgrow-1.3.1.min.js b/view/theme/frost-mobile/js/jquery.divgrow-1.3.1.min.js
new file mode 100644
index 000000000..fd08f7fa8
--- /dev/null
+++ b/view/theme/frost-mobile/js/jquery.divgrow-1.3.1.min.js
@@ -0,0 +1 @@
+(function ($) { var divgrowid = 0; $.fn.divgrow = function (options) { var options = $.extend({}, { initialHeight: 100, moreText: "+ Show More", lessText: "- Show Less", speed: 1000, showBrackets: true }, options); return this.each(function () { divgrowid++; obj = $(this); var fullHeight = obj.height() + 10; obj.css('height', options.initialHeight).css('overflow', 'hidden'); if (options.showBrackets) { obj.after('<p class="divgrow-brackets">[&hellip;]</p><a href="#" class="divgrow-showmore' + " divgrow-obj-" + divgrowid + '"' + '></a>') } else { obj.after('<a href="#" class="divgrow-showmore' + " divgrow-obj-" + divgrowid + '"' + '></a>') } $("a.divgrow-showmore").html(options.moreText); $("." + "divgrow-obj-" + divgrowid).toggle(function () { $(this).prevAll("div:first").animate({ height: fullHeight + "px" }, options.speed, function () { if (options.showBrackets) { $(this).nextAll("p.divgrow-brackets:first").fadeOut() } $(this).nextAll("a.divgrow-showmore:first").html(options.lessText) }) }, function () { $(this).prevAll("div:first").stop(true, false).animate({ height: options.initialHeight }, options.speed, function () { if (options.showBrackets) { $(this).nextAll("p.divgrow-brackets:first").stop(true, false).fadeIn() } $(this).nextAll("a.divgrow-showmore:first").stop(true, false).html(options.moreText) }) }) }) } })(jQuery);
\ No newline at end of file
diff --git a/view/theme/frost-mobile/js/main.js b/view/theme/frost-mobile/js/main.js
index 7498c3b91..d233ba7b6 100644
--- a/view/theme/frost-mobile/js/main.js
+++ b/view/theme/frost-mobile/js/main.js
@@ -349,6 +349,33 @@
 			}
 			/* autocomplete @nicknames */
 			$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl");
+
+			var bimgs = $j(".wall-item-body > img").not(function() { return this.complete; });
+			var bimgcount = bimgs.length;
+
+			if (bimgcount) {
+				bimgs.load(function() {
+					bimgcount--;
+					if (! bimgcount) {
+						collapseHeight();
+
+					}
+				});
+			} else {
+				collapseHeight();
+			}
+
+		});
+	}
+
+	function collapseHeight() {
+		$j(".wall-item-body").each(function() {
+				if($j(this).height() > 310) {
+				if(! $j(this).hasClass('divmore')) {
+					$j(this).divgrow({ initialHeight: 300, showBrackets: false, speed: 300 });
+					$j(this).addClass('divmore');
+				}
+			}					
 		});
 	}
 
diff --git a/view/theme/frost-mobile/js/main.min.js b/view/theme/frost-mobile/js/main.min.js
index 1cb4ab8bc..d912c3777 100644
--- a/view/theme/frost-mobile/js/main.min.js
+++ b/view/theme/frost-mobile/js/main.min.js
@@ -1 +1 @@
-function openClose(e){document.getElementById(e).style.display=="block"?document.getElementById(e).style.display="none":document.getElementById(e).style.display="block"}function openMenu(e){document.getElementById(e).style.display="block"}function closeMenu(e){document.getElementById(e).style.display="none"}function NavUpdate(){if(!stopped){var e="ping"+(localUser!=0?"?f=&uid="+localUser:"");$j.get(e,function(e){$j(e).find("result").each(function(){$j("nav").trigger("nav-update",this),$j("#live-network").length&&(src="network",liveUpdate()),$j("#live-profile").length&&(src="profile",liveUpdate()),$j("#live-community").length&&(src="community",liveUpdate()),$j("#live-notes").length&&(src="notes",liveUpdate()),$j("#live-display").length&&liking&&(liking=0,window.location.href=window.location.href),$j("#live-photos").length&&liking&&(liking=0,window.location.href=window.location.href)})})}timer=setTimeout(NavUpdate,updateInterval)}function liveUpdate(){if(src==null||stopped||!profile_uid){$j(".like-rotator").hide();return}if($j(".comment-edit-text-full").length||in_progress){livetime&&clearTimeout(livetime),livetime=setTimeout(liveUpdate,1e4);return}livetime!=null&&(livetime=null),prev="live-"+src,in_progress=!0;var e=netargs.length?"/"+netargs:"",t="update_"+src+e+"&p="+profile_uid+"&page="+profile_page+"&msie="+(msie?1:0);$j.get(t,function(e){in_progress=!1,$j(".toplevel_item",e).each(function(){var e=$j(this).attr("id");$j("#"+e).length==0&&profile_page==1?($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+prev).after($j(this))):($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+e).replaceWith($j(this))),prev=e}),$j(".like-rotator").hide(),commentBusy&&(commentBusy=!1,$j("body").css("cursor","auto")),$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl")})}function imgbright(e){$j(e).removeClass("drophide").addClass("drop")}function imgdull(e){$j(e).removeClass("drop").addClass("drophide")}function dolike(e,t){unpause(),$j("#like-rotator-"+e.toString()).show(),$j.get("like/"+e.toString()+"?verb="+t,NavUpdate),liking=1}function dostar(e){e=e.toString(),$j.get("starred/"+e,function(t){t.match(/1/)?($j("#starred-"+e).addClass("starred"),$j("#starred-"+e).removeClass("unstarred"),$j("#star-"+e).addClass("hidden"),$j("#unstar-"+e).removeClass("hidden")):($j("#starred-"+e).addClass("unstarred"),$j("#starred-"+e).removeClass("starred"),$j("#star-"+e).removeClass("hidden"),$j("#unstar-"+e).addClass("hidden"))})}function getPosition(e){var t={x:0,y:0};if(e.touches[0].pageX||e.touches[0].pageY)t.x=e.touches[0].pageX,t.y=e.touches[0].pageY;else if(e.touches[0].clientX||e.touches[0].clientY)t.x=e.touches[0].clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)-document.documentElement.clientLeft,t.y=e.touches[0].clientY+(document.documentElement.scrollTop||document.body.scrollTop)-document.documentElement.clientTop;else if(e.touches[0].x||e.touches[0].y)t.touches[0].x=e.touches[0].x,t.touches[0].y=e.touches[0].y;return t}function lockview(e,t){e=e||window.event,cursor=getPosition(e),lockvisible?lockviewhide():(lockvisible=!0,$j.get("lockview/"+t,function(e){$j("#panel").html(e),$j("#panel").css({left:cursor.x+5,top:cursor.y+5}),$j("#panel").show()}))}function lockviewhide(){lockvisible=!1,$j("#panel").hide()}function post_comment(e){return unpause(),commentBusy=!0,$j("body").css("cursor","wait"),$j("#comment-preview-inp-"+e).val("0"),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){if(t.success){$j("#comment-edit-wrapper-"+e).hide(),$j("#comment-edit-text-"+e).val("");var n=document.getElementById("comment-edit-text-"+e);n&&commentClose(n,e),timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,10)}t.reload&&(window.location.href=t.reload)},"json"),!1}function preview_comment(e){return $j("#comment-preview-inp-"+e).val("1"),$j("#comment-edit-preview-"+e).show(),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){t.preview&&($j("#comment-edit-preview-"+e).html(t.preview),$j("#comment-edit-preview-"+e+" a").click(function(){return!1}))},"json"),!0}function preview_post(){return $j("#jot-preview").val("1"),$j("#jot-preview-content").show(),tinyMCE.triggerSave(),$j.post("item",$j("#profile-jot-form").serialize(),function(e){e.preview&&($j("#jot-preview-content").html(e.preview),$j("#jot-preview-content a").click(function(){return!1}))},"json"),$j("#jot-preview").val("0"),!0}function unpause(){totStopped=!1,stopped=!1,$j("#pause").html("")}function bin2hex(e){var t,n,r=0,i=[];e+="",r=e.length;for(n=0;n<r;n++)i[n]=e.charCodeAt(n).toString(16).replace(/^([\da-f])$/,"0$1");return i.join("")}function groupChangeMember(e,t,n){$j("body .fakelink").css("cursor","wait"),$j.get("group/"+e+"/"+t+"?t="+n,function(e){$j("#group-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function profChangeMember(e,t){$j("body .fakelink").css("cursor","wait"),$j.get("profperm/"+e+"/"+t,function(e){$j("#prof-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function contactgroupChangeMember(e,t){$j("body").css("cursor","wait"),$j.get("contactgroup/"+e+"/"+t,function(e){$j("body").css("cursor","auto")})}function checkboxhighlight(e){$j(e).is(":checked")?$j(e).addClass("checkeditem"):$j(e).removeClass("checkeditem")}function notifyMarkAll(){$j.get("notify/mark/all",function(e){timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,1e3)})}function fcFileBrowser(e,t,n,r){var i=baseurl+"/fbrowser/"+n+"/";return tinyMCE.activeEditor.windowManager.open({file:i,title:"File Browser",width:420,height:400,resizable:"yes",inline:"yes",close_previous:"no"},{window:r,input:e}),!1}function setupFieldRichtext(){tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:"fieldRichtext",plugins:"bbcode,paste, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser"})}function previewTheme(e){theme=$j(e).val(),$j.getJSON("pretheme?f=&theme="+theme,function(e){$j("#theme-preview").html('<div id="theme-desc">'+e.desc+'</div><div id="theme-version">'+e.version+'</div><div id="theme-credits">'+e.credits+'</div><a href="'+e.img+'"><img src="'+e.img+'" width="320" height="240" alt="'+theme+'" /></a>')})}var src=null,prev=null,livetime=null,msie=!1,stopped=!1,totStopped=!1,timer=null,pr=0,liking=0,in_progress=!1,langSelect=!1,commentBusy=!1,last_popup_menu=null,last_popup_button=null;$j(function(){function e(e){last_popup_menu&&"#"+last_popup_menu.attr("id")!==$j(e.target).attr("rel")&&(last_popup_menu.hide(),last_popup_menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_button.removeClass("selected"),last_popup_menu=null,last_popup_button=null)}$j.ajaxSetup({cache:!1}),msie=$j.browser.msie,$j(".onoff input").each(function(){val=$j(this).val(),id=$j(this).attr("id"),$j("#"+id+"_onoff ."+(val==0?"on":"off")).addClass("hidden")}),$j(".onoff > a").click(function(e){e.preventDefault();var t=$j(this).siblings("input"),n=1-t.val(),r=t.attr("id");$j("#"+r+"_onoff ."+(n==0?"on":"off")).addClass("hidden"),$j("#"+r+"_onoff ."+(n==1?"on":"off")).removeClass("hidden"),t.val(n)}),$j("img[rel^=#]").click(function(t){return e(t),menu=$j($j(this).attr("rel")),t.preventDefault(),t.stopPropagation(),menu.attr("popup")=="false"?!1:(menu.css("display")=="none"?($j(this).parent().addClass("selected"),menu.show(),menu.attr("id")=="nav-notifications-menu"&&$j("section").hide(),last_popup_menu=menu,last_popup_button=$j(this).parent()):($j(this).parent().removeClass("selected"),menu.hide(),menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_menu=null,last_popup_button=null),!1)}),$j("html").click(function(t){e(t)});var t=unescape($j("#nav-notifications-template[rel=template]").html()),n=unescape($j("<div>").append($j("#nav-notifications-see-all").clone()).html()),r=unescape($j("<div>").append($j("#nav-notifications-mark-all").clone()).html()),i=unescape($j("#nav-notifications-menu").html());$j("nav").bind("nav-update",function(e,s){var o=$j(s).find("invalid").text();o==1&&(window.location.href=window.location.href);var u=$j(s).find("net").text();u==0?(u="",$j("#net-update").removeClass("show")):$j("#net-update").addClass("show"),$j("#net-update").html(u);var a=$j(s).find("home").text();a==0?(a="",$j("#home-update").removeClass("show")):$j("#home-update").addClass("show"),$j("#home-update").html(a);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update").removeClass("show")):$j("#intro-update").addClass("show"),$j("#intro-update").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update").removeClass("show")):$j("#mail-update").addClass("show"),$j("#mail-update").html(l);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update-li").removeClass("show")):$j("#intro-update-li").addClass("show"),$j("#intro-update-li").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update-li").removeClass("show")):$j("#mail-update-li").addClass("show"),$j("#mail-update-li").html(l);var c=$j(s).find("notif");c.children("note").length==0?$j("#nav-notifications-menu").html(i):(nnm=$j("#nav-notifications-menu"),nnm.html(n+r),c.children("note").each(function(){e=$j(this),text=e.text().format("<span class='contactname'>"+e.attr("name")+"</span>"),html=t.format(e.attr("href"),e.attr("photo"),text,e.attr("date"),e.attr("seen")),nnm.append(html)})),notif=c.attr("count"),notif>0?$j("#nav-notifications-linkmenu").addClass("on"):$j("#nav-notifications-linkmenu").removeClass("on"),notif==0?(notif="",$j("#notify-update").removeClass("show")):$j("#notify-update").addClass("show"),$j("#notify-update").html(notif);var h=$j(s).find("sysmsgs");h.children("notice").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"notice",life:1500})}),h.children("info").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"info",life:1e3})})}),NavUpdate()});var lockvisible=!1;String.prototype.format=function(){var e=this;for(var t=0;t<arguments.length;t++){var n=new RegExp("\\{"+t+"\\}","gi");e=e.replace(n,arguments[t])}return e},Array.prototype.remove=function(e){to=undefined,from=this.indexOf(e);var t=this.slice((to||from)+1||this.length);return this.length=from<0?this.length+from:from,this.push.apply(this,t)};
\ No newline at end of file
+function openClose(e){document.getElementById(e).style.display=="block"?document.getElementById(e).style.display="none":document.getElementById(e).style.display="block"}function openMenu(e){document.getElementById(e).style.display="block"}function closeMenu(e){document.getElementById(e).style.display="none"}function NavUpdate(){if(!stopped){var e="ping"+(localUser!=0?"?f=&uid="+localUser:"");$j.get(e,function(e){$j(e).find("result").each(function(){$j("nav").trigger("nav-update",this),$j("#live-network").length&&(src="network",liveUpdate()),$j("#live-profile").length&&(src="profile",liveUpdate()),$j("#live-community").length&&(src="community",liveUpdate()),$j("#live-notes").length&&(src="notes",liveUpdate()),$j("#live-display").length&&liking&&(liking=0,window.location.href=window.location.href),$j("#live-photos").length&&liking&&(liking=0,window.location.href=window.location.href)})})}timer=setTimeout(NavUpdate,updateInterval)}function liveUpdate(){if(src==null||stopped||!profile_uid){$j(".like-rotator").hide();return}if($j(".comment-edit-text-full").length||in_progress){livetime&&clearTimeout(livetime),livetime=setTimeout(liveUpdate,1e4);return}livetime!=null&&(livetime=null),prev="live-"+src,in_progress=!0;var e=netargs.length?"/"+netargs:"",t="update_"+src+e+"&p="+profile_uid+"&page="+profile_page+"&msie="+(msie?1:0);$j.get(t,function(e){in_progress=!1,$j(".toplevel_item",e).each(function(){var e=$j(this).attr("id");$j("#"+e).length==0&&profile_page==1?($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+prev).after($j(this))):($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+e).replaceWith($j(this))),prev=e}),$j(".like-rotator").hide(),commentBusy&&(commentBusy=!1,$j("body").css("cursor","auto")),$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl");var t=$j(".wall-item-body > img").not(function(){return this.complete}),n=t.length;n?t.load(function(){n--,n||collapseHeight()}):collapseHeight()})}function collapseHeight(){$j(".wall-item-body").each(function(){$j(this).height()>310&&($j(this).hasClass("divmore")||($j(this).divgrow({initialHeight:300,showBrackets:!1,speed:300}),$j(this).addClass("divmore")))})}function imgbright(e){$j(e).removeClass("drophide").addClass("drop")}function imgdull(e){$j(e).removeClass("drop").addClass("drophide")}function dolike(e,t){unpause(),$j("#like-rotator-"+e.toString()).show(),$j.get("like/"+e.toString()+"?verb="+t,NavUpdate),liking=1}function dostar(e){e=e.toString(),$j.get("starred/"+e,function(t){t.match(/1/)?($j("#starred-"+e).addClass("starred"),$j("#starred-"+e).removeClass("unstarred"),$j("#star-"+e).addClass("hidden"),$j("#unstar-"+e).removeClass("hidden")):($j("#starred-"+e).addClass("unstarred"),$j("#starred-"+e).removeClass("starred"),$j("#star-"+e).removeClass("hidden"),$j("#unstar-"+e).addClass("hidden"))})}function getPosition(e){var t={x:0,y:0};if(e.touches[0].pageX||e.touches[0].pageY)t.x=e.touches[0].pageX,t.y=e.touches[0].pageY;else if(e.touches[0].clientX||e.touches[0].clientY)t.x=e.touches[0].clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)-document.documentElement.clientLeft,t.y=e.touches[0].clientY+(document.documentElement.scrollTop||document.body.scrollTop)-document.documentElement.clientTop;else if(e.touches[0].x||e.touches[0].y)t.touches[0].x=e.touches[0].x,t.touches[0].y=e.touches[0].y;return t}function lockview(e,t){e=e||window.event,cursor=getPosition(e),lockvisible?lockviewhide():(lockvisible=!0,$j.get("lockview/"+t,function(e){$j("#panel").html(e),$j("#panel").css({left:cursor.x+5,top:cursor.y+5}),$j("#panel").show()}))}function lockviewhide(){lockvisible=!1,$j("#panel").hide()}function post_comment(e){return unpause(),commentBusy=!0,$j("body").css("cursor","wait"),$j("#comment-preview-inp-"+e).val("0"),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){if(t.success){$j("#comment-edit-wrapper-"+e).hide(),$j("#comment-edit-text-"+e).val("");var n=document.getElementById("comment-edit-text-"+e);n&&commentClose(n,e),timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,10)}t.reload&&(window.location.href=t.reload)},"json"),!1}function preview_comment(e){return $j("#comment-preview-inp-"+e).val("1"),$j("#comment-edit-preview-"+e).show(),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){t.preview&&($j("#comment-edit-preview-"+e).html(t.preview),$j("#comment-edit-preview-"+e+" a").click(function(){return!1}))},"json"),!0}function preview_post(){return $j("#jot-preview").val("1"),$j("#jot-preview-content").show(),tinyMCE.triggerSave(),$j.post("item",$j("#profile-jot-form").serialize(),function(e){e.preview&&($j("#jot-preview-content").html(e.preview),$j("#jot-preview-content a").click(function(){return!1}))},"json"),$j("#jot-preview").val("0"),!0}function unpause(){totStopped=!1,stopped=!1,$j("#pause").html("")}function bin2hex(e){var t,n,r=0,i=[];e+="",r=e.length;for(n=0;n<r;n++)i[n]=e.charCodeAt(n).toString(16).replace(/^([\da-f])$/,"0$1");return i.join("")}function groupChangeMember(e,t,n){$j("body .fakelink").css("cursor","wait"),$j.get("group/"+e+"/"+t+"?t="+n,function(e){$j("#group-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function profChangeMember(e,t){$j("body .fakelink").css("cursor","wait"),$j.get("profperm/"+e+"/"+t,function(e){$j("#prof-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function contactgroupChangeMember(e,t){$j("body").css("cursor","wait"),$j.get("contactgroup/"+e+"/"+t,function(e){$j("body").css("cursor","auto")})}function checkboxhighlight(e){$j(e).is(":checked")?$j(e).addClass("checkeditem"):$j(e).removeClass("checkeditem")}function notifyMarkAll(){$j.get("notify/mark/all",function(e){timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,1e3)})}function fcFileBrowser(e,t,n,r){var i=baseurl+"/fbrowser/"+n+"/";return tinyMCE.activeEditor.windowManager.open({file:i,title:"File Browser",width:420,height:400,resizable:"yes",inline:"yes",close_previous:"no"},{window:r,input:e}),!1}function setupFieldRichtext(){tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:"fieldRichtext",plugins:"bbcode,paste, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser"})}function previewTheme(e){theme=$j(e).val(),$j.getJSON("pretheme?f=&theme="+theme,function(e){$j("#theme-preview").html('<div id="theme-desc">'+e.desc+'</div><div id="theme-version">'+e.version+'</div><div id="theme-credits">'+e.credits+'</div><a href="'+e.img+'"><img src="'+e.img+'" width="320" height="240" alt="'+theme+'" /></a>')})}var src=null,prev=null,livetime=null,msie=!1,stopped=!1,totStopped=!1,timer=null,pr=0,liking=0,in_progress=!1,langSelect=!1,commentBusy=!1,last_popup_menu=null,last_popup_button=null;$j(function(){function e(e){last_popup_menu&&"#"+last_popup_menu.attr("id")!==$j(e.target).attr("rel")&&(last_popup_menu.hide(),last_popup_menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_button.removeClass("selected"),last_popup_menu=null,last_popup_button=null)}$j.ajaxSetup({cache:!1}),msie=$j.browser.msie,$j(".onoff input").each(function(){val=$j(this).val(),id=$j(this).attr("id"),$j("#"+id+"_onoff ."+(val==0?"on":"off")).addClass("hidden")}),$j(".onoff > a").click(function(e){e.preventDefault();var t=$j(this).siblings("input"),n=1-t.val(),r=t.attr("id");$j("#"+r+"_onoff ."+(n==0?"on":"off")).addClass("hidden"),$j("#"+r+"_onoff ."+(n==1?"on":"off")).removeClass("hidden"),t.val(n)}),$j("img[rel^=#]").click(function(t){return e(t),menu=$j($j(this).attr("rel")),t.preventDefault(),t.stopPropagation(),menu.attr("popup")=="false"?!1:(menu.css("display")=="none"?($j(this).parent().addClass("selected"),menu.show(),menu.attr("id")=="nav-notifications-menu"&&$j("section").hide(),last_popup_menu=menu,last_popup_button=$j(this).parent()):($j(this).parent().removeClass("selected"),menu.hide(),menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_menu=null,last_popup_button=null),!1)}),$j("html").click(function(t){e(t)});var t=unescape($j("#nav-notifications-template[rel=template]").html()),n=unescape($j("<div>").append($j("#nav-notifications-see-all").clone()).html()),r=unescape($j("<div>").append($j("#nav-notifications-mark-all").clone()).html()),i=unescape($j("#nav-notifications-menu").html());$j("nav").bind("nav-update",function(e,s){var o=$j(s).find("invalid").text();o==1&&(window.location.href=window.location.href);var u=$j(s).find("net").text();u==0?(u="",$j("#net-update").removeClass("show")):$j("#net-update").addClass("show"),$j("#net-update").html(u);var a=$j(s).find("home").text();a==0?(a="",$j("#home-update").removeClass("show")):$j("#home-update").addClass("show"),$j("#home-update").html(a);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update").removeClass("show")):$j("#intro-update").addClass("show"),$j("#intro-update").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update").removeClass("show")):$j("#mail-update").addClass("show"),$j("#mail-update").html(l);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update-li").removeClass("show")):$j("#intro-update-li").addClass("show"),$j("#intro-update-li").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update-li").removeClass("show")):$j("#mail-update-li").addClass("show"),$j("#mail-update-li").html(l);var c=$j(s).find("notif");c.children("note").length==0?$j("#nav-notifications-menu").html(i):(nnm=$j("#nav-notifications-menu"),nnm.html(n+r),c.children("note").each(function(){e=$j(this),text=e.text().format("<span class='contactname'>"+e.attr("name")+"</span>"),html=t.format(e.attr("href"),e.attr("photo"),text,e.attr("date"),e.attr("seen")),nnm.append(html)})),notif=c.attr("count"),notif>0?$j("#nav-notifications-linkmenu").addClass("on"):$j("#nav-notifications-linkmenu").removeClass("on"),notif==0?(notif="",$j("#notify-update").removeClass("show")):$j("#notify-update").addClass("show"),$j("#notify-update").html(notif);var h=$j(s).find("sysmsgs");h.children("notice").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"notice",life:1500})}),h.children("info").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"info",life:1e3})})}),NavUpdate()});var lockvisible=!1;String.prototype.format=function(){var e=this;for(var t=0;t<arguments.length;t++){var n=new RegExp("\\{"+t+"\\}","gi");e=e.replace(n,arguments[t])}return e},Array.prototype.remove=function(e){to=undefined,from=this.indexOf(e);var t=this.slice((to||from)+1||this.length);return this.length=from<0?this.length+from:from,this.push.apply(this,t)};
\ No newline at end of file
diff --git a/view/theme/frost/end.tpl b/view/theme/frost/end.tpl
index 01928ce80..84004c8e4 100644
--- a/view/theme/frost/end.tpl
+++ b/view/theme/frost/end.tpl
@@ -7,6 +7,7 @@
 </script>
 <script type="text/javascript" src="$baseurl/js/jquery.js" ></script>
 <script type="text/javascript">var $j = jQuery.noConflict();</script>
+<script type="text/javascript" src="$baseurl/view/theme/frost/js/jquery.divgrow-1.3.1.min.js" ></script>
 <script type="text/javascript" src="$baseurl/js/jquery.textinputs.js" ></script>
 <script type="text/javascript" src="$baseurl/view/theme/frost/js/fk.autocomplete.min.js" ></script>
 <script type="text/javascript" src="$baseurl/library/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
diff --git a/view/theme/frost/js/jquery.divgrow-1.3.1.min.js b/view/theme/frost/js/jquery.divgrow-1.3.1.min.js
new file mode 100644
index 000000000..fd08f7fa8
--- /dev/null
+++ b/view/theme/frost/js/jquery.divgrow-1.3.1.min.js
@@ -0,0 +1 @@
+(function ($) { var divgrowid = 0; $.fn.divgrow = function (options) { var options = $.extend({}, { initialHeight: 100, moreText: "+ Show More", lessText: "- Show Less", speed: 1000, showBrackets: true }, options); return this.each(function () { divgrowid++; obj = $(this); var fullHeight = obj.height() + 10; obj.css('height', options.initialHeight).css('overflow', 'hidden'); if (options.showBrackets) { obj.after('<p class="divgrow-brackets">[&hellip;]</p><a href="#" class="divgrow-showmore' + " divgrow-obj-" + divgrowid + '"' + '></a>') } else { obj.after('<a href="#" class="divgrow-showmore' + " divgrow-obj-" + divgrowid + '"' + '></a>') } $("a.divgrow-showmore").html(options.moreText); $("." + "divgrow-obj-" + divgrowid).toggle(function () { $(this).prevAll("div:first").animate({ height: fullHeight + "px" }, options.speed, function () { if (options.showBrackets) { $(this).nextAll("p.divgrow-brackets:first").fadeOut() } $(this).nextAll("a.divgrow-showmore:first").html(options.lessText) }) }, function () { $(this).prevAll("div:first").stop(true, false).animate({ height: options.initialHeight }, options.speed, function () { if (options.showBrackets) { $(this).nextAll("p.divgrow-brackets:first").stop(true, false).fadeIn() } $(this).nextAll("a.divgrow-showmore:first").stop(true, false).html(options.moreText) }) }) }) } })(jQuery);
\ No newline at end of file
diff --git a/view/theme/frost/js/main.js b/view/theme/frost/js/main.js
index 51df1a47c..0aea9bc85 100644
--- a/view/theme/frost/js/main.js
+++ b/view/theme/frost/js/main.js
@@ -342,6 +342,33 @@
 			}
 			/* autocomplete @nicknames */
 			$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl");
+
+			var bimgs = $j(".wall-item-body > img").not(function() { return this.complete; });
+			var bimgcount = bimgs.length;
+
+			if (bimgcount) {
+				bimgs.load(function() {
+					bimgcount--;
+					if (! bimgcount) {
+						collapseHeight();
+
+					}
+				});
+			} else {
+				collapseHeight();
+			}
+
+		});
+	}
+
+	function collapseHeight() {
+		$j(".wall-item-body").each(function() {
+				if($j(this).height() > 410) {
+				if(! $j(this).hasClass('divmore')) {
+					$j(this).divgrow({ initialHeight: 400, showBrackets: false, speed: 300 });
+					$j(this).addClass('divmore');
+				}
+			}					
 		});
 	}
 
diff --git a/view/theme/frost/js/main.min.js b/view/theme/frost/js/main.min.js
index 39af8673b..ec3243df8 100644
--- a/view/theme/frost/js/main.min.js
+++ b/view/theme/frost/js/main.min.js
@@ -1 +1 @@
-function openClose(e){document.getElementById(e).style.display=="block"?document.getElementById(e).style.display="none":document.getElementById(e).style.display="block"}function openMenu(e){document.getElementById(e).style.display="block"}function closeMenu(e){document.getElementById(e).style.display="none"}function NavUpdate(){if(!stopped){var e="ping"+(localUser!=0?"?f=&uid="+localUser:"");$j.get(e,function(e){$j(e).find("result").each(function(){$j("nav").trigger("nav-update",this),$j("#live-network").length&&(src="network",liveUpdate()),$j("#live-profile").length&&(src="profile",liveUpdate()),$j("#live-community").length&&(src="community",liveUpdate()),$j("#live-notes").length&&(src="notes",liveUpdate()),$j("#live-display").length&&liking&&(liking=0,window.location.href=window.location.href),$j("#live-photos").length&&liking&&(liking=0,window.location.href=window.location.href)})})}timer=setTimeout(NavUpdate,updateInterval)}function liveUpdate(){if(src==null||stopped||!profile_uid){$j(".like-rotator").hide();return}if($j(".comment-edit-text-full").length||in_progress){livetime&&clearTimeout(livetime),livetime=setTimeout(liveUpdate,1e4);return}livetime!=null&&(livetime=null),prev="live-"+src,in_progress=!0;var e=netargs.length?"/"+netargs:"",t="update_"+src+e+"&p="+profile_uid+"&page="+profile_page+"&msie="+(msie?1:0);$j.get(t,function(e){in_progress=!1,$j(".toplevel_item",e).each(function(){var e=$j(this).attr("id");$j("#"+e).length==0&&profile_page==1?($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+prev).after($j(this))):($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+e).replaceWith($j(this))),prev=e}),$j(".like-rotator").hide(),commentBusy&&(commentBusy=!1,$j("body").css("cursor","auto")),$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl")})}function imgbright(e){$j(e).removeClass("drophide").addClass("drop")}function imgdull(e){$j(e).removeClass("drop").addClass("drophide")}function dolike(e,t){unpause(),$j("#like-rotator-"+e.toString()).show(),$j.get("like/"+e.toString()+"?verb="+t,NavUpdate),liking=1}function dostar(e){e=e.toString(),$j.get("starred/"+e,function(t){t.match(/1/)?($j("#starred-"+e).addClass("starred"),$j("#starred-"+e).removeClass("unstarred"),$j("#star-"+e).addClass("hidden"),$j("#unstar-"+e).removeClass("hidden")):($j("#starred-"+e).addClass("unstarred"),$j("#starred-"+e).removeClass("starred"),$j("#star-"+e).removeClass("hidden"),$j("#unstar-"+e).addClass("hidden"))})}function getPosition(e){var t={x:0,y:0};if(e.pageX||e.pageY)t.x=e.pageX,t.y=e.pageY;else if(e.clientX||e.clientY)t.x=e.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)-document.documentElement.clientLeft,t.y=e.clientY+(document.documentElement.scrollTop||document.body.scrollTop)-document.documentElement.clientTop;else if(e.x||e.y)t.x=e.x,t.y=e.y;return t}function lockview(e,t){e=e||window.event,cursor=getPosition(e),lockvisible?lockviewhide():(lockvisible=!0,$j.get("lockview/"+t,function(e){$j("#panel").html(e),$j("#panel").css({left:cursor.x+5,top:cursor.y+5}),$j("#panel").show()}))}function lockviewhide(){lockvisible=!1,$j("#panel").hide()}function post_comment(e){return unpause(),commentBusy=!0,$j("body").css("cursor","wait"),$j("#comment-preview-inp-"+e).val("0"),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){if(t.success){$j("#comment-edit-wrapper-"+e).hide(),$j("#comment-edit-text-"+e).val("");var n=document.getElementById("comment-edit-text-"+e);n&&commentClose(n,e),timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,10)}t.reload&&(window.location.href=t.reload)},"json"),!1}function preview_comment(e){return $j("#comment-preview-inp-"+e).val("1"),$j("#comment-edit-preview-"+e).show(),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){t.preview&&($j("#comment-edit-preview-"+e).html(t.preview),$j("#comment-edit-preview-"+e+" a").click(function(){return!1}))},"json"),!0}function preview_post(){return $j("#jot-preview").val("1"),$j("#jot-preview-content").show(),tinyMCE.triggerSave(),$j.post("item",$j("#profile-jot-form").serialize(),function(e){e.preview&&($j("#jot-preview-content").html(e.preview),$j("#jot-preview-content a").click(function(){return!1}))},"json"),$j("#jot-preview").val("0"),!0}function unpause(){totStopped=!1,stopped=!1,$j("#pause").html("")}function bin2hex(e){var t,n,r=0,i=[];e+="",r=e.length;for(n=0;n<r;n++)i[n]=e.charCodeAt(n).toString(16).replace(/^([\da-f])$/,"0$1");return i.join("")}function groupChangeMember(e,t,n){$j("body .fakelink").css("cursor","wait"),$j.get("group/"+e+"/"+t+"?t="+n,function(e){$j("#group-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function profChangeMember(e,t){$j("body .fakelink").css("cursor","wait"),$j.get("profperm/"+e+"/"+t,function(e){$j("#prof-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function contactgroupChangeMember(e,t){$j("body").css("cursor","wait"),$j.get("contactgroup/"+e+"/"+t,function(e){$j("body").css("cursor","auto")})}function checkboxhighlight(e){$j(e).is(":checked")?$j(e).addClass("checkeditem"):$j(e).removeClass("checkeditem")}function notifyMarkAll(){$j.get("notify/mark/all",function(e){timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,1e3)})}function fcFileBrowser(e,t,n,r){var i=baseurl+"/fbrowser/"+n+"/";return tinyMCE.activeEditor.windowManager.open({file:i,title:"File Browser",width:420,height:400,resizable:"yes",inline:"yes",close_previous:"no"},{window:r,input:e}),!1}function setupFieldRichtext(){tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:"fieldRichtext",plugins:"bbcode,paste, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser"})}function previewTheme(e){theme=$j(e).val(),$j.getJSON("pretheme?f=&theme="+theme,function(e){$j("#theme-preview").html('<div id="theme-desc">'+e.desc+'</div><div id="theme-version">'+e.version+'</div><div id="theme-credits">'+e.credits+'</div><a href="'+e.img+'"><img src="'+e.img+'" width="320" height="240" alt="'+theme+'" /></a>')})}var src=null,prev=null,livetime=null,msie=!1,stopped=!1,totStopped=!1,timer=null,pr=0,liking=0,in_progress=!1,langSelect=!1,commentBusy=!1,last_popup_menu=null,last_popup_button=null;$j(function(){function e(e){last_popup_menu&&"#"+last_popup_menu.attr("id")!==$j(e.target).attr("rel")&&(last_popup_menu.hide(),last_popup_button.removeClass("selected"),last_popup_menu=null,last_popup_button=null)}$j.ajaxSetup({cache:!1}),msie=$j.browser.msie,$j(".onoff input").each(function(){val=$j(this).val(),id=$j(this).attr("id"),$j("#"+id+"_onoff ."+(val==0?"on":"off")).addClass("hidden")}),$j(".onoff > a").click(function(e){e.preventDefault();var t=$j(this).siblings("input"),n=1-t.val(),r=t.attr("id");$j("#"+r+"_onoff ."+(n==0?"on":"off")).addClass("hidden"),$j("#"+r+"_onoff ."+(n==1?"on":"off")).removeClass("hidden"),t.val(n)}),setupFieldRichtext(),$j("a[rel^=#]").click(function(t){return e(t),menu=$j($j(this).attr("rel")),t.preventDefault(),t.stopPropagation(),menu.attr("popup")=="false"?!1:($j(this).parent().toggleClass("selected"),menu.slideToggle("fast"),menu.css("display")=="none"?(last_popup_menu=null,last_popup_button=null):(last_popup_menu=menu,last_popup_button=$j(this).parent()),!1)}),$j("html").click(function(t){e(t)}),$j("a.popupbox").fancybox({transitionIn:"none",transitionOut:"none"});var t=unescape($j("#nav-notifications-template[rel=template]").html()),n=unescape($j("<div>").append($j("#nav-notifications-see-all").clone()).html()),r=unescape($j("<div>").append($j("#nav-notifications-mark-all").clone()).html()),i=unescape($j("#nav-notifications-menu").html());$j("nav").bind("nav-update",function(e,s){var o=$j(s).find("invalid").text();o==1&&(window.location.href=window.location.href);var u=$j(s).find("net").text();u==0?(u="",$j("#net-update").removeClass("show")):$j("#net-update").addClass("show"),$j("#net-update").html(u);var a=$j(s).find("home").text();a==0?(a="",$j("#home-update").removeClass("show")):$j("#home-update").addClass("show"),$j("#home-update").html(a);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update").removeClass("show")):$j("#intro-update").addClass("show"),$j("#intro-update").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update").removeClass("show")):$j("#mail-update").addClass("show"),$j("#mail-update").html(l);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update-li").removeClass("show")):$j("#intro-update-li").addClass("show"),$j("#intro-update-li").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update-li").removeClass("show")):$j("#mail-update-li").addClass("show"),$j("#mail-update-li").html(l);var c=$j(s).find("notif");c.children("note").length==0?$j("#nav-notifications-menu").html(i):(nnm=$j("#nav-notifications-menu"),nnm.html(n+r),c.children("note").each(function(){e=$j(this),text=e.text().format("<span class='contactname'>"+e.attr("name")+"</span>"),html=t.format(e.attr("href"),e.attr("photo"),text,e.attr("date"),e.attr("seen")),nnm.append(html)})),notif=c.attr("count"),notif>0?$j("#nav-notifications-linkmenu").addClass("on"):$j("#nav-notifications-linkmenu").removeClass("on"),notif==0?(notif="",$j("#notify-update").removeClass("show")):$j("#notify-update").addClass("show"),$j("#notify-update").html(notif);var h=$j(s).find("sysmsgs");h.children("notice").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"notice",life:2e3})}),h.children("info").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"info",life:1500})})}),NavUpdate(),$j(document).keydown(function(e){if(e.keyCode=="8"){var t=e.target||e.srcElement;if(!/input|textarea/i.test(t.nodeName))return!1}e.keyCode=="19"||e.ctrlKey&&e.which=="32"?(e.preventDefault(),stopped==0?(stopped=!0,e.ctrlKey&&(totStopped=!0),$j("#pause").html('<img src="images/pause.gif" alt="pause" style="border: 1px solid black;" />')):unpause()):totStopped||unpause()})});var lockvisible=!1;String.prototype.format=function(){var e=this;for(var t=0;t<arguments.length;t++){var n=new RegExp("\\{"+t+"\\}","gi");e=e.replace(n,arguments[t])}return e},Array.prototype.remove=function(e){to=undefined,from=this.indexOf(e);var t=this.slice((to||from)+1||this.length);return this.length=from<0?this.length+from:from,this.push.apply(this,t)};
\ No newline at end of file
+function openClose(e){document.getElementById(e).style.display=="block"?document.getElementById(e).style.display="none":document.getElementById(e).style.display="block"}function openMenu(e){document.getElementById(e).style.display="block"}function closeMenu(e){document.getElementById(e).style.display="none"}function NavUpdate(){if(!stopped){var e="ping"+(localUser!=0?"?f=&uid="+localUser:"");$j.get(e,function(e){$j(e).find("result").each(function(){$j("nav").trigger("nav-update",this),$j("#live-network").length&&(src="network",liveUpdate()),$j("#live-profile").length&&(src="profile",liveUpdate()),$j("#live-community").length&&(src="community",liveUpdate()),$j("#live-notes").length&&(src="notes",liveUpdate()),$j("#live-display").length&&liking&&(liking=0,window.location.href=window.location.href),$j("#live-photos").length&&liking&&(liking=0,window.location.href=window.location.href)})})}timer=setTimeout(NavUpdate,updateInterval)}function liveUpdate(){if(src==null||stopped||!profile_uid){$j(".like-rotator").hide();return}if($j(".comment-edit-text-full").length||in_progress){livetime&&clearTimeout(livetime),livetime=setTimeout(liveUpdate,1e4);return}livetime!=null&&(livetime=null),prev="live-"+src,in_progress=!0;var e=netargs.length?"/"+netargs:"",t="update_"+src+e+"&p="+profile_uid+"&page="+profile_page+"&msie="+(msie?1:0);$j.get(t,function(e){in_progress=!1,$j(".toplevel_item",e).each(function(){var e=$j(this).attr("id");$j("#"+e).length==0&&profile_page==1?($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+prev).after($j(this))):($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+e).replaceWith($j(this))),prev=e}),$j(".like-rotator").hide(),commentBusy&&(commentBusy=!1,$j("body").css("cursor","auto")),$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl");var t=$j(".wall-item-body > img").not(function(){return this.complete}),n=t.length;n?t.load(function(){n--,n||collapseHeight()}):collapseHeight()})}function collapseHeight(){$j(".wall-item-body").each(function(){$j(this).height()>410&&($j(this).hasClass("divmore")||($j(this).divgrow({initialHeight:400,showBrackets:!1,speed:300}),$j(this).addClass("divmore")))})}function imgbright(e){$j(e).removeClass("drophide").addClass("drop")}function imgdull(e){$j(e).removeClass("drop").addClass("drophide")}function dolike(e,t){unpause(),$j("#like-rotator-"+e.toString()).show(),$j.get("like/"+e.toString()+"?verb="+t,NavUpdate),liking=1}function dostar(e){e=e.toString(),$j.get("starred/"+e,function(t){t.match(/1/)?($j("#starred-"+e).addClass("starred"),$j("#starred-"+e).removeClass("unstarred"),$j("#star-"+e).addClass("hidden"),$j("#unstar-"+e).removeClass("hidden")):($j("#starred-"+e).addClass("unstarred"),$j("#starred-"+e).removeClass("starred"),$j("#star-"+e).removeClass("hidden"),$j("#unstar-"+e).addClass("hidden"))})}function getPosition(e){var t={x:0,y:0};if(e.pageX||e.pageY)t.x=e.pageX,t.y=e.pageY;else if(e.clientX||e.clientY)t.x=e.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)-document.documentElement.clientLeft,t.y=e.clientY+(document.documentElement.scrollTop||document.body.scrollTop)-document.documentElement.clientTop;else if(e.x||e.y)t.x=e.x,t.y=e.y;return t}function lockview(e,t){e=e||window.event,cursor=getPosition(e),lockvisible?lockviewhide():(lockvisible=!0,$j.get("lockview/"+t,function(e){$j("#panel").html(e),$j("#panel").css({left:cursor.x+5,top:cursor.y+5}),$j("#panel").show()}))}function lockviewhide(){lockvisible=!1,$j("#panel").hide()}function post_comment(e){return unpause(),commentBusy=!0,$j("body").css("cursor","wait"),$j("#comment-preview-inp-"+e).val("0"),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){if(t.success){$j("#comment-edit-wrapper-"+e).hide(),$j("#comment-edit-text-"+e).val("");var n=document.getElementById("comment-edit-text-"+e);n&&commentClose(n,e),timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,10)}t.reload&&(window.location.href=t.reload)},"json"),!1}function preview_comment(e){return $j("#comment-preview-inp-"+e).val("1"),$j("#comment-edit-preview-"+e).show(),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){t.preview&&($j("#comment-edit-preview-"+e).html(t.preview),$j("#comment-edit-preview-"+e+" a").click(function(){return!1}))},"json"),!0}function preview_post(){return $j("#jot-preview").val("1"),$j("#jot-preview-content").show(),tinyMCE.triggerSave(),$j.post("item",$j("#profile-jot-form").serialize(),function(e){e.preview&&($j("#jot-preview-content").html(e.preview),$j("#jot-preview-content a").click(function(){return!1}))},"json"),$j("#jot-preview").val("0"),!0}function unpause(){totStopped=!1,stopped=!1,$j("#pause").html("")}function bin2hex(e){var t,n,r=0,i=[];e+="",r=e.length;for(n=0;n<r;n++)i[n]=e.charCodeAt(n).toString(16).replace(/^([\da-f])$/,"0$1");return i.join("")}function groupChangeMember(e,t,n){$j("body .fakelink").css("cursor","wait"),$j.get("group/"+e+"/"+t+"?t="+n,function(e){$j("#group-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function profChangeMember(e,t){$j("body .fakelink").css("cursor","wait"),$j.get("profperm/"+e+"/"+t,function(e){$j("#prof-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function contactgroupChangeMember(e,t){$j("body").css("cursor","wait"),$j.get("contactgroup/"+e+"/"+t,function(e){$j("body").css("cursor","auto")})}function checkboxhighlight(e){$j(e).is(":checked")?$j(e).addClass("checkeditem"):$j(e).removeClass("checkeditem")}function notifyMarkAll(){$j.get("notify/mark/all",function(e){timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,1e3)})}function fcFileBrowser(e,t,n,r){var i=baseurl+"/fbrowser/"+n+"/";return tinyMCE.activeEditor.windowManager.open({file:i,title:"File Browser",width:420,height:400,resizable:"yes",inline:"yes",close_previous:"no"},{window:r,input:e}),!1}function setupFieldRichtext(){tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:"fieldRichtext",plugins:"bbcode,paste, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser"})}function previewTheme(e){theme=$j(e).val(),$j.getJSON("pretheme?f=&theme="+theme,function(e){$j("#theme-preview").html('<div id="theme-desc">'+e.desc+'</div><div id="theme-version">'+e.version+'</div><div id="theme-credits">'+e.credits+'</div><a href="'+e.img+'"><img src="'+e.img+'" width="320" height="240" alt="'+theme+'" /></a>')})}var src=null,prev=null,livetime=null,msie=!1,stopped=!1,totStopped=!1,timer=null,pr=0,liking=0,in_progress=!1,langSelect=!1,commentBusy=!1,last_popup_menu=null,last_popup_button=null;$j(function(){function e(e){last_popup_menu&&"#"+last_popup_menu.attr("id")!==$j(e.target).attr("rel")&&(last_popup_menu.hide(),last_popup_button.removeClass("selected"),last_popup_menu=null,last_popup_button=null)}$j.ajaxSetup({cache:!1}),msie=$j.browser.msie,$j(".onoff input").each(function(){val=$j(this).val(),id=$j(this).attr("id"),$j("#"+id+"_onoff ."+(val==0?"on":"off")).addClass("hidden")}),$j(".onoff > a").click(function(e){e.preventDefault();var t=$j(this).siblings("input"),n=1-t.val(),r=t.attr("id");$j("#"+r+"_onoff ."+(n==0?"on":"off")).addClass("hidden"),$j("#"+r+"_onoff ."+(n==1?"on":"off")).removeClass("hidden"),t.val(n)}),setupFieldRichtext(),$j("a[rel^=#]").click(function(t){return e(t),menu=$j($j(this).attr("rel")),t.preventDefault(),t.stopPropagation(),menu.attr("popup")=="false"?!1:($j(this).parent().toggleClass("selected"),menu.slideToggle("fast"),menu.css("display")=="none"?(last_popup_menu=null,last_popup_button=null):(last_popup_menu=menu,last_popup_button=$j(this).parent()),!1)}),$j("html").click(function(t){e(t)}),$j("a.popupbox").fancybox({transitionIn:"none",transitionOut:"none"});var t=unescape($j("#nav-notifications-template[rel=template]").html()),n=unescape($j("<div>").append($j("#nav-notifications-see-all").clone()).html()),r=unescape($j("<div>").append($j("#nav-notifications-mark-all").clone()).html()),i=unescape($j("#nav-notifications-menu").html());$j("nav").bind("nav-update",function(e,s){var o=$j(s).find("invalid").text();o==1&&(window.location.href=window.location.href);var u=$j(s).find("net").text();u==0?(u="",$j("#net-update").removeClass("show")):$j("#net-update").addClass("show"),$j("#net-update").html(u);var a=$j(s).find("home").text();a==0?(a="",$j("#home-update").removeClass("show")):$j("#home-update").addClass("show"),$j("#home-update").html(a);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update").removeClass("show")):$j("#intro-update").addClass("show"),$j("#intro-update").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update").removeClass("show")):$j("#mail-update").addClass("show"),$j("#mail-update").html(l);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update-li").removeClass("show")):$j("#intro-update-li").addClass("show"),$j("#intro-update-li").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update-li").removeClass("show")):$j("#mail-update-li").addClass("show"),$j("#mail-update-li").html(l);var c=$j(s).find("notif");c.children("note").length==0?$j("#nav-notifications-menu").html(i):(nnm=$j("#nav-notifications-menu"),nnm.html(n+r),c.children("note").each(function(){e=$j(this),text=e.text().format("<span class='contactname'>"+e.attr("name")+"</span>"),html=t.format(e.attr("href"),e.attr("photo"),text,e.attr("date"),e.attr("seen")),nnm.append(html)})),notif=c.attr("count"),notif>0?$j("#nav-notifications-linkmenu").addClass("on"):$j("#nav-notifications-linkmenu").removeClass("on"),notif==0?(notif="",$j("#notify-update").removeClass("show")):$j("#notify-update").addClass("show"),$j("#notify-update").html(notif);var h=$j(s).find("sysmsgs");h.children("notice").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"notice",life:2e3})}),h.children("info").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"info",life:1500})})}),NavUpdate(),$j(document).keydown(function(e){if(e.keyCode=="8"){var t=e.target||e.srcElement;if(!/input|textarea/i.test(t.nodeName))return!1}e.keyCode=="19"||e.ctrlKey&&e.which=="32"?(e.preventDefault(),stopped==0?(stopped=!0,e.ctrlKey&&(totStopped=!0),$j("#pause").html('<img src="images/pause.gif" alt="pause" style="border: 1px solid black;" />')):unpause()):totStopped||unpause()})});var lockvisible=!1;String.prototype.format=function(){var e=this;for(var t=0;t<arguments.length;t++){var n=new RegExp("\\{"+t+"\\}","gi");e=e.replace(n,arguments[t])}return e},Array.prototype.remove=function(e){to=undefined,from=this.indexOf(e);var t=this.slice((to||from)+1||this.length);return this.length=from<0?this.length+from:from,this.push.apply(this,t)};
\ No newline at end of file
diff --git a/view/theme/frost/style.css b/view/theme/frost/style.css
index eaed39549..52e425010 100644
--- a/view/theme/frost/style.css
+++ b/view/theme/frost/style.css
@@ -1296,7 +1296,7 @@ input#dfrn-url {
 .wall-item-content {
 	margin-left: 10px;
 	padding-right: 1em;
-	max-height: 500px;
+/*	max-height: 500px;*/
 	overflow: auto;
 }
 
diff --git a/view/theme/frost/theme.php b/view/theme/frost/theme.php
index 46bff03f1..c2cd07868 100644
--- a/view/theme/frost/theme.php
+++ b/view/theme/frost/theme.php
@@ -21,4 +21,7 @@ function frost_init(&$a) {
 	if( $a->module === 'login' )
 		$a->page['end'] .= '<script type="text/javascript"> $j(document).ready(function() { $j("#id_" + window.loginName).focus();} );</script>';
 
+	$a->videowidth = 400;
+	$a->videoheight = 330;
+
 }

From 7c9c92e542a99cdadc22af9e21df0f23409d810b Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Sat, 25 Aug 2012 22:43:32 -0600
Subject: [PATCH 08/22] update version

---
 view/theme/frost-mobile/theme.php | 2 +-
 view/theme/frost/theme.php        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/view/theme/frost-mobile/theme.php b/view/theme/frost-mobile/theme.php
index 54fac5efa..ff8c1c784 100644
--- a/view/theme/frost-mobile/theme.php
+++ b/view/theme/frost-mobile/theme.php
@@ -4,7 +4,7 @@
  * Name: Frost--mobile version
  * Description: Like frosted glass
  * Credits: Navigation icons taken from http://iconza.com. Other icons taken from http://thenounproject.com, including: Like, Dislike, Black Lock, Unlock, Pencil, Tag, Camera, Paperclip (Marie Coons), Folder (Sergio Calcara), Chain-link (Andrew Fortnum), Speaker (Harold Kim), Quotes (Henry Ryder), Video Camera (Anas Ramadan), and Left Arrow, Right Arrow, and Delete X (all three P.J. Onori). All under Attribution (CC BY 3.0). Others from The Noun Project are public domain or No Rights Reserved (CC0).
- * Version: Version 0.2.8
+ * Version: Version 0.2.9
  * Author: Zach P <techcity@f.shmuz.in>
  * Maintainer: Zach P <techcity@f.shmuz.in>
  */
diff --git a/view/theme/frost/theme.php b/view/theme/frost/theme.php
index c2cd07868..bc5436fa9 100644
--- a/view/theme/frost/theme.php
+++ b/view/theme/frost/theme.php
@@ -4,7 +4,7 @@
  * Name: Frost
  * Description: Like frosted glass
  * Credits: Navigation icons taken from http://iconza.com. Other icons taken from http://thenounproject.com, including: Like, Dislike, Black Lock, Unlock, Pencil, Tag, Camera, Paperclip (Marie Coons), Folder (Sergio Calcara), Chain-link (Andrew Fortnum), Speaker (Harold Kim), Quotes (Henry Ryder), Video Camera (Anas Ramadan), and Left Arrow, Right Arrow, and Delete X (all three P.J. Onori). All under Attribution (CC BY 3.0). Others from The Noun Project are public domain or No Rights Reserved (CC0).
- * Version: Version 0.2.6
+ * Version: Version 0.2.7
  * Author: Zach P <techcity@f.shmuz.in>
  * Maintainer: Zach P <techcity@f.shmuz.in>
  */

From 0fe1727d7465e719a22ba062c8f33cfd1dcce60c Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Sun, 26 Aug 2012 09:22:49 -0600
Subject: [PATCH 09/22] remove show more/less animation on mobile

---
 view/theme/frost-mobile/js/main.js     | 2 +-
 view/theme/frost-mobile/js/main.min.js | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/view/theme/frost-mobile/js/main.js b/view/theme/frost-mobile/js/main.js
index d233ba7b6..15add4d69 100644
--- a/view/theme/frost-mobile/js/main.js
+++ b/view/theme/frost-mobile/js/main.js
@@ -372,7 +372,7 @@
 		$j(".wall-item-body").each(function() {
 				if($j(this).height() > 310) {
 				if(! $j(this).hasClass('divmore')) {
-					$j(this).divgrow({ initialHeight: 300, showBrackets: false, speed: 300 });
+					$j(this).divgrow({ initialHeight: 300, showBrackets: false, speed: 0 });
 					$j(this).addClass('divmore');
 				}
 			}					
diff --git a/view/theme/frost-mobile/js/main.min.js b/view/theme/frost-mobile/js/main.min.js
index d912c3777..405a5173e 100644
--- a/view/theme/frost-mobile/js/main.min.js
+++ b/view/theme/frost-mobile/js/main.min.js
@@ -1 +1 @@
-function openClose(e){document.getElementById(e).style.display=="block"?document.getElementById(e).style.display="none":document.getElementById(e).style.display="block"}function openMenu(e){document.getElementById(e).style.display="block"}function closeMenu(e){document.getElementById(e).style.display="none"}function NavUpdate(){if(!stopped){var e="ping"+(localUser!=0?"?f=&uid="+localUser:"");$j.get(e,function(e){$j(e).find("result").each(function(){$j("nav").trigger("nav-update",this),$j("#live-network").length&&(src="network",liveUpdate()),$j("#live-profile").length&&(src="profile",liveUpdate()),$j("#live-community").length&&(src="community",liveUpdate()),$j("#live-notes").length&&(src="notes",liveUpdate()),$j("#live-display").length&&liking&&(liking=0,window.location.href=window.location.href),$j("#live-photos").length&&liking&&(liking=0,window.location.href=window.location.href)})})}timer=setTimeout(NavUpdate,updateInterval)}function liveUpdate(){if(src==null||stopped||!profile_uid){$j(".like-rotator").hide();return}if($j(".comment-edit-text-full").length||in_progress){livetime&&clearTimeout(livetime),livetime=setTimeout(liveUpdate,1e4);return}livetime!=null&&(livetime=null),prev="live-"+src,in_progress=!0;var e=netargs.length?"/"+netargs:"",t="update_"+src+e+"&p="+profile_uid+"&page="+profile_page+"&msie="+(msie?1:0);$j.get(t,function(e){in_progress=!1,$j(".toplevel_item",e).each(function(){var e=$j(this).attr("id");$j("#"+e).length==0&&profile_page==1?($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+prev).after($j(this))):($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+e).replaceWith($j(this))),prev=e}),$j(".like-rotator").hide(),commentBusy&&(commentBusy=!1,$j("body").css("cursor","auto")),$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl");var t=$j(".wall-item-body > img").not(function(){return this.complete}),n=t.length;n?t.load(function(){n--,n||collapseHeight()}):collapseHeight()})}function collapseHeight(){$j(".wall-item-body").each(function(){$j(this).height()>310&&($j(this).hasClass("divmore")||($j(this).divgrow({initialHeight:300,showBrackets:!1,speed:300}),$j(this).addClass("divmore")))})}function imgbright(e){$j(e).removeClass("drophide").addClass("drop")}function imgdull(e){$j(e).removeClass("drop").addClass("drophide")}function dolike(e,t){unpause(),$j("#like-rotator-"+e.toString()).show(),$j.get("like/"+e.toString()+"?verb="+t,NavUpdate),liking=1}function dostar(e){e=e.toString(),$j.get("starred/"+e,function(t){t.match(/1/)?($j("#starred-"+e).addClass("starred"),$j("#starred-"+e).removeClass("unstarred"),$j("#star-"+e).addClass("hidden"),$j("#unstar-"+e).removeClass("hidden")):($j("#starred-"+e).addClass("unstarred"),$j("#starred-"+e).removeClass("starred"),$j("#star-"+e).removeClass("hidden"),$j("#unstar-"+e).addClass("hidden"))})}function getPosition(e){var t={x:0,y:0};if(e.touches[0].pageX||e.touches[0].pageY)t.x=e.touches[0].pageX,t.y=e.touches[0].pageY;else if(e.touches[0].clientX||e.touches[0].clientY)t.x=e.touches[0].clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)-document.documentElement.clientLeft,t.y=e.touches[0].clientY+(document.documentElement.scrollTop||document.body.scrollTop)-document.documentElement.clientTop;else if(e.touches[0].x||e.touches[0].y)t.touches[0].x=e.touches[0].x,t.touches[0].y=e.touches[0].y;return t}function lockview(e,t){e=e||window.event,cursor=getPosition(e),lockvisible?lockviewhide():(lockvisible=!0,$j.get("lockview/"+t,function(e){$j("#panel").html(e),$j("#panel").css({left:cursor.x+5,top:cursor.y+5}),$j("#panel").show()}))}function lockviewhide(){lockvisible=!1,$j("#panel").hide()}function post_comment(e){return unpause(),commentBusy=!0,$j("body").css("cursor","wait"),$j("#comment-preview-inp-"+e).val("0"),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){if(t.success){$j("#comment-edit-wrapper-"+e).hide(),$j("#comment-edit-text-"+e).val("");var n=document.getElementById("comment-edit-text-"+e);n&&commentClose(n,e),timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,10)}t.reload&&(window.location.href=t.reload)},"json"),!1}function preview_comment(e){return $j("#comment-preview-inp-"+e).val("1"),$j("#comment-edit-preview-"+e).show(),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){t.preview&&($j("#comment-edit-preview-"+e).html(t.preview),$j("#comment-edit-preview-"+e+" a").click(function(){return!1}))},"json"),!0}function preview_post(){return $j("#jot-preview").val("1"),$j("#jot-preview-content").show(),tinyMCE.triggerSave(),$j.post("item",$j("#profile-jot-form").serialize(),function(e){e.preview&&($j("#jot-preview-content").html(e.preview),$j("#jot-preview-content a").click(function(){return!1}))},"json"),$j("#jot-preview").val("0"),!0}function unpause(){totStopped=!1,stopped=!1,$j("#pause").html("")}function bin2hex(e){var t,n,r=0,i=[];e+="",r=e.length;for(n=0;n<r;n++)i[n]=e.charCodeAt(n).toString(16).replace(/^([\da-f])$/,"0$1");return i.join("")}function groupChangeMember(e,t,n){$j("body .fakelink").css("cursor","wait"),$j.get("group/"+e+"/"+t+"?t="+n,function(e){$j("#group-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function profChangeMember(e,t){$j("body .fakelink").css("cursor","wait"),$j.get("profperm/"+e+"/"+t,function(e){$j("#prof-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function contactgroupChangeMember(e,t){$j("body").css("cursor","wait"),$j.get("contactgroup/"+e+"/"+t,function(e){$j("body").css("cursor","auto")})}function checkboxhighlight(e){$j(e).is(":checked")?$j(e).addClass("checkeditem"):$j(e).removeClass("checkeditem")}function notifyMarkAll(){$j.get("notify/mark/all",function(e){timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,1e3)})}function fcFileBrowser(e,t,n,r){var i=baseurl+"/fbrowser/"+n+"/";return tinyMCE.activeEditor.windowManager.open({file:i,title:"File Browser",width:420,height:400,resizable:"yes",inline:"yes",close_previous:"no"},{window:r,input:e}),!1}function setupFieldRichtext(){tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:"fieldRichtext",plugins:"bbcode,paste, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser"})}function previewTheme(e){theme=$j(e).val(),$j.getJSON("pretheme?f=&theme="+theme,function(e){$j("#theme-preview").html('<div id="theme-desc">'+e.desc+'</div><div id="theme-version">'+e.version+'</div><div id="theme-credits">'+e.credits+'</div><a href="'+e.img+'"><img src="'+e.img+'" width="320" height="240" alt="'+theme+'" /></a>')})}var src=null,prev=null,livetime=null,msie=!1,stopped=!1,totStopped=!1,timer=null,pr=0,liking=0,in_progress=!1,langSelect=!1,commentBusy=!1,last_popup_menu=null,last_popup_button=null;$j(function(){function e(e){last_popup_menu&&"#"+last_popup_menu.attr("id")!==$j(e.target).attr("rel")&&(last_popup_menu.hide(),last_popup_menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_button.removeClass("selected"),last_popup_menu=null,last_popup_button=null)}$j.ajaxSetup({cache:!1}),msie=$j.browser.msie,$j(".onoff input").each(function(){val=$j(this).val(),id=$j(this).attr("id"),$j("#"+id+"_onoff ."+(val==0?"on":"off")).addClass("hidden")}),$j(".onoff > a").click(function(e){e.preventDefault();var t=$j(this).siblings("input"),n=1-t.val(),r=t.attr("id");$j("#"+r+"_onoff ."+(n==0?"on":"off")).addClass("hidden"),$j("#"+r+"_onoff ."+(n==1?"on":"off")).removeClass("hidden"),t.val(n)}),$j("img[rel^=#]").click(function(t){return e(t),menu=$j($j(this).attr("rel")),t.preventDefault(),t.stopPropagation(),menu.attr("popup")=="false"?!1:(menu.css("display")=="none"?($j(this).parent().addClass("selected"),menu.show(),menu.attr("id")=="nav-notifications-menu"&&$j("section").hide(),last_popup_menu=menu,last_popup_button=$j(this).parent()):($j(this).parent().removeClass("selected"),menu.hide(),menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_menu=null,last_popup_button=null),!1)}),$j("html").click(function(t){e(t)});var t=unescape($j("#nav-notifications-template[rel=template]").html()),n=unescape($j("<div>").append($j("#nav-notifications-see-all").clone()).html()),r=unescape($j("<div>").append($j("#nav-notifications-mark-all").clone()).html()),i=unescape($j("#nav-notifications-menu").html());$j("nav").bind("nav-update",function(e,s){var o=$j(s).find("invalid").text();o==1&&(window.location.href=window.location.href);var u=$j(s).find("net").text();u==0?(u="",$j("#net-update").removeClass("show")):$j("#net-update").addClass("show"),$j("#net-update").html(u);var a=$j(s).find("home").text();a==0?(a="",$j("#home-update").removeClass("show")):$j("#home-update").addClass("show"),$j("#home-update").html(a);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update").removeClass("show")):$j("#intro-update").addClass("show"),$j("#intro-update").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update").removeClass("show")):$j("#mail-update").addClass("show"),$j("#mail-update").html(l);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update-li").removeClass("show")):$j("#intro-update-li").addClass("show"),$j("#intro-update-li").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update-li").removeClass("show")):$j("#mail-update-li").addClass("show"),$j("#mail-update-li").html(l);var c=$j(s).find("notif");c.children("note").length==0?$j("#nav-notifications-menu").html(i):(nnm=$j("#nav-notifications-menu"),nnm.html(n+r),c.children("note").each(function(){e=$j(this),text=e.text().format("<span class='contactname'>"+e.attr("name")+"</span>"),html=t.format(e.attr("href"),e.attr("photo"),text,e.attr("date"),e.attr("seen")),nnm.append(html)})),notif=c.attr("count"),notif>0?$j("#nav-notifications-linkmenu").addClass("on"):$j("#nav-notifications-linkmenu").removeClass("on"),notif==0?(notif="",$j("#notify-update").removeClass("show")):$j("#notify-update").addClass("show"),$j("#notify-update").html(notif);var h=$j(s).find("sysmsgs");h.children("notice").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"notice",life:1500})}),h.children("info").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"info",life:1e3})})}),NavUpdate()});var lockvisible=!1;String.prototype.format=function(){var e=this;for(var t=0;t<arguments.length;t++){var n=new RegExp("\\{"+t+"\\}","gi");e=e.replace(n,arguments[t])}return e},Array.prototype.remove=function(e){to=undefined,from=this.indexOf(e);var t=this.slice((to||from)+1||this.length);return this.length=from<0?this.length+from:from,this.push.apply(this,t)};
\ No newline at end of file
+function openClose(e){document.getElementById(e).style.display=="block"?document.getElementById(e).style.display="none":document.getElementById(e).style.display="block"}function openMenu(e){document.getElementById(e).style.display="block"}function closeMenu(e){document.getElementById(e).style.display="none"}function NavUpdate(){if(!stopped){var e="ping"+(localUser!=0?"?f=&uid="+localUser:"");$j.get(e,function(e){$j(e).find("result").each(function(){$j("nav").trigger("nav-update",this),$j("#live-network").length&&(src="network",liveUpdate()),$j("#live-profile").length&&(src="profile",liveUpdate()),$j("#live-community").length&&(src="community",liveUpdate()),$j("#live-notes").length&&(src="notes",liveUpdate()),$j("#live-display").length&&liking&&(liking=0,window.location.href=window.location.href),$j("#live-photos").length&&liking&&(liking=0,window.location.href=window.location.href)})})}timer=setTimeout(NavUpdate,updateInterval)}function liveUpdate(){if(src==null||stopped||!profile_uid){$j(".like-rotator").hide();return}if($j(".comment-edit-text-full").length||in_progress){livetime&&clearTimeout(livetime),livetime=setTimeout(liveUpdate,1e4);return}livetime!=null&&(livetime=null),prev="live-"+src,in_progress=!0;var e=netargs.length?"/"+netargs:"",t="update_"+src+e+"&p="+profile_uid+"&page="+profile_page+"&msie="+(msie?1:0);$j.get(t,function(e){in_progress=!1,$j(".toplevel_item",e).each(function(){var e=$j(this).attr("id");$j("#"+e).length==0&&profile_page==1?($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+prev).after($j(this))):($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+e).replaceWith($j(this))),prev=e}),$j(".like-rotator").hide(),commentBusy&&(commentBusy=!1,$j("body").css("cursor","auto")),$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl");var t=$j(".wall-item-body > img").not(function(){return this.complete}),n=t.length;n?t.load(function(){n--,n||collapseHeight()}):collapseHeight()})}function collapseHeight(){$j(".wall-item-body").each(function(){$j(this).height()>310&&($j(this).hasClass("divmore")||($j(this).divgrow({initialHeight:300,showBrackets:!1,speed:0}),$j(this).addClass("divmore")))})}function imgbright(e){$j(e).removeClass("drophide").addClass("drop")}function imgdull(e){$j(e).removeClass("drop").addClass("drophide")}function dolike(e,t){unpause(),$j("#like-rotator-"+e.toString()).show(),$j.get("like/"+e.toString()+"?verb="+t,NavUpdate),liking=1}function dostar(e){e=e.toString(),$j.get("starred/"+e,function(t){t.match(/1/)?($j("#starred-"+e).addClass("starred"),$j("#starred-"+e).removeClass("unstarred"),$j("#star-"+e).addClass("hidden"),$j("#unstar-"+e).removeClass("hidden")):($j("#starred-"+e).addClass("unstarred"),$j("#starred-"+e).removeClass("starred"),$j("#star-"+e).removeClass("hidden"),$j("#unstar-"+e).addClass("hidden"))})}function getPosition(e){var t={x:0,y:0};if(e.touches[0].pageX||e.touches[0].pageY)t.x=e.touches[0].pageX,t.y=e.touches[0].pageY;else if(e.touches[0].clientX||e.touches[0].clientY)t.x=e.touches[0].clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)-document.documentElement.clientLeft,t.y=e.touches[0].clientY+(document.documentElement.scrollTop||document.body.scrollTop)-document.documentElement.clientTop;else if(e.touches[0].x||e.touches[0].y)t.touches[0].x=e.touches[0].x,t.touches[0].y=e.touches[0].y;return t}function lockview(e,t){e=e||window.event,cursor=getPosition(e),lockvisible?lockviewhide():(lockvisible=!0,$j.get("lockview/"+t,function(e){$j("#panel").html(e),$j("#panel").css({left:cursor.x+5,top:cursor.y+5}),$j("#panel").show()}))}function lockviewhide(){lockvisible=!1,$j("#panel").hide()}function post_comment(e){return unpause(),commentBusy=!0,$j("body").css("cursor","wait"),$j("#comment-preview-inp-"+e).val("0"),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){if(t.success){$j("#comment-edit-wrapper-"+e).hide(),$j("#comment-edit-text-"+e).val("");var n=document.getElementById("comment-edit-text-"+e);n&&commentClose(n,e),timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,10)}t.reload&&(window.location.href=t.reload)},"json"),!1}function preview_comment(e){return $j("#comment-preview-inp-"+e).val("1"),$j("#comment-edit-preview-"+e).show(),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){t.preview&&($j("#comment-edit-preview-"+e).html(t.preview),$j("#comment-edit-preview-"+e+" a").click(function(){return!1}))},"json"),!0}function preview_post(){return $j("#jot-preview").val("1"),$j("#jot-preview-content").show(),tinyMCE.triggerSave(),$j.post("item",$j("#profile-jot-form").serialize(),function(e){e.preview&&($j("#jot-preview-content").html(e.preview),$j("#jot-preview-content a").click(function(){return!1}))},"json"),$j("#jot-preview").val("0"),!0}function unpause(){totStopped=!1,stopped=!1,$j("#pause").html("")}function bin2hex(e){var t,n,r=0,i=[];e+="",r=e.length;for(n=0;n<r;n++)i[n]=e.charCodeAt(n).toString(16).replace(/^([\da-f])$/,"0$1");return i.join("")}function groupChangeMember(e,t,n){$j("body .fakelink").css("cursor","wait"),$j.get("group/"+e+"/"+t+"?t="+n,function(e){$j("#group-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function profChangeMember(e,t){$j("body .fakelink").css("cursor","wait"),$j.get("profperm/"+e+"/"+t,function(e){$j("#prof-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function contactgroupChangeMember(e,t){$j("body").css("cursor","wait"),$j.get("contactgroup/"+e+"/"+t,function(e){$j("body").css("cursor","auto")})}function checkboxhighlight(e){$j(e).is(":checked")?$j(e).addClass("checkeditem"):$j(e).removeClass("checkeditem")}function notifyMarkAll(){$j.get("notify/mark/all",function(e){timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,1e3)})}function fcFileBrowser(e,t,n,r){var i=baseurl+"/fbrowser/"+n+"/";return tinyMCE.activeEditor.windowManager.open({file:i,title:"File Browser",width:420,height:400,resizable:"yes",inline:"yes",close_previous:"no"},{window:r,input:e}),!1}function setupFieldRichtext(){tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:"fieldRichtext",plugins:"bbcode,paste, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser"})}function previewTheme(e){theme=$j(e).val(),$j.getJSON("pretheme?f=&theme="+theme,function(e){$j("#theme-preview").html('<div id="theme-desc">'+e.desc+'</div><div id="theme-version">'+e.version+'</div><div id="theme-credits">'+e.credits+'</div><a href="'+e.img+'"><img src="'+e.img+'" width="320" height="240" alt="'+theme+'" /></a>')})}var src=null,prev=null,livetime=null,msie=!1,stopped=!1,totStopped=!1,timer=null,pr=0,liking=0,in_progress=!1,langSelect=!1,commentBusy=!1,last_popup_menu=null,last_popup_button=null;$j(function(){function e(e){last_popup_menu&&"#"+last_popup_menu.attr("id")!==$j(e.target).attr("rel")&&(last_popup_menu.hide(),last_popup_menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_button.removeClass("selected"),last_popup_menu=null,last_popup_button=null)}$j.ajaxSetup({cache:!1}),msie=$j.browser.msie,$j(".onoff input").each(function(){val=$j(this).val(),id=$j(this).attr("id"),$j("#"+id+"_onoff ."+(val==0?"on":"off")).addClass("hidden")}),$j(".onoff > a").click(function(e){e.preventDefault();var t=$j(this).siblings("input"),n=1-t.val(),r=t.attr("id");$j("#"+r+"_onoff ."+(n==0?"on":"off")).addClass("hidden"),$j("#"+r+"_onoff ."+(n==1?"on":"off")).removeClass("hidden"),t.val(n)}),$j("img[rel^=#]").click(function(t){return e(t),menu=$j($j(this).attr("rel")),t.preventDefault(),t.stopPropagation(),menu.attr("popup")=="false"?!1:(menu.css("display")=="none"?($j(this).parent().addClass("selected"),menu.show(),menu.attr("id")=="nav-notifications-menu"&&$j("section").hide(),last_popup_menu=menu,last_popup_button=$j(this).parent()):($j(this).parent().removeClass("selected"),menu.hide(),menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_menu=null,last_popup_button=null),!1)}),$j("html").click(function(t){e(t)});var t=unescape($j("#nav-notifications-template[rel=template]").html()),n=unescape($j("<div>").append($j("#nav-notifications-see-all").clone()).html()),r=unescape($j("<div>").append($j("#nav-notifications-mark-all").clone()).html()),i=unescape($j("#nav-notifications-menu").html());$j("nav").bind("nav-update",function(e,s){var o=$j(s).find("invalid").text();o==1&&(window.location.href=window.location.href);var u=$j(s).find("net").text();u==0?(u="",$j("#net-update").removeClass("show")):$j("#net-update").addClass("show"),$j("#net-update").html(u);var a=$j(s).find("home").text();a==0?(a="",$j("#home-update").removeClass("show")):$j("#home-update").addClass("show"),$j("#home-update").html(a);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update").removeClass("show")):$j("#intro-update").addClass("show"),$j("#intro-update").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update").removeClass("show")):$j("#mail-update").addClass("show"),$j("#mail-update").html(l);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update-li").removeClass("show")):$j("#intro-update-li").addClass("show"),$j("#intro-update-li").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update-li").removeClass("show")):$j("#mail-update-li").addClass("show"),$j("#mail-update-li").html(l);var c=$j(s).find("notif");c.children("note").length==0?$j("#nav-notifications-menu").html(i):(nnm=$j("#nav-notifications-menu"),nnm.html(n+r),c.children("note").each(function(){e=$j(this),text=e.text().format("<span class='contactname'>"+e.attr("name")+"</span>"),html=t.format(e.attr("href"),e.attr("photo"),text,e.attr("date"),e.attr("seen")),nnm.append(html)})),notif=c.attr("count"),notif>0?$j("#nav-notifications-linkmenu").addClass("on"):$j("#nav-notifications-linkmenu").removeClass("on"),notif==0?(notif="",$j("#notify-update").removeClass("show")):$j("#notify-update").addClass("show"),$j("#notify-update").html(notif);var h=$j(s).find("sysmsgs");h.children("notice").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"notice",life:1500})}),h.children("info").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"info",life:1e3})})}),NavUpdate()});var lockvisible=!1;String.prototype.format=function(){var e=this;for(var t=0;t<arguments.length;t++){var n=new RegExp("\\{"+t+"\\}","gi");e=e.replace(n,arguments[t])}return e},Array.prototype.remove=function(e){to=undefined,from=this.indexOf(e);var t=this.slice((to||from)+1||this.length);return this.length=from<0?this.length+from:from,this.push.apply(this,t)};
\ No newline at end of file

From a77081f6596047874263d822909ea60fcf65f568 Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Sun, 26 Aug 2012 09:31:37 -0600
Subject: [PATCH 10/22] remove show more/less from frost mobile--it is too
 great a load

---
 view/theme/frost-mobile/js/main.js     | 8 ++++----
 view/theme/frost-mobile/js/main.min.js | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/view/theme/frost-mobile/js/main.js b/view/theme/frost-mobile/js/main.js
index 15add4d69..c13cbef13 100644
--- a/view/theme/frost-mobile/js/main.js
+++ b/view/theme/frost-mobile/js/main.js
@@ -350,7 +350,7 @@
 			/* autocomplete @nicknames */
 			$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl");
 
-			var bimgs = $j(".wall-item-body > img").not(function() { return this.complete; });
+			/*var bimgs = $j(".wall-item-body > img").not(function() { return this.complete; });
 			var bimgcount = bimgs.length;
 
 			if (bimgcount) {
@@ -363,12 +363,12 @@
 				});
 			} else {
 				collapseHeight();
-			}
+			}*/
 
 		});
 	}
 
-	function collapseHeight() {
+/*	function collapseHeight() {
 		$j(".wall-item-body").each(function() {
 				if($j(this).height() > 310) {
 				if(! $j(this).hasClass('divmore')) {
@@ -377,7 +377,7 @@
 				}
 			}					
 		});
-	}
+	}*/
 
 	function imgbright(node) {
 		$j(node).removeClass("drophide").addClass("drop");
diff --git a/view/theme/frost-mobile/js/main.min.js b/view/theme/frost-mobile/js/main.min.js
index 405a5173e..1cb4ab8bc 100644
--- a/view/theme/frost-mobile/js/main.min.js
+++ b/view/theme/frost-mobile/js/main.min.js
@@ -1 +1 @@
-function openClose(e){document.getElementById(e).style.display=="block"?document.getElementById(e).style.display="none":document.getElementById(e).style.display="block"}function openMenu(e){document.getElementById(e).style.display="block"}function closeMenu(e){document.getElementById(e).style.display="none"}function NavUpdate(){if(!stopped){var e="ping"+(localUser!=0?"?f=&uid="+localUser:"");$j.get(e,function(e){$j(e).find("result").each(function(){$j("nav").trigger("nav-update",this),$j("#live-network").length&&(src="network",liveUpdate()),$j("#live-profile").length&&(src="profile",liveUpdate()),$j("#live-community").length&&(src="community",liveUpdate()),$j("#live-notes").length&&(src="notes",liveUpdate()),$j("#live-display").length&&liking&&(liking=0,window.location.href=window.location.href),$j("#live-photos").length&&liking&&(liking=0,window.location.href=window.location.href)})})}timer=setTimeout(NavUpdate,updateInterval)}function liveUpdate(){if(src==null||stopped||!profile_uid){$j(".like-rotator").hide();return}if($j(".comment-edit-text-full").length||in_progress){livetime&&clearTimeout(livetime),livetime=setTimeout(liveUpdate,1e4);return}livetime!=null&&(livetime=null),prev="live-"+src,in_progress=!0;var e=netargs.length?"/"+netargs:"",t="update_"+src+e+"&p="+profile_uid+"&page="+profile_page+"&msie="+(msie?1:0);$j.get(t,function(e){in_progress=!1,$j(".toplevel_item",e).each(function(){var e=$j(this).attr("id");$j("#"+e).length==0&&profile_page==1?($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+prev).after($j(this))):($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+e).replaceWith($j(this))),prev=e}),$j(".like-rotator").hide(),commentBusy&&(commentBusy=!1,$j("body").css("cursor","auto")),$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl");var t=$j(".wall-item-body > img").not(function(){return this.complete}),n=t.length;n?t.load(function(){n--,n||collapseHeight()}):collapseHeight()})}function collapseHeight(){$j(".wall-item-body").each(function(){$j(this).height()>310&&($j(this).hasClass("divmore")||($j(this).divgrow({initialHeight:300,showBrackets:!1,speed:0}),$j(this).addClass("divmore")))})}function imgbright(e){$j(e).removeClass("drophide").addClass("drop")}function imgdull(e){$j(e).removeClass("drop").addClass("drophide")}function dolike(e,t){unpause(),$j("#like-rotator-"+e.toString()).show(),$j.get("like/"+e.toString()+"?verb="+t,NavUpdate),liking=1}function dostar(e){e=e.toString(),$j.get("starred/"+e,function(t){t.match(/1/)?($j("#starred-"+e).addClass("starred"),$j("#starred-"+e).removeClass("unstarred"),$j("#star-"+e).addClass("hidden"),$j("#unstar-"+e).removeClass("hidden")):($j("#starred-"+e).addClass("unstarred"),$j("#starred-"+e).removeClass("starred"),$j("#star-"+e).removeClass("hidden"),$j("#unstar-"+e).addClass("hidden"))})}function getPosition(e){var t={x:0,y:0};if(e.touches[0].pageX||e.touches[0].pageY)t.x=e.touches[0].pageX,t.y=e.touches[0].pageY;else if(e.touches[0].clientX||e.touches[0].clientY)t.x=e.touches[0].clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)-document.documentElement.clientLeft,t.y=e.touches[0].clientY+(document.documentElement.scrollTop||document.body.scrollTop)-document.documentElement.clientTop;else if(e.touches[0].x||e.touches[0].y)t.touches[0].x=e.touches[0].x,t.touches[0].y=e.touches[0].y;return t}function lockview(e,t){e=e||window.event,cursor=getPosition(e),lockvisible?lockviewhide():(lockvisible=!0,$j.get("lockview/"+t,function(e){$j("#panel").html(e),$j("#panel").css({left:cursor.x+5,top:cursor.y+5}),$j("#panel").show()}))}function lockviewhide(){lockvisible=!1,$j("#panel").hide()}function post_comment(e){return unpause(),commentBusy=!0,$j("body").css("cursor","wait"),$j("#comment-preview-inp-"+e).val("0"),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){if(t.success){$j("#comment-edit-wrapper-"+e).hide(),$j("#comment-edit-text-"+e).val("");var n=document.getElementById("comment-edit-text-"+e);n&&commentClose(n,e),timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,10)}t.reload&&(window.location.href=t.reload)},"json"),!1}function preview_comment(e){return $j("#comment-preview-inp-"+e).val("1"),$j("#comment-edit-preview-"+e).show(),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){t.preview&&($j("#comment-edit-preview-"+e).html(t.preview),$j("#comment-edit-preview-"+e+" a").click(function(){return!1}))},"json"),!0}function preview_post(){return $j("#jot-preview").val("1"),$j("#jot-preview-content").show(),tinyMCE.triggerSave(),$j.post("item",$j("#profile-jot-form").serialize(),function(e){e.preview&&($j("#jot-preview-content").html(e.preview),$j("#jot-preview-content a").click(function(){return!1}))},"json"),$j("#jot-preview").val("0"),!0}function unpause(){totStopped=!1,stopped=!1,$j("#pause").html("")}function bin2hex(e){var t,n,r=0,i=[];e+="",r=e.length;for(n=0;n<r;n++)i[n]=e.charCodeAt(n).toString(16).replace(/^([\da-f])$/,"0$1");return i.join("")}function groupChangeMember(e,t,n){$j("body .fakelink").css("cursor","wait"),$j.get("group/"+e+"/"+t+"?t="+n,function(e){$j("#group-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function profChangeMember(e,t){$j("body .fakelink").css("cursor","wait"),$j.get("profperm/"+e+"/"+t,function(e){$j("#prof-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function contactgroupChangeMember(e,t){$j("body").css("cursor","wait"),$j.get("contactgroup/"+e+"/"+t,function(e){$j("body").css("cursor","auto")})}function checkboxhighlight(e){$j(e).is(":checked")?$j(e).addClass("checkeditem"):$j(e).removeClass("checkeditem")}function notifyMarkAll(){$j.get("notify/mark/all",function(e){timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,1e3)})}function fcFileBrowser(e,t,n,r){var i=baseurl+"/fbrowser/"+n+"/";return tinyMCE.activeEditor.windowManager.open({file:i,title:"File Browser",width:420,height:400,resizable:"yes",inline:"yes",close_previous:"no"},{window:r,input:e}),!1}function setupFieldRichtext(){tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:"fieldRichtext",plugins:"bbcode,paste, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser"})}function previewTheme(e){theme=$j(e).val(),$j.getJSON("pretheme?f=&theme="+theme,function(e){$j("#theme-preview").html('<div id="theme-desc">'+e.desc+'</div><div id="theme-version">'+e.version+'</div><div id="theme-credits">'+e.credits+'</div><a href="'+e.img+'"><img src="'+e.img+'" width="320" height="240" alt="'+theme+'" /></a>')})}var src=null,prev=null,livetime=null,msie=!1,stopped=!1,totStopped=!1,timer=null,pr=0,liking=0,in_progress=!1,langSelect=!1,commentBusy=!1,last_popup_menu=null,last_popup_button=null;$j(function(){function e(e){last_popup_menu&&"#"+last_popup_menu.attr("id")!==$j(e.target).attr("rel")&&(last_popup_menu.hide(),last_popup_menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_button.removeClass("selected"),last_popup_menu=null,last_popup_button=null)}$j.ajaxSetup({cache:!1}),msie=$j.browser.msie,$j(".onoff input").each(function(){val=$j(this).val(),id=$j(this).attr("id"),$j("#"+id+"_onoff ."+(val==0?"on":"off")).addClass("hidden")}),$j(".onoff > a").click(function(e){e.preventDefault();var t=$j(this).siblings("input"),n=1-t.val(),r=t.attr("id");$j("#"+r+"_onoff ."+(n==0?"on":"off")).addClass("hidden"),$j("#"+r+"_onoff ."+(n==1?"on":"off")).removeClass("hidden"),t.val(n)}),$j("img[rel^=#]").click(function(t){return e(t),menu=$j($j(this).attr("rel")),t.preventDefault(),t.stopPropagation(),menu.attr("popup")=="false"?!1:(menu.css("display")=="none"?($j(this).parent().addClass("selected"),menu.show(),menu.attr("id")=="nav-notifications-menu"&&$j("section").hide(),last_popup_menu=menu,last_popup_button=$j(this).parent()):($j(this).parent().removeClass("selected"),menu.hide(),menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_menu=null,last_popup_button=null),!1)}),$j("html").click(function(t){e(t)});var t=unescape($j("#nav-notifications-template[rel=template]").html()),n=unescape($j("<div>").append($j("#nav-notifications-see-all").clone()).html()),r=unescape($j("<div>").append($j("#nav-notifications-mark-all").clone()).html()),i=unescape($j("#nav-notifications-menu").html());$j("nav").bind("nav-update",function(e,s){var o=$j(s).find("invalid").text();o==1&&(window.location.href=window.location.href);var u=$j(s).find("net").text();u==0?(u="",$j("#net-update").removeClass("show")):$j("#net-update").addClass("show"),$j("#net-update").html(u);var a=$j(s).find("home").text();a==0?(a="",$j("#home-update").removeClass("show")):$j("#home-update").addClass("show"),$j("#home-update").html(a);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update").removeClass("show")):$j("#intro-update").addClass("show"),$j("#intro-update").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update").removeClass("show")):$j("#mail-update").addClass("show"),$j("#mail-update").html(l);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update-li").removeClass("show")):$j("#intro-update-li").addClass("show"),$j("#intro-update-li").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update-li").removeClass("show")):$j("#mail-update-li").addClass("show"),$j("#mail-update-li").html(l);var c=$j(s).find("notif");c.children("note").length==0?$j("#nav-notifications-menu").html(i):(nnm=$j("#nav-notifications-menu"),nnm.html(n+r),c.children("note").each(function(){e=$j(this),text=e.text().format("<span class='contactname'>"+e.attr("name")+"</span>"),html=t.format(e.attr("href"),e.attr("photo"),text,e.attr("date"),e.attr("seen")),nnm.append(html)})),notif=c.attr("count"),notif>0?$j("#nav-notifications-linkmenu").addClass("on"):$j("#nav-notifications-linkmenu").removeClass("on"),notif==0?(notif="",$j("#notify-update").removeClass("show")):$j("#notify-update").addClass("show"),$j("#notify-update").html(notif);var h=$j(s).find("sysmsgs");h.children("notice").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"notice",life:1500})}),h.children("info").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"info",life:1e3})})}),NavUpdate()});var lockvisible=!1;String.prototype.format=function(){var e=this;for(var t=0;t<arguments.length;t++){var n=new RegExp("\\{"+t+"\\}","gi");e=e.replace(n,arguments[t])}return e},Array.prototype.remove=function(e){to=undefined,from=this.indexOf(e);var t=this.slice((to||from)+1||this.length);return this.length=from<0?this.length+from:from,this.push.apply(this,t)};
\ No newline at end of file
+function openClose(e){document.getElementById(e).style.display=="block"?document.getElementById(e).style.display="none":document.getElementById(e).style.display="block"}function openMenu(e){document.getElementById(e).style.display="block"}function closeMenu(e){document.getElementById(e).style.display="none"}function NavUpdate(){if(!stopped){var e="ping"+(localUser!=0?"?f=&uid="+localUser:"");$j.get(e,function(e){$j(e).find("result").each(function(){$j("nav").trigger("nav-update",this),$j("#live-network").length&&(src="network",liveUpdate()),$j("#live-profile").length&&(src="profile",liveUpdate()),$j("#live-community").length&&(src="community",liveUpdate()),$j("#live-notes").length&&(src="notes",liveUpdate()),$j("#live-display").length&&liking&&(liking=0,window.location.href=window.location.href),$j("#live-photos").length&&liking&&(liking=0,window.location.href=window.location.href)})})}timer=setTimeout(NavUpdate,updateInterval)}function liveUpdate(){if(src==null||stopped||!profile_uid){$j(".like-rotator").hide();return}if($j(".comment-edit-text-full").length||in_progress){livetime&&clearTimeout(livetime),livetime=setTimeout(liveUpdate,1e4);return}livetime!=null&&(livetime=null),prev="live-"+src,in_progress=!0;var e=netargs.length?"/"+netargs:"",t="update_"+src+e+"&p="+profile_uid+"&page="+profile_page+"&msie="+(msie?1:0);$j.get(t,function(e){in_progress=!1,$j(".toplevel_item",e).each(function(){var e=$j(this).attr("id");$j("#"+e).length==0&&profile_page==1?($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+prev).after($j(this))):($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+e).replaceWith($j(this))),prev=e}),$j(".like-rotator").hide(),commentBusy&&(commentBusy=!1,$j("body").css("cursor","auto")),$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl")})}function imgbright(e){$j(e).removeClass("drophide").addClass("drop")}function imgdull(e){$j(e).removeClass("drop").addClass("drophide")}function dolike(e,t){unpause(),$j("#like-rotator-"+e.toString()).show(),$j.get("like/"+e.toString()+"?verb="+t,NavUpdate),liking=1}function dostar(e){e=e.toString(),$j.get("starred/"+e,function(t){t.match(/1/)?($j("#starred-"+e).addClass("starred"),$j("#starred-"+e).removeClass("unstarred"),$j("#star-"+e).addClass("hidden"),$j("#unstar-"+e).removeClass("hidden")):($j("#starred-"+e).addClass("unstarred"),$j("#starred-"+e).removeClass("starred"),$j("#star-"+e).removeClass("hidden"),$j("#unstar-"+e).addClass("hidden"))})}function getPosition(e){var t={x:0,y:0};if(e.touches[0].pageX||e.touches[0].pageY)t.x=e.touches[0].pageX,t.y=e.touches[0].pageY;else if(e.touches[0].clientX||e.touches[0].clientY)t.x=e.touches[0].clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)-document.documentElement.clientLeft,t.y=e.touches[0].clientY+(document.documentElement.scrollTop||document.body.scrollTop)-document.documentElement.clientTop;else if(e.touches[0].x||e.touches[0].y)t.touches[0].x=e.touches[0].x,t.touches[0].y=e.touches[0].y;return t}function lockview(e,t){e=e||window.event,cursor=getPosition(e),lockvisible?lockviewhide():(lockvisible=!0,$j.get("lockview/"+t,function(e){$j("#panel").html(e),$j("#panel").css({left:cursor.x+5,top:cursor.y+5}),$j("#panel").show()}))}function lockviewhide(){lockvisible=!1,$j("#panel").hide()}function post_comment(e){return unpause(),commentBusy=!0,$j("body").css("cursor","wait"),$j("#comment-preview-inp-"+e).val("0"),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){if(t.success){$j("#comment-edit-wrapper-"+e).hide(),$j("#comment-edit-text-"+e).val("");var n=document.getElementById("comment-edit-text-"+e);n&&commentClose(n,e),timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,10)}t.reload&&(window.location.href=t.reload)},"json"),!1}function preview_comment(e){return $j("#comment-preview-inp-"+e).val("1"),$j("#comment-edit-preview-"+e).show(),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){t.preview&&($j("#comment-edit-preview-"+e).html(t.preview),$j("#comment-edit-preview-"+e+" a").click(function(){return!1}))},"json"),!0}function preview_post(){return $j("#jot-preview").val("1"),$j("#jot-preview-content").show(),tinyMCE.triggerSave(),$j.post("item",$j("#profile-jot-form").serialize(),function(e){e.preview&&($j("#jot-preview-content").html(e.preview),$j("#jot-preview-content a").click(function(){return!1}))},"json"),$j("#jot-preview").val("0"),!0}function unpause(){totStopped=!1,stopped=!1,$j("#pause").html("")}function bin2hex(e){var t,n,r=0,i=[];e+="",r=e.length;for(n=0;n<r;n++)i[n]=e.charCodeAt(n).toString(16).replace(/^([\da-f])$/,"0$1");return i.join("")}function groupChangeMember(e,t,n){$j("body .fakelink").css("cursor","wait"),$j.get("group/"+e+"/"+t+"?t="+n,function(e){$j("#group-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function profChangeMember(e,t){$j("body .fakelink").css("cursor","wait"),$j.get("profperm/"+e+"/"+t,function(e){$j("#prof-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function contactgroupChangeMember(e,t){$j("body").css("cursor","wait"),$j.get("contactgroup/"+e+"/"+t,function(e){$j("body").css("cursor","auto")})}function checkboxhighlight(e){$j(e).is(":checked")?$j(e).addClass("checkeditem"):$j(e).removeClass("checkeditem")}function notifyMarkAll(){$j.get("notify/mark/all",function(e){timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,1e3)})}function fcFileBrowser(e,t,n,r){var i=baseurl+"/fbrowser/"+n+"/";return tinyMCE.activeEditor.windowManager.open({file:i,title:"File Browser",width:420,height:400,resizable:"yes",inline:"yes",close_previous:"no"},{window:r,input:e}),!1}function setupFieldRichtext(){tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:"fieldRichtext",plugins:"bbcode,paste, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser"})}function previewTheme(e){theme=$j(e).val(),$j.getJSON("pretheme?f=&theme="+theme,function(e){$j("#theme-preview").html('<div id="theme-desc">'+e.desc+'</div><div id="theme-version">'+e.version+'</div><div id="theme-credits">'+e.credits+'</div><a href="'+e.img+'"><img src="'+e.img+'" width="320" height="240" alt="'+theme+'" /></a>')})}var src=null,prev=null,livetime=null,msie=!1,stopped=!1,totStopped=!1,timer=null,pr=0,liking=0,in_progress=!1,langSelect=!1,commentBusy=!1,last_popup_menu=null,last_popup_button=null;$j(function(){function e(e){last_popup_menu&&"#"+last_popup_menu.attr("id")!==$j(e.target).attr("rel")&&(last_popup_menu.hide(),last_popup_menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_button.removeClass("selected"),last_popup_menu=null,last_popup_button=null)}$j.ajaxSetup({cache:!1}),msie=$j.browser.msie,$j(".onoff input").each(function(){val=$j(this).val(),id=$j(this).attr("id"),$j("#"+id+"_onoff ."+(val==0?"on":"off")).addClass("hidden")}),$j(".onoff > a").click(function(e){e.preventDefault();var t=$j(this).siblings("input"),n=1-t.val(),r=t.attr("id");$j("#"+r+"_onoff ."+(n==0?"on":"off")).addClass("hidden"),$j("#"+r+"_onoff ."+(n==1?"on":"off")).removeClass("hidden"),t.val(n)}),$j("img[rel^=#]").click(function(t){return e(t),menu=$j($j(this).attr("rel")),t.preventDefault(),t.stopPropagation(),menu.attr("popup")=="false"?!1:(menu.css("display")=="none"?($j(this).parent().addClass("selected"),menu.show(),menu.attr("id")=="nav-notifications-menu"&&$j("section").hide(),last_popup_menu=menu,last_popup_button=$j(this).parent()):($j(this).parent().removeClass("selected"),menu.hide(),menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_menu=null,last_popup_button=null),!1)}),$j("html").click(function(t){e(t)});var t=unescape($j("#nav-notifications-template[rel=template]").html()),n=unescape($j("<div>").append($j("#nav-notifications-see-all").clone()).html()),r=unescape($j("<div>").append($j("#nav-notifications-mark-all").clone()).html()),i=unescape($j("#nav-notifications-menu").html());$j("nav").bind("nav-update",function(e,s){var o=$j(s).find("invalid").text();o==1&&(window.location.href=window.location.href);var u=$j(s).find("net").text();u==0?(u="",$j("#net-update").removeClass("show")):$j("#net-update").addClass("show"),$j("#net-update").html(u);var a=$j(s).find("home").text();a==0?(a="",$j("#home-update").removeClass("show")):$j("#home-update").addClass("show"),$j("#home-update").html(a);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update").removeClass("show")):$j("#intro-update").addClass("show"),$j("#intro-update").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update").removeClass("show")):$j("#mail-update").addClass("show"),$j("#mail-update").html(l);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update-li").removeClass("show")):$j("#intro-update-li").addClass("show"),$j("#intro-update-li").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update-li").removeClass("show")):$j("#mail-update-li").addClass("show"),$j("#mail-update-li").html(l);var c=$j(s).find("notif");c.children("note").length==0?$j("#nav-notifications-menu").html(i):(nnm=$j("#nav-notifications-menu"),nnm.html(n+r),c.children("note").each(function(){e=$j(this),text=e.text().format("<span class='contactname'>"+e.attr("name")+"</span>"),html=t.format(e.attr("href"),e.attr("photo"),text,e.attr("date"),e.attr("seen")),nnm.append(html)})),notif=c.attr("count"),notif>0?$j("#nav-notifications-linkmenu").addClass("on"):$j("#nav-notifications-linkmenu").removeClass("on"),notif==0?(notif="",$j("#notify-update").removeClass("show")):$j("#notify-update").addClass("show"),$j("#notify-update").html(notif);var h=$j(s).find("sysmsgs");h.children("notice").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"notice",life:1500})}),h.children("info").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"info",life:1e3})})}),NavUpdate()});var lockvisible=!1;String.prototype.format=function(){var e=this;for(var t=0;t<arguments.length;t++){var n=new RegExp("\\{"+t+"\\}","gi");e=e.replace(n,arguments[t])}return e},Array.prototype.remove=function(e){to=undefined,from=this.indexOf(e);var t=this.slice((to||from)+1||this.length);return this.length=from<0?this.length+from:from,this.push.apply(this,t)};
\ No newline at end of file

From 72712175b594ac3d5b04672d3f801585f6d544e2 Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Sun, 26 Aug 2012 14:56:34 -0600
Subject: [PATCH 11/22] regular expressions were grabbing too much

---
 include/bb2diaspora.php  | 61 +---------------------------------------
 include/bbcode.php       | 59 ++++++++++++++++++++++++++++++++++++++
 include/conversation.php | 37 +++++++++++++++---------
 3 files changed, 84 insertions(+), 73 deletions(-)

diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php
index b0e12027a..f00741790 100644
--- a/include/bb2diaspora.php
+++ b/include/bb2diaspora.php
@@ -8,65 +8,6 @@ require_once("include/bbcode.php");
 require_once("include/markdownify/markdownify.php");
 
 
-function get_bb_tag_pos($s, $name, $occurance = 1) {
-
-	if($occurance < 1)
-		$occurance = 1;
-
-	$start_open = -1;
-	for($i = 1; $i <= $occurance; $i++) {
-		if( $start_open !== false)
-			$start_open = strpos($s, '[' . $name, $start_open + 1); // allow [name= type tags
-	}
-
-	if( $start_open === false)
-		return false;
-
-	$start_equal = strpos($s, '=', $start_open);
-	$start_close = strpos($s, ']', $start_open);
-
-	if( $start_close === false)
-		return false;
-
-	$start_close++;
-
-	$end_open = strpos($s, '[/' . $name . ']', $start_close);
-
-	if( $end_open === false)
-		return false;
-
-	$res = array( 'start' => array('open' => $start_open, 'close' => $start_close),
-	              'end' => array('open' => $end_open, 'close' => $end_open + strlen('[/' . $name . ']')) );
-	if( $start_equal !== false)
-		$res['start']['equal'] = $start_equal + 1;
-
-	return $res;
-}
-
-function bb_tag_preg_replace($pattern, $replace, $name, $s) {
-
-	$string = $s;
-
-	$occurance = 1;
-	$pos = get_bb_tag_pos($string, $name, $occurance);
-	while($pos !== false && $occurance < 1000) {
-
-		$start = substr($string, 0, $pos['start']['open']);
-		$subject = substr($string, $pos['start']['open'], $pos['end']['close'] - $pos['start']['open']);
-		$end = substr($string, $pos['end']['close']);
-		if($end === false)
-			$end = '';
-
-		$subject = preg_replace($pattern, $replace, $subject);
-		$string = $start . $subject . $end;
-
-		$occurance++;
-		$pos = get_bb_tag_pos($string, $name, $occurance);
-	}
-
-	return $string;
-}
-
 // we don't want to support a bbcode specific markdown interpreter
 // and the markdown library we have is pretty good, but provides HTML output.
 // So we'll use that to convert to HTML, then convert the HTML back to bbcode,
@@ -113,7 +54,7 @@ function diaspora2bb($s) {
 	//$s = preg_replace("/([^\]\=]|^)(https?\:\/\/)(vimeo|youtu|www\.youtube|soundcloud)([a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1[url=$2$3$4]$2$3$4[/url]',$s);
 	$s = bb_tag_preg_replace("/\[url\=?(.*?)\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/url\]/ism",'[youtube]$2[/youtube]','url',$s);
 	$s = bb_tag_preg_replace("/\[url\=https?:\/\/www.youtube.com\/watch\?v\=(.*?)\].*?\[\/url\]/ism",'[youtube]$1[/youtube]','url',$s);
-	$s = bb_tag_preg_replace("/\[url\=?(.*?)\]https?:\/	\/vimeo.com\/([0-9]+)(.*?)\[\/url\]/ism",'[vimeo]$2[/vimeo]','url',$s);
+	$s = bb_tag_preg_replace("/\[url\=?(.*?)\]https?:\/\/vimeo.com\/([0-9]+)(.*?)\[\/url\]/ism",'[vimeo]$2[/vimeo]','url',$s);
 	$s = bb_tag_preg_replace("/\[url\=https?:\/\/vimeo.com\/([0-9]+)\](.*?)\[\/url\]/ism",'[vimeo]$1[/vimeo]','url',$s);
 	// remove duplicate adjacent code tags
 	$s = preg_replace("/(\[code\])+(.*?)(\[\/code\])+/ism","[code]$2[/code]", $s);
diff --git a/include/bbcode.php b/include/bbcode.php
index 29ee71d41..6f22d1970 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -47,6 +47,65 @@ function bb_unspacefy_and_trim($st) {
   return $unspacefied;
 }
 
+function get_bb_tag_pos($s, $name, $occurance = 1) {
+
+	if($occurance < 1)
+		$occurance = 1;
+
+	$start_open = -1;
+	for($i = 1; $i <= $occurance; $i++) {
+		if( $start_open !== false)
+			$start_open = strpos($s, '[' . $name, $start_open + 1); // allow [name= type tags
+	}
+
+	if( $start_open === false)
+		return false;
+
+	$start_equal = strpos($s, '=', $start_open);
+	$start_close = strpos($s, ']', $start_open);
+
+	if( $start_close === false)
+		return false;
+
+	$start_close++;
+
+	$end_open = strpos($s, '[/' . $name . ']', $start_close);
+
+	if( $end_open === false)
+		return false;
+
+	$res = array( 'start' => array('open' => $start_open, 'close' => $start_close),
+	              'end' => array('open' => $end_open, 'close' => $end_open + strlen('[/' . $name . ']')) );
+	if( $start_equal !== false)
+		$res['start']['equal'] = $start_equal + 1;
+
+	return $res;
+}
+
+function bb_tag_preg_replace($pattern, $replace, $name, $s) {
+
+	$string = $s;
+
+	$occurance = 1;
+	$pos = get_bb_tag_pos($string, $name, $occurance);
+	while($pos !== false && $occurance < 1000) {
+
+		$start = substr($string, 0, $pos['start']['open']);
+		$subject = substr($string, $pos['start']['open'], $pos['end']['close'] - $pos['start']['open']);
+		$end = substr($string, $pos['end']['close']);
+		if($end === false)
+			$end = '';
+
+		$subject = preg_replace($pattern, $replace, $subject);
+		$string = $start . $subject . $end;
+
+		$occurance++;
+		$pos = get_bb_tag_pos($string, $name, $occurance);
+	}
+
+	return $string;
+}
+
 if(! function_exists('bb_extract_images')) {
 function bb_extract_images($body) {
 
diff --git a/include/conversation.php b/include/conversation.php
index 0b091571f..1fc064285 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -1,5 +1,8 @@
 <?php
 
+require_once("include/bbcode.php");
+
+
 // Note: the code in 'item_extract_images' and 'item_redir_and_replace_images'
 // is identical to the code in mod/message.php for 'item_extract_images' and
 // 'item_redir_and_replace_images'
@@ -51,19 +54,27 @@ function item_redir_and_replace_images($body, $images, $cid) {
 	$origbody = $body;
 	$newbody = '';
 
-	for($i = 0; $i < count($images); $i++) {
-		$search = '/\[url\=(.*?)\]\[!#saved_image' . $i . '#!\]\[\/url\]' . '/is';
+	$cnt = 1;
+	$pos = get_bb_tag_pos($origbody, 'url', 1);
+	while($pos !== false && $cnt < 1000) {
+
+		$search = '/\[url\=(.*?)\]\[!#saved_image([0-9]*)#!\]\[\/url\]' . '/is';
 		$replace = '[url=' . z_path() . '/redir/' . $cid 
-		           . '?f=1&url=' . '$1' . '][!#saved_image' . $i . '#!][/url]' ;
+		           . '?f=1&url=' . '$1' . '][!#saved_image' . '$2' .'#!][/url]';
 
-		$img_end = strpos($origbody, '[!#saved_image' . $i . '#!][/url]') + strlen('[!#saved_image' . $i . '#!][/url]');
-		$process_part = substr($origbody, 0, $img_end);
-		$origbody = substr($origbody, $img_end);
+		$newbody .= substr($origbody, 0, $pos['start']['open']);
+		$subject = substr($origbody, $pos['start']['open'], $pos['end']['close'] - $pos['start']['open']);
+		$origbody = substr($origbody, $pos['end']['close']);
+		if($origbody === false)
+			$origbody = '';
 
-		$process_part = preg_replace($search, $replace, $process_part);
-		$newbody = $newbody . $process_part;
+		$subject = preg_replace($search, $replace, $subject);
+		$newbody .= $subject;
+
+		$cnt++;
+		$pos = get_bb_tag_pos($origbody, 'url', 1);
 	}
-	$newbody = $newbody . $origbody;
+	$newbody .= $origbody;
 
 	$cnt = 0;
 	foreach($images as $image) {
@@ -293,10 +304,10 @@ function localize_item(&$item){
 	}
 
 	// add zrl's to public images
-	if(preg_match_all('/\[url=(.*?)\/photos\/(.*?)\/image\/(.*?)\]\[img(.*?)\]h(.*?)\[\/img\]\[\/url\]/is',$item['body'],$matches,PREG_SET_ORDER)) {
-		foreach($matches as $mtch) {
-				$item['body'] = str_replace($mtch[0],'[url=' . zrl($mtch[1] . '/photos/' . $mtch[2] . '/image/' . $mtch[3] ,true) . '][img' . $mtch[4] . ']h' . $mtch[5]  . '[/img][/url]',$item['body']);
-		}
+	$photo_pattern = "/\[url=(.*?)\/photos\/(.*?)\/image\/(.*?)\]\[img(.*?)\]h(.*?)\[\/img\]\[\/url\]/is";
+	if(preg_match($photo_pattern,$item['body'])) {
+		$photo_replace = '[url=' . zrl('$1' . '/photos/' . '$2' . '/image/' . '$3' ,true) . '][img' . '$4' . ']h' . '$5'  . '[/img][/url]';
+		$item['body'] = bb_tag_preg_replace($photo_pattern, $photo_replace, 'url', $item['body']);
 	}
 
 	// add sparkle links to appropriate permalinks

From c681e697942750b5fd030f0149ff19847dc3362f Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Sun, 26 Aug 2012 15:21:26 -0600
Subject: [PATCH 12/22] limit number of items on profile page too; add show
 more back to Frost mobile; some show more fixes

---
 mod/profile.php                        | 32 +++++++++++++++-----------
 mod/settings.php                       |  2 +-
 view/theme/frost-mobile/js/main.js     |  8 +++----
 view/theme/frost-mobile/js/main.min.js |  2 +-
 view/theme/frost-mobile/style.css      |  5 ++++
 view/theme/frost-mobile/theme.php      |  3 ++-
 view/theme/frost/style.css             |  5 ++++
 view/theme/frost/theme.php             |  3 ++-
 8 files changed, 39 insertions(+), 21 deletions(-)

diff --git a/mod/profile.php b/mod/profile.php
index f02cc1bd8..24cadef3b 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -229,21 +229,27 @@ function profile_content(&$a, $update = 0) {
 			$sql_extra2 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2))));
 		}
 
-                if(! get_pconfig($a->profile['profile_uid'],'system','alt_pager')) {
-		        $r = q("SELECT COUNT(*) AS `total`
-			        FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
-			        WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
-			        and `item`.`moderated` = 0 AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 
-			        AND `item`.`id` = `item`.`parent` AND `item`.`wall` = 1
-			        $sql_extra $sql_extra2 ",
-			        intval($a->profile['profile_uid'])
-		        );
+		if(! get_pconfig($a->profile['profile_uid'],'system','alt_pager')) {
+		    $r = q("SELECT COUNT(*) AS `total`
+			    FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+			    WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
+			    and `item`.`moderated` = 0 AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 
+			    AND `item`.`id` = `item`.`parent` AND `item`.`wall` = 1
+			    $sql_extra $sql_extra2 ",
+			    intval($a->profile['profile_uid'])
+		    );
 
-		        if(count($r)) {
-			        $a->set_pager_total($r[0]['total']);
+	        if(count($r)) {
+		        $a->set_pager_total($r[0]['total']);
+			}
 		}
-		}
-		$a->set_pager_itemspage(40);
+
+		$itemspage_network = get_pconfig(local_user(),'system','itemspage_network');
+		$itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 40);
+		if(($a->force_max_items > 0) && ($a->force_max_items < $itemspage_network))
+			$itemspage_network = $a->force_max_items;
+
+		$a->set_pager_itemspage($itemspage_network);
 
 		$pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
 
diff --git a/mod/settings.php b/mod/settings.php
index b8cf95e9c..c0244e697 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -755,7 +755,7 @@ function settings_content(&$a) {
 		
 			'$theme'	=> array('theme', t('Display Theme:'), $theme_selected, '', $themes),
 			'$ajaxint'   => array('browser_update',  t("Update browser every xx seconds"), $browser_update, t('Minimum of 10 seconds, no maximum')),
-			'$itemspage_network'   => array('itemspage_network',  t("Number of items to display on the network page:"), $itemspage_network, t('Maximum of 100 items')),
+			'$itemspage_network'   => array('itemspage_network',  t("Number of items to display per page:"), $itemspage_network, t('Maximum of 100 items')),
 			'$nosmile'	=> array('nosmile', t("Don't show emoticons"), $nosmile, ''),
 			
 			'$theme_config' => $theme_config,
diff --git a/view/theme/frost-mobile/js/main.js b/view/theme/frost-mobile/js/main.js
index c13cbef13..15add4d69 100644
--- a/view/theme/frost-mobile/js/main.js
+++ b/view/theme/frost-mobile/js/main.js
@@ -350,7 +350,7 @@
 			/* autocomplete @nicknames */
 			$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl");
 
-			/*var bimgs = $j(".wall-item-body > img").not(function() { return this.complete; });
+			var bimgs = $j(".wall-item-body > img").not(function() { return this.complete; });
 			var bimgcount = bimgs.length;
 
 			if (bimgcount) {
@@ -363,12 +363,12 @@
 				});
 			} else {
 				collapseHeight();
-			}*/
+			}
 
 		});
 	}
 
-/*	function collapseHeight() {
+	function collapseHeight() {
 		$j(".wall-item-body").each(function() {
 				if($j(this).height() > 310) {
 				if(! $j(this).hasClass('divmore')) {
@@ -377,7 +377,7 @@
 				}
 			}					
 		});
-	}*/
+	}
 
 	function imgbright(node) {
 		$j(node).removeClass("drophide").addClass("drop");
diff --git a/view/theme/frost-mobile/js/main.min.js b/view/theme/frost-mobile/js/main.min.js
index 1cb4ab8bc..405a5173e 100644
--- a/view/theme/frost-mobile/js/main.min.js
+++ b/view/theme/frost-mobile/js/main.min.js
@@ -1 +1 @@
-function openClose(e){document.getElementById(e).style.display=="block"?document.getElementById(e).style.display="none":document.getElementById(e).style.display="block"}function openMenu(e){document.getElementById(e).style.display="block"}function closeMenu(e){document.getElementById(e).style.display="none"}function NavUpdate(){if(!stopped){var e="ping"+(localUser!=0?"?f=&uid="+localUser:"");$j.get(e,function(e){$j(e).find("result").each(function(){$j("nav").trigger("nav-update",this),$j("#live-network").length&&(src="network",liveUpdate()),$j("#live-profile").length&&(src="profile",liveUpdate()),$j("#live-community").length&&(src="community",liveUpdate()),$j("#live-notes").length&&(src="notes",liveUpdate()),$j("#live-display").length&&liking&&(liking=0,window.location.href=window.location.href),$j("#live-photos").length&&liking&&(liking=0,window.location.href=window.location.href)})})}timer=setTimeout(NavUpdate,updateInterval)}function liveUpdate(){if(src==null||stopped||!profile_uid){$j(".like-rotator").hide();return}if($j(".comment-edit-text-full").length||in_progress){livetime&&clearTimeout(livetime),livetime=setTimeout(liveUpdate,1e4);return}livetime!=null&&(livetime=null),prev="live-"+src,in_progress=!0;var e=netargs.length?"/"+netargs:"",t="update_"+src+e+"&p="+profile_uid+"&page="+profile_page+"&msie="+(msie?1:0);$j.get(t,function(e){in_progress=!1,$j(".toplevel_item",e).each(function(){var e=$j(this).attr("id");$j("#"+e).length==0&&profile_page==1?($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+prev).after($j(this))):($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+e).replaceWith($j(this))),prev=e}),$j(".like-rotator").hide(),commentBusy&&(commentBusy=!1,$j("body").css("cursor","auto")),$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl")})}function imgbright(e){$j(e).removeClass("drophide").addClass("drop")}function imgdull(e){$j(e).removeClass("drop").addClass("drophide")}function dolike(e,t){unpause(),$j("#like-rotator-"+e.toString()).show(),$j.get("like/"+e.toString()+"?verb="+t,NavUpdate),liking=1}function dostar(e){e=e.toString(),$j.get("starred/"+e,function(t){t.match(/1/)?($j("#starred-"+e).addClass("starred"),$j("#starred-"+e).removeClass("unstarred"),$j("#star-"+e).addClass("hidden"),$j("#unstar-"+e).removeClass("hidden")):($j("#starred-"+e).addClass("unstarred"),$j("#starred-"+e).removeClass("starred"),$j("#star-"+e).removeClass("hidden"),$j("#unstar-"+e).addClass("hidden"))})}function getPosition(e){var t={x:0,y:0};if(e.touches[0].pageX||e.touches[0].pageY)t.x=e.touches[0].pageX,t.y=e.touches[0].pageY;else if(e.touches[0].clientX||e.touches[0].clientY)t.x=e.touches[0].clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)-document.documentElement.clientLeft,t.y=e.touches[0].clientY+(document.documentElement.scrollTop||document.body.scrollTop)-document.documentElement.clientTop;else if(e.touches[0].x||e.touches[0].y)t.touches[0].x=e.touches[0].x,t.touches[0].y=e.touches[0].y;return t}function lockview(e,t){e=e||window.event,cursor=getPosition(e),lockvisible?lockviewhide():(lockvisible=!0,$j.get("lockview/"+t,function(e){$j("#panel").html(e),$j("#panel").css({left:cursor.x+5,top:cursor.y+5}),$j("#panel").show()}))}function lockviewhide(){lockvisible=!1,$j("#panel").hide()}function post_comment(e){return unpause(),commentBusy=!0,$j("body").css("cursor","wait"),$j("#comment-preview-inp-"+e).val("0"),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){if(t.success){$j("#comment-edit-wrapper-"+e).hide(),$j("#comment-edit-text-"+e).val("");var n=document.getElementById("comment-edit-text-"+e);n&&commentClose(n,e),timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,10)}t.reload&&(window.location.href=t.reload)},"json"),!1}function preview_comment(e){return $j("#comment-preview-inp-"+e).val("1"),$j("#comment-edit-preview-"+e).show(),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){t.preview&&($j("#comment-edit-preview-"+e).html(t.preview),$j("#comment-edit-preview-"+e+" a").click(function(){return!1}))},"json"),!0}function preview_post(){return $j("#jot-preview").val("1"),$j("#jot-preview-content").show(),tinyMCE.triggerSave(),$j.post("item",$j("#profile-jot-form").serialize(),function(e){e.preview&&($j("#jot-preview-content").html(e.preview),$j("#jot-preview-content a").click(function(){return!1}))},"json"),$j("#jot-preview").val("0"),!0}function unpause(){totStopped=!1,stopped=!1,$j("#pause").html("")}function bin2hex(e){var t,n,r=0,i=[];e+="",r=e.length;for(n=0;n<r;n++)i[n]=e.charCodeAt(n).toString(16).replace(/^([\da-f])$/,"0$1");return i.join("")}function groupChangeMember(e,t,n){$j("body .fakelink").css("cursor","wait"),$j.get("group/"+e+"/"+t+"?t="+n,function(e){$j("#group-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function profChangeMember(e,t){$j("body .fakelink").css("cursor","wait"),$j.get("profperm/"+e+"/"+t,function(e){$j("#prof-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function contactgroupChangeMember(e,t){$j("body").css("cursor","wait"),$j.get("contactgroup/"+e+"/"+t,function(e){$j("body").css("cursor","auto")})}function checkboxhighlight(e){$j(e).is(":checked")?$j(e).addClass("checkeditem"):$j(e).removeClass("checkeditem")}function notifyMarkAll(){$j.get("notify/mark/all",function(e){timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,1e3)})}function fcFileBrowser(e,t,n,r){var i=baseurl+"/fbrowser/"+n+"/";return tinyMCE.activeEditor.windowManager.open({file:i,title:"File Browser",width:420,height:400,resizable:"yes",inline:"yes",close_previous:"no"},{window:r,input:e}),!1}function setupFieldRichtext(){tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:"fieldRichtext",plugins:"bbcode,paste, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser"})}function previewTheme(e){theme=$j(e).val(),$j.getJSON("pretheme?f=&theme="+theme,function(e){$j("#theme-preview").html('<div id="theme-desc">'+e.desc+'</div><div id="theme-version">'+e.version+'</div><div id="theme-credits">'+e.credits+'</div><a href="'+e.img+'"><img src="'+e.img+'" width="320" height="240" alt="'+theme+'" /></a>')})}var src=null,prev=null,livetime=null,msie=!1,stopped=!1,totStopped=!1,timer=null,pr=0,liking=0,in_progress=!1,langSelect=!1,commentBusy=!1,last_popup_menu=null,last_popup_button=null;$j(function(){function e(e){last_popup_menu&&"#"+last_popup_menu.attr("id")!==$j(e.target).attr("rel")&&(last_popup_menu.hide(),last_popup_menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_button.removeClass("selected"),last_popup_menu=null,last_popup_button=null)}$j.ajaxSetup({cache:!1}),msie=$j.browser.msie,$j(".onoff input").each(function(){val=$j(this).val(),id=$j(this).attr("id"),$j("#"+id+"_onoff ."+(val==0?"on":"off")).addClass("hidden")}),$j(".onoff > a").click(function(e){e.preventDefault();var t=$j(this).siblings("input"),n=1-t.val(),r=t.attr("id");$j("#"+r+"_onoff ."+(n==0?"on":"off")).addClass("hidden"),$j("#"+r+"_onoff ."+(n==1?"on":"off")).removeClass("hidden"),t.val(n)}),$j("img[rel^=#]").click(function(t){return e(t),menu=$j($j(this).attr("rel")),t.preventDefault(),t.stopPropagation(),menu.attr("popup")=="false"?!1:(menu.css("display")=="none"?($j(this).parent().addClass("selected"),menu.show(),menu.attr("id")=="nav-notifications-menu"&&$j("section").hide(),last_popup_menu=menu,last_popup_button=$j(this).parent()):($j(this).parent().removeClass("selected"),menu.hide(),menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_menu=null,last_popup_button=null),!1)}),$j("html").click(function(t){e(t)});var t=unescape($j("#nav-notifications-template[rel=template]").html()),n=unescape($j("<div>").append($j("#nav-notifications-see-all").clone()).html()),r=unescape($j("<div>").append($j("#nav-notifications-mark-all").clone()).html()),i=unescape($j("#nav-notifications-menu").html());$j("nav").bind("nav-update",function(e,s){var o=$j(s).find("invalid").text();o==1&&(window.location.href=window.location.href);var u=$j(s).find("net").text();u==0?(u="",$j("#net-update").removeClass("show")):$j("#net-update").addClass("show"),$j("#net-update").html(u);var a=$j(s).find("home").text();a==0?(a="",$j("#home-update").removeClass("show")):$j("#home-update").addClass("show"),$j("#home-update").html(a);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update").removeClass("show")):$j("#intro-update").addClass("show"),$j("#intro-update").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update").removeClass("show")):$j("#mail-update").addClass("show"),$j("#mail-update").html(l);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update-li").removeClass("show")):$j("#intro-update-li").addClass("show"),$j("#intro-update-li").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update-li").removeClass("show")):$j("#mail-update-li").addClass("show"),$j("#mail-update-li").html(l);var c=$j(s).find("notif");c.children("note").length==0?$j("#nav-notifications-menu").html(i):(nnm=$j("#nav-notifications-menu"),nnm.html(n+r),c.children("note").each(function(){e=$j(this),text=e.text().format("<span class='contactname'>"+e.attr("name")+"</span>"),html=t.format(e.attr("href"),e.attr("photo"),text,e.attr("date"),e.attr("seen")),nnm.append(html)})),notif=c.attr("count"),notif>0?$j("#nav-notifications-linkmenu").addClass("on"):$j("#nav-notifications-linkmenu").removeClass("on"),notif==0?(notif="",$j("#notify-update").removeClass("show")):$j("#notify-update").addClass("show"),$j("#notify-update").html(notif);var h=$j(s).find("sysmsgs");h.children("notice").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"notice",life:1500})}),h.children("info").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"info",life:1e3})})}),NavUpdate()});var lockvisible=!1;String.prototype.format=function(){var e=this;for(var t=0;t<arguments.length;t++){var n=new RegExp("\\{"+t+"\\}","gi");e=e.replace(n,arguments[t])}return e},Array.prototype.remove=function(e){to=undefined,from=this.indexOf(e);var t=this.slice((to||from)+1||this.length);return this.length=from<0?this.length+from:from,this.push.apply(this,t)};
\ No newline at end of file
+function openClose(e){document.getElementById(e).style.display=="block"?document.getElementById(e).style.display="none":document.getElementById(e).style.display="block"}function openMenu(e){document.getElementById(e).style.display="block"}function closeMenu(e){document.getElementById(e).style.display="none"}function NavUpdate(){if(!stopped){var e="ping"+(localUser!=0?"?f=&uid="+localUser:"");$j.get(e,function(e){$j(e).find("result").each(function(){$j("nav").trigger("nav-update",this),$j("#live-network").length&&(src="network",liveUpdate()),$j("#live-profile").length&&(src="profile",liveUpdate()),$j("#live-community").length&&(src="community",liveUpdate()),$j("#live-notes").length&&(src="notes",liveUpdate()),$j("#live-display").length&&liking&&(liking=0,window.location.href=window.location.href),$j("#live-photos").length&&liking&&(liking=0,window.location.href=window.location.href)})})}timer=setTimeout(NavUpdate,updateInterval)}function liveUpdate(){if(src==null||stopped||!profile_uid){$j(".like-rotator").hide();return}if($j(".comment-edit-text-full").length||in_progress){livetime&&clearTimeout(livetime),livetime=setTimeout(liveUpdate,1e4);return}livetime!=null&&(livetime=null),prev="live-"+src,in_progress=!0;var e=netargs.length?"/"+netargs:"",t="update_"+src+e+"&p="+profile_uid+"&page="+profile_page+"&msie="+(msie?1:0);$j.get(t,function(e){in_progress=!1,$j(".toplevel_item",e).each(function(){var e=$j(this).attr("id");$j("#"+e).length==0&&profile_page==1?($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+prev).after($j(this))):($j("img",this).each(function(){$j(this).attr("src",$j(this).attr("dst"))}),$j("#"+e).replaceWith($j(this))),prev=e}),$j(".like-rotator").hide(),commentBusy&&(commentBusy=!1,$j("body").css("cursor","auto")),$j(".comment-edit-form  textarea").contact_autocomplete(baseurl+"/acl");var t=$j(".wall-item-body > img").not(function(){return this.complete}),n=t.length;n?t.load(function(){n--,n||collapseHeight()}):collapseHeight()})}function collapseHeight(){$j(".wall-item-body").each(function(){$j(this).height()>310&&($j(this).hasClass("divmore")||($j(this).divgrow({initialHeight:300,showBrackets:!1,speed:0}),$j(this).addClass("divmore")))})}function imgbright(e){$j(e).removeClass("drophide").addClass("drop")}function imgdull(e){$j(e).removeClass("drop").addClass("drophide")}function dolike(e,t){unpause(),$j("#like-rotator-"+e.toString()).show(),$j.get("like/"+e.toString()+"?verb="+t,NavUpdate),liking=1}function dostar(e){e=e.toString(),$j.get("starred/"+e,function(t){t.match(/1/)?($j("#starred-"+e).addClass("starred"),$j("#starred-"+e).removeClass("unstarred"),$j("#star-"+e).addClass("hidden"),$j("#unstar-"+e).removeClass("hidden")):($j("#starred-"+e).addClass("unstarred"),$j("#starred-"+e).removeClass("starred"),$j("#star-"+e).removeClass("hidden"),$j("#unstar-"+e).addClass("hidden"))})}function getPosition(e){var t={x:0,y:0};if(e.touches[0].pageX||e.touches[0].pageY)t.x=e.touches[0].pageX,t.y=e.touches[0].pageY;else if(e.touches[0].clientX||e.touches[0].clientY)t.x=e.touches[0].clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)-document.documentElement.clientLeft,t.y=e.touches[0].clientY+(document.documentElement.scrollTop||document.body.scrollTop)-document.documentElement.clientTop;else if(e.touches[0].x||e.touches[0].y)t.touches[0].x=e.touches[0].x,t.touches[0].y=e.touches[0].y;return t}function lockview(e,t){e=e||window.event,cursor=getPosition(e),lockvisible?lockviewhide():(lockvisible=!0,$j.get("lockview/"+t,function(e){$j("#panel").html(e),$j("#panel").css({left:cursor.x+5,top:cursor.y+5}),$j("#panel").show()}))}function lockviewhide(){lockvisible=!1,$j("#panel").hide()}function post_comment(e){return unpause(),commentBusy=!0,$j("body").css("cursor","wait"),$j("#comment-preview-inp-"+e).val("0"),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){if(t.success){$j("#comment-edit-wrapper-"+e).hide(),$j("#comment-edit-text-"+e).val("");var n=document.getElementById("comment-edit-text-"+e);n&&commentClose(n,e),timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,10)}t.reload&&(window.location.href=t.reload)},"json"),!1}function preview_comment(e){return $j("#comment-preview-inp-"+e).val("1"),$j("#comment-edit-preview-"+e).show(),$j.post("item",$j("#comment-edit-form-"+e).serialize(),function(t){t.preview&&($j("#comment-edit-preview-"+e).html(t.preview),$j("#comment-edit-preview-"+e+" a").click(function(){return!1}))},"json"),!0}function preview_post(){return $j("#jot-preview").val("1"),$j("#jot-preview-content").show(),tinyMCE.triggerSave(),$j.post("item",$j("#profile-jot-form").serialize(),function(e){e.preview&&($j("#jot-preview-content").html(e.preview),$j("#jot-preview-content a").click(function(){return!1}))},"json"),$j("#jot-preview").val("0"),!0}function unpause(){totStopped=!1,stopped=!1,$j("#pause").html("")}function bin2hex(e){var t,n,r=0,i=[];e+="",r=e.length;for(n=0;n<r;n++)i[n]=e.charCodeAt(n).toString(16).replace(/^([\da-f])$/,"0$1");return i.join("")}function groupChangeMember(e,t,n){$j("body .fakelink").css("cursor","wait"),$j.get("group/"+e+"/"+t+"?t="+n,function(e){$j("#group-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function profChangeMember(e,t){$j("body .fakelink").css("cursor","wait"),$j.get("profperm/"+e+"/"+t,function(e){$j("#prof-update-wrapper").html(e),$j("body .fakelink").css("cursor","auto")})}function contactgroupChangeMember(e,t){$j("body").css("cursor","wait"),$j.get("contactgroup/"+e+"/"+t,function(e){$j("body").css("cursor","auto")})}function checkboxhighlight(e){$j(e).is(":checked")?$j(e).addClass("checkeditem"):$j(e).removeClass("checkeditem")}function notifyMarkAll(){$j.get("notify/mark/all",function(e){timer&&clearTimeout(timer),timer=setTimeout(NavUpdate,1e3)})}function fcFileBrowser(e,t,n,r){var i=baseurl+"/fbrowser/"+n+"/";return tinyMCE.activeEditor.windowManager.open({file:i,title:"File Browser",width:420,height:400,resizable:"yes",inline:"yes",close_previous:"no"},{window:r,input:e}),!1}function setupFieldRichtext(){tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:"fieldRichtext",plugins:"bbcode,paste, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser"})}function previewTheme(e){theme=$j(e).val(),$j.getJSON("pretheme?f=&theme="+theme,function(e){$j("#theme-preview").html('<div id="theme-desc">'+e.desc+'</div><div id="theme-version">'+e.version+'</div><div id="theme-credits">'+e.credits+'</div><a href="'+e.img+'"><img src="'+e.img+'" width="320" height="240" alt="'+theme+'" /></a>')})}var src=null,prev=null,livetime=null,msie=!1,stopped=!1,totStopped=!1,timer=null,pr=0,liking=0,in_progress=!1,langSelect=!1,commentBusy=!1,last_popup_menu=null,last_popup_button=null;$j(function(){function e(e){last_popup_menu&&"#"+last_popup_menu.attr("id")!==$j(e.target).attr("rel")&&(last_popup_menu.hide(),last_popup_menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_button.removeClass("selected"),last_popup_menu=null,last_popup_button=null)}$j.ajaxSetup({cache:!1}),msie=$j.browser.msie,$j(".onoff input").each(function(){val=$j(this).val(),id=$j(this).attr("id"),$j("#"+id+"_onoff ."+(val==0?"on":"off")).addClass("hidden")}),$j(".onoff > a").click(function(e){e.preventDefault();var t=$j(this).siblings("input"),n=1-t.val(),r=t.attr("id");$j("#"+r+"_onoff ."+(n==0?"on":"off")).addClass("hidden"),$j("#"+r+"_onoff ."+(n==1?"on":"off")).removeClass("hidden"),t.val(n)}),$j("img[rel^=#]").click(function(t){return e(t),menu=$j($j(this).attr("rel")),t.preventDefault(),t.stopPropagation(),menu.attr("popup")=="false"?!1:(menu.css("display")=="none"?($j(this).parent().addClass("selected"),menu.show(),menu.attr("id")=="nav-notifications-menu"&&$j("section").hide(),last_popup_menu=menu,last_popup_button=$j(this).parent()):($j(this).parent().removeClass("selected"),menu.hide(),menu.attr("id")=="nav-notifications-menu"&&$j("section").show(),last_popup_menu=null,last_popup_button=null),!1)}),$j("html").click(function(t){e(t)});var t=unescape($j("#nav-notifications-template[rel=template]").html()),n=unescape($j("<div>").append($j("#nav-notifications-see-all").clone()).html()),r=unescape($j("<div>").append($j("#nav-notifications-mark-all").clone()).html()),i=unescape($j("#nav-notifications-menu").html());$j("nav").bind("nav-update",function(e,s){var o=$j(s).find("invalid").text();o==1&&(window.location.href=window.location.href);var u=$j(s).find("net").text();u==0?(u="",$j("#net-update").removeClass("show")):$j("#net-update").addClass("show"),$j("#net-update").html(u);var a=$j(s).find("home").text();a==0?(a="",$j("#home-update").removeClass("show")):$j("#home-update").addClass("show"),$j("#home-update").html(a);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update").removeClass("show")):$j("#intro-update").addClass("show"),$j("#intro-update").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update").removeClass("show")):$j("#mail-update").addClass("show"),$j("#mail-update").html(l);var f=$j(s).find("intro").text();f==0?(f="",$j("#intro-update-li").removeClass("show")):$j("#intro-update-li").addClass("show"),$j("#intro-update-li").html(f);var l=$j(s).find("mail").text();l==0?(l="",$j("#mail-update-li").removeClass("show")):$j("#mail-update-li").addClass("show"),$j("#mail-update-li").html(l);var c=$j(s).find("notif");c.children("note").length==0?$j("#nav-notifications-menu").html(i):(nnm=$j("#nav-notifications-menu"),nnm.html(n+r),c.children("note").each(function(){e=$j(this),text=e.text().format("<span class='contactname'>"+e.attr("name")+"</span>"),html=t.format(e.attr("href"),e.attr("photo"),text,e.attr("date"),e.attr("seen")),nnm.append(html)})),notif=c.attr("count"),notif>0?$j("#nav-notifications-linkmenu").addClass("on"):$j("#nav-notifications-linkmenu").removeClass("on"),notif==0?(notif="",$j("#notify-update").removeClass("show")):$j("#notify-update").addClass("show"),$j("#notify-update").html(notif);var h=$j(s).find("sysmsgs");h.children("notice").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"notice",life:1500})}),h.children("info").each(function(){text=$j(this).text(),$j.jGrowl(text,{sticky:!1,theme:"info",life:1e3})})}),NavUpdate()});var lockvisible=!1;String.prototype.format=function(){var e=this;for(var t=0;t<arguments.length;t++){var n=new RegExp("\\{"+t+"\\}","gi");e=e.replace(n,arguments[t])}return e},Array.prototype.remove=function(e){to=undefined,from=this.indexOf(e);var t=this.slice((to||from)+1||this.length);return this.length=from<0?this.length+from:from,this.push.apply(this,t)};
\ No newline at end of file
diff --git a/view/theme/frost-mobile/style.css b/view/theme/frost-mobile/style.css
index a46b79566..86c50552f 100644
--- a/view/theme/frost-mobile/style.css
+++ b/view/theme/frost-mobile/style.css
@@ -1347,6 +1347,11 @@ input#dfrn-url {
 	max-width: 280px;
 }
 
+.divgrow-showmore {
+	display: block;
+	clear: both;
+}
+
 
 .wall-item-title {
 	float: left;
diff --git a/view/theme/frost-mobile/theme.php b/view/theme/frost-mobile/theme.php
index ff8c1c784..80cb79c20 100644
--- a/view/theme/frost-mobile/theme.php
+++ b/view/theme/frost-mobile/theme.php
@@ -4,7 +4,7 @@
  * Name: Frost--mobile version
  * Description: Like frosted glass
  * Credits: Navigation icons taken from http://iconza.com. Other icons taken from http://thenounproject.com, including: Like, Dislike, Black Lock, Unlock, Pencil, Tag, Camera, Paperclip (Marie Coons), Folder (Sergio Calcara), Chain-link (Andrew Fortnum), Speaker (Harold Kim), Quotes (Henry Ryder), Video Camera (Anas Ramadan), and Left Arrow, Right Arrow, and Delete X (all three P.J. Onori). All under Attribution (CC BY 3.0). Others from The Noun Project are public domain or No Rights Reserved (CC0).
- * Version: Version 0.2.9
+ * Version: Version 0.2.10
  * Author: Zach P <techcity@f.shmuz.in>
  * Maintainer: Zach P <techcity@f.shmuz.in>
  */
@@ -27,5 +27,6 @@ function frost_mobile_init(&$a) {
 	$a->videowidth = 250;
 	$a->videoheight = 200;
 	$a->theme_thread_allow = false;
+	$a->force_max_items = 10;
 
 }
diff --git a/view/theme/frost/style.css b/view/theme/frost/style.css
index 52e425010..e8d83fd42 100644
--- a/view/theme/frost/style.css
+++ b/view/theme/frost/style.css
@@ -1304,6 +1304,11 @@ input#dfrn-url {
 	max-width: 100%;
 }
 
+.divgrow-showmore {
+	display: block;
+	clear: both;
+}
+
 
 
 .wall-item-title {
diff --git a/view/theme/frost/theme.php b/view/theme/frost/theme.php
index bc5436fa9..795f69b71 100644
--- a/view/theme/frost/theme.php
+++ b/view/theme/frost/theme.php
@@ -4,7 +4,7 @@
  * Name: Frost
  * Description: Like frosted glass
  * Credits: Navigation icons taken from http://iconza.com. Other icons taken from http://thenounproject.com, including: Like, Dislike, Black Lock, Unlock, Pencil, Tag, Camera, Paperclip (Marie Coons), Folder (Sergio Calcara), Chain-link (Andrew Fortnum), Speaker (Harold Kim), Quotes (Henry Ryder), Video Camera (Anas Ramadan), and Left Arrow, Right Arrow, and Delete X (all three P.J. Onori). All under Attribution (CC BY 3.0). Others from The Noun Project are public domain or No Rights Reserved (CC0).
- * Version: Version 0.2.7
+ * Version: Version 0.2.8
  * Author: Zach P <techcity@f.shmuz.in>
  * Maintainer: Zach P <techcity@f.shmuz.in>
  */
@@ -23,5 +23,6 @@ function frost_init(&$a) {
 
 	$a->videowidth = 400;
 	$a->videoheight = 330;
+	$a->theme_thread_allow = false;
 
 }

From 37a0504f96df436011650448b2783700503c5c18 Mon Sep 17 00:00:00 2001
From: Tobias Diekershoff <tobias.diekershoff@gmx.net>
Date: Mon, 27 Aug 2012 08:13:07 +0200
Subject: [PATCH 13/22] quattro: expanded the new prvmessage field a bit

---
 view/theme/quattro/prv_message.tpl | 33 ++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 view/theme/quattro/prv_message.tpl

diff --git a/view/theme/quattro/prv_message.tpl b/view/theme/quattro/prv_message.tpl
new file mode 100644
index 000000000..5aa03688a
--- /dev/null
+++ b/view/theme/quattro/prv_message.tpl
@@ -0,0 +1,33 @@
+
+<h3>$header</h3>
+
+<div id="prvmail-wrapper" >
+<form id="prvmail-form" action="message" method="post" >
+
+$parent
+
+<div id="prvmail-to-label">$to</div>
+$select
+
+<div id="prvmail-subject-label">$subject</div>
+<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="$subjtxt" $readonly tabindex="11" />
+
+<div id="prvmail-message-label">$yourmessage</div>
+<textarea rows="20" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">$text</textarea>
+
+
+<div id="prvmail-submit-wrapper" >
+	<input type="submit" id="prvmail-submit" name="submit" value="$submit" tabindex="13" />
+	<div id="prvmail-upload-wrapper" >
+		<div id="prvmail-upload" class="icon border camera" title="$upload" ></div>
+	</div> 
+	<div id="prvmail-link-wrapper" >
+		<div id="prvmail-link" class="icon border link" title="$insert" onclick="jotGetLink();" ></div>
+	</div> 
+	<div id="prvmail-rotator-wrapper" >
+		<img id="prvmail-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
+	</div> 
+</div>
+<div id="prvmail-end"></div>
+</form>
+</div>

From 1e9d35fb0ed8c5d801e73cd5c5752f5ac84386de Mon Sep 17 00:00:00 2001
From: Tobias Diekershoff <tobias.diekershoff@gmx.net>
Date: Mon, 27 Aug 2012 19:31:41 +0200
Subject: [PATCH 14/22] pass "ago" information to the mail_list template

---
 mod/message.php | 1 +
 1 file changed, 1 insertion(+)

diff --git a/mod/message.php b/mod/message.php
index 83bad29d4..57d4beb0f 100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -351,6 +351,7 @@ function message_content(&$a) {
 				'$body' => template_escape($rr['body']),
 				'$to_name' => template_escape($rr['name']),
 				'$date' => datetime_convert('UTC',date_default_timezone_get(),$rr['mailcreated'], t('D, d M Y - g:i A')),
+                                '$ago' => relative_date($rr['mailcreated']),
 				'$seen' => $rr['mailseen'],
 				'$count' => sprintf( tt('%d message', '%d messages', $rr['count']), $rr['count']),
 			));

From 036d5db0c0ac6e716f1c10ed286cb078f4aa592f Mon Sep 17 00:00:00 2001
From: Tobias Diekershoff <tobias.diekershoff@gmx.net>
Date: Mon, 27 Aug 2012 19:32:23 +0200
Subject: [PATCH 15/22] quattro: use "ago" for date information and on mouse
 the date stamp

---
 view/theme/quattro/mail_list.tpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/view/theme/quattro/mail_list.tpl b/view/theme/quattro/mail_list.tpl
index 6bc6c84f6..4f0fe673a 100644
--- a/view/theme/quattro/mail_list.tpl
+++ b/view/theme/quattro/mail_list.tpl
@@ -1,7 +1,7 @@
 <div class="mail-list-wrapper">
 	<span class="mail-subject {{if $seen}}seen{{else}}unseen{{endif}}"><a href="message/$id" class="mail-link">$subject</a></span>
 	<span class="mail-from">$from_name</span>
-	<span class="mail-date">$date</span>
+	<span class="mail-date" title="$date">$ago</span>
 	<span class="mail-count">$count</span>
 	
 	<a href="message/dropconv/$id" onclick="return confirmDelete();"  title="$delete" class="mail-delete icon s22 delete"></a>

From cf91a7f79aa7485fb455302fe1273ecdfdeca300 Mon Sep 17 00:00:00 2001
From: Tobias Diekershoff <tobias.diekershoff@gmx.net>
Date: Mon, 27 Aug 2012 19:39:31 +0200
Subject: [PATCH 16/22] quattro: mail_display has no ago information so don't
 display it

---
 view/theme/quattro/mail_conv.tpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/view/theme/quattro/mail_conv.tpl b/view/theme/quattro/mail_conv.tpl
index f6df947d8..6ccc5f017 100644
--- a/view/theme/quattro/mail_conv.tpl
+++ b/view/theme/quattro/mail_conv.tpl
@@ -25,7 +25,7 @@
 				<a href="$mail.from_url" target="redir"
                                 class="wall-item-name-link"><span
                                 class="wall-item-name$mail.sparkle">$mail.from_name</span></a>
-                                <span class="wall-item-ago" title="$item.ago">$mail.date</span>
+                                <span class="wall-item-ago">$mail.date</span>
 			</div>
 			
 			<div class="wall-item-actions-social">

From 647802f92eec823ab47a15c5355c5d14bbae4dc9 Mon Sep 17 00:00:00 2001
From: Tobias Diekershoff <tobias.diekershoff@gmx.net>
Date: Mon, 27 Aug 2012 19:46:35 +0200
Subject: [PATCH 17/22] get "ago" information into the mail thread view

---
 mod/message.php | 1 +
 1 file changed, 1 insertion(+)

diff --git a/mod/message.php b/mod/message.php
index 57d4beb0f..97c658632 100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -444,6 +444,7 @@ function message_content(&$a) {
 				'delete' => t('Delete message'),
 				'to_name' => template_escape($message['name']),
 				'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'],'D, d M Y - g:i A'),
+                                'ago' => relative_date($message['created']),
 			);
 				
 			$seen = $message['seen'];

From d9ffb0578c2beaf6ffc0c89bd2f690528cca89fc Mon Sep 17 00:00:00 2001
From: Tobias Diekershoff <tobias.diekershoff@gmx.net>
Date: Mon, 27 Aug 2012 19:47:04 +0200
Subject: [PATCH 18/22] quattro: display date info as "ago" with mouse over
 date stamp

---
 view/theme/quattro/mail_conv.tpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/view/theme/quattro/mail_conv.tpl b/view/theme/quattro/mail_conv.tpl
index 6ccc5f017..0d673236b 100644
--- a/view/theme/quattro/mail_conv.tpl
+++ b/view/theme/quattro/mail_conv.tpl
@@ -25,7 +25,7 @@
 				<a href="$mail.from_url" target="redir"
                                 class="wall-item-name-link"><span
                                 class="wall-item-name$mail.sparkle">$mail.from_name</span></a>
-                                <span class="wall-item-ago">$mail.date</span>
+                                <span class="wall-item-ago" title="$mail.date">$mail.ago</span>
 			</div>
 			
 			<div class="wall-item-actions-social">

From c2b4dc2e60d801ab97edf69f572f193095d5bc25 Mon Sep 17 00:00:00 2001
From: Tobias Diekershoff <tobias.diekershoff@gmx.net>
Date: Tue, 28 Aug 2012 18:14:57 +0200
Subject: [PATCH 19/22] DE: some translations

---
 view/de/messages.po | 480 ++++++++++++++++++++++++++------------------
 view/de/strings.php |  31 ++-
 2 files changed, 314 insertions(+), 197 deletions(-)

diff --git a/view/de/messages.po b/view/de/messages.po
index 55afe8df7..b641a76f1 100644
--- a/view/de/messages.po
+++ b/view/de/messages.po
@@ -21,9 +21,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: friendica\n"
 "Report-Msgid-Bugs-To: http://bugs.friendica.com/\n"
-"POT-Creation-Date: 2012-08-19 10:00-0700\n"
-"PO-Revision-Date: 2012-08-20 22:08+0000\n"
-"Last-Translator: Oliver <post@toktan.org>\n"
+"POT-Creation-Date: 2012-08-23 10:00-0700\n"
+"PO-Revision-Date: 2012-08-24 15:53+0000\n"
+"Last-Translator: bavatar <tobias.diekershoff@gmx.net>\n"
 "Language-Team: German (http://www.transifex.com/projects/p/friendica/language/de/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -60,12 +60,13 @@ msgstr "Konnte den Kontakt nicht aktualisieren."
 #: ../../mod/wallmessage.php:103 ../../mod/attach.php:33
 #: ../../mod/group.php:19 ../../mod/viewcontacts.php:22
 #: ../../mod/register.php:38 ../../mod/regmod.php:116 ../../mod/item.php:126
-#: ../../mod/item.php:142 ../../mod/profile_photo.php:19
-#: ../../mod/profile_photo.php:142 ../../mod/profile_photo.php:153
-#: ../../mod/profile_photo.php:166 ../../mod/message.php:38
-#: ../../mod/message.php:168 ../../mod/allfriends.php:9
-#: ../../mod/nogroup.php:25 ../../mod/wall_upload.php:53
-#: ../../mod/follow.php:9 ../../mod/display.php:131 ../../mod/profiles.php:7
+#: ../../mod/item.php:142 ../../mod/mood.php:114
+#: ../../mod/profile_photo.php:19 ../../mod/profile_photo.php:142
+#: ../../mod/profile_photo.php:153 ../../mod/profile_photo.php:166
+#: ../../mod/message.php:38 ../../mod/message.php:168
+#: ../../mod/allfriends.php:9 ../../mod/nogroup.php:25
+#: ../../mod/wall_upload.php:53 ../../mod/follow.php:9
+#: ../../mod/display.php:131 ../../mod/profiles.php:7
 #: ../../mod/profiles.php:413 ../../mod/delegate.php:6
 #: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81
 #: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:510
@@ -145,11 +146,11 @@ msgstr "Neues Foto von dieser URL"
 #: ../../mod/localtime.php:45 ../../mod/poke.php:199 ../../mod/content.php:691
 #: ../../mod/contacts.php:341 ../../mod/settings.php:537
 #: ../../mod/settings.php:691 ../../mod/settings.php:752
-#: ../../mod/settings.php:958 ../../mod/group.php:85 ../../mod/message.php:294
-#: ../../mod/message.php:478 ../../mod/admin.php:435 ../../mod/admin.php:676
-#: ../../mod/admin.php:812 ../../mod/admin.php:1011 ../../mod/admin.php:1098
-#: ../../mod/profiles.php:583 ../../mod/invite.php:119
-#: ../../addon/fromgplus/fromgplus.php:40
+#: ../../mod/settings.php:958 ../../mod/group.php:85 ../../mod/mood.php:137
+#: ../../mod/message.php:294 ../../mod/message.php:478 ../../mod/admin.php:435
+#: ../../mod/admin.php:676 ../../mod/admin.php:812 ../../mod/admin.php:1011
+#: ../../mod/admin.php:1098 ../../mod/profiles.php:583
+#: ../../mod/invite.php:119 ../../addon/fromgplus/fromgplus.php:40
 #: ../../addon/facebook/facebook.php:619
 #: ../../addon/snautofollow/snautofollow.php:64 ../../addon/bg/bg.php:90
 #: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93
@@ -187,7 +188,7 @@ msgstr "Neues Foto von dieser URL"
 #: ../../view/theme/diabook/theme.php:757
 #: ../../view/theme/diabook/config.php:190
 #: ../../view/theme/quattro/config.php:52 ../../view/theme/dispy/config.php:70
-#: ../../include/conversation.php:538
+#: ../../include/conversation.php:560
 msgid "Submit"
 msgstr "Senden"
 
@@ -242,12 +243,12 @@ msgstr "l, F j"
 msgid "Edit event"
 msgstr "Veranstaltung bearbeiten"
 
-#: ../../mod/events.php:307 ../../include/text.php:1114
+#: ../../mod/events.php:307 ../../include/text.php:1147
 msgid "link to source"
 msgstr "Link zum Originalbeitrag"
 
 #: ../../mod/events.php:331 ../../view/theme/diabook/theme.php:131
-#: ../../include/nav.php:52 ../../boot.php:1655
+#: ../../include/nav.php:52 ../../boot.php:1656
 msgid "Events"
 msgstr "Veranstaltungen"
 
@@ -303,7 +304,7 @@ msgstr "Beschreibung"
 
 #: ../../mod/events.php:432 ../../mod/directory.php:132
 #: ../../include/event.php:40 ../../include/bb2diaspora.php:455
-#: ../../boot.php:1207
+#: ../../boot.php:1208
 msgid "Location:"
 msgstr "Ort:"
 
@@ -385,7 +386,7 @@ msgstr "Ja"
 msgid "No"
 msgstr "Nein"
 
-#: ../../mod/photos.php:46 ../../boot.php:1648
+#: ../../mod/photos.php:46 ../../boot.php:1649
 msgid "Photo Albums"
 msgstr "Fotoalben"
 
@@ -438,9 +439,9 @@ msgstr "wurde getaggt in einem"
 
 #: ../../mod/photos.php:572 ../../mod/like.php:145 ../../mod/tagger.php:70
 #: ../../addon/communityhome/communityhome.php:163
-#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1366
+#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1399
 #: ../../include/diaspora.php:1824 ../../include/conversation.php:114
-#: ../../include/conversation.php:230
+#: ../../include/conversation.php:244
 msgid "photo"
 msgstr "Foto"
 
@@ -539,7 +540,7 @@ msgid "Use as profile photo"
 msgstr "Als Profilbild verwenden"
 
 #: ../../mod/photos.php:1171 ../../mod/content.php:601
-#: ../../include/conversation.php:381
+#: ../../include/conversation.php:395
 msgid "Private Message"
 msgstr "Private Nachricht"
 
@@ -581,49 +582,49 @@ msgid ""
 msgstr "Beispiel: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
 
 #: ../../mod/photos.php:1303 ../../mod/content.php:665
-#: ../../include/conversation.php:513
+#: ../../include/conversation.php:534
 msgid "I like this (toggle)"
 msgstr "Ich mag das (toggle)"
 
 #: ../../mod/photos.php:1304 ../../mod/content.php:666
-#: ../../include/conversation.php:514
+#: ../../include/conversation.php:535
 msgid "I don't like this (toggle)"
 msgstr "Ich mag das nicht (toggle)"
 
-#: ../../mod/photos.php:1305 ../../include/conversation.php:1139
+#: ../../mod/photos.php:1305 ../../include/conversation.php:1164
 msgid "Share"
 msgstr "Teilen"
 
 #: ../../mod/photos.php:1306 ../../mod/editpost.php:112
 #: ../../mod/content.php:482 ../../mod/content.php:843
 #: ../../mod/wallmessage.php:152 ../../mod/message.php:293
-#: ../../mod/message.php:479 ../../include/conversation.php:604
-#: ../../include/conversation.php:835 ../../include/conversation.php:1158
+#: ../../mod/message.php:479 ../../include/conversation.php:628
+#: ../../include/conversation.php:860 ../../include/conversation.php:1183
 msgid "Please wait"
 msgstr "Bitte warten"
 
 #: ../../mod/photos.php:1322 ../../mod/photos.php:1363
 #: ../../mod/photos.php:1395 ../../mod/content.php:688
-#: ../../include/conversation.php:535
+#: ../../include/conversation.php:557
 msgid "This is you"
 msgstr "Das bist du"
 
 #: ../../mod/photos.php:1324 ../../mod/photos.php:1365
 #: ../../mod/photos.php:1397 ../../mod/content.php:690
-#: ../../include/conversation.php:537 ../../boot.php:582
+#: ../../include/conversation.php:559 ../../boot.php:583
 msgid "Comment"
 msgstr "Kommentar"
 
 #: ../../mod/photos.php:1326 ../../mod/editpost.php:133
-#: ../../mod/content.php:700 ../../include/conversation.php:547
-#: ../../include/conversation.php:1176
+#: ../../mod/content.php:700 ../../include/conversation.php:569
+#: ../../include/conversation.php:1201
 msgid "Preview"
 msgstr "Vorschau"
 
 #: ../../mod/photos.php:1426 ../../mod/content.php:439
 #: ../../mod/content.php:721 ../../mod/settings.php:600
 #: ../../mod/settings.php:689 ../../mod/group.php:168 ../../mod/admin.php:683
-#: ../../include/conversation.php:395 ../../include/conversation.php:792
+#: ../../include/conversation.php:409 ../../include/conversation.php:816
 msgid "Delete"
 msgstr "Löschen"
 
@@ -689,28 +690,28 @@ msgstr "Beitrag nicht gefunden"
 msgid "Edit post"
 msgstr "Beitrag bearbeiten"
 
-#: ../../mod/editpost.php:88 ../../include/conversation.php:1125
+#: ../../mod/editpost.php:88 ../../include/conversation.php:1150
 msgid "Post to Email"
 msgstr "An E-Mail senden"
 
 #: ../../mod/editpost.php:103 ../../mod/content.php:708
-#: ../../mod/settings.php:599 ../../include/conversation.php:386
+#: ../../mod/settings.php:599 ../../include/conversation.php:400
 msgid "Edit"
 msgstr "Bearbeiten"
 
 #: ../../mod/editpost.php:104 ../../mod/wallmessage.php:150
 #: ../../mod/message.php:291 ../../mod/message.php:476
-#: ../../include/conversation.php:1140
+#: ../../include/conversation.php:1165
 msgid "Upload photo"
 msgstr "Foto hochladen"
 
-#: ../../mod/editpost.php:105 ../../include/conversation.php:1142
+#: ../../mod/editpost.php:105 ../../include/conversation.php:1167
 msgid "Attach file"
 msgstr "Datei anhängen"
 
 #: ../../mod/editpost.php:106 ../../mod/wallmessage.php:151
 #: ../../mod/message.php:292 ../../mod/message.php:477
-#: ../../include/conversation.php:1144
+#: ../../include/conversation.php:1169
 msgid "Insert web link"
 msgstr "einen Link einfügen"
 
@@ -726,35 +727,35 @@ msgstr "Vorbis [.ogg] Video einfügen"
 msgid "Insert Vorbis [.ogg] audio"
 msgstr "Vorbis [.ogg] Audio einfügen"
 
-#: ../../mod/editpost.php:110 ../../include/conversation.php:1150
+#: ../../mod/editpost.php:110 ../../include/conversation.php:1175
 msgid "Set your location"
 msgstr "Deinen Standort festlegen"
 
-#: ../../mod/editpost.php:111 ../../include/conversation.php:1152
+#: ../../mod/editpost.php:111 ../../include/conversation.php:1177
 msgid "Clear browser location"
 msgstr "Browser-Standort leeren"
 
-#: ../../mod/editpost.php:113 ../../include/conversation.php:1159
+#: ../../mod/editpost.php:113 ../../include/conversation.php:1184
 msgid "Permission settings"
 msgstr "Berechtigungseinstellungen"
 
-#: ../../mod/editpost.php:121 ../../include/conversation.php:1168
+#: ../../mod/editpost.php:121 ../../include/conversation.php:1193
 msgid "CC: email addresses"
 msgstr "Cc:-E-Mail-Addressen"
 
-#: ../../mod/editpost.php:122 ../../include/conversation.php:1169
+#: ../../mod/editpost.php:122 ../../include/conversation.php:1194
 msgid "Public post"
 msgstr "Öffentlicher Beitrag"
 
-#: ../../mod/editpost.php:125 ../../include/conversation.php:1155
+#: ../../mod/editpost.php:125 ../../include/conversation.php:1180
 msgid "Set title"
 msgstr "Titel setzen"
 
-#: ../../mod/editpost.php:127 ../../include/conversation.php:1157
+#: ../../mod/editpost.php:127 ../../include/conversation.php:1182
 msgid "Categories (comma-separated list)"
 msgstr "Kategorien (kommasepariert)"
 
-#: ../../mod/editpost.php:128 ../../include/conversation.php:1171
+#: ../../mod/editpost.php:128 ../../include/conversation.php:1196
 msgid "Example: bob@example.com, mary@example.com"
 msgstr "Z.B.: bob@example.com, mary@example.com"
 
@@ -1268,7 +1269,7 @@ msgid "is interested in:"
 msgstr "ist interessiert an:"
 
 #: ../../mod/match.php:58 ../../mod/suggest.php:59
-#: ../../include/contact_widgets.php:9 ../../boot.php:1151
+#: ../../include/contact_widgets.php:9 ../../boot.php:1152
 msgid "Connect"
 msgstr "Verbinden"
 
@@ -1297,28 +1298,28 @@ msgid "Group: "
 msgstr "Gruppe: "
 
 #: ../../mod/content.php:438 ../../mod/content.php:720
-#: ../../include/conversation.php:394 ../../include/conversation.php:791
+#: ../../include/conversation.php:408 ../../include/conversation.php:815
 msgid "Select"
 msgstr "Auswählen"
 
 #: ../../mod/content.php:455 ../../mod/content.php:813
-#: ../../mod/content.php:814 ../../include/conversation.php:574
-#: ../../include/conversation.php:575 ../../include/conversation.php:808
+#: ../../mod/content.php:814 ../../include/conversation.php:596
+#: ../../include/conversation.php:597 ../../include/conversation.php:832
 #, php-format
 msgid "View %s's profile @ %s"
 msgstr "Das Profil von %s auf %s betrachten."
 
 #: ../../mod/content.php:465 ../../mod/content.php:825
-#: ../../include/conversation.php:586 ../../include/conversation.php:818
+#: ../../include/conversation.php:610 ../../include/conversation.php:843
 #, php-format
 msgid "%s from %s"
 msgstr "%s von %s"
 
-#: ../../mod/content.php:480 ../../include/conversation.php:833
+#: ../../mod/content.php:480 ../../include/conversation.php:858
 msgid "View in context"
 msgstr "Im Zusammenhang betrachten"
 
-#: ../../mod/content.php:586 ../../include/conversation.php:613
+#: ../../mod/content.php:586 ../../include/conversation.php:637
 #, php-format
 msgid "%d comment"
 msgid_plural "%d comments"
@@ -1327,92 +1328,92 @@ msgstr[1] "%d Kommentare"
 
 #: ../../mod/content.php:587 ../../addon/page/page.php:76
 #: ../../addon/page/page.php:110 ../../addon/showmore/showmore.php:119
-#: ../../include/contact_widgets.php:188 ../../include/conversation.php:614
-#: ../../boot.php:583
+#: ../../include/contact_widgets.php:188 ../../include/conversation.php:638
+#: ../../boot.php:584
 msgid "show more"
 msgstr "mehr anzeigen"
 
-#: ../../mod/content.php:665 ../../include/conversation.php:513
+#: ../../mod/content.php:665 ../../include/conversation.php:534
 msgid "like"
 msgstr "mag ich"
 
-#: ../../mod/content.php:666 ../../include/conversation.php:514
+#: ../../mod/content.php:666 ../../include/conversation.php:535
 msgid "dislike"
 msgstr "mag ich nicht"
 
-#: ../../mod/content.php:668 ../../include/conversation.php:516
+#: ../../mod/content.php:668 ../../include/conversation.php:537
 msgid "Share this"
 msgstr "Weitersagen"
 
-#: ../../mod/content.php:668 ../../include/conversation.php:516
+#: ../../mod/content.php:668 ../../include/conversation.php:537
 msgid "share"
 msgstr "Teilen"
 
-#: ../../mod/content.php:692 ../../include/conversation.php:539
+#: ../../mod/content.php:692 ../../include/conversation.php:561
 msgid "Bold"
 msgstr "Fett"
 
-#: ../../mod/content.php:693 ../../include/conversation.php:540
+#: ../../mod/content.php:693 ../../include/conversation.php:562
 msgid "Italic"
 msgstr "Kursiv"
 
-#: ../../mod/content.php:694 ../../include/conversation.php:541
+#: ../../mod/content.php:694 ../../include/conversation.php:563
 msgid "Underline"
 msgstr "Unterstrichen"
 
-#: ../../mod/content.php:695 ../../include/conversation.php:542
+#: ../../mod/content.php:695 ../../include/conversation.php:564
 msgid "Quote"
 msgstr "Zitat"
 
-#: ../../mod/content.php:696 ../../include/conversation.php:543
+#: ../../mod/content.php:696 ../../include/conversation.php:565
 msgid "Code"
 msgstr "Code"
 
-#: ../../mod/content.php:697 ../../include/conversation.php:544
+#: ../../mod/content.php:697 ../../include/conversation.php:566
 msgid "Image"
 msgstr "Bild"
 
-#: ../../mod/content.php:698 ../../include/conversation.php:545
+#: ../../mod/content.php:698 ../../include/conversation.php:567
 msgid "Link"
 msgstr "Verweis"
 
-#: ../../mod/content.php:699 ../../include/conversation.php:546
+#: ../../mod/content.php:699 ../../include/conversation.php:568
 msgid "Video"
 msgstr "Video"
 
-#: ../../mod/content.php:733 ../../include/conversation.php:484
+#: ../../mod/content.php:733 ../../include/conversation.php:498
 msgid "add star"
 msgstr "markieren"
 
-#: ../../mod/content.php:734 ../../include/conversation.php:485
+#: ../../mod/content.php:734 ../../include/conversation.php:499
 msgid "remove star"
 msgstr "Markierung entfernen"
 
-#: ../../mod/content.php:735 ../../include/conversation.php:486
+#: ../../mod/content.php:735 ../../include/conversation.php:500
 msgid "toggle star status"
 msgstr "Markierung umschalten"
 
-#: ../../mod/content.php:738 ../../include/conversation.php:489
+#: ../../mod/content.php:738 ../../include/conversation.php:503
 msgid "starred"
 msgstr "markiert"
 
-#: ../../mod/content.php:739 ../../include/conversation.php:490
+#: ../../mod/content.php:739 ../../include/conversation.php:504
 msgid "add tag"
 msgstr "Tag hinzufügen"
 
-#: ../../mod/content.php:743 ../../include/conversation.php:398
+#: ../../mod/content.php:743 ../../include/conversation.php:412
 msgid "save to folder"
 msgstr "In Ordner speichern"
 
-#: ../../mod/content.php:815 ../../include/conversation.php:576
+#: ../../mod/content.php:815 ../../include/conversation.php:598
 msgid "to"
 msgstr "zu"
 
-#: ../../mod/content.php:816 ../../include/conversation.php:577
+#: ../../mod/content.php:816 ../../include/conversation.php:599
 msgid "Wall-to-Wall"
 msgstr "Wall-to-Wall"
 
-#: ../../mod/content.php:817 ../../include/conversation.php:578
+#: ../../mod/content.php:817 ../../include/conversation.php:600
 msgid "via Wall-To-Wall:"
 msgstr "via Wall-To-Wall:"
 
@@ -1931,7 +1932,7 @@ msgstr "Anfrage zum Zurücksetzen des Passworts auf %s erhalten"
 #: ../../addon/facebook/facebook.php:1200
 #: ../../addon/public_server/public_server.php:62
 #: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:3219
-#: ../../boot.php:796
+#: ../../boot.php:797
 msgid "Administrator"
 msgstr "Administrator"
 
@@ -1941,7 +1942,7 @@ msgid ""
 "Password reset failed."
 msgstr "Anfrage konnte nicht verifiziert werden. (Eventuell hast du bereits eine ähnliche Anfrage gestellt.) Zurücksetzen des Passworts gescheitert."
 
-#: ../../mod/lostpass.php:83 ../../boot.php:933
+#: ../../mod/lostpass.php:83 ../../boot.php:934
 msgid "Password Reset"
 msgstr "Passwort zurücksetzen"
 
@@ -2610,7 +2611,7 @@ msgstr "Private Nachrichten an diese Person könnten an die Öffentlichkeit gela
 msgid "Invalid contact."
 msgstr "Ungültiger Kontakt."
 
-#: ../../mod/notes.php:44 ../../boot.php:1662
+#: ../../mod/notes.php:44 ../../boot.php:1663
 msgid "Personal Notes"
 msgstr "Persönliche Notizen"
 
@@ -2653,7 +2654,7 @@ msgstr "Kein Empfänger."
 
 #: ../../mod/wallmessage.php:123 ../../mod/wallmessage.php:131
 #: ../../mod/message.php:242 ../../mod/message.php:250
-#: ../../include/conversation.php:1076 ../../include/conversation.php:1093
+#: ../../include/conversation.php:1101 ../../include/conversation.php:1118
 msgid "Please enter a link URL:"
 msgstr "Bitte gib die URL des Links ein:"
 
@@ -2863,7 +2864,7 @@ msgstr "Editor für die Profil-Sichtbarkeit"
 
 #: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:128
 #: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:84
-#: ../../include/nav.php:50 ../../boot.php:1638
+#: ../../include/nav.php:50 ../../boot.php:1639
 msgid "Profile"
 msgstr "Profil"
 
@@ -2967,7 +2968,7 @@ msgstr "Wähle einen Spitznamen für dein Profil. Dieser muss mit einem Buchstab
 msgid "Choose a nickname: "
 msgstr "Spitznamen wählen: "
 
-#: ../../mod/register.php:269 ../../include/nav.php:81 ../../boot.php:895
+#: ../../mod/register.php:269 ../../include/nav.php:81 ../../boot.php:896
 msgid "Register"
 msgstr "Registrieren"
 
@@ -2982,7 +2983,7 @@ msgstr "Personensuche"
 #: ../../view/theme/diabook/theme.php:565
 #: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1824
 #: ../../include/conversation.php:109 ../../include/conversation.php:118
-#: ../../include/conversation.php:225 ../../include/conversation.php:234
+#: ../../include/conversation.php:239 ../../include/conversation.php:248
 msgid "status"
 msgstr "Status"
 
@@ -3010,7 +3011,7 @@ msgid "Access denied."
 msgstr "Zugriff verweigert."
 
 #: ../../mod/fbrowser.php:25 ../../view/theme/diabook/theme.php:130
-#: ../../include/nav.php:51 ../../boot.php:1645
+#: ../../include/nav.php:51 ../../boot.php:1646
 msgid "Photos"
 msgstr "Bilder"
 
@@ -3072,6 +3073,19 @@ msgstr "Falls du diese Beiträge nicht erhalten möchtest, kontaktiere bitte den
 msgid "%s posted an update."
 msgstr "%s hat ein Update veröffentlicht."
 
+#: ../../mod/mood.php:62 ../../include/conversation.php:217
+#, php-format
+msgid "%1$s is currently %2$s"
+msgstr "%1$s ist momentan %2$s"
+
+#: ../../mod/mood.php:133
+msgid "Mood"
+msgstr "Stimmung"
+
+#: ../../mod/mood.php:134
+msgid "Set your current mood and tell your friends"
+msgstr "Wähle deine aktuelle Stimmung und erzähle sie deinen Freunden"
+
 #: ../../mod/profile_photo.php:30
 msgid "Image uploaded but image cropping failed."
 msgstr "Bilder hochgeladen, aber das Zuschneiden ist fehlgeschlagen."
@@ -3843,7 +3857,7 @@ msgstr "FTP Nutzername"
 msgid "FTP Password"
 msgstr "FTP Passwort"
 
-#: ../../mod/profile.php:22 ../../boot.php:1064
+#: ../../mod/profile.php:22 ../../boot.php:1065
 msgid "Requested profile is not available."
 msgstr "Das angefragte Profil ist nicht vorhanden."
 
@@ -4238,28 +4252,28 @@ msgstr "Alter: "
 msgid "Edit/Manage Profiles"
 msgstr "Verwalte/Editiere Profile"
 
-#: ../../mod/profiles.php:678 ../../boot.php:1173
+#: ../../mod/profiles.php:678 ../../boot.php:1174
 msgid "Change profile photo"
 msgstr "Profilbild ändern"
 
-#: ../../mod/profiles.php:679 ../../boot.php:1174
+#: ../../mod/profiles.php:679 ../../boot.php:1175
 msgid "Create New Profile"
 msgstr "Neues Profil anlegen"
 
-#: ../../mod/profiles.php:690 ../../boot.php:1184
+#: ../../mod/profiles.php:690 ../../boot.php:1185
 msgid "Profile Image"
 msgstr "Profilbild"
 
-#: ../../mod/profiles.php:692 ../../boot.php:1187
+#: ../../mod/profiles.php:692 ../../boot.php:1188
 msgid "visible to everybody"
 msgstr "sichtbar für jeden"
 
-#: ../../mod/profiles.php:693 ../../boot.php:1188
+#: ../../mod/profiles.php:693 ../../boot.php:1189
 msgid "Edit visibility"
 msgstr "Sichtbarkeit bearbeiten"
 
-#: ../../mod/filer.php:29 ../../include/conversation.php:1080
-#: ../../include/conversation.php:1097
+#: ../../mod/filer.php:29 ../../include/conversation.php:1105
+#: ../../include/conversation.php:1122
 msgid "Save to Folder:"
 msgstr "In diesen Ordner verschieben:"
 
@@ -4267,7 +4281,7 @@ msgstr "In diesen Ordner verschieben:"
 msgid "- select -"
 msgstr "- auswählen -"
 
-#: ../../mod/tagger.php:103 ../../include/conversation.php:242
+#: ../../mod/tagger.php:103 ../../include/conversation.php:256
 #, php-format
 msgid "%1$s tagged %2$s's %3$s with %4$s"
 msgstr "%1$s hat %2$ss %3$s mit %4$s getaggt"
@@ -4383,17 +4397,17 @@ msgid "Gender: "
 msgstr "Geschlecht:"
 
 #: ../../mod/directory.php:134 ../../include/profile_advanced.php:17
-#: ../../boot.php:1209
+#: ../../boot.php:1210
 msgid "Gender:"
 msgstr "Geschlecht:"
 
 #: ../../mod/directory.php:136 ../../include/profile_advanced.php:37
-#: ../../boot.php:1212
+#: ../../boot.php:1213
 msgid "Status:"
 msgstr "Status:"
 
 #: ../../mod/directory.php:138 ../../include/profile_advanced.php:48
-#: ../../boot.php:1214
+#: ../../boot.php:1215
 msgid "Homepage:"
 msgstr "Homepage:"
 
@@ -5151,7 +5165,7 @@ msgstr "Aktiviere Planeten Plugin"
 #: ../../addon/communityhome/communityhome.php:34
 #: ../../addon/communityhome/twillingham/communityhome.php:28
 #: ../../addon/communityhome/twillingham/communityhome.php:34
-#: ../../include/nav.php:64 ../../boot.php:920
+#: ../../include/nav.php:64 ../../boot.php:921
 msgid "Login"
 msgstr "Anmeldung"
 
@@ -5179,8 +5193,8 @@ msgid "Latest likes"
 msgstr "Neueste Favoriten"
 
 #: ../../addon/communityhome/communityhome.php:155
-#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1364
-#: ../../include/conversation.php:106 ../../include/conversation.php:222
+#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1397
+#: ../../include/conversation.php:106 ../../include/conversation.php:236
 msgid "event"
 msgstr "Veranstaltung"
 
@@ -5298,38 +5312,38 @@ msgstr "Tage"
 #: ../../addon/dav/common/wdcal_edit.inc.php:254
 #: ../../addon/dav/common/wdcal_edit.inc.php:270
 #: ../../addon/dav/common/wdcal_edit.inc.php:293
-#: ../../addon/dav/common/wdcal_edit.inc.php:305 ../../include/text.php:884
+#: ../../addon/dav/common/wdcal_edit.inc.php:305 ../../include/text.php:917
 msgid "Sunday"
 msgstr "Sonntag"
 
 #: ../../addon/dav/common/wdcal_edit.inc.php:235
 #: ../../addon/dav/common/wdcal_edit.inc.php:274
-#: ../../addon/dav/common/wdcal_edit.inc.php:308 ../../include/text.php:884
+#: ../../addon/dav/common/wdcal_edit.inc.php:308 ../../include/text.php:917
 msgid "Monday"
 msgstr "Montag"
 
 #: ../../addon/dav/common/wdcal_edit.inc.php:238
-#: ../../addon/dav/common/wdcal_edit.inc.php:277 ../../include/text.php:884
+#: ../../addon/dav/common/wdcal_edit.inc.php:277 ../../include/text.php:917
 msgid "Tuesday"
 msgstr "Dienstag"
 
 #: ../../addon/dav/common/wdcal_edit.inc.php:241
-#: ../../addon/dav/common/wdcal_edit.inc.php:280 ../../include/text.php:884
+#: ../../addon/dav/common/wdcal_edit.inc.php:280 ../../include/text.php:917
 msgid "Wednesday"
 msgstr "Mittwoch"
 
 #: ../../addon/dav/common/wdcal_edit.inc.php:244
-#: ../../addon/dav/common/wdcal_edit.inc.php:283 ../../include/text.php:884
+#: ../../addon/dav/common/wdcal_edit.inc.php:283 ../../include/text.php:917
 msgid "Thursday"
 msgstr "Donnerstag"
 
 #: ../../addon/dav/common/wdcal_edit.inc.php:247
-#: ../../addon/dav/common/wdcal_edit.inc.php:286 ../../include/text.php:884
+#: ../../addon/dav/common/wdcal_edit.inc.php:286 ../../include/text.php:917
 msgid "Friday"
 msgstr "Freitag"
 
 #: ../../addon/dav/common/wdcal_edit.inc.php:250
-#: ../../addon/dav/common/wdcal_edit.inc.php:289 ../../include/text.php:884
+#: ../../addon/dav/common/wdcal_edit.inc.php:289 ../../include/text.php:917
 msgid "Saturday"
 msgstr "Samstag"
 
@@ -5352,11 +5366,11 @@ msgstr "letzten #num#ten jedes Monats"
 
 #: ../../addon/dav/common/wdcal_edit.inc.php:360
 msgid "#num#th #wkday# of each month"
-msgstr ""
+msgstr "jeden #num#ten #wkday# eines Monats"
 
 #: ../../addon/dav/common/wdcal_edit.inc.php:363
 msgid "#num#th-last #wkday# of each month"
-msgstr ""
+msgstr "jeden #num#ten letzten #wkday# eines Monats"
 
 #: ../../addon/dav/common/wdcal_edit.inc.php:372
 #: ../../addon/dav/friendica/layout.fnk.php:255
@@ -5373,11 +5387,11 @@ msgstr "letzten #num#ten des Monats"
 
 #: ../../addon/dav/common/wdcal_edit.inc.php:383
 msgid "#num#th #wkday# of the given month"
-msgstr ""
+msgstr "jeden #num#ten eines Monats"
 
 #: ../../addon/dav/common/wdcal_edit.inc.php:386
 msgid "#num#th-last #wkday# of the given month"
-msgstr ""
+msgstr "jeden #num#ten letzten eines Monats"
 
 #: ../../addon/dav/common/wdcal_edit.inc.php:413
 msgid "Repeat until"
@@ -7448,99 +7462,179 @@ msgstr ""
 msgid "rebuffed"
 msgstr ""
 
-#: ../../include/text.php:888
+#: ../../include/text.php:736
+msgid "happy"
+msgstr "glücklich"
+
+#: ../../include/text.php:737
+msgid "sad"
+msgstr "traurig"
+
+#: ../../include/text.php:738
+msgid "mellow"
+msgstr "sanft"
+
+#: ../../include/text.php:739
+msgid "tired"
+msgstr "müde"
+
+#: ../../include/text.php:740
+msgid "perky"
+msgstr "frech"
+
+#: ../../include/text.php:741
+msgid "angry"
+msgstr "sauer"
+
+#: ../../include/text.php:742
+msgid "stupified"
+msgstr "verblüfft"
+
+#: ../../include/text.php:743
+msgid "puzzled"
+msgstr "verwirrt"
+
+#: ../../include/text.php:744
+msgid "interested"
+msgstr "interessiert"
+
+#: ../../include/text.php:745
+msgid "bitter"
+msgstr "verbittert"
+
+#: ../../include/text.php:746
+msgid "cheerful"
+msgstr "fröhlich"
+
+#: ../../include/text.php:747
+msgid "alive"
+msgstr "lebendig"
+
+#: ../../include/text.php:748
+msgid "annoyed"
+msgstr "verärgert"
+
+#: ../../include/text.php:749
+msgid "anxious"
+msgstr "unruhig"
+
+#: ../../include/text.php:750
+msgid "cranky"
+msgstr "schrullig"
+
+#: ../../include/text.php:751
+msgid "disturbed"
+msgstr "verstört"
+
+#: ../../include/text.php:752
+msgid "frustrated"
+msgstr "frustriert"
+
+#: ../../include/text.php:753
+msgid "motivated"
+msgstr "motiviert"
+
+#: ../../include/text.php:754
+msgid "relaxed"
+msgstr "entspannt"
+
+#: ../../include/text.php:755
+msgid "surprised"
+msgstr "überrascht"
+
+#: ../../include/text.php:921
 msgid "January"
 msgstr "Januar"
 
-#: ../../include/text.php:888
+#: ../../include/text.php:921
 msgid "February"
 msgstr "Februar"
 
-#: ../../include/text.php:888
+#: ../../include/text.php:921
 msgid "March"
 msgstr "März"
 
-#: ../../include/text.php:888
+#: ../../include/text.php:921
 msgid "April"
 msgstr "April"
 
-#: ../../include/text.php:888
+#: ../../include/text.php:921
 msgid "May"
 msgstr "Mai"
 
-#: ../../include/text.php:888
+#: ../../include/text.php:921
 msgid "June"
 msgstr "Juni"
 
-#: ../../include/text.php:888
+#: ../../include/text.php:921
 msgid "July"
 msgstr "Juli"
 
-#: ../../include/text.php:888
+#: ../../include/text.php:921
 msgid "August"
 msgstr "August"
 
-#: ../../include/text.php:888
+#: ../../include/text.php:921
 msgid "September"
 msgstr "September"
 
-#: ../../include/text.php:888
+#: ../../include/text.php:921
 msgid "October"
 msgstr "Oktober"
 
-#: ../../include/text.php:888
+#: ../../include/text.php:921
 msgid "November"
 msgstr "November"
 
-#: ../../include/text.php:888
+#: ../../include/text.php:921
 msgid "December"
 msgstr "Dezember"
 
-#: ../../include/text.php:974
+#: ../../include/text.php:1007
 msgid "bytes"
 msgstr "Byte"
 
-#: ../../include/text.php:994 ../../include/text.php:1009
+#: ../../include/text.php:1027 ../../include/text.php:1042
 msgid "remove"
 msgstr "löschen"
 
-#: ../../include/text.php:994 ../../include/text.php:1009
+#: ../../include/text.php:1027 ../../include/text.php:1042
 msgid "[remove]"
 msgstr "[löschen]"
 
-#: ../../include/text.php:997
+#: ../../include/text.php:1030
 msgid "Categories:"
 msgstr "Kategorien:"
 
-#: ../../include/text.php:1012
+#: ../../include/text.php:1045
 msgid "Filed under:"
 msgstr "Abgelegt unter:"
 
-#: ../../include/text.php:1028 ../../include/text.php:1040
+#: ../../include/text.php:1061 ../../include/text.php:1073
 msgid "Click to open/close"
 msgstr "Zum öffnen/schließen klicken"
 
-#: ../../include/text.php:1146 ../../include/user.php:236
+#: ../../include/text.php:1179 ../../include/user.php:236
 msgid "default"
 msgstr "Standard"
 
-#: ../../include/text.php:1158
+#: ../../include/text.php:1191
 msgid "Select an alternate language"
 msgstr "Alternative Sprache auswählen"
 
-#: ../../include/text.php:1368
+#: ../../include/text.php:1401
 msgid "activity"
 msgstr "Aktivität"
 
-#: ../../include/text.php:1370
+#: ../../include/text.php:1403
 msgid "comment"
 msgstr "Kommentar"
 
-#: ../../include/text.php:1371
+#: ../../include/text.php:1404
 msgid "post"
 msgstr "Beitrag"
 
-#: ../../include/text.php:1526
+#: ../../include/text.php:1559
 msgid "Item filed"
 msgstr "Beitrag abgelegt"
 
@@ -7599,7 +7693,7 @@ msgstr "Neue Gruppe erstellen"
 msgid "Contacts not in any group"
 msgstr "Kontakte in keiner Gruppe"
 
-#: ../../include/nav.php:46 ../../boot.php:919
+#: ../../include/nav.php:46 ../../boot.php:920
 msgid "Logout"
 msgstr "Abmelden"
 
@@ -7607,7 +7701,7 @@ msgstr "Abmelden"
 msgid "End this session"
 msgstr "Diese Sitzung beenden"
 
-#: ../../include/nav.php:49 ../../boot.php:1631
+#: ../../include/nav.php:49 ../../boot.php:1632
 msgid "Status"
 msgstr "Status"
 
@@ -7687,11 +7781,11 @@ msgstr "Verwalten"
 msgid "Manage other pages"
 msgstr "Andere Seiten verwalten"
 
-#: ../../include/nav.php:138 ../../boot.php:1167
+#: ../../include/nav.php:138 ../../boot.php:1168
 msgid "Profiles"
 msgstr "Profile"
 
-#: ../../include/nav.php:138 ../../boot.php:1167
+#: ../../include/nav.php:138 ../../boot.php:1168
 msgid "Manage/edit profiles"
 msgstr "Profile verwalten/editieren"
 
@@ -8219,34 +8313,34 @@ msgstr "Das Sicherheitsmerkmal war nicht korrekt. Das passiert meistens wenn das
 msgid "stopped following"
 msgstr "wird nicht mehr gefolgt"
 
-#: ../../include/Contact.php:220 ../../include/conversation.php:977
+#: ../../include/Contact.php:220 ../../include/conversation.php:1002
 msgid "Poke"
 msgstr ""
 
-#: ../../include/Contact.php:221 ../../include/conversation.php:971
+#: ../../include/Contact.php:221 ../../include/conversation.php:996
 msgid "View Status"
 msgstr "Pinnwand anschauen"
 
-#: ../../include/Contact.php:222 ../../include/conversation.php:972
+#: ../../include/Contact.php:222 ../../include/conversation.php:997
 msgid "View Profile"
 msgstr "Profil anschauen"
 
-#: ../../include/Contact.php:223 ../../include/conversation.php:973
+#: ../../include/Contact.php:223 ../../include/conversation.php:998
 msgid "View Photos"
 msgstr "Bilder anschauen"
 
 #: ../../include/Contact.php:224 ../../include/Contact.php:237
-#: ../../include/conversation.php:974
+#: ../../include/conversation.php:999
 msgid "Network Posts"
 msgstr "Netzwerkbeiträge"
 
 #: ../../include/Contact.php:225 ../../include/Contact.php:237
-#: ../../include/conversation.php:975
+#: ../../include/conversation.php:1000
 msgid "Edit Contact"
 msgstr "Kontakt bearbeiten"
 
 #: ../../include/Contact.php:226 ../../include/Contact.php:237
-#: ../../include/conversation.php:976
+#: ../../include/conversation.php:1001
 msgid "Send PM"
 msgstr "Private Nachricht senden"
 
@@ -8255,115 +8349,115 @@ msgstr "Private Nachricht senden"
 msgid "%1$s poked %2$s"
 msgstr ""
 
-#: ../../include/conversation.php:267
+#: ../../include/conversation.php:281
 msgid "post/item"
 msgstr "Nachricht/Beitrag"
 
-#: ../../include/conversation.php:268
+#: ../../include/conversation.php:282
 #, php-format
 msgid "%1$s marked %2$s's %3$s as favorite"
 msgstr "%1$s hat %2$s\\s %3$s als Favorit markiert"
 
-#: ../../include/conversation.php:877
+#: ../../include/conversation.php:902
 msgid "Delete Selected Items"
 msgstr "Lösche die markierten Beiträge"
 
-#: ../../include/conversation.php:1035
+#: ../../include/conversation.php:1060
 #, php-format
 msgid "%s likes this."
 msgstr "%s mag das."
 
-#: ../../include/conversation.php:1035
+#: ../../include/conversation.php:1060
 #, php-format
 msgid "%s doesn't like this."
 msgstr "%s mag das nicht."
 
-#: ../../include/conversation.php:1039
+#: ../../include/conversation.php:1064
 #, php-format
 msgid "<span  %1$s>%2$d people</span> like this."
 msgstr "<span  %1$s>%2$d Leute</span> mögen das."
 
-#: ../../include/conversation.php:1041
+#: ../../include/conversation.php:1066
 #, php-format
 msgid "<span  %1$s>%2$d people</span> don't like this."
 msgstr "<span  %1$s>%2$d Leute</span> mögen das nicht."
 
-#: ../../include/conversation.php:1047
+#: ../../include/conversation.php:1072
 msgid "and"
 msgstr "und"
 
-#: ../../include/conversation.php:1050
+#: ../../include/conversation.php:1075
 #, php-format
 msgid ", and %d other people"
 msgstr " und %d andere"
 
-#: ../../include/conversation.php:1051
+#: ../../include/conversation.php:1076
 #, php-format
 msgid "%s like this."
 msgstr "%s mögen das."
 
-#: ../../include/conversation.php:1051
+#: ../../include/conversation.php:1076
 #, php-format
 msgid "%s don't like this."
 msgstr "%s mögen das nicht."
 
-#: ../../include/conversation.php:1075 ../../include/conversation.php:1092
+#: ../../include/conversation.php:1100 ../../include/conversation.php:1117
 msgid "Visible to <strong>everybody</strong>"
 msgstr "Für <strong>jedermann</strong> sichtbar"
 
-#: ../../include/conversation.php:1077 ../../include/conversation.php:1094
+#: ../../include/conversation.php:1102 ../../include/conversation.php:1119
 msgid "Please enter a video link/URL:"
 msgstr "Bitte Link/URL zum Video einfügen:"
 
-#: ../../include/conversation.php:1078 ../../include/conversation.php:1095
+#: ../../include/conversation.php:1103 ../../include/conversation.php:1120
 msgid "Please enter an audio link/URL:"
 msgstr "Bitte Link/URL zum Audio einfügen:"
 
-#: ../../include/conversation.php:1079 ../../include/conversation.php:1096
+#: ../../include/conversation.php:1104 ../../include/conversation.php:1121
 msgid "Tag term:"
 msgstr "Tag:"
 
-#: ../../include/conversation.php:1081 ../../include/conversation.php:1098
+#: ../../include/conversation.php:1106 ../../include/conversation.php:1123
 msgid "Where are you right now?"
 msgstr "Wo hältst du dich jetzt gerade auf?"
 
-#: ../../include/conversation.php:1141
+#: ../../include/conversation.php:1166
 msgid "upload photo"
 msgstr "Bild hochladen"
 
-#: ../../include/conversation.php:1143
+#: ../../include/conversation.php:1168
 msgid "attach file"
 msgstr "Datei anhängen"
 
-#: ../../include/conversation.php:1145
+#: ../../include/conversation.php:1170
 msgid "web link"
 msgstr "Weblink"
 
-#: ../../include/conversation.php:1146
+#: ../../include/conversation.php:1171
 msgid "Insert video link"
 msgstr "Video-Adresse einfügen"
 
-#: ../../include/conversation.php:1147
+#: ../../include/conversation.php:1172
 msgid "video link"
 msgstr "Video-Link"
 
-#: ../../include/conversation.php:1148
+#: ../../include/conversation.php:1173
 msgid "Insert audio link"
 msgstr "Audio-Adresse einfügen"
 
-#: ../../include/conversation.php:1149
+#: ../../include/conversation.php:1174
 msgid "audio link"
 msgstr "Audio-Link"
 
-#: ../../include/conversation.php:1151
+#: ../../include/conversation.php:1176
 msgid "set location"
 msgstr "Ort setzen"
 
-#: ../../include/conversation.php:1153
+#: ../../include/conversation.php:1178
 msgid "clear location"
 msgstr "Ort löschen"
 
-#: ../../include/conversation.php:1160
+#: ../../include/conversation.php:1185
 msgid "permissions"
 msgstr "Zugriffsrechte"
 
@@ -8379,96 +8473,96 @@ msgstr "Diese Aktion überschreitet die Obergrenze deines Abonnements."
 msgid "This action is not available under your subscription plan."
 msgstr "Diese Aktion ist in deinem Abonnement nicht verfügbar."
 
-#: ../../boot.php:581
+#: ../../boot.php:582
 msgid "Delete this item?"
 msgstr "Diesen Beitrag löschen?"
 
-#: ../../boot.php:584
+#: ../../boot.php:585
 msgid "show fewer"
 msgstr "weniger anzeigen"
 
-#: ../../boot.php:791
+#: ../../boot.php:792
 #, php-format
 msgid "Update %s failed. See error logs."
 msgstr "Update %s fehlgeschlagen. Bitte Fehlerprotokoll überprüfen."
 
-#: ../../boot.php:793
+#: ../../boot.php:794
 #, php-format
 msgid "Update Error at %s"
 msgstr "Updatefehler bei %s"
 
-#: ../../boot.php:894
+#: ../../boot.php:895
 msgid "Create a New Account"
 msgstr "Neues Konto erstellen"
 
-#: ../../boot.php:922
+#: ../../boot.php:923
 msgid "Nickname or Email address: "
 msgstr "Spitzname oder E-Mail-Adresse: "
 
-#: ../../boot.php:923
+#: ../../boot.php:924
 msgid "Password: "
 msgstr "Passwort: "
 
-#: ../../boot.php:926
+#: ../../boot.php:927
 msgid "Or login using OpenID: "
 msgstr "Oder melde dich mit deiner OpenID an: "
 
-#: ../../boot.php:932
+#: ../../boot.php:933
 msgid "Forgot your password?"
 msgstr "Passwort vergessen?"
 
-#: ../../boot.php:1099
+#: ../../boot.php:1100
 msgid "Edit profile"
 msgstr "Profil bearbeiten"
 
-#: ../../boot.php:1159
+#: ../../boot.php:1160
 msgid "Message"
 msgstr "Nachricht"
 
-#: ../../boot.php:1281 ../../boot.php:1367
+#: ../../boot.php:1282 ../../boot.php:1368
 msgid "g A l F d"
 msgstr "l, d. F G \\U\\h\\r"
 
-#: ../../boot.php:1282 ../../boot.php:1368
+#: ../../boot.php:1283 ../../boot.php:1369
 msgid "F d"
 msgstr "d. F"
 
-#: ../../boot.php:1327 ../../boot.php:1408
+#: ../../boot.php:1328 ../../boot.php:1409
 msgid "[today]"
 msgstr "[heute]"
 
-#: ../../boot.php:1339
+#: ../../boot.php:1340
 msgid "Birthday Reminders"
 msgstr "Geburtstagserinnerungen"
 
-#: ../../boot.php:1340
+#: ../../boot.php:1341
 msgid "Birthdays this week:"
 msgstr "Geburtstage diese Woche:"
 
-#: ../../boot.php:1401
+#: ../../boot.php:1402
 msgid "[No description]"
 msgstr "[keine Beschreibung]"
 
-#: ../../boot.php:1419
+#: ../../boot.php:1420
 msgid "Event Reminders"
 msgstr "Veranstaltungserinnerungen"
 
-#: ../../boot.php:1420
+#: ../../boot.php:1421
 msgid "Events this week:"
 msgstr "Veranstaltungen diese Woche"
 
-#: ../../boot.php:1634
+#: ../../boot.php:1635
 msgid "Status Messages and Posts"
 msgstr "Statusnachrichten und Beiträge"
 
-#: ../../boot.php:1641
+#: ../../boot.php:1642
 msgid "Profile Details"
 msgstr "Profildetails"
 
-#: ../../boot.php:1658
+#: ../../boot.php:1659
 msgid "Events and Calendar"
 msgstr "Ereignisse und Kalender"
 
-#: ../../boot.php:1665
+#: ../../boot.php:1666
 msgid "Only You Can See This"
 msgstr "Nur du kannst das sehen"
diff --git a/view/de/strings.php b/view/de/strings.php
index 42d0985f1..b80525f3c 100644
--- a/view/de/strings.php
+++ b/view/de/strings.php
@@ -675,6 +675,9 @@ $a->strings["This message was sent to you by %s, a member of the Friendica socia
 $a->strings["You may visit them online at %s"] = "Du kannst sie online unter %s besuchen";
 $a->strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = "Falls du diese Beiträge nicht erhalten möchtest, kontaktiere bitte den Autor, indem du auf diese Nachricht antwortest.";
 $a->strings["%s posted an update."] = "%s hat ein Update veröffentlicht.";
+$a->strings["%1\$s is currently %2\$s"] = "%1\$s ist momentan %2\$s";
+$a->strings["Mood"] = "Stimmung";
+$a->strings["Set your current mood and tell your friends"] = "Wähle deine aktuelle Stimmung und erzähle sie deinen Freunden";
 $a->strings["Image uploaded but image cropping failed."] = "Bilder hochgeladen, aber das Zuschneiden ist fehlgeschlagen.";
 $a->strings["Image size reduction [%s] failed."] = "Verkleinern der Bildgröße von [%s] ist gescheitert.";
 $a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Drücke Umschalt+Neu Laden oder leere den Browser-Cache, falls das neue Foto nicht gleich angezeigt wird.";
@@ -1206,13 +1209,13 @@ $a->strings["First day of week:"] = "Erster Tag der Woche";
 $a->strings["Day of month"] = "Tag des Monats";
 $a->strings["#num#th of each month"] = "#num#ten jedes Monats";
 $a->strings["#num#th-last of each month"] = "letzten #num#ten jedes Monats";
-$a->strings["#num#th #wkday# of each month"] = "";
-$a->strings["#num#th-last #wkday# of each month"] = "";
+$a->strings["#num#th #wkday# of each month"] = "jeden #num#ten #wkday# eines Monats";
+$a->strings["#num#th-last #wkday# of each month"] = "jeden #num#ten letzten #wkday# eines Monats";
 $a->strings["Month"] = "Monat";
 $a->strings["#num#th of the given month"] = "#num#ten des Monats";
 $a->strings["#num#th-last of the given month"] = "letzten #num#ten des Monats";
-$a->strings["#num#th #wkday# of the given month"] = "";
-$a->strings["#num#th-last #wkday# of the given month"] = "";
+$a->strings["#num#th #wkday# of the given month"] = "jeden #num#ten eines Monats";
+$a->strings["#num#th-last #wkday# of the given month"] = "jeden #num#ten letzten eines Monats";
 $a->strings["Repeat until"] = "Wiederholungen";
 $a->strings["Infinite"] = "unendlich";
 $a->strings["Until the following date"] = "bis zum folgenden Datum";
@@ -1690,6 +1693,26 @@ $a->strings["finger"] = "";
 $a->strings["fingered"] = "";
 $a->strings["rebuff"] = "";
 $a->strings["rebuffed"] = "";
+$a->strings["happy"] = "glücklich";
+$a->strings["sad"] = "traurig";
+$a->strings["mellow"] = "sanft";
+$a->strings["tired"] = "müde";
+$a->strings["perky"] = "frech";
+$a->strings["angry"] = "sauer";
+$a->strings["stupified"] = "verblüfft";
+$a->strings["puzzled"] = "verwirrt";
+$a->strings["interested"] = "interessiert";
+$a->strings["bitter"] = "verbittert";
+$a->strings["cheerful"] = "fröhlich";
+$a->strings["alive"] = "lebendig";
+$a->strings["annoyed"] = "verärgert";
+$a->strings["anxious"] = "unruhig";
+$a->strings["cranky"] = "schrullig";
+$a->strings["disturbed"] = "verstört";
+$a->strings["frustrated"] = "frustriert";
+$a->strings["motivated"] = "motiviert";
+$a->strings["relaxed"] = "entspannt";
+$a->strings["surprised"] = "überrascht";
 $a->strings["January"] = "Januar";
 $a->strings["February"] = "Februar";
 $a->strings["March"] = "März";

From 724583e38640b493f0b7ee1f675d96a8cf33538f Mon Sep 17 00:00:00 2001
From: friendica <info@friendica.com>
Date: Tue, 28 Aug 2012 19:08:17 -0700
Subject: [PATCH 20/22] rev update

---
 boot.php         |  2 +-
 util/messages.po | 24 ++++++++++++------------
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/boot.php b/boot.php
index 7e76f332a..5e21859a1 100644
--- a/boot.php
+++ b/boot.php
@@ -11,7 +11,7 @@ require_once('include/cache.php');
 require_once('library/Mobile_Detect/Mobile_Detect.php');
 
 define ( 'FRIENDICA_PLATFORM',     'Friendica');
-define ( 'FRIENDICA_VERSION',      '3.0.1444' );
+define ( 'FRIENDICA_VERSION',      '3.0.1449' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.23'    );
 define ( 'DB_UPDATE_VERSION',      1154      );
 
diff --git a/util/messages.po b/util/messages.po
index 444b6ae28..f8594b3a3 100644
--- a/util/messages.po
+++ b/util/messages.po
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: 3.0.1444\n"
+"Project-Id-Version: 3.0.1449\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-23 10:00-0700\n"
+"POT-Creation-Date: 2012-08-28 10:00-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -234,7 +234,7 @@ msgid "link to source"
 msgstr ""
 
 #: ../../mod/events.php:331 ../../view/theme/diabook/theme.php:131
-#: ../../include/nav.php:52 ../../boot.php:1656
+#: ../../include/nav.php:52 ../../boot.php:1659
 msgid "Events"
 msgstr ""
 
@@ -372,7 +372,7 @@ msgstr ""
 msgid "No"
 msgstr ""
 
-#: ../../mod/photos.php:46 ../../boot.php:1649
+#: ../../mod/photos.php:46 ../../boot.php:1652
 msgid "Photo Albums"
 msgstr ""
 
@@ -2594,7 +2594,7 @@ msgstr ""
 msgid "Invalid contact."
 msgstr ""
 
-#: ../../mod/notes.php:44 ../../boot.php:1663
+#: ../../mod/notes.php:44 ../../boot.php:1666
 msgid "Personal Notes"
 msgstr ""
 
@@ -2847,7 +2847,7 @@ msgstr ""
 
 #: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:128
 #: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:84
-#: ../../include/nav.php:50 ../../boot.php:1639
+#: ../../include/nav.php:50 ../../boot.php:1642
 msgid "Profile"
 msgstr ""
 
@@ -2994,7 +2994,7 @@ msgid "Access denied."
 msgstr ""
 
 #: ../../mod/fbrowser.php:25 ../../view/theme/diabook/theme.php:130
-#: ../../include/nav.php:51 ../../boot.php:1646
+#: ../../include/nav.php:51 ../../boot.php:1649
 msgid "Photos"
 msgstr ""
 
@@ -7689,7 +7689,7 @@ msgstr ""
 msgid "End this session"
 msgstr ""
 
-#: ../../include/nav.php:49 ../../boot.php:1632
+#: ../../include/nav.php:49 ../../boot.php:1635
 msgid "Status"
 msgstr ""
 
@@ -8538,18 +8538,18 @@ msgstr ""
 msgid "Events this week:"
 msgstr ""
 
-#: ../../boot.php:1635
+#: ../../boot.php:1638
 msgid "Status Messages and Posts"
 msgstr ""
 
-#: ../../boot.php:1642
+#: ../../boot.php:1645
 msgid "Profile Details"
 msgstr ""
 
-#: ../../boot.php:1659
+#: ../../boot.php:1662
 msgid "Events and Calendar"
 msgstr ""
 
-#: ../../boot.php:1666
+#: ../../boot.php:1669
 msgid "Only You Can See This"
 msgstr ""

From f7a1999c151b1b7e91b46ba20a903ccf673495ac Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Sun, 26 Aug 2012 18:18:43 -0600
Subject: [PATCH 21/22] manually fix escaped underscores in links

---
 include/bb2diaspora.php | 16 ++++++++++++++++
 include/bbcode.php      | 24 ++++++++++++++++++++++++
 2 files changed, 40 insertions(+)

diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php
index f00741790..75fe1ef35 100644
--- a/include/bb2diaspora.php
+++ b/include/bb2diaspora.php
@@ -162,6 +162,22 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
 	$md = new Markdownify(false, false, false);
 	$Text = $md->parseString($Text);
 
+	// The Markdownify converter converts underscores '_' in URLs to '\_', which
+	// messes up the URL. Manually fix these
+	$count = 1;
+	$pos = bb_find_open_close($Text, '[', ']', $count);
+	while($pos !== false) {
+		$start = substr($Text, 0, $pos['start']);
+		$subject = substr($Text, $pos['start'], $pos['end'] - $pos['start'] + 1);
+		$end = substr($Text, $pos['end'] + 1);
+
+		$subject = str_replace('\_', '_', $subject);
+		$Text = $start . $subject . $end;
+
+		$count++;
+		$pos = bb_find_open_close($Text, '[', ']', $count);
+	}	
+
 	// If the text going into bbcode() has a plain URL in it, i.e.
 	// with no [url] tags around it, it will come out of parseString()
 	// looking like: <http://url.com>, which gets removed by strip_tags().
diff --git a/include/bbcode.php b/include/bbcode.php
index 6f22d1970..c30908e2d 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -47,6 +47,30 @@ function bb_unspacefy_and_trim($st) {
   return $unspacefied;
 }
 
+function bb_find_open_close($s, $open, $close, $occurance = 1) {
+
+	if($occurance < 1)
+		$occurance = 1;
+
+	$start_pos = -1;
+	for($i = 1; $i <= $occurance; $i++) {
+		if( $start_pos !== false)
+			$start_pos = strpos($s, $open, $start_pos + 1);
+	}
+
+	if( $start_pos === false)
+		return false;
+
+	$end_pos = strpos($s, $close, $start_pos);
+
+	if( $end_pos === false)
+		return false;
+
+	$res = array( 'start' => $start_pos, 'end' => $end_pos );
+
+	return $res;
+}
+
 function get_bb_tag_pos($s, $name, $occurance = 1) {
 
 	if($occurance < 1)

From 2ef1081c682cce753ef97ec6a493016c6ac30c94 Mon Sep 17 00:00:00 2001
From: Zach Prezkuta <fermion@gmx.com>
Date: Tue, 28 Aug 2012 20:19:47 -0600
Subject: [PATCH 22/22] make the show more line look nicer

---
 view/theme/frost-mobile/style.css | 4 ++++
 view/theme/frost/style.css        | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/view/theme/frost-mobile/style.css b/view/theme/frost-mobile/style.css
index 86c50552f..7e3d47d34 100644
--- a/view/theme/frost-mobile/style.css
+++ b/view/theme/frost-mobile/style.css
@@ -1350,6 +1350,9 @@ input#dfrn-url {
 .divgrow-showmore {
 	display: block;
 	clear: both;
+	text-align: center;
+	outline: 0;
+	border-top: 1px dotted #888;
 }
 
 
@@ -1413,6 +1416,7 @@ input#dfrn-url {
 	border-bottom-right-radius: 10px;
 } 
 
+
 .comment-edit-wrapper {
 	margin-top: 15px;
 	background: #f3f3f3;
diff --git a/view/theme/frost/style.css b/view/theme/frost/style.css
index e8d83fd42..fa06ef7ed 100644
--- a/view/theme/frost/style.css
+++ b/view/theme/frost/style.css
@@ -1307,6 +1307,9 @@ input#dfrn-url {
 .divgrow-showmore {
 	display: block;
 	clear: both;
+	text-align: center;
+	outline: 0;
+	border-top: 1px dotted #888;
 }