You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@esme.apache.org by dp...@apache.org on 2009/01/03 01:35:33 UTC
svn commit: r730878 - in /incubator/esme/trunk/server/src/main:
scala/us/esme/comet/ scala/us/esme/lib/ scala/us/esme/model/
scala/us/esme/view/ webapp/ webapp/style/ webapp/templates-hidden/
Author: dpp
Date: Fri Jan 2 16:35:33 2009
New Revision: 730878
URL: http://svn.apache.org/viewvc?rev=730878&view=rev
Log:
Moved to JavaScript display of messages
Modified:
incubator/esme/trunk/server/src/main/scala/us/esme/comet/PublicTimeline.scala
incubator/esme/trunk/server/src/main/scala/us/esme/comet/TagCloud.scala
incubator/esme/trunk/server/src/main/scala/us/esme/comet/Timeline.scala
incubator/esme/trunk/server/src/main/scala/us/esme/lib/MsgFormat.scala
incubator/esme/trunk/server/src/main/scala/us/esme/model/User.scala
incubator/esme/trunk/server/src/main/scala/us/esme/view/UserView.scala
incubator/esme/trunk/server/src/main/webapp/index.html
incubator/esme/trunk/server/src/main/webapp/style/esme.css
incubator/esme/trunk/server/src/main/webapp/style/l-top.css
incubator/esme/trunk/server/src/main/webapp/style/layout.css
incubator/esme/trunk/server/src/main/webapp/templates-hidden/default.html
incubator/esme/trunk/server/src/main/webapp/templates-hidden/message.html
Modified: incubator/esme/trunk/server/src/main/scala/us/esme/comet/PublicTimeline.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/us/esme/comet/PublicTimeline.scala?rev=730878&r1=730877&r2=730878&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/us/esme/comet/PublicTimeline.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/us/esme/comet/PublicTimeline.scala Fri Jan 2 16:35:33 2009
@@ -32,10 +32,7 @@
import java.text._
-class PublicTimeline extends CometActor with MsgFormat {
-
- override def defaultPrefix = Full("timeline")
-
+class PublicTimeline extends CometActor {
private var messages: List[Long] = Nil
private var lastRender = millis
private var scheduled = false
@@ -58,14 +55,10 @@
val msgMap = Message.findMessages(messages)
val toDisplay = messages.flatMap(msgMap.get)
- <xml:group>
- {
- toDisplay.map(m => formatMsg(m, true, true))
- }
- </xml:group>
+ OnLoad(JsCrVar("public_timeline_messages", JsArray(
+ toDisplay.map(_.asJs) :_*)) &
+ JsFunc("displayMessages", JsVar("public_timeline_messages"), uniqueId).cmd)
}
-
- override implicit def xmlToXmlOrJsCmd(in: NodeSeq): RenderOut = new RenderOut(Full(in), fixedRender, Empty, Empty, false)
override def lowPriority = {
case ForceRender =>
Modified: incubator/esme/trunk/server/src/main/scala/us/esme/comet/TagCloud.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/us/esme/comet/TagCloud.scala?rev=730878&r1=730877&r2=730878&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/us/esme/comet/TagCloud.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/us/esme/comet/TagCloud.scala Fri Jan 2 16:35:33 2009
@@ -31,9 +31,7 @@
import java.text._
-class TagCloud extends CometActor with MsgFormat {
-
- override def defaultPrefix = Full("tagcloud")
+class TagCloud extends CometActor /* with MsgFormat*/ {
private var messages: List[Long] = Nil
Modified: incubator/esme/trunk/server/src/main/scala/us/esme/comet/Timeline.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/us/esme/comet/Timeline.scala?rev=730878&r1=730877&r2=730878&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/us/esme/comet/Timeline.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/us/esme/comet/Timeline.scala Fri Jan 2 16:35:33 2009
@@ -31,10 +31,7 @@
import java.text._
-class Timeline extends CometActor with MsgFormat {
-
- override def defaultPrefix = Full("timeline")
-
+class Timeline extends CometActor {
private var messages: List[Long] = Nil
override def localSetup() {
@@ -51,29 +48,25 @@
override def localShutdown() {
super.localShutdown()
for (user <- User.currentUser) {
- Distributor ! Distributor.Unlisten(user.id, this)
+ Distributor ! Distributor.Unlisten(user.id, this)
}
}
def render = {
val msgMap = Message.findMessages(messages)
val toDisplay = messages.flatMap(msgMap.get)
-
- <xml:group>
- {
- toDisplay.map(m => <xml:group>{formatMsg(m, true, true)}</xml:group>)
- }
- </xml:group>
+
+ OnLoad(JsCrVar("timeline_messages", JsArray(
+ toDisplay.map(_.asJs) :_*)) &
+ JsFunc("displayMessages", JsVar("timeline_messages"), uniqueId).cmd)
}
- override implicit def xmlToXmlOrJsCmd(in: NodeSeq): RenderOut = new RenderOut(Full(in), fixedRender, Empty, Empty, false)
-
override def lowPriority = {
case UserActor.MessageReceived(msg, _) =>
messages = (msg.id.is :: messages).take(40)
reRender(false)
- case Distributor.UserUpdated(_) =>
- reRender(false)
+ case Distributor.UserUpdated(_) =>
+ reRender(false)
}
}
Modified: incubator/esme/trunk/server/src/main/scala/us/esme/lib/MsgFormat.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/us/esme/lib/MsgFormat.scala?rev=730878&r1=730877&r2=730878&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/us/esme/lib/MsgFormat.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/us/esme/lib/MsgFormat.scala Fri Jan 2 16:35:33 2009
@@ -43,6 +43,7 @@
r openOr false
})
+/*
trait MsgFormat {
def formatMsg(in: Message, showReply: Boolean, showConv: Boolean): NodeSeq =
@@ -109,3 +110,4 @@
}
}
}
+*/
\ No newline at end of file
Modified: incubator/esme/trunk/server/src/main/scala/us/esme/model/User.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/us/esme/model/User.scala?rev=730878&r1=730877&r2=730878&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/us/esme/model/User.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/us/esme/model/User.scala Fri Jan 2 16:35:33 2009
@@ -88,7 +88,6 @@
<p class="input"><label>Open ID</label><user:openid /></p>
<p class="button">
<img onclick="document.getElementById('openid_submit').submit()" src="/images/sign-on.png" alt="Sign On" />
- <span class="note">...if you dare...</span>
</p>
</div>
{
Modified: incubator/esme/trunk/server/src/main/scala/us/esme/view/UserView.scala
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/us/esme/view/UserView.scala?rev=730878&r1=730877&r2=730878&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/scala/us/esme/view/UserView.scala (original)
+++ incubator/esme/trunk/server/src/main/scala/us/esme/view/UserView.scala Fri Jan 2 16:35:33 2009
@@ -37,7 +37,7 @@
import java.util.logging._
-object UserView extends LiftView with MsgFormat {
+object UserView extends LiftView /* with MsgFormat */ {
val logger: Logger = Logger.getLogger("us.esme.view")
logger.setLevel(Level.INFO)
def loggedIn_? = User.loggedIn_?
@@ -79,12 +79,13 @@
case _ =>
<ul>
{
- what.map(m =>
- <li>{formatMsg(m,
- false, false,
- Full(() =>
- show(replyMap.getOrElse(m.id, Nil).reverse)
- ))}</li>)
+ what.zipWithIndex.map{
+ case (m, idx) =>
+ <span id={"m_"+idx}>
+ {Script(OnLoad(JsFunc("displayMessages", JsArray(m.asJs), "m_"+idx).cmd))
+ }
+ </span>
+ }
}
</ul>
}
@@ -125,20 +126,20 @@
<div id="tabs" class="b-view tab1">
<dl class="messages">
<dt class="caption">{user.niceName}'s Timeline
- <span id="following">{followOrNot}</span></dt>
- <dd class="b-view-menu clear">
- <ul>
- <li class="current"><b>Timeline</b></li>
- <li><a href="javascript:" onclick="document.getElementById('tabs').className='b-view tab2';return false">Messages</a></li>
- <li><a href="javascript:" onclick="document.getElementById('tabs').className='b-view tab3';return false">Contacts</a></li>
- </ul>
- </dd>
+ <span id="following">{followOrNot}</span></dt>
<dd>
{
val lst: List[Message] =
Mailbox.mostRecentMessagesFor(user.id, 50).map(_._1)
// user.latestMessages(50) openOr Nil
- lst.map(m => formatMsg(m, false, true))
+ lst.zipWithIndex.map{
+ case (m, idx) =>
+ <span id={"m2_"+idx}>
+ {
+ Script(OnLoad(JsFunc("displayMessages", JsArray(m.asJs), "m2_"+idx).cmd))
+ }
+ </span>
+ }
}
</dd>
</dl>
@@ -146,18 +147,18 @@
<dl class="tagclouds">
<dt class="caption">{user.niceName}'s Messages</dt>
- <dd class="b-view-menu clear">
- <ul>
- <li><a href="javascript:" onclick="document.getElementById('tabs').className='b-view tab1';return false">Timeline</a></li>
- <li class="current"><b>Messages</b></li>
- <li><a href="javascript:" onclick="document.getElementById('tabs').className='b-view tab3';return false">Contacts</a></li>
- </ul>
- </dd>
<dd class="b-clouds">
{
val lst: List[Message] =
Message.findAll(By(Message.author, user), MaxRows(50), OrderBy(Message.id, Descending))
- lst.map(m => formatMsg(m, false, true))
+ lst.zipWithIndex.map{
+ case (m, idx) =>
+ <span id={"m3_"+idx}>
+ {
+ Script(OnLoad(JsFunc("displayMessages", JsArray(m.asJs), "m3_"+idx).cmd))
+ }
+ </span>
+ }
}
</dd>
</dl>
@@ -165,13 +166,7 @@
<dt class="caption">
Contacts
</dt>
- <dd class="b-view-menu clear">
- <ul>
- <li><a href="javascript:" onclick="document.getElementById('tabs').className='b-view tab1';return false">Timeline</a></li>
- <li><a href="javascript:" onclick="document.getElementById('tabs').className='b-view tab2';return false">Messages</a></li>
- <li class="current"><b>Contacts</b></li>
- </ul>
- </dd>
+
<dd class="b-contacts" style="height: 240px; overflow: auto">
Following:
<lift:UserSnip.following userId={user.id.toString}/>
@@ -183,22 +178,6 @@
</dl>
</div>
</div>
- /*
- (<div>
- <fieldset>
- <legend>{user.niceName}</legend>
- <span id="following">{followOrNot}</span>
- <ul>
- {
- val lst: List[Message] =
- Mailbox.mostRecentMessagesFor(user.id, 50).map(_._1)
- // user.latestMessages(50) openOr Nil
- lst.map(m => <li>{formatMsg(m, false, true)}</li>)
- }
- </ul>
- </fieldset>
- </div>)
- */
}
ui openOr (<span>User Not Found</span>)
}
@@ -214,7 +193,14 @@
<ul>
{
val lst: List[Message] = Message.search(term, user.following, 50)
- lst.map(m => <li>{formatMsg(m, false, true)}</li>)
+ lst.zipWithIndex.map{
+ case (m, idx) =>
+ <span id={"m4_"+idx}>
+ {
+ Script(OnLoad(JsFunc("displayMessages", JsArray(m.asJs), "m4_"+idx).cmd))
+ }
+ </span>
+ }
}
</ul>
</fieldset>
@@ -233,7 +219,14 @@
<legend>{tag.name}</legend>
<ul>
{
- lst.map(m => <li>{formatMsg(m, false, true)}</li>)
+ lst.zipWithIndex.map{
+ case (m, idx) =>
+ <span id={"m5_"+idx}>
+ {
+ Script(OnLoad(JsFunc("displayMessages", JsArray(m.asJs), "m5_"+idx).cmd))
+ }
+ </span>
+ }
}
</ul>
</fieldset>
Modified: incubator/esme/trunk/server/src/main/webapp/index.html
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/index.html?rev=730878&r1=730877&r2=730878&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/index.html (original)
+++ incubator/esme/trunk/server/src/main/webapp/index.html Fri Jan 2 16:35:33 2009
@@ -1,18 +1,16 @@
<lift:UserSnip.loggedIn>
<logged:in>
- <lift:surround with="message" at="content">
-
- </lift:surround>
+ <lift:surround with="message" at="content"/>
</logged:in>
<logged:out>
<lift:surround with="default" at="content">
<div>
- <fieldset>
+ <fieldset>
<legend>Conversation</legend>
- <div style="height: 500px; overflow: auto">
- <lift:comet type="PublicTimeline"/>
- </div>
- </fieldset>
+ <div style="height: 500px; overflow: auto">
+ <lift:comet type="PublicTimeline"/>
+ </div>
+ </fieldset>
</div>
</lift:surround>
</logged:out>
Modified: incubator/esme/trunk/server/src/main/webapp/style/esme.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/esme.css?rev=730878&r1=730877&r2=730878&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/esme.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/esme.css Fri Jan 2 16:35:33 2009
@@ -25,7 +25,7 @@
/* Head (begin) */ /**/
.head .logo img
{
- margin: 5px 0 0 14px;
+ margin: 0px 0 0 14px;
}
/* Head (end) */ /**/
Modified: incubator/esme/trunk/server/src/main/webapp/style/l-top.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/l-top.css?rev=730878&r1=730877&r2=730878&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/l-top.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/l-top.css Fri Jan 2 16:35:33 2009
@@ -5,7 +5,7 @@
z-index: 10;
min-height: 50px;
- margin: -27px 0 0 -4px;
+
padding: 0 3px;
background: #233e5e;
Modified: incubator/esme/trunk/server/src/main/webapp/style/layout.css
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/style/layout.css?rev=730878&r1=730877&r2=730878&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/style/layout.css (original)
+++ incubator/esme/trunk/server/src/main/webapp/style/layout.css Fri Jan 2 16:35:33 2009
@@ -5,7 +5,7 @@
margin: 0 auto;
border-top: 4px solid #fff;
- border-bottom: 4px solid #fff;
+ /* border-bottom: 4px solid #fff; */
}
.head
Modified: incubator/esme/trunk/server/src/main/webapp/templates-hidden/default.html
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/templates-hidden/default.html?rev=730878&r1=730877&r2=730878&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/templates-hidden/default.html (original)
+++ incubator/esme/trunk/server/src/main/webapp/templates-hidden/default.html Fri Jan 2 16:35:33 2009
@@ -16,37 +16,36 @@
<div class="head">
<a class="logo" href="/"><img src="/images/esme-blue.png" alt="ESME" /></a>
-
+
<ul class="b-primary">
<li><lift:Menu.item name="EditUser"/></li>
<li><lift:Menu.item name="about"/></li>
+ <li><lift:Menu.item name="list_users"/></li>
+ <li><lift:Menu.item name="trackMgt"/></li>
+ <li><lift:Menu.item name="actionMgt"/></li>
+ <li><lift:Menu.item name="authToken"/></li>
<li><lift:Menu.item name="Logout"/></li>
</ul>
</div>
- <table class="l-page l-page-content">
+ <table>
<tr>
- <td class="l-page-l">
- <div class="b-open">
- <lift:UserSnip.loginForm />
- </div>
- </td>
- <td class="l-page-c">
- <div class="b-back">
- <lift:Menu.item name="Home"><- Messages</lift:Menu.item>
+ <td width="75%">
+ <div>
+ <lift:bind name="content" />
</div>
- <lift:msgs/>
</td>
- <td class="l-page-r">
- <div class="l-top">
- <lift:bind name="content" />
- </div>
+ <td>
+ <lift:UserSnip.loginForm />
+ <lift:msgs/>
</td>
</tr>
</table>
- <lift:embed what="/templates-hidden/menu_footer"/>
</div>
+ <div class="foot">
+ <center>ESME</center>
+ </div>
</body>
</html>
Modified: incubator/esme/trunk/server/src/main/webapp/templates-hidden/message.html
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/webapp/templates-hidden/message.html?rev=730878&r1=730877&r2=730878&view=diff
==============================================================================
--- incubator/esme/trunk/server/src/main/webapp/templates-hidden/message.html (original)
+++ incubator/esme/trunk/server/src/main/webapp/templates-hidden/message.html Fri Jan 2 16:35:33 2009
@@ -13,145 +13,129 @@
<body>
<div class="container">
<div class="head">
- <img src="/images/esme-blue.png" alt="ESME" />
+ <img src="/images/esme-blue.png" alt="ESME" />
<ul class="b-primary">
<li><lift:Menu.item name="EditUser"/></li>
- <li><lift:Menu.item name="about"/></li>
- <li><lift:Menu.item name="authToken"/></li>
+ <li><lift:Menu.item name="about"/></li>
+ <li><lift:Menu.item name="list_users"/></li>
+ <li><lift:Menu.item name="trackMgt"/></li>
+ <li><lift:Menu.item name="actionMgt"/></li>
+ <li><lift:Menu.item name="authToken"/></li>
<li><lift:Menu.item name="Logout"/></li>
</ul>
</div>
<table class="l-page l-page-massage">
- <tbody>
+ <tbody>
<tr>
- <td class="l-page-l">
- <div class="b-edit">
- <h2 class="title">Welcome<span class="name"><lift:UserSnip.name /></span></h2>
- <div class="b-popup"><i class="rt"><i> </i></i>
- <i class="rb"><i> </i></i>
- <i class="lb"><i> </i></i>
- <i class="b"> </i>
- <div class="b-popup-c">
- <div class="row clear">
- <label>What are you working on?</label>
- <textarea rows="4" cols="20" id="textdude"
- style="width: 90%"></textarea
- >
- </div>
- <div class="row clear"
- style="display: none;"
- id="reply-to-div">
- Replying to <span id="reply-to-span"> </span>
- <button onclick="clearReplyTo()">remove reply</button>
- </div>
-
- <div class="row clear">
- <label>Tag your message</label>
- <input id="tagdude" style="width: 90%"/>
- <div class="note clear">
- <span class="l">use commas to
- separate tags</span>
- <span class="r">not required</span>
- </div>
- </div>
-
- <div class="row clear"><a class="btn" href="javascript:post_msg();"><img src="/images/send-message.png" alt="Send Message" /></a></div>
-
-<script>
-// <![CDATA[
-var currentConvNumber = 0;
-
-function setReplyTo(id, text) {
- currentConvNumber = id;
- document.getElementById('reply-to-div').style.display = "block";
- jQuery('#reply-to-span').text(text);
-}
-
-function clearReplyTo() {
- currentConvNumber = 0;
- document.getElementById('reply-to-div').style.display = "none";
-}
-// ]]>
-</script>
-<lift:UserSnip.postScript />
- </div>
- </div>
-
- <div class="b-cloud">
- <lift:comet type="TagCloud"/>
- </div>
-
- <div class="bugs">
- <form action="/user_view/search"
- class="b-primay"><input style="height: 20px; background: #c9d8ea;"
- name="term"/>
- <input style="height: 22px; background: #233e5e; color: #c9d8ea;" type="submit" value="Search"/>
- </form>
- </div>
- </div>
- </td>
- <td class="l-page-c"></td>
<td class="l-page-r">
<div class="l-top">
- <div id="tabs" class="b-view tab1">
+ <div id="tabs" >
<dl class="messages">
- <dt class="caption">Your timeline</dt>
- <dd class="b-view-menu clear">
- <ul>
- <li class="current"><b>Messages</b></li>
- <li><a href="javascript:" onclick="document.getElementById('tabs').className='b-view tab2';return false">Timeline</a></li>
- <li><a href="javascript:" onclick="document.getElementById('tabs').className='b-view tab3';return false">Contacts</a></li>
- </ul>
+ <dt class="caption">Your timeline</dt>
+
+ <dd>
+ <lift:comet type="Timeline"/>
</dd>
- <dd>
- <lift:comet type="Timeline"/>
- </dd>
</dl>
-
+
<dl class="tagclouds">
<dt class="caption">
Public Timeline
</dt>
- <dd class="b-view-menu clear">
- <ul>
- <li><a href="javascript:" onclick="document.getElementById('tabs').className='b-view tab1';return false">Messages</a></li>
- <li class="current"><b>Timeline</b></li>
- <li><a href="javascript:" onclick="document.getElementById('tabs').className='b-view tab3';return false">Contacts</a></li>
- </ul>
- </dd>
+
<dd class="b-clouds">
- <lift:comet type="PublicTimeline" />
+ <lift:comet type="PublicTimeline" />
</dd>
</dl>
<dl class="contacts">
<dt class="caption">
Contacts
</dt>
- <dd class="b-view-menu clear">
- <ul>
- <li><a href="javascript:" onclick="document.getElementById('tabs').className='b-view tab1';return false">Messages</a></li>
- <li><a href="javascript:" onclick="document.getElementById('tabs').className='b-view tab2';return false">Timeline</a></li>
- <li class="current"><b>Contacts</b></li>
- </ul>
- </dd>
+
<dd class="b-contacts" style="height: 240px; overflow: auto">
- Following:
- <lift:UserSnip.following/>
+ Following:
+ <lift:UserSnip.following/>
</dd>
<dd class="b-contacts" style="height: 240px; overflow: auto">
- Followers:
- <lift:UserSnip.followers/>
+ Followers:
+ <lift:UserSnip.followers/>
</dd>
</dl>
</div>
</div>
</td>
+ <td class="l-page-l">
+ <div class="b-edit">
+ <h2 class="title">Welcome<span class="name"><lift:UserSnip.name /></span></h2>
+
+ <div class="b-popup-c">
+ <div class="row clear">
+ <label>What are you working on?</label>
+ <textarea rows="4" cols="20" id="textdude"
+ style="width: 90%"></textarea
+ >
+ </div>
+ <div class="row clear"
+ style="display: none;"
+ id="reply-to-div">
+ Replying to <span id="reply-to-span"> </span>
+ <button onclick="clearReplyTo()">remove reply</button>
+ </div>
+
+ <div class="row clear">
+ <label>Tag your message</label>
+ <input id="tagdude" style="width: 90%"/>
+ <div class="note clear">
+ <span class="l">use commas to
+ separate tags</span>
+ <span class="r">not required</span>
+ </div>
+ </div>
+
+ <div class="row clear"><a class="btn" href="javascript:post_msg();"><img src="/images/send-message.png" alt="Send Message" /></a></div>
+
+ <script>
+ // <![CDATA[
+ var currentConvNumber = 0;
+
+ function setReplyTo(id, text) {
+ currentConvNumber = id;
+ document.getElementById('reply-to-div').style.display = "block";
+ jQuery('#reply-to-span').text(text);
+ }
+
+ function clearReplyTo() {
+ currentConvNumber = 0;
+ document.getElementById('reply-to-div').style.display = "none";
+ }
+ // ]]>
+ </script>
+ <lift:UserSnip.postScript />
+ </div>
+
+
+ <div class="b-cloud">
+ <lift:comet type="TagCloud"/>
+ </div>
+
+ <div class="bugs">
+ <form action="/user_view/search"
+ class="b-primay"><input style="height: 20px; background: #c9d8ea;"
+ name="term"/>
+ <input style="height: 22px; background: #233e5e; color: #c9d8ea;" type="submit" value="Search"/>
+ </form>
+ </div>
+ </div>
+ </td>
+
+
</tr>
- </tbody>
+ </tbody>
</table>
-
- <lift:embed what="/templates-hidden/menu_footer"/>
+ </div>
+ <div class="foot">
+ <center>ESME</center>
</div>
</body>
</html>