Index: /greenstone3/trunk/web/interfaces/oran/interfaceConfig.xml
===================================================================
--- /greenstone3/trunk/web/interfaces/oran/interfaceConfig.xml	(revision 19987)
+++ /greenstone3/trunk/web/interfaces/oran/interfaceConfig.xml	(revision 19988)
@@ -16,11 +16,11 @@
     <action name='a' class='AppletAction' xslt='applet.xsl'/>
     <action name='xd' class='XMLDocumentAction'>
-      <subaction name='toc' xslt='document-toc.xsl'/>
-      <subaction name='text' xslt='document-content.xsl'/>
+      <subaction name='toc' xslt='gberg/document-toc.xsl'/>
+      <subaction name='text' xslt='gberg/document-content.xsl'/>
     </action>
     <action name='pr' class='ProcessAction' xslt='process.xsl'/>
     <action name='s' class='SystemAction' xslt='system.xsl'/>
     <action name='g' class='GeneralAction'>
-      <subaction name="authen" xslt='authen.xsl'/>
+      <subaction name="authen" xslt='pages/authen.xsl'/>
       <subaction name="berry" xslt='pages/berry.xsl'/>
     </action>
Index: /greenstone3/trunk/web/interfaces/oran/style/core.css
===================================================================
--- /greenstone3/trunk/web/interfaces/oran/style/core.css	(revision 19987)
+++ /greenstone3/trunk/web/interfaces/oran/style/core.css	(revision 19988)
@@ -1,2 +1,6 @@
+html {
+	height: 100%;
+	margin-bottom: 1px;
+}
 body {
 	font-family: sans-serif;
@@ -9,5 +13,5 @@
 	position: relative;
 	margin: 0 auto 20px auto;
-	max-width: 1200px;
+	max-width: 1000px;
 	padding: 0;
 	line-height: 160%;
@@ -28,4 +32,5 @@
 	background: transparent url('../images/gsdlhead.gif') scroll no-repeat left top;
 	padding: 10px 20px 30px 20px;
+	min-height: 80px;
 	max-height: 110px;
 	position: relative;
@@ -82,4 +87,5 @@
 
 
+
 /* some text should not be rendered as it is just there for search engines */
 #collectionLinks a b {
@@ -88,12 +94,16 @@
 
 /* make sure h1s and h2s are readable on the green banner */
-#banner h1, #banner h2, #banner h1 a, #banner h2 a {
-	color: #fff;
-	text-decoration: none;
-}
-
-#banner h1 {
-	font-size: 16px;
+#breadcrumbs, #banner h2, #breadcrumbs a, #banner h2 a {
+	color: #fff;
+}
+body.dAction #banner h2 {
+	max-width: 600px;
+	font-size: 100%;
+}
+
+#breadcrumbs {
 	margin: 0 0 10px 0;
+	height: 30px;
+	line-height: 30px;
 }
 #banner h2 {
@@ -148,4 +158,5 @@
 	right: 0;
 	padding: 0 15px 0 0;
+	text-transform: lowercase;
 }
 
@@ -218,6 +229,6 @@
 }
 
-/* style the classifier results */
-#classifierResults {
+/* style the search and classifier results */
+#results {
 	margin: 0;
 	padding: 0;
@@ -225,10 +236,10 @@
 }
 
-#classifierResults ul {
+#results ul {
 	margin: 0 0 0 20px;
 	padding: 0;
 }
 
-#classifierResults li {
+#results li {
 	list-style: none;
 	margin: 0 0 .2em 0;
@@ -236,5 +247,5 @@
 }
 
-#classifierResults li a {
+#results li a {
 	padding: 3px 3px 3px 28px;
 	background-repeat: no-repeat;
@@ -243,8 +254,8 @@
 
 
-#classifierResults .document a { background-image: url('../images/book.png'); }
-#classifierResults .document a:visited { background-image: url('../images/book-visited.png'); color: #999; }
-
-#classifierResults .shelf>a { background-image: url('../images/bookshelf.png'); }
+#results .document a { background-image: url('../images/book.png'); }
+#results .document a:visited { background-image: url('../images/book-visited.png'); color: #999; }
+
+#results .shelf>a { background-image: url('../images/bookshelf.png'); }
 
 /* corners of the banner */
@@ -666,2 +677,16 @@
 }
 
+/* -------- SEARCH ------- */
+.paramLabel {
+	float: left;
+	min-width: 250px;
+}
+.paramValue {
+	float: left;
+}
+
+
+table{
+	border-collapse:collapse;border-spacing:0;
+}
+
Index: /greenstone3/trunk/web/interfaces/oran/transform/layouts/main.xsl
===================================================================
--- /greenstone3/trunk/web/interfaces/oran/transform/layouts/main.xsl	(revision 19987)
+++ /greenstone3/trunk/web/interfaces/oran/transform/layouts/main.xsl	(revision 19988)
@@ -8,7 +8,8 @@
 	exclude-result-prefixes="util java util">
 
-	<!-- the name of the site -->
-	<xsl:template name="site-title">My Greenstone Library</xsl:template>
-	<xsl:template name="site-linked-title"><a href="./">My Greenstone Library</a></xsl:template>
+	<!-- put the URL or path of your site here site -->
+	<!-- eg 'http://www.example.com/mysite' or '/mysite'  -->
+	<xsl:template name="siteURL">/</xsl:template>
+
 
 	<!-- the output format for this layout is html -->
@@ -21,5 +22,5 @@
 
 			<head>
-				<title><xsl:call-template name="title"/> :: <xsl:call-template name="site-title"/></title>
+				<title><xsl:call-template name="pageTitle"/> :: <xsl:call-template name="siteName"/></title>
 				<link rel="stylesheet" href="interfaces/{$interface_name}/style/core.css" type="text/css"/>
 				<script type="text/javascript" src="interfaces/oran/js/jquery.js"><xsl:text> </xsl:text></script>
@@ -27,14 +28,15 @@
 			</head>
 			
-			<body><xsl:call-template name="textDirectionAttribute"/>
+			<body><xsl:call-template name="textDirectionAttribute"/><xsl:call-template name="actionClass"/>
+
+				<xsl:call-template name="displayErrorsIfAny"/>
 
 				<div id="container"><div id="container2"><div id="container3"><div id="container4">
-					<xsl:call-template name="displayErrorsIfAny"/>
 
 					<div id="banner">
 
 						<!-- show the title -->
-						<h1><xsl:call-template name="site-linked-title"/> /</h1>
-						<h2><xsl:call-template name="linked-title"/></h2>
+						<div id="breadcrumbs"><xsl:call-template name="breadcrumbs"/><xsl:text> </xsl:text></div>
+						<h2><xsl:call-template name="pageTitle"/></h2>
 
 						<!-- show home, help, preferences links -->
@@ -49,5 +51,5 @@
 							</li>
 
-							<!-- help
+							<!-- help -->
 							<li>
 								<a href="{$library_name}?a=p&amp;amp;sa=help&amp;amp;c={$collName}">
@@ -56,7 +58,5 @@
 								</a>
 							</li>
-							 -->
 
-							<!-- home
 							<li>
 								<a href="{$library_name}?a=p&amp;amp;sa=home">
@@ -65,5 +65,4 @@
 								</a>
 							</li>
-							 -->
 
 						</ul>			
@@ -86,4 +85,5 @@
 						-->
 						<xsl:apply-templates select="/page"/>
+
 					</div>
 
Index: /greenstone3/trunk/web/interfaces/oran/transform/pages/about.xsl
===================================================================
--- /greenstone3/trunk/web/interfaces/oran/transform/pages/about.xsl	(revision 19987)
+++ /greenstone3/trunk/web/interfaces/oran/transform/pages/about.xsl	(revision 19988)
@@ -8,12 +8,14 @@
 	exclude-result-prefixes="java util">
 
-	<!-- set to the oran layout -->
+	<!-- use the 'main' layout -->
 	<xsl:include href="layouts/main.xsl"/>
 
-	<xsl:template name="title"><gslib:aboutCollectionPageTitle/></xsl:template>
-	<xsl:template name="linked-title"><a href=""><gslib:aboutCollectionPageTitle/></a></xsl:template>
+	<!-- set page title -->
+	<xsl:template name="pageTitle"><gslib:collectionName/></xsl:template>
 
-	<!-- <xsl:template name="linked-title"><a href=""><gslib:aboutCollectionPageTitle/></a></xsl:template> -->
+	<!-- set page breadcrumbs -->
+	<xsl:template name="breadcrumbs"><gslib:siteLink/><gslib:rightArrow/></xsl:template>
 
+	<!-- the page content -->
 	<xsl:template match="/page">
   
Index: /greenstone3/trunk/web/interfaces/oran/transform/pages/berry.xsl
===================================================================
--- /greenstone3/trunk/web/interfaces/oran/transform/pages/berry.xsl	(revision 19987)
+++ /greenstone3/trunk/web/interfaces/oran/transform/pages/berry.xsl	(revision 19988)
@@ -8,16 +8,19 @@
 	exclude-result-prefixes="java util">
 
-	<!-- make this page use the 'main' layout -->
+	<!-- use the 'main' layout -->
 	<xsl:include href="layouts/main.xsl"/>
 
-	<!-- set page title and subtitle-->
-	<xsl:template name="title"><xsl:value-of select="/page/pageResponse/serviceCluster/metadataList/metadata[@name='Title']"/> Berry Basket</xsl:template>
-	<xsl:template name="linked-title"><a href=""><xsl:value-of select="/page/pageResponse/serviceCluster/metadataList/metadata[@name='Title']"/> Berry Basket</a></xsl:template>
+	<!-- set page title -->
+	<xsl:template name="pageTitle"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.berrybasket')"/></xsl:template>
 
-	<!-- the main page layout template is here -->
+	<!-- set page breadcrumbs -->
+	<xsl:template name="breadcrumbs"><gslib:siteLink/><gslib:rightArrow/></xsl:template>
+
+	<!-- the page content -->
 	<xsl:template match="/page">
 		<xsl:variable name="clusterName"><xsl:value-of select="/page/pageRequest/paramList/param[@name='c']/@value"/></xsl:variable>
 		<script type="text/javascript" src="/interfaces/oran/js/berrycheckout.js"><xsl:text> </xsl:text></script>
 		<script type="text/javascript">
+			<xsl:text> </xsl:text>
 			<xsl:for-each select="/page/pageResponse/collection/item">
 				<xsl:text disable-output-escaping="yes">var doc = new Array();
Index: /greenstone3/trunk/web/interfaces/oran/transform/pages/classifier.xsl
===================================================================
--- /greenstone3/trunk/web/interfaces/oran/transform/pages/classifier.xsl	(revision 19987)
+++ /greenstone3/trunk/web/interfaces/oran/transform/pages/classifier.xsl	(revision 19988)
@@ -8,14 +8,14 @@
 	exclude-result-prefixes="java util">
 	
-	<xsl:include href=".old/berrytools.xsl"/>
-
-	<!-- make this page use the 'main' layout -->
+	<!-- use the 'main' layout -->
 	<xsl:include href="layouts/main.xsl"/>
 
-	<!-- set page title and subtitle-->
-	<xsl:template name="title"><gslib:aboutCollectionPageTitle/></xsl:template>
-	<xsl:template name="linked-title"><a href=""><gslib:aboutCollectionPageTitle/></a></xsl:template>
+	<!-- set page title -->
+	<xsl:template name="pageTitle"><gslib:serviceName/></xsl:template>
 
-	<!-- the page content is here -->
+	<!-- set page breadcrumbs -->
+	<xsl:template name="breadcrumbs"><gslib:siteLink/><gslib:rightArrow/> <gslib:collectionNameLinked/><gslib:rightArrow/></xsl:template>
+
+	<!-- the page content -->
 	<xsl:template match="/page/pageResponse">
 
@@ -43,5 +43,5 @@
 			the two templates at the bottom of this file
 		-->
-		<ul id="classifierResults">
+		<ul id="results">
 			<xsl:apply-templates select="classifier/*"/>
 		</ul>
Index: /greenstone3/trunk/web/interfaces/oran/transform/pages/document.xsl
===================================================================
--- /greenstone3/trunk/web/interfaces/oran/transform/pages/document.xsl	(revision 19987)
+++ /greenstone3/trunk/web/interfaces/oran/transform/pages/document.xsl	(revision 19988)
@@ -12,11 +12,14 @@
 	<xsl:include href=".old/berrytools.xsl"/>
 
-	<!-- make this page use the 'main' layout -->
+	<!-- use the 'main' layout -->
 	<xsl:include href="layouts/main.xsl"/>
 
-	<!-- set page title and subtitle-->
-	<xsl:template name="title"><gslib:collectionName/></xsl:template>
-	<xsl:template name="linked-title"><a><xsl:attribute name="href">/<xsl:value-of select="collection/@name"/></xsl:attribute><gslib:collectionName/></a></xsl:template>
+	<!-- set page title -->
+	<xsl:template name="pageTitle"><gslib:documentTitle/></xsl:template>
 
+	<!-- set page breadcrumbs -->
+	<xsl:template name="breadcrumbs"><gslib:siteLink/><gslib:rightArrow/></xsl:template>
+
+	<!-- the page content -->
 	<xsl:template match="/page/pageResponse/document">
 
@@ -59,7 +62,8 @@
 				<xsl:variable name="p.c"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='p.c']"><xsl:value-of select="/page/pageRequest/paramList/param[@name='p.c']/@value"/></xsl:when><xsl:otherwise><xsl:value-of select="$collName"/></xsl:otherwise></xsl:choose></xsl:variable>
 
+				<!--
 				<div id="documentheading">
 
-					<!--<a href="{$library_name}?a={$p.a}&amp;sa={$p.sa}&amp;s={$p.s}&amp;c={$p.c}&amp;rt=rd"><xsl:call-template name="openbookimg"><xsl:with-param name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'close_book')"/></xsl:with-param></xsl:call-template></a>-->
+					<!- -<a href="{$library_name}?a={$p.a}&amp;sa={$p.sa}&amp;s={$p.s}&amp;c={$p.c}&amp;rt=rd"><xsl:call-template name="openbookimg"><xsl:with-param name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'close_book')"/></xsl:with-param></xsl:call-template></a>- ->
 
 					<xsl:choose>
@@ -69,4 +73,5 @@
 
 				</div>
+				-->
 
 				<div class="documenttext"> 
@@ -102,10 +107,5 @@
 		<!-- formulate the link -->
 		<xsl:variable name="contentsLink">
-			<xsl:value-of select='$library_name'/>?
-			a=d&amp;
-			c=<gslib:collectionShortName/>&amp;
-			d=<xsl:value-of select='@nodeID'/><xsl:if test="documentNode">.pr</xsl:if>&amp;
-			sib=1&amp;
-			<!--<xsl:if test="string($ec) = '1'">ec=1&amp;</xsl:if>
+			<xsl:value-of select='$library_name'/>?a=d&amp;c=<gslib:collectionNameShort/>&amp;d=<xsl:value-of select='@nodeID'/><xsl:if test="documentNode">.pr</xsl:if>&amp;sib=1<!--&amp;<xsl:if test="string($ec) = '1'">ec=1&amp;</xsl:if>
 			p.a=<xsl:value-of select="$p.a"/>&amp;
 			p.sa=<xsl:value-of select="$p.sa"/>&amp;
Index: /greenstone3/trunk/web/interfaces/oran/transform/pages/help.xsl
===================================================================
--- /greenstone3/trunk/web/interfaces/oran/transform/pages/help.xsl	(revision 19987)
+++ /greenstone3/trunk/web/interfaces/oran/transform/pages/help.xsl	(revision 19988)
@@ -1,22 +1,23 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <xsl:stylesheet version="1.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:java="http://xml.apache.org/xslt/java"
-  xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
-  extension-element-prefixes="java util"
-  exclude-result-prefixes="java util">
-  
-	<!-- choose the main layout -->
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+	xmlns:java="http://xml.apache.org/xslt/java"
+	xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
+	xmlns:gslib="http://www.greenstone.org/skinning"
+	extension-element-prefixes="java util"
+	exclude-result-prefixes="java util">
+
+	<!-- use the 'main' layout -->
 	<xsl:include href="layouts/main.xsl"/>
 
-	<!-- title -->
-	<xsl:template name="title">Help</xsl:template>
-	<xsl:template name="linked-title">Help</xsl:template>
+	<!-- set page title -->
+	<xsl:template name="pageTitle"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/></xsl:template>
 
-	<!-- the main page layout template is here -->
+	<!-- set page breadcrumbs -->
+	<xsl:template name="breadcrumbs"><gslib:siteLink/><gslib:rightArrow/></xsl:template>
+
+	<!-- the page content -->
 	<xsl:template match="page">
 		Help text goes here
 	</xsl:template>
- 
-  
 </xsl:stylesheet>
Index: /greenstone3/trunk/web/interfaces/oran/transform/pages/home.xsl
===================================================================
--- /greenstone3/trunk/web/interfaces/oran/transform/pages/home.xsl	(revision 19987)
+++ /greenstone3/trunk/web/interfaces/oran/transform/pages/home.xsl	(revision 19988)
@@ -6,14 +6,16 @@
 	xmlns:gslib="http://www.greenstone.org/skinning"
 	extension-element-prefixes="java util"
-	exclude-result-prefixes="util java util">
+	exclude-result-prefixes="java util">
 
-	<!-- make this page use the 'main' layout -->
+	<!-- use the 'main' layout -->
 	<xsl:include href="layouts/main.xsl"/>
 
-	<!-- set page title and subtitle-->
-	<xsl:template name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_t')"/></xsl:template>
-	<xsl:template name="linked-title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_t')"/></xsl:template>
+	<!-- set page title -->
+	<xsl:template name="pageTitle"><gslib:siteName/></xsl:template>
 
-	<!-- the page content is here -->
+	<!-- set page breadcrumbs -->
+	<xsl:template name="breadcrumbs"></xsl:template>
+
+	<!-- the page content -->
 	<xsl:template match="/page/pageResponse">
 
Index: /greenstone3/trunk/web/interfaces/oran/transform/pages/pref.xsl
===================================================================
--- /greenstone3/trunk/web/interfaces/oran/transform/pages/pref.xsl	(revision 19987)
+++ /greenstone3/trunk/web/interfaces/oran/transform/pages/pref.xsl	(revision 19988)
@@ -4,18 +4,18 @@
 	xmlns:java="http://xml.apache.org/xslt/java"
 	xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
+	xmlns:gslib="http://www.greenstone.org/skinning"
 	extension-element-prefixes="java util"
 	exclude-result-prefixes="java util">
   
-	<!-- style includes global params interface_name, library_name -->
-	<xsl:include href=".old/style.xsl"/>
-
-	<!-- make this page use the 'main' layout -->
+	<!-- use the 'main' layout -->
 	<xsl:include href="layouts/main.xsl"/>
 
-	<!-- set page title and subtitle-->
-	<xsl:template name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/></xsl:template>
-	<xsl:template name="linked-title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/></xsl:template>
+	<!-- set page title -->
+	<xsl:template name="pageTitle"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/></xsl:template>
 
-	<!-- the page content is here -->
+	<!-- set page breadcrumbs -->
+	<xsl:template name="breadcrumbs"><gslib:siteLink/><gslib:rightArrow/></xsl:template>
+
+	<!-- the page content -->
 	<xsl:template match="/page">
 
@@ -32,7 +32,11 @@
 				<!-- presentation preferences -->
 				<h3 class="formheading"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.prespref')"/></h3>
-				<ul id="presprefs">
-					<li>
+				<div id="presprefs">
+
+					<!-- language -->
+					<div class="paramLabel">
 						<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.interfacelang')"/>
+					</div>
+					<div class="paramValue">
 						<select name="l">
 							<xsl:for-each select="/page/pageResponse/languageList/language">
@@ -41,37 +45,53 @@
 						</select>
 
-					</li>
-					<li>
+					</div>
+					<br class="clear"/>
+
+					<!-- encoding -->
+					<div class="paramValue">
 						<span class="rightspace"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.encoding')"/></span>
-					</li>
-				</ul>
+					</div>
+					<br class="clear"/>
+
+				</div>
 
 				<!-- berry baskets -->
-				<ul id="berrybasketprefs">
+				<div id="berrybasketprefs">
 					<xsl:variable name="berrybasket"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='berrybasket']"><xsl:value-of select="/page/pageRequest/paramList/param[@name='berrybasket']/@value"/></xsl:when><xsl:otherwise>off</xsl:otherwise></xsl:choose></xsl:variable>
-					<li>
+					<div class="paramLabel">
 						<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.berrybasket')"/>
+					</div>
+					<div class="paramValue">
 						<select name="berrybasket">
 							<option value="on"><xsl:if test="$berrybasket='on'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.berrybasket.on')"/></option> 
 							<option value="off"><xsl:if test="$berrybasket='off'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.berrybasket.off')"/></option>
 						</select>
-					</li>
-				</ul>
+					</div>
+					<br class="clear"/>
+				</div>
 
 				<!-- tidy (?) -->
 				<xsl:if test="$tidyoption='tidy'">
 					<xsl:variable name="book"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='book']"><xsl:value-of select="/page/pageRequest/paramList/param[@name='book']/@value"/></xsl:when><xsl:otherwise>off</xsl:otherwise></xsl:choose></xsl:variable>
-					<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.book')"/> <select name="book">
-						<option value="on"><xsl:if test="$book='on'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.berrybasket.on')"/></option> 
-						<option value="off"><xsl:if test="$book='off'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.berrybasket.off')"/></option>
-					</select>
+					<div class="paramLabel">
+						<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.book')"/>
+					</div>
+					<div class="paramValue">
+						<select name="book">
+							<option value="on"><xsl:if test="$book='on'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.berrybasket.on')"/></option> 
+							<option value="off"><xsl:if test="$book='off'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.berrybasket.off')"/></option>
+						</select>
+					</div>
+					<br class="clear"/>
 				</xsl:if>
 
 				<!-- search preferences -->
 				<h3><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.searchpref')"/></h3>
-				<ul id="searchprefs">
+				<div id="searchprefs">
 					<xsl:variable name="hits"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='hitsPerPage']"><xsl:value-of select="/page/pageRequest/paramList/param[@name='hitsPerPage']/@value"/></xsl:when><xsl:otherwise>20</xsl:otherwise></xsl:choose></xsl:variable> 
-					<li>
-						<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.hitsperpage')"/> 
+					<div class="paramLabel">
+						<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.hitsperpage')"/>
+					</div>
+					<div class="paramValue">
 						<select name="hitsPerPage">
 							<option value="20"><xsl:if test="$hits=20"><xsl:attribute name="selected"></xsl:attribute></xsl:if>20</option> 
@@ -80,6 +100,9 @@
 							<option value="-1"><xsl:if test="$hits=-1"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.all')"/></option>
 						</select>
-					</li>
-				</ul>
+					</div>
+					<br class="clear"/>
+				</div>
+
+				<br/>
 
 				<input type='submit'><xsl:attribute name="value"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.set_prefs')"/></xsl:attribute></input>
Index: /greenstone3/trunk/web/interfaces/oran/transform/pages/query.xsl
===================================================================
--- /greenstone3/trunk/web/interfaces/oran/transform/pages/query.xsl	(revision 19987)
+++ /greenstone3/trunk/web/interfaces/oran/transform/pages/query.xsl	(revision 19988)
@@ -8,198 +8,233 @@
 	exclude-result-prefixes="java util">
 	
-	<!-- make this page use the 'main' layout -->
+	<!-- use the 'main' layout -->
 	<xsl:include href="layouts/main.xsl"/>
 
-	<!-- set page title and subtitle-->
-	<xsl:template name="title"><gslib:aboutCollectionPageTitle/></xsl:template>
-	<xsl:template name="linked-title"><a href=""><gslib:aboutCollectionPageTitle/></a></xsl:template>
-
-	<!-- the main page layout template is here -->
-	<xsl:template match="/page/pageResponse/service">
-
-		<form name="QueryForm" method="get" action="{$library_name}">
-			<div>
-				<input type="hidden" name="a" value="q"/>
-				<input type="hidden" name="sa"><xsl:attribute name="value"><xsl:value-of select="/page/pageRequest/@subaction"/></xsl:attribute></input>
-				<input type="hidden" name="rt" value="rd"/>
-				<input type="hidden" name="s" value="{@name}"/>
-				<input type="hidden" name="c" value="{$collName}"/>
-				<xsl:if test="not(paramList/param[@name='startPage'])">
-					<input type="hidden" name="startPage" value="1"/>
-				</xsl:if>
-
-				<xsl:apply-templates select="paramList"/>
-
-				<input type="submit"><xsl:attribute name="value"><xsl:value-of select="displayItem[@name='submit']"/></xsl:attribute></input>
+	<!-- set page title -->
+	<xsl:template name="pageTitle"><gslib:serviceName/></xsl:template>
+
+	<!-- set page breadcrumbs -->
+	<xsl:template name="breadcrumbs"> <gslib:siteLink/><gslib:rightArrow/> <gslib:collectionNameLinked/><gslib:rightArrow/></xsl:template>
+
+	<!-- the page content -->
+	<xsl:template match="/page">
+		<xsl:choose>
+			<xsl:when test="not(pageResponse/documentNodeList)">
+				<xsl:for-each select="pageResponse/service">
+					<form name="QueryForm" method="get" action="{$library_name}">
+						<div>
+							<input type="hidden" name="a" value="q"/>
+							<input type="hidden" name="sa"><xsl:attribute name="value"><xsl:value-of select="/page/pageRequest/@subaction"/></xsl:attribute></input>
+							<input type="hidden" name="rt" value="rd"/>
+							<input type="hidden" name="s" value="{@name}"/>
+							<input type="hidden" name="c" value="{$collName}"/>
+							<xsl:if test="not(paramList/param[@name='startPage'])">
+								<input type="hidden" name="startPage" value="1"/>
+							</xsl:if>
+
+							<xsl:variable name="ns">s1.</xsl:variable>
+							<xsl:for-each select="paramList/param">
+								<xsl:choose>
+									<xsl:when test="@type='multi'">
+										<xsl:apply-templates select="."><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:variable name="pvalue"><xsl:apply-templates select="." mode="calculate-default"><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates></xsl:variable>
+										<div class="paramLabel"><xsl:value-of select="displayItem[@name='name']"/></div>
+										<div class="paramValue">
+											<xsl:apply-templates select=".">
+												<xsl:with-param name="default" select="$pvalue"/>
+												<xsl:with-param name="ns" select="$ns"/>
+											</xsl:apply-templates>
+										</div>
+										<br class="clear"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:for-each>
+
+							<br/>
+
+							<input type="submit"><xsl:attribute name="value"><xsl:value-of select="displayItem[@name='submit']"/></xsl:attribute></input>
 			
-			</div>
-		</form>
-
-		<xsl:if test="contains(/page/pageRequest/paramList/param[@name='rt']/@value, 'r')">
-			<xsl:call-template name="query-response">
-				<xsl:with-param name="collName" select="$collName"/>
-			</xsl:call-template>
+						</div>
+					</form>
+					<xsl:if test="contains(/page/pageRequest/paramList/param[@name='rt']/@value, 'r')">
+						<xsl:call-template name="query-response">
+							<xsl:with-param name="collName" select="$collName"/>
+						</xsl:call-template>
+					</xsl:if>
+
+				</xsl:for-each>
+
+			</xsl:when>
+
+			<xsl:otherwise>
+				
+				<ul id="results">
+					<xsl:for-each select="pageResponse/documentNodeList/documentNode">
+						<li class="document">
+							<a>
+								<xsl:attribute name="href"><xsl:value-of select="$library_name"/>?a=d&amp;c=<xsl:value-of select="/page/pageResponse/collection/@name"/>&amp;d=<xsl:value-of select="@nodeID"/>&amp;dt=<xsl:value-of select="@docType"/>&amp;p.a=b&amp;p.s=<xsl:value-of select="/page/pageResponse/service/@name"/></xsl:attribute>
+								<xsl:value-of disable-output-escaping="yes"  select="metadataList/metadata[@name='Title']"/>
+							</a>
+							<xsl:call-template name="documentBerryForClassifierOrSearchPage"/>
+						</li>
+					</xsl:for-each>
+				</ul>
+			</xsl:otherwise>
+
+		</xsl:choose>
+
+	</xsl:template>
+
+ 
+	<!-- puts all the params into a=p&p=h type form - need to change this if use 
+	multi params  -->
+	<xsl:template match="paramList" mode="cgi">
+		<xsl:param name="ns">s1.</xsl:param>
+		<xsl:for-each select="param">
+			<xsl:variable name='pname' select="@name"/>
+			<xsl:text>&amp;</xsl:text><xsl:value-of select="$ns"/><xsl:value-of select="@name"/>=<xsl:apply-templates select="." mode="calculate-default"><xsl:with-param name='ns' select='$ns'/></xsl:apply-templates>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="param" mode="calculate-default">
+		<xsl:param name="ns">s1.</xsl:param>
+		<xsl:variable name="pname"><xsl:value-of select="$ns"/><xsl:value-of select="@name"/></xsl:variable>
+		<xsl:choose>
+			<xsl:when test="/page/pageRequest/paramList/param[@name=$pname]">
+				<xsl:choose>
+					<xsl:when test="@type='enum_multi'"><xsl:text>,</xsl:text>
+						<xsl:for-each select="/page/pageRequest/paramList/param[@name=$pname]">
+							<xsl:value-of select="@value"/>,
+						</xsl:for-each>
+					</xsl:when>
+					<xsl:otherwise>
+						<xsl:value-of select="/page/pageRequest/paramList/param[@name=$pname]/@value"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:value-of select="@default"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- invisible params - used by other stuff. in the query form, we set to teh default -->
+	<xsl:template match="param[@type='invisible']">
+		<xsl:param name="ns">s1.</xsl:param>
+		<input type='hidden' name='{$ns}{@name}' value='{@default}'/>
+	</xsl:template>
+
+	<!-- boolean params -->
+	<xsl:template match="param[@type='boolean']">
+		<xsl:param name="ns">s1.</xsl:param>
+		<xsl:param name="default"/>
+		<select name='{$ns}{@name}'>
+			<option value="0"><xsl:if test="$default='0'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="option[@name='0']/displayItem[@name='name']"/></option>
+			<option value="1"><xsl:if test="$default='1'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="option[@name='1']/displayItem[@name='name']"/></option>
+		</select>
+	</xsl:template>
+
+	<!-- integer params -->
+	<xsl:template match="param[@type='integer']">
+		<xsl:param name="ns">s1.</xsl:param>
+		<xsl:param name="default"/>
+		<input type="text" name="{$ns}{@name}" size="3" value="{$default}"/>
+	</xsl:template>
+
+	<!-- single selection enum params -->
+	<xsl:template match="param[@type='enum_single']">
+		<xsl:param name="ns">s1.</xsl:param>
+		<xsl:param name="default"/>
+		<xsl:choose>
+			<xsl:when test="count(option) = 1">
+				<xsl:value-of select="option/displayItem[@name='name']"/>
+				<input type='hidden' name='{$ns}{@name}'><xsl:attribute name='value'><xsl:value-of  select='option/@name'/></xsl:attribute></input>
+			</xsl:when>
+			<xsl:otherwise>
+				<select name="{$ns}{@name}">
+					<xsl:for-each select="option">
+						<option value="{@name}"><xsl:if test="@name=$default"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="displayItem[@name='name']"/></option>
+					</xsl:for-each>
+				</select>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+
+	<!-- multiple selection enum params -->
+	<!-- how to do defaults for this?? -->
+	<xsl:template match="param[@type='enum_multi']">
+		<xsl:param name="ns">s1.</xsl:param>
+		<xsl:param name="default"/>
+		<select name="{$ns}{@name}" size="2">
+			<xsl:attribute name="multiple"></xsl:attribute>
+			<xsl:for-each select="option">
+				<option value="{@name}"><xsl:if test="contains($default, concat(',', @name, ','))"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="displayItem[@name='name']"/></option>
+			</xsl:for-each>
+		</select>
+	</xsl:template>
+
+	<!-- string params -->
+	<xsl:template match="param[@type='string']">
+		<xsl:param name="ns">s1.</xsl:param>
+		<xsl:param name="default"/>
+		<input type="text" name="{$ns}{@name}" size="30" value="{$default}"/>
+	</xsl:template>
+
+	<!-- large string  params -->
+	<xsl:template match="param[@type='text']">
+		<xsl:param name="ns">s1.</xsl:param>
+		<xsl:param name="default"/>
+		<textarea name="{$ns}{@name}" cols="50" rows="3"><xsl:value-of select='$default'/></textarea>
+	</xsl:template>
+
+	<!-- multi params - params that are combinations of other params -->
+	<xsl:template match="param[@type='multi']">
+		<xsl:param name="ns">s1.</xsl:param>
+		<xsl:variable name="parent" select="@name"/>
+
+		<table>
+			<tr class="queryfieldheading">
+				<xsl:value-of select="displayItem[@name='name']"/>
+				<xsl:for-each select="param">
+					<td class="queryfieldname"><xsl:value-of select="displayItem[@name='name']"/></td>
+				</xsl:for-each>
+			</tr>
+			<xsl:apply-templates select="." mode="contents">
+				<xsl:with-param name="occurs" select="@occurs"/>
+				<xsl:with-param name="ns" select="$ns"/>
+			</xsl:apply-templates>
+		</table>
+
+	</xsl:template>
+
+	<xsl:template match="param[@type='multi']" mode="contents">
+		<xsl:param name="ns">s1.</xsl:param>
+		<xsl:param name="occurs">1</xsl:param>
+		<xsl:variable name="pos" select="@occurs - $occurs"/>	
+		<tr class="queryfieldrow">
+			<xsl:for-each select="param">
+				<xsl:variable name="pname" select="@name"/>
+				<xsl:variable name="values" select="/page/pageRequest/paramList/param[@name=$pname]/@value"/>
+				<td class="queryfieldcell">
+					<xsl:choose>
+						<xsl:when test="not(@ignore) or  @ignore != $pos">      
+							<xsl:apply-templates select="."><xsl:with-param name="default" select="java:org.greenstone.gsdl3.util.XSLTUtil.getNumberedItem($values, $pos)"/><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates>
+						</xsl:when>
+						<xsl:otherwise><!-- put in a hidden placeholder -->
+							<input type="hidden" name='{$ns}{@name}' value=''/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</td>
+			</xsl:for-each>
+		</tr>
+
+		<!-- recursively call this template to get multiple entries -->
+		<xsl:if test="$occurs &gt; 1">
+			<xsl:apply-templates select="." mode="contents"><xsl:with-param name="occurs" select="$occurs - 1"/><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates>
 		</xsl:if>
-
-	</xsl:template>
-
-	<xsl:template match="/page"><xsl:apply-templates select="/page/pageResponse/service"/></xsl:template>
-
-
-  <!-- the default param list handling -->
-  <xsl:template match="paramList">
-    <xsl:param name="ns">s1.</xsl:param>
-    <ul id="queryitemlist">
-      <xsl:for-each select="param">
-	<xsl:choose>
-	  <xsl:when test="@type='multi'">
-	    <li><xsl:apply-templates select='.'><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates></li>
-	  </xsl:when>
-	  <xsl:otherwise>
-	    <xsl:variable name="pvalue"><xsl:apply-templates select="." mode="calculate-default"><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates></xsl:variable>
-	    <li><xsl:value-of select="displayItem[@name='name']"/><xsl:apply-templates select="."><xsl:with-param name="default" select="$pvalue"/><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates></li>
-	  </xsl:otherwise>
-	</xsl:choose>
-      </xsl:for-each>
-    </ul>
-  </xsl:template>
-  
-  <!-- puts all the params into a=p&p=h type form - need to change this if use 
-  multi params  -->
-  <xsl:template match="paramList" mode="cgi">
-    <xsl:param name="ns">s1.</xsl:param>
-    <xsl:for-each select="param">
-      <xsl:variable name='pname' select="@name"/>
-      <xsl:text>&amp;</xsl:text><xsl:value-of select="$ns"/><xsl:value-of select="@name"/>=<xsl:apply-templates select="." mode="calculate-default"><xsl:with-param name='ns' select='$ns'/></xsl:apply-templates>
-    </xsl:for-each>
-  </xsl:template>
-
-  <xsl:template match="param" mode="calculate-default">
-    <xsl:param name="ns">s1.</xsl:param>
-    <xsl:variable name="pname"><xsl:value-of select="$ns"/><xsl:value-of select="@name"/></xsl:variable>
-    <xsl:choose>
-      <xsl:when test="/page/pageRequest/paramList/param[@name=$pname]">
-	<xsl:choose>
-	  <xsl:when test="@type='enum_multi'"><xsl:text>,</xsl:text>
-	    <xsl:for-each select="/page/pageRequest/paramList/param[@name=$pname]">
-	      <xsl:value-of select="@value"/>,
-	    </xsl:for-each>
-	  </xsl:when>
-	  <xsl:otherwise>
-	    <xsl:value-of select="/page/pageRequest/paramList/param[@name=$pname]/@value"/>
-	  </xsl:otherwise>
-	</xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>
-	<xsl:value-of select="@default"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-  <!-- invisible params - used by other stuff. in the query form, we set to teh default -->
-  <xsl:template match="param[@type='invisible']">
-    <xsl:param name="ns">s1.</xsl:param>
-    <input type='hidden' name='{$ns}{@name}' value='{@default}'/>
-  </xsl:template>
-  <!-- boolean params -->
-  <xsl:template match="param[@type='boolean']">
-    <xsl:param name="ns">s1.</xsl:param>
-    <xsl:param name="default"/>
-    <select name='{$ns}{@name}'>
-      <option value="0"><xsl:if test="$default='0'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="option[@name='0']/displayItem[@name='name']"/></option>
-      <option value="1"><xsl:if test="$default='1'"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="option[@name='1']/displayItem[@name='name']"/></option>
-    </select>
-  </xsl:template>
-  
-  <!-- integer params -->
-  <xsl:template match="param[@type='integer']">
-    <xsl:param name="ns">s1.</xsl:param>
-    <xsl:param name="default"/>
-    <input type="text" name="{$ns}{@name}" size="3" value="{$default}"/>
-  </xsl:template>
-
-  <!-- single selection enum params -->
-  <xsl:template match="param[@type='enum_single']">
-    <xsl:param name="ns">s1.</xsl:param>
-    <xsl:param name="default"/>
-    <xsl:choose>
-      <xsl:when test="count(option) = 1">
-	<xsl:value-of select="option/displayItem[@name='name']"/>
-	<input type='hidden' name='{$ns}{@name}'><xsl:attribute name='value'><xsl:value-of  select='option/@name'/></xsl:attribute></input>
-      </xsl:when>
-      <xsl:otherwise>
-	<select name="{$ns}{@name}">
-	  <xsl:for-each select="option">
-	    <option value="{@name}"><xsl:if test="@name=$default"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="displayItem[@name='name']"/></option>
-	  </xsl:for-each>
-	</select>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-
-  <!-- multiple selection enum params -->
-  <!-- how to do defaults for this?? -->
-  <xsl:template match="param[@type='enum_multi']">
-    <xsl:param name="ns">s1.</xsl:param>
-    <xsl:param name="default"/>
-    <select name="{$ns}{@name}" size='2'><xsl:attribute name="multiple"></xsl:attribute>
-      <xsl:for-each select="option">
-	<option value="{@name}"><xsl:if test="contains($default, concat(',', @name, ','))"><xsl:attribute name="selected"></xsl:attribute></xsl:if><xsl:value-of select="displayItem[@name='name']"/></option>
-      </xsl:for-each>
-    </select>
-  </xsl:template>
-  
-  <!-- string params -->
-  <xsl:template match="param[@type='string']">
-    <xsl:param name="ns">s1.</xsl:param>
-    <xsl:param name="default"/>
-    <input type="text" name="{$ns}{@name}" size="50" value="{$default}"/>
-  </xsl:template>
-  
-  <!-- large string  params -->
-  <xsl:template match="param[@type='text']">
-    <xsl:param name="ns">s1.</xsl:param>
-    <xsl:param name="default"/>
-    <textarea name="{$ns}{@name}" cols="50" rows="3"><xsl:value-of select='$default'/></textarea>
-  </xsl:template>
-
-  <!-- multi params - params that are combinations of other params -->
-  <xsl:template match="param[@type='multi']">
-    <xsl:param name="ns">s1.</xsl:param>
-    <xsl:variable name="parent" select="@name"/>
-    <table>
-      <tr class="queryfieldheading"><xsl:value-of select="displayItem[@name='name']"/>
-      	<xsl:for-each select="param">
-	  <td class="queryfieldname"><xsl:value-of select="displayItem[@name='name']"/></td>
-	</xsl:for-each>
-      </tr>
-      
-      <xsl:apply-templates select="." mode="contents"><xsl:with-param name="occurs" select="@occurs"/><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates>
-    </table>
-  </xsl:template>
-
-  <xsl:template match="param[@type='multi']" mode="contents">
-    <xsl:param name="ns">s1.</xsl:param>
-    <xsl:param name="occurs">1</xsl:param>
-    <xsl:variable name="pos" select="@occurs - $occurs"/>	
-    <tr class="queryfieldrow"><xsl:for-each select="param">
-	<xsl:variable name="pname" select="@name"/>
-	<xsl:variable name="values" select="/page/pageRequest/paramList/param[@name=$pname]/@value"/>
-	<td class="queryfieldcell"><xsl:choose>
-	    <xsl:when test="not(@ignore) or  @ignore != $pos">      
-	      <xsl:apply-templates select='.'><xsl:with-param name="default" select="java:org.greenstone.gsdl3.util.XSLTUtil.getNumberedItem($values, $pos)"/><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates>
-	    </xsl:when>
-	    <xsl:otherwise><!-- put in a hidden placeholder -->
-	      <input type="hidden" name='{$ns}{@name}' value=''/>
-	    </xsl:otherwise>
-	  </xsl:choose></td>
-      </xsl:for-each></tr>
-    <!-- recursively call this template to get multiple entries -->
-    <xsl:if test="$occurs &gt; 1">
-      <xsl:apply-templates select="." mode="contents"><xsl:with-param name="occurs" select="$occurs - 1"/><xsl:with-param name="ns" select="$ns"/></xsl:apply-templates>
-    </xsl:if>
-  </xsl:template>
-
+	</xsl:template>
 
 </xsl:stylesheet>
Index: /greenstone3/trunk/web/interfaces/oran/transform/util.xsl
===================================================================
--- /greenstone3/trunk/web/interfaces/oran/transform/util.xsl	(revision 19987)
+++ /greenstone3/trunk/web/interfaces/oran/transform/util.xsl	(revision 19988)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" 
-	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+<xsl:stylesheet version="1.0"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 	xmlns:gslib="http://www.greenstone.org/XSL/Library"
 	xmlns:util="http://org.greenstone.gsdl3.util.XSLTUtil"
@@ -9,7 +9,9 @@
   <xsl:param name="interface_name"/>
   <xsl:param name="library_name"/>
-  
+
   <!-- every pages ....................................................................... -->
-  
+	<xsl:template name="siteName"><xsl:value-of select="/page/pageResponse/metadataList/metadata[@name='siteName']"/></xsl:template>
+	<xsl:template name="siteLink"><a href="./"><xsl:call-template name="siteName"/></a></xsl:template>
+
   	<xsl:variable name="a"><xsl:value-of select="/page/pageRequest/paramList/param[@name='a']/@value"/>		</xsl:variable>
 	<xsl:variable name="collections" select="/page/pageResponse/collectionList/collection"/>
@@ -18,5 +20,38 @@
 	<xsl:variable name="berryBasketOn" select="/page/pageRequest/paramList/param[@name='berrybasket' and @value='on']"/>
 
-	
+	<!-- template to get the name of the current collection -->
+	<xsl:template name="collectionName">
+		<xsl:choose>
+			<xsl:when test="/page/pageResponse/collection"><xsl:value-of select="/page/pageResponse/collection/displayItem[@name='name']"/></xsl:when>
+			<xsl:otherwise>All Collections</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="collectionNameShort">
+		<xsl:value-of select="/page/pageResponse/collection/@name"/>
+	</xsl:template>
+
+	<xsl:template name="collectionNameLinked">
+		<xsl:choose>
+			<xsl:when test="/page/pageResponse/collection">
+				<a>
+					<xsl:attribute name="href"><xsl:call-template name="siteURL"/><xsl:value-of select="$library_name"/>?a=p&amp;sa=about&amp;c=<xsl:call-template name="collectionNameShort"/></xsl:attribute>
+					<xsl:call-template name="collectionName"/>
+				</a>
+			</xsl:when>
+			<xsl:otherwise>
+				<a>
+					<xsl:attribute name="href"><xsl:call-template name="siteURL"/></xsl:attribute>
+					All Collections
+				</a>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<!-- text to get the name of the current service ("Browse","Search" etc) -->
+	<xsl:template name="serviceName">
+		<xsl:value-of select="/page/pageResponse/service/displayItem[@name='name']"/>
+	</xsl:template>
+
 	<xsl:template name="textDirectionAttribute">
 		<xsl:attribute name="dir">
@@ -24,8 +59,23 @@
 				<xsl:when test="/page/@lang='ar' or /page/@lang='fa' or /page/@lang='he' or /page/@lang='ur' or /page/@lang='ps' or /page/@lang='prs'">rtl</xsl:when>
 				<xsl:otherwise>ltr</xsl:otherwise>
-			</xsl:choose> 
+			</xsl:choose>
 		</xsl:attribute>
-	</xsl:template>  
-  
+	</xsl:template>
+
+	<xsl:template name="actionClass">
+		<xsl:attribute name="class"><xsl:value-of select="/page/pageRequest/@action"/>Action <xsl:if test="/page/pageRequest/@subaction"><xsl:value-of select="/page/pageRequest/@subaction"/>Subaction</xsl:if></xsl:attribute>
+	</xsl:template>
+
+	<!-- username, if logged in -->
+	<!--
+	<xsl:template name="username">
+		<xsl:if test="$un_s!=''">
+			<xsl:if test="$asn!='' and $asn!='0'">
+			<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/>  :  <xsl:value-of select="$un_s"/>
+			</xsl:if>
+		</xsl:if>
+	</xsl:template>
+	-->
+
     <xsl:template name="defaultDividerBar">
    <xsl:param name='text'/>
@@ -37,13 +87,13 @@
 	 <div class="divbar"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></div>
       </xsl:otherwise>
-    </xsl:choose> 
+    </xsl:choose>
   </xsl:template>
-  
-  
+
+
     <xsl:template match="error">
     Error: <xsl:value-of select="."/>
   </xsl:template>
-  
-  
+
+
 <xsl:template name="displayErrorsIfAny">
       <xsl:if test="descendant::error">
@@ -67,5 +117,5 @@
 	      removeAllChildren(hide_link);
 	      hide_link.appendChild(document.createTextNode("</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'show_error')"/><xsl:text disable-output-escaping="yes">"));
-	    } 
+	    }
 	  }
 	</xsl:text>
@@ -85,8 +135,11 @@
 	
 	<xsl:template name="poweredByGS3TextBar">
-		<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'gs3power')"/> 
-	</xsl:template>
-  
-  
+		<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'gs3power')"/>
+	</xsl:template>
+
+	<xsl:template name="rightArrow"><xsl:text disable-output-escaping="yes"> &amp;raquo; </xsl:text></xsl:template>
+
+
+
 	<!-- site home ....................................................................... -->
 
@@ -100,9 +153,7 @@
   	 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home.select_a_collection')"/>
   </xsl:template>
-  
-  
 	<xsl:template name="crossCollectionQuickSearchForm">
 		<xsl:apply-templates select="serviceList/service[@name='TextQuery']"/>
-	</xsl:template> 
+	</xsl:template>
 	
 	<xsl:template match="service[@name='TextQuery']">
@@ -127,9 +178,9 @@
 			</xsl:when>
 			<xsl:otherwise>
-				<a href="{$library_name}?a=p&amp;sa=about&amp;c={@name}">  
+				<a href="{$library_name}?a=p&amp;sa=about&amp;c={@name}">
 					<xsl:value-of select="displayItem[@name='name']"/>
 				</a>
 			</xsl:otherwise>
-		</xsl:choose> 
+		</xsl:choose>
 	</xsl:template>
 
@@ -137,29 +188,27 @@
 	<xsl:template name="serviceClusterList">
 		<xsl:apply-templates select="serviceClusterList"/>
-	</xsl:template> 
+	</xsl:template>
 	
 	  <xsl:template match="serviceClusterList">
-	    <xsl:for-each select="serviceCluster"> 
+	    <xsl:for-each select="serviceCluster">
 	      <a href="{$library_name}?a=p&amp;sa=about&amp;c={@name}"><xsl:value-of select='@name'/><xsl:value-of select="displayItem[@name='name']"/></a>
 	    </xsl:for-each>
 	  </xsl:template>
 
-	  
-	  <xsl:template name="serviceLink">
-	  <a href="{$library_name}?a=q&amp;rt=d&amp;s={@name}"><xsl:value-of select="displayItem[@name='name']"/></a><xsl:value-of select="displayItem[@name='description']"/>
-	  </xsl:template>
-
-	  
+	
+	<xsl:template name="serviceLink">
+		<div class="paramLabel"><a href="{$library_name}?a=q&amp;rt=d&amp;s={@name}"><xsl:value-of select="displayItem[@name='name']"/></a></div>
+		<div class="paramValue"><xsl:value-of select="displayItem[@name='description']"/></div>
+		<br class="clear"/>
+	</xsl:template>
+
+
    <xsl:template name="authenticationLink">
    <xsl:for-each select="serviceList/service[@type='authen']">
       <li><a href="{$library_name}?a=g&amp;rt=r&amp;sa=authen&amp;s={@name}&amp;s1.aup=Login&amp;s1.un=&amp;s1.asn="><xsl:value-of select="displayItem[@name='name']"/></a><xsl:value-of select="displayItem[@name='description']"/></li></xsl:for-each>
-  </xsl:template> 
-  
-  
+  </xsl:template>
    <xsl:template name="libraryInterfaceLink">
    <li><a href="{$library_name}?a=p&amp;sa=gli4gs3"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home.librarian_interface')"/></a></li>
-  </xsl:template> 
-  
-  
+  </xsl:template>
 <xsl:template name="greenstoneLogoAlternateText">
 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'gsdl')"/>
@@ -224,93 +273,91 @@
 
 
-<xsl:template name="preferencesButtonTop">
-    <xsl:choose>
-      <xsl:when test="$pageType='pref'">
-	<li><a><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/></a></li>
-      </xsl:when>
-      <xsl:otherwise>
-	<li><a href="{$library_name}?a=p&amp;sa=pref&amp;c={$collName}"><xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_tip')"/></xsl:attribute>
-	    <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/>
-	  </a></li>
-      </xsl:otherwise>
-    </xsl:choose>
-</xsl:template>
-
-<xsl:template name="servicesNavigationBar">
-	    <xsl:for-each select="$this-element/serviceList/service">
-	      <xsl:variable name="action"><xsl:choose>
-		  <xsl:when test="@name=$this-service">CURRENT</xsl:when>
-		  <xsl:when test="@type='query'">q</xsl:when>
-		  <xsl:when test="@type='browse'">b</xsl:when>
-		  <xsl:when test="@type='process'">pr</xsl:when>
-		  <xsl:when test="@type='applet'">a</xsl:when>
-		  <xsl:otherwise>DO_NOT_DISPLAY</xsl:otherwise>
-		</xsl:choose></xsl:variable>
-	      <xsl:choose>
-		<xsl:when test="$action='CURRENT'">
-		  <li><a><xsl:value-of select="displayItem[@name='name']"/></a></li>
-		</xsl:when>
-		<xsl:when test="$action !='DO_NOT_DISPLAY'">
-		  <li><a href="{$library_name}?a={$action}&amp;rt=d&amp;s={@name}&amp;c={$collName}"><xsl:if test="displayItem[@name='description']"><xsl:attribute name='title'><xsl:value-of select="displayItem[@name='description']"/></xsl:attribute></xsl:if><xsl:value-of select="displayItem[@name='name']"/></a></li>
-		</xsl:when>
-	      </xsl:choose>
-	    </xsl:for-each>
-</xsl:template>
-
-
-<xsl:template name="collectionDescriptionTextAndServicesLinks">
-	<xsl:apply-templates select="pageResponse/collection|serviceCluster"/>
-</xsl:template>
-
-<xsl:template match="collection|serviceCluster">
-      <xsl:value-of select="displayItem[@name='description']" disable-output-escaping="yes"/>
-      
-	  <xsl:apply-templates select="serviceList">
-	<xsl:with-param name="collName" select="$collName"/>
-      </xsl:apply-templates>
-</xsl:template>
-
-
- <xsl:template match="serviceList">
-    <xsl:param name="collName"/>
-    <h3><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'about.services')"/></h3>
-    <xsl:choose>
-      <xsl:when test="service">
-	<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'about.servicehelp')"/>
-      </xsl:when>
-      <xsl:otherwise>
-	<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'about.noservices')"/>
-      </xsl:otherwise>
-    </xsl:choose>
-    
-	
-    <xsl:if test="service">
-      <ul id="servicelist">  	
-	<xsl:for-each select="service">
-	  <xsl:variable name="action"><xsl:choose>
-	      <xsl:when test="@type='query'">q</xsl:when>
-	      <xsl:when test="@type='browse'">b</xsl:when>
-	      <xsl:when test="@type='process'">pr</xsl:when>
-	      <xsl:when test="@type='applet'">a</xsl:when>
-	      <xsl:otherwise>DO_NOT_DISPLAY</xsl:otherwise>
-	    </xsl:choose></xsl:variable>
-	  <xsl:if test="$action !='DO_NOT_DISPLAY'">
-	    <li><a href="{$library_name}?a={$action}&amp;rt=d&amp;s={@name}&amp;c={$collName}"><xsl:value-of select="displayItem[@name='name']"/></a><xsl:value-of select="displayItem[@name='description']"/></li>
-	  </xsl:if>
-  	</xsl:for-each>
-      </ul> 
-    </xsl:if> 
-  </xsl:template>
+	<xsl:template name="preferencesButtonTop">
+		<xsl:choose>
+			<xsl:when test="$pageType='pref'">
+				<li><a><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/></a></li>
+			</xsl:when>
+			<xsl:otherwise>
+				<li><a href="{$library_name}?a=p&amp;sa=pref&amp;c={$collName}"><xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_tip')"/></xsl:attribute>
+					<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/>
+				</a></li>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="servicesNavigationBar">
+		<xsl:for-each select="$this-element/serviceList/service">
+			<xsl:variable name="action"><xsl:choose>
+				<xsl:when test="@name=$this-service">CURRENT</xsl:when>
+				<xsl:when test="@type='query'">q</xsl:when>
+				<xsl:when test="@type='browse'">b</xsl:when>
+				<xsl:when test="@type='process'">pr</xsl:when>
+				<xsl:when test="@type='applet'">a</xsl:when>
+				<xsl:otherwise>DO_NOT_DISPLAY</xsl:otherwise>
+			</xsl:choose></xsl:variable>
+			<xsl:choose>
+				<xsl:when test="$action='CURRENT'">
+					<li><a><xsl:value-of select="displayItem[@name='name']"/></a></li>
+				</xsl:when>
+				<xsl:when test="$action !='DO_NOT_DISPLAY'">
+					<li><a href="{$library_name}?a={$action}&amp;rt=d&amp;s={@name}&amp;c={$collName}"><xsl:if test="displayItem[@name='description']"><xsl:attribute name='title'><xsl:value-of select="displayItem[@name='description']"/></xsl:attribute></xsl:if><xsl:value-of select="displayItem[@name='name']"/></a></li>
+				</xsl:when>
+			</xsl:choose>
+		</xsl:for-each>
+	</xsl:template>
+
+
+	<xsl:template name="collectionDescriptionTextAndServicesLinks">
+		<xsl:apply-templates select="pageResponse/collection|serviceCluster"/>
+	</xsl:template>
+
+	<xsl:template match="collection|serviceCluster">
+		<xsl:value-of select="displayItem[@name='description']" disable-output-escaping="yes"/>
+		<xsl:apply-templates select="serviceList">
+			<xsl:with-param name="collName" select="$collName"/>
+		</xsl:apply-templates>
+	</xsl:template>
+
+
+	<xsl:template match="serviceList">
+		<xsl:param name="collName"/>
+		<h3><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'about.services')"/></h3>
+		<p>
+			<xsl:choose>
+				<xsl:when test="service">
+					<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'about.servicehelp')"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'about.noservices')"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</p>
+
+		<xsl:if test="service">
+			<div id="servicelist">
+				<xsl:for-each select="service">
+					<xsl:sort select="position()" order="descending" data-type="number"/>
+
+					<xsl:variable name="action"><xsl:choose>
+						<xsl:when test="@type='query'">q</xsl:when>
+						<xsl:when test="@type='browse'">b</xsl:when>
+						<xsl:when test="@type='process'">pr</xsl:when>
+						<xsl:when test="@type='applet'">a</xsl:when>
+						<xsl:otherwise>DO_NOT_DISPLAY</xsl:otherwise>
+					</xsl:choose></xsl:variable>
+					<xsl:if test="$action != 'DO_NOT_DISPLAY'">
+						<div class="paramLabel"><a href="{$library_name}?a={$action}&amp;rt=d&amp;s={@name}&amp;c={$collName}"><xsl:value-of select="displayItem[@name='name']"/></a></div>
+						<div class="paramLabel"><xsl:value-of select="displayItem[@name='description']"/></div>
+						<br class="clear"/>
+					</xsl:if>
+				</xsl:for-each>
+			</div>
+		</xsl:if>
+	</xsl:template>
 
 
 
 <!-- classifier page ............................................................................ -->
-<xsl:template name="collectionName">
-	<xsl:value-of select="/page/pageResponse/collection/displayItem[@name='name']"/>
-</xsl:template>
-
-<xsl:template name="collectionShortName">
-	<xsl:value-of select="/page/pageResponse/collection/@name"/>
-</xsl:template>
+
 
 <xsl:template name="navigationTab">
@@ -351,4 +398,18 @@
 </xsl:template>
 
+<!-- query page ............................................................................ -->
+
+	<xsl:template name="indexName">
+		<xsl:value-of select="/page/pageResponse/service/displayItem[@name='name']"/>
+	</xsl:template>
+
+<xsl:template name="queryPageCollectionName">
+	<xsl:choose><xsl:when test="/page/pageResponse/collection"><gslib:aboutCollectionPageTitle/></xsl:when><xsl:otherwise>Cross-Collection</xsl:otherwise></xsl:choose>
+</xsl:template>
+
+
+
+
+
 <!--
 BERRY BASKET TEMPLATES
@@ -382,5 +443,5 @@
 	<script type="text/javascript" src="interfaces/{$interface_name}/js/ygDDOnTop.js"><xsl:text> </xsl:text></script>
 	<script type="text/javascript" src="interfaces/{$interface_name}/js/berrybasket.js"><xsl:text> </xsl:text></script>
-	<link rel="stylesheet" href="interfaces/{$interface_name}/style/berry.css" type="text/css"/>  
+	<link rel="stylesheet" href="interfaces/{$interface_name}/style/berry.css" type="text/css"/>
 </xsl:template>
 
@@ -445,4 +506,3 @@
 
 
-
 </xsl:stylesheet>
