[Fusionforge-commits] FusionForge branch master updated. 089d7bffea9bc07a3147170e9aa945911a82a5e7

Franck Villaume nerville at fusionforge.org
Sun Apr 27 14:18:40 CEST 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".

The branch, master has been updated
       via  089d7bffea9bc07a3147170e9aa945911a82a5e7 (commit)
      from  be1709a260fef26028ba0470ddf5ed416fbb1952 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 089d7bffea9bc07a3147170e9aa945911a82a5e7
Author: Franck Villaume <franck.villaume at trivialdev.com>
Date:   Sun Apr 27 14:15:47 2014 +0200

    [#656]: drop tipsy plugin and use standard jQuery UI tooltips

diff --git a/src/CHANGES b/src/CHANGES
index d4da672..010b6a7 100644
--- a/src/CHANGES
+++ b/src/CHANGES
@@ -1,5 +1,7 @@
 Fusionforge-X.X:
-* Docman: Basic Webdav write mkcol, delete, put, move support (TrivialDev)
+* [#658] Docman: Basic Webdav write mkcol, delete, put, move support (TrivialDev)
+* [#657] Docman: Add move mass actions (TrivialDev)
+* [#656] General: drop tipsy plugin, use standard jQuery UI tooltip already provided (TrivialDev)
 
 FusionForge-5.3:
 * Widget: MyArtifacts Enhancement : add monitored artifacts (TrivialDev)
diff --git a/src/Makefile b/src/Makefile
index 1e43eb0..d4c3697 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -15,7 +15,7 @@ www/js/common-min.js: www/js/common.js www/js/sortable.js
 	$(YUICOMPRESSOR) -o $@ /tmp/combined.js
 	rm -f /tmp/combined.js
 
-www/js/jquery-common-min.js: vendor/jquery/jquery-1.7.2.min.js vendor/jquery-tipsy/src/javascripts/jquery.tipsy.js vendor/coolfieldset/js/jquery.coolfieldset.js www/js/jquery-common.js
+www/js/jquery-common-min.js: vendor/jquery/jquery-1.8.3.min.js vendor/coolfieldset/js/jquery.coolfieldset.js www/js/jquery-common.js
 	cat $^ > /tmp/combined.js
 	$(YUICOMPRESSOR) -o $@ /tmp/combined.js
 	rm -f /tmp/combined.js
diff --git a/src/common/docman/DocumentGroup.class.php b/src/common/docman/DocumentGroup.class.php
index 4f8effd..756c0a6 100644
--- a/src/common/docman/DocumentGroup.class.php
+++ b/src/common/docman/DocumentGroup.class.php
@@ -639,7 +639,7 @@ class DocumentGroup extends Error {
 					$browselink .= '&childgroup_id='.$GLOBALS['childgroup_id'];
 				}
 				$browselink .= '&group_id='.$this->Group->getID();
-				$returnPath .= '/'.util_make_link($browselink, $this->getName(), array('title' => _('Browse this folder'), 'class' => 'tabtitle'));
+				$returnPath .= '/'.util_make_link($browselink, $this->getName(), array('title' => _('Browse this folder')));
 			} else {
 				$returnPath .= '/'.$this->getName();
 			}
diff --git a/src/common/docman/DocumentManager.class.php b/src/common/docman/DocumentManager.class.php
index b672a16..298ea05 100644
--- a/src/common/docman/DocumentManager.class.php
+++ b/src/common/docman/DocumentManager.class.php
@@ -188,13 +188,13 @@ class DocumentManager extends Error {
 				}
 
 				if ($nbDocs && (!isset($nbDocsPending) || $nbDocsPending == 0) && (!isset($nbDocsHidden) || $nbDocsHidden == 0) && (!isset($nbDocsPrivate) || $nbDocsPrivate) && (!isset($nbDocsTrashed) || $nbDocsTrashed)) {
-					$nbDocsLabel = html_e('span', array('class' => 'tabtitle-nw', 'title' => _('Number of documents in this folder')), '('.$nbDocs.')', false);
+					$nbDocsLabel = html_e('span', array('title' => _('Number of documents in this folder')), '('.$nbDocs.')', false);
 				}
 				if (isset($nbDocsPending) && isset($nbDocsHidden) && isset($nbDocsPrivate)) {
-					$nbDocsLabel = html_e('span', array('class' => 'tabtitle-nw', 'title' => _('Number of documents in this folder per status. active/pending/hidden/private')), '('.$nbDocs.'/'.$nbDocsPending.'/'.$nbDocsHidden.'/'.$nbDocsPrivate.')', false);
+					$nbDocsLabel = html_e('span', array('title' => _('Number of documents in this folder per status. active/pending/hidden/private')), '('.$nbDocs.'/'.$nbDocsPending.'/'.$nbDocsHidden.'/'.$nbDocsPrivate.')', false);
 				}
 				if (isset($nbDocsTrashed)) {
-					$nbDocsLabel = html_e('span', array('class' => 'tabtitle-nw', 'title' => _('Number of deleted documents in this folder')), '('.$nbDocsTrashed.')', false);
+					$nbDocsLabel = html_e('span', array('title' => _('Number of deleted documents in this folder')), '('.$nbDocsTrashed.')', false);
 				}
 				if ($localDg->getName() != '.trash') {
 					$lititle = '';
@@ -208,7 +208,7 @@ class DocumentManager extends Error {
 						}
 						$lititle .= _('Last Modified')._(': ').relative_date($localDg->getLastModifyDate());
 					}
-					echo html_ao('li', array('id' => 'leaf-'.$subGroupIdValue, 'class' => $liclass)).util_make_link($link, $localDg->getName(), array('class'=>'tabtitle-nw', 'title'=>$lititle)).$nbDocsLabel;
+					echo html_ao('li', array('id' => 'leaf-'.$subGroupIdValue, 'class' => $liclass)).util_make_link($link, $localDg->getName(), array('title'=>$lititle)).$nbDocsLabel;
 				} else {
 					echo html_ao('li', array('id' => 'leaf-'.$subGroupIdValue, 'class' => $liclass)).util_make_link($link, $localDg->getName()).$nbDocsLabel;
 				}
diff --git a/src/common/docman/views/additem.php b/src/common/docman/views/additem.php
index c1ae539..71e5594 100644
--- a/src/common/docman/views/additem.php
+++ b/src/common/docman/views/additem.php
@@ -52,11 +52,11 @@ jQuery(document).ready(function() {
 echo html_ac(html_ap() - 1);
 echo html_ao('div', array('id' => 'tabs'));
 echo html_ao('ul');
-echo html_e('li', array(), util_make_link('#tabs-new-document', _('New Document'), array('id' => 'tab-new-document', 'class' => 'tabtitle', 'title' => _('Submit a new document in this folder.')), true), false);
+echo html_e('li', array(), util_make_link('#tabs-new-document', _('New Document'), array('id' => 'tab-new-document', 'title' => _('Submit a new document in this folder.')), true), false);
 
 if (forge_check_perm('docman', $group_id, 'approve')) {
-	echo html_e('li', array(), util_make_link('#tabs-new-folder', _('New Folder'), array('id' => 'tab-new-folder', 'class' => 'tabtitle', 'title' => _('Create a folder based on this name.')), true), false);
-	echo html_e('li', array(), util_make_link('#tabs-inject-tree', _('Inject Tree'), array('id' => 'tab-inject-tree', 'class' => 'tabtitle', 'title' => _('Create a full folders tree using an compressed archive. Only ZIP format support.')), true), false);
+	echo html_e('li', array(), util_make_link('#tabs-new-folder', _('New Folder'), array('id' => 'tab-new-folder', 'title' => _('Create a folder based on this name.')), true), false);
+	echo html_e('li', array(), util_make_link('#tabs-inject-tree', _('Inject Tree'), array('id' => 'tab-inject-tree', 'title' => _('Create a full folders tree using an compressed archive. Only ZIP format support.')), true), false);
 }
 
 echo html_ac(html_ap() -1);
diff --git a/src/common/docman/views/listfile.php b/src/common/docman/views/listfile.php
index cc0f0a5..8a6d199 100644
--- a/src/common/docman/views/listfile.php
+++ b/src/common/docman/views/listfile.php
@@ -185,15 +185,15 @@ if ($DocGroupName) {
 	if (!$ndg->getLocked()) {
 		if (forge_check_perm('docman', $ndg->Group->getID(), 'approve')) {
 			echo html_e('input', array('type' => 'hidden', 'id' => 'doc_group_id', 'value' => $ndg->getID()));
-			echo util_make_link('#', html_image('docman/configure-directory.png', 22, 22, array('alt' => 'edit')), array('class' => 'tabtitle', 'id' => 'docman-editdirectory', 'title' => _('Edit this folder'), 'onclick' => 'javascript:controllerListFile.toggleEditDirectoryView()' ), true);
-			echo util_make_link($redirecturl.'&action=trashdir', html_image('docman/trash-empty.png', 22, 22, array('alt' => 'trashdir')), array('class' => 'tabtitle', 'id' => 'docman-trashdirectory', 'title' => _('Move this folder and his content to trash')));
+			echo util_make_link('#', html_image('docman/configure-directory.png', 22, 22, array('alt' => 'edit')), array('id' => 'docman-editdirectory', 'title' => _('Edit this folder'), 'onclick' => 'javascript:controllerListFile.toggleEditDirectoryView()' ), true);
+			echo util_make_link($redirecturl.'&action=trashdir', html_image('docman/trash-empty.png', 22, 22, array('alt' => 'trashdir')), array('id' => 'docman-trashdirectory', 'title' => _('Move this folder and his content to trash')));
 			if (!isset($nested_docs[$dirid]) && !isset($nested_groups[$dirid]) && !isset($nested_pending_docs[$dirid])) {
-				echo util_make_link($redirecturl.'&action=deldir', html_image('docman/delete-directory.png', 22, 22, array('alt' => 'deldir')), array('class' => 'tabtitle', 'id' => 'docman-deletedirectory', 'title' => _('Permanently delete this folder')));
+				echo util_make_link($redirecturl.'&action=deldir', html_image('docman/delete-directory.png', 22, 22, array('alt' => 'deldir')), array('id' => 'docman-deletedirectory', 'title' => _('Permanently delete this folder')));
 			}
 		}
 
 		if (forge_check_perm('docman', $group_id, 'submit')) {
-			echo util_make_link('#', html_image('docman/insert-directory.png', 22, 22, array('alt' => 'additem')), array('class' => 'tabtitle', 'id' => 'docman-additem', 'title' => _('Add a new item in this folder')), true);
+			echo util_make_link('#', html_image('docman/insert-directory.png', 22, 22, array('alt' => 'additem')), array('id' => 'docman-additem', 'title' => _('Add a new item in this folder')), true);
 		}
 	}
 
@@ -201,7 +201,7 @@ if ($DocGroupName) {
 	if (forge_check_perm('docman', $group_id, 'approve'))
 		$numPendingFiles = $ndg->getNumberOfDocuments(3);
 	if ($numFiles || (isset($numPendingFiles) && $numPendingFiles))
-		echo util_make_link('/docman/view.php/'.$ndg->Group->getID().'/zip/full/'.$dirid, html_image('docman/download-directory-zip.png',22,22,array('alt'=>'downloadaszip')), array('class' => 'tabtitle', 'title' => _('Download this folder as a ZIP')));
+		echo util_make_link('/docman/view.php/'.$ndg->Group->getID().'/zip/full/'.$dirid, html_image('docman/download-directory-zip.png',22,22,array('alt'=>'downloadaszip')), array('title' => _('Download this folder as a ZIP')));
 
 	if (session_loggedin()) {
 		if ($ndg->isMonitoredBy($u->getID())) {
@@ -211,7 +211,7 @@ if ($DocGroupName) {
 			$option = 'add';
 			$titleMonitor = _('Start monitoring this folder');
 		}
-		echo util_make_link($redirecturl.'&action=monitordirectory&option='.$option.'&directoryid='.$ndg->getID(), html_image('docman/monitor-'.$option.'document.png',22,22,array('alt'=>$titleMonitor)), array('class' => 'tabtitle-ne', 'title' => $titleMonitor));
+		echo util_make_link($redirecturl.'&action=monitordirectory&option='.$option.'&directoryid='.$ndg->getID(), html_image('docman/monitor-'.$option.'document.png',22,22,array('alt'=>$titleMonitor)), array('title' => $titleMonitor));
 	}
 	echo html_ac(html_ap() - 1);
 
@@ -229,7 +229,7 @@ if ($DocGroupName) {
 }
 
 if (isset($nested_docs[$dirid]) && is_array($nested_docs[$dirid])) {
-	$tabletop = array(html_e('input', array('id' => 'checkallactive', 'type' => 'checkbox', 'title' => _('Select / Deselect all documents for massaction'), 'class' => 'tabtitle-w', 'onchange' => 'controllerListFile.checkAll("checkeddocidactive", "active")')), '', _('File Name'), _('Title'), _('Description'), _('Author'), _('Last time'), _('Status'), _('Size'), _('View'));
+	$tabletop = array(html_e('input', array('id' => 'checkallactive', 'type' => 'checkbox', 'title' => _('Select / Deselect all documents for massaction'), 'onchange' => 'controllerListFile.checkAll("checkeddocidactive", "active")')), '', _('File Name'), _('Title'), _('Description'), _('Author'), _('Last time'), _('Status'), _('Size'), _('View'));
 	$classth = array('unsortable', 'unsortable', '', '', '', '', '', '', '', '');
 	if (forge_check_perm('docman', $ndg->Group->getID(), 'approve')) {
 		$tabletop[] = _('Actions');
@@ -250,26 +250,26 @@ if (isset($nested_docs[$dirid]) && is_array($nested_docs[$dirid])) {
 			}
 		}
 		if (!$d->getLocked() && !$d->getReserved()) {
-			$cells[][] = html_e('input', array('type' => 'checkbox', 'value' => $d->getID(), 'class' => 'checkeddocidactive tabtitle-w', 'title' => _('Select / Deselect this document for massaction'), 'onchange' => 'controllerListFile.checkgeneral("active")'));
+			$cells[][] = html_e('input', array('type' => 'checkbox', 'value' => $d->getID(), 'class' => 'checkeddocidactive', 'title' => _('Select / Deselect this document for massaction'), 'onchange' => 'controllerListFile.checkgeneral("active")'));
 		} else {
 			if (session_loggedin() && ($d->getReservedBy() != $u->getID())) {
 				$cells[][] = html_e('input', array('type' => 'checkbox', 'name' => 'disabled', 'disabled' => 'disabled'));
 			} else {
-				$cells[][] = html_e('input', array('type' => 'checkbox', 'value' => $d->getID(), 'class' => 'checkeddocidactive tabtitle-w', 'title' => _('Select / Deselect this document for massaction'), 'onchange' => 'controllerListFile.checkgeneral("active")'));
+				$cells[][] = html_e('input', array('type' => 'checkbox', 'value' => $d->getID(), 'class' => 'checkeddocidactive', 'title' => _('Select / Deselect this document for massaction'), 'onchange' => 'controllerListFile.checkgeneral("active")'));
 			}
 		}
 		switch ($d->getFileType()) {
 			case 'URL': {
-				$cells[][] =  util_make_link($d->getFileName(), html_image($d->getFileTypeImage(), '22', '22', array('alt' => $d->getFileType())), array('class' => 'tabtitle-nw', 'title' => _('Visit this link')), true);
+				$cells[][] =  util_make_link($d->getFileName(), html_image($d->getFileTypeImage(), '22', '22', array('alt' => $d->getFileType())), array('title' => _('Visit this link')), true);
 				break;
 			}
 			default: {
-				$cells[][] =  util_make_link('/docman/view.php/'.$d->Group->getID().'/'.$d->getID().'/'.urlencode($d->getFileName()), html_image($d->getFileTypeImage(), '22', '22', array('alt' => $d->getFileType())), array('class' => 'tabtitle-nw', 'title' => _('View this document')));
+				$cells[][] =  util_make_link('/docman/view.php/'.$d->Group->getID().'/'.$d->getID().'/'.urlencode($d->getFileName()), html_image($d->getFileTypeImage(), '22', '22', array('alt' => $d->getFileType())), array('title' => _('View this document')));
 			}
 		}
 		$nextcell = '';
 		if (($d->getUpdated() && $time_new > (time() - $d->getUpdated())) || $time_new > (time() - $d->getCreated())) {
-			$nextcell = html_image('docman/new.png', '14', '14', array('alt' => _('new'), 'class' => 'tabtitle-ne', 'title' => _('Created or updated since less than 7 days'))).' ';
+			$nextcell = html_image('docman/new.png', '14', '14', array('alt' => _('new'), 'title' => _('Created or updated since less than 7 days'))).' ';
 		}
 		$cells[] = array($nextcell.$d->getFileName(), 'style' => 'word-wrap: break-word; max-width: 250px;');
 		$cells[] = array($d->getName(), 'style' => 'word-wrap: break-word; max-width: 250px;');
@@ -282,7 +282,7 @@ if (isset($nested_docs[$dirid]) && is_array($nested_docs[$dirid])) {
 		}
 		$nextcell = '';
 		if ($d->getReserved()) {
-			$nextcell = html_image('docman/document-reserved.png', '22', '22', array('alt' => _('Reserved Document'), 'class' => 'tabtitle', 'title' => _('Reserved Document')));
+			$nextcell = html_image('docman/document-reserved.png', '22', '22', array('alt' => _('Reserved Document'), 'title' => _('Reserved Document')));
 			$reserved_by = $d->getReservedBy();
 			if ($reserved_by) {
 				$user = user_get_object($reserved_by);
@@ -313,20 +313,20 @@ if (isset($nested_docs[$dirid]) && is_array($nested_docs[$dirid])) {
 			}
 			$editfileaction .= '&group_id='.$GLOBALS['group_id'];
 			if (!$d->getLocked() && !$d->getReserved()) {
-				$nextcell .= util_make_link($redirecturl.'&action=trashfile&fileid='.$d->getID(), html_image('docman/trash-empty.png', 22, 22, array('alt' => _('Move this document to trash'))), array('class' => 'tabtitle-ne', 'title' => _('Move this document to trash')));
-				$nextcell .= util_make_link('#', html_image('docman/edit-file.png',22,22,array('alt'=>_('Edit this document'))), array('onclick' => 'javascript:controllerListFile.toggleEditFileView({action:\''.util_make_uri($editfileaction).'\', lockIntervalDelay: 60000, childGroupId: '.util_ifsetor($childgroup_id, 0).' ,id:'.$d->getID().', groupId:'.$d->Group->getID().', docgroupId:'.$d->getDocGroupID().', statusId:'.$d->getStateID().', statusDict:'.$dm->getStatusNameList('json').', docgroupDict:'.$dm->getDocGroupList($nested_groups, 'json').', title:\''.addslashes($d->getName()).'\', filename:\''.$d->getFilename().'\', description:\''.addslashes($d->getDescription()).'\', isURL:\''.$d->isURL().'\', isText:\''.$d->isText().'\', isHtml:\''.$d->isHtml().'\', useCreateOnline:'.$d->Group->useCreateOnline().', docManURL:\''.util_make_uri('/docman').'\'})', 'class' => 'tabtitle-ne', 'title' => _('Edit this document')), true);
+				$nextcell .= util_make_link($redirecturl.'&action=trashfile&fileid='.$d->getID(), html_image('docman/trash-empty.png', 22, 22, array('alt' => _('Move this document to trash'))), array('title' => _('Move this document to trash')));
+				$nextcell .= util_make_link('#', html_image('docman/edit-file.png',22,22,array('alt'=>_('Edit this document'))), array('onclick' => 'javascript:controllerListFile.toggleEditFileView({action:\''.util_make_uri($editfileaction).'\', lockIntervalDelay: 60000, childGroupId: '.util_ifsetor($childgroup_id, 0).' ,id:'.$d->getID().', groupId:'.$d->Group->getID().', docgroupId:'.$d->getDocGroupID().', statusId:'.$d->getStateID().', statusDict:'.$dm->getStatusNameList('json').', docgroupDict:'.$dm->getDocGroupList($nested_groups, 'json').', title:\''.addslashes($d->getName()).'\', filename:\''.$d->getFilename().'\', description:\''.addslashes($d->getDescription()).'\', isURL:\''.$d->isURL().'\', isText:\''.$d->isText().'\', isHtml:\''.$d->isHtml().'\', useCreateOnline:'.$d->Group->useCreateOnline().', docManURL:\''.util_make_uri('/docman').'\'})', 'title' => _('Edit this document')), true);
 				if (session_loggedin()) {
-					$nextcell .= util_make_link($redirecturl.'&action=reservefile&fileid='.$d->getID(), html_image('docman/reserve-document.png', 22, 22, array('alt' => _('Reserve this document'))), array('class' => 'tabtitle-ne', 'title' => _('Reserve this document for later edition')));
+					$nextcell .= util_make_link($redirecturl.'&action=reservefile&fileid='.$d->getID(), html_image('docman/reserve-document.png', 22, 22, array('alt' => _('Reserve this document'))), array('title' => _('Reserve this document for later edition')));
 				}
 			} else {
 				if (session_loggedin() && $d->getReservedBy() != $u->getID()) {
 					if (forge_check_perm('docman', $ndg->Group->getID(), 'admin')) {
-						$nextcell .= util_make_link($redirecturl.'&action=enforcereserve&fileid='.$d->getID(), html_image('docman/enforce-document.png',22,22,array('alt'=>_('Enforce reservation'))), array('class' => 'tabtitle-ne', 'title' => _('Enforce reservation')));
+						$nextcell .= util_make_link($redirecturl.'&action=enforcereserve&fileid='.$d->getID(), html_image('docman/enforce-document.png',22,22,array('alt'=>_('Enforce reservation'))), array('title' => _('Enforce reservation')));
 					}
 				} else {
-					$nextcell .= util_make_link($redirecturl.'&action=trashfile&fileid='.$d->getID(), html_image('docman/trash-empty.png', 22, 22, array('alt' => _('Move this document to trash'))), array('class' => 'tabtitle-ne', 'title' => _('Move this document to trash')));
-					$nextcell .= util_make_link('#', html_image('docman/edit-file.png', 22 ,22, array('alt' => _('Edit this document'))), array('onclick' => 'javascript:controllerListFile.toggleEditFileView({action:\''.util_make_uri($editfileaction).'\', lockIntervalDelay: 60000, childGroupId: '.util_ifsetor($childgroup_id, 0).' ,id:'.$d->getID().', groupId:'.$d->Group->getID().', docgroupId:'.$d->getDocGroupID().', statusId:'.$d->getStateID().', statusDict:'.$dm->getStatusNameList('json').', docgroupDict:'.$dm->getDocGroupList($nested_groups, 'json').', title:\''.addslashes($d->getName()).'\', filename:\''.$d->getFilename().'\', description:\''.addslashes($d->getDescription()).'\', isURL:\''.$d->isURL().'\', isText:\''.$d->isText().'\', isHtml:\''.$d->isHtml().'\', useCreateOnline:'.$d->Group->useCreateOnline().', docManURL:\''.util_make_uri('/docman').'\'})', 'class' => 'tabtitle-ne', 'title' => _('Edit this document')), true);
-					$nextcell .= util_make_link($redirecturl.'&action=releasefile&fileid='.$d->getID(), html_image('docman/release-document.png', 22, 22, array('alt' => _('Release reservation'))), array('class' => 'tabtitle-ne', 'title' => _('Release reservation')));
+					$nextcell .= util_make_link($redirecturl.'&action=trashfile&fileid='.$d->getID(), html_image('docman/trash-empty.png', 22, 22, array('alt' => _('Move this document to trash'))), array('title' => _('Move this document to trash')));
+					$nextcell .= util_make_link('#', html_image('docman/edit-file.png', 22 ,22, array('alt' => _('Edit this document'))), array('onclick' => 'javascript:controllerListFile.toggleEditFileView({action:\''.util_make_uri($editfileaction).'\', lockIntervalDelay: 60000, childGroupId: '.util_ifsetor($childgroup_id, 0).' ,id:'.$d->getID().', groupId:'.$d->Group->getID().', docgroupId:'.$d->getDocGroupID().', statusId:'.$d->getStateID().', statusDict:'.$dm->getStatusNameList('json').', docgroupDict:'.$dm->getDocGroupList($nested_groups, 'json').', title:\''.addslashes($d->getName()).'\', filename:\''.$d->getFilename().'\', description:\''.addslashes($d->getDescription()).'\', isURL:\''.$d->isURL().'\', isText:\''.$d->isText().'\', isHtml:\''.$d->isHtml().'\', useCreateOnline:'.$d->Group->useCreateOnline().', docManURL:\''.util_make_uri('/docman').'\'})', 'title' => _('Edit this document')), true);
+					$nextcell .= util_make_link($redirecturl.'&action=releasefile&fileid='.$d->getID(), html_image('docman/release-document.png', 22, 22, array('alt' => _('Release reservation'))), array('title' => _('Release reservation')));
 				}
 			}
 			if (session_loggedin()) {
@@ -337,7 +337,7 @@ if (isset($nested_docs[$dirid]) && is_array($nested_docs[$dirid])) {
 					$option = 'add';
 					$titleMonitor = _('Start monitoring this document');
 				}
-				$nextcell .= util_make_link($redirecturl.'&action=monitorfile&option='.$option.'&fileid='.$d->getID(), html_image('docman/monitor-'.$option.'document.png', 22, 22, array('alt' => $titleMonitor)), array('class' => 'tabtitle-ne', 'title' => $titleMonitor));
+				$nextcell .= util_make_link($redirecturl.'&action=monitorfile&option='.$option.'&fileid='.$d->getID(), html_image('docman/monitor-'.$option.'document.png', 22, 22, array('alt' => $titleMonitor)), array('title' => $titleMonitor));
 			}
 			$cells[][] = $nextcell;
 		}
@@ -346,18 +346,18 @@ if (isset($nested_docs[$dirid]) && is_array($nested_docs[$dirid])) {
 	echo $HTML->listTableBottom();
 	echo html_ao('p');
 	echo html_ao('span', array('id' => 'massactionactive', 'class' => 'hide'));
-	echo html_e('span', array('class' => 'tabtitle', 'id' => 'docman-massactionmessage', 'title' => _('Actions availables for selected documents, you need to check at least one document to get actions')), _('Mass actions for selected documents:'), false);
+	echo html_e('span', array('id' => 'docman-massactionmessage', 'title' => _('Actions availables for selected documents, you need to check at least one document to get actions')), _('Mass actions for selected documents:'), false);
 	if (forge_check_perm('docman', $ndg->Group->getID(), 'approve')) {
-		echo util_make_link('#', html_image('docman/trash-empty.png', 22, 22, array('alt' => _('Move to trash'))), array('onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=trashfile&fileid=\'+controllerListFile.buildUrlByCheckbox("active")'), 'class' => 'tabtitle-ne', 'title' => _('Move to trash')), true);
+		echo util_make_link('#', html_image('docman/trash-empty.png', 22, 22, array('alt' => _('Move to trash'))), array('onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=trashfile&fileid=\'+controllerListFile.buildUrlByCheckbox("active")'), 'title' => _('Move to trash')), true);
 		if (session_loggedin()) {
-			echo util_make_link('#', html_image('docman/reserve-document.png', 22, 22, array('alt' => _('Reserve'))), array('onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=reservefile&fileid=\'+controllerListFile.buildUrlByCheckbox("active")'), 'class' => 'tabtitle-ne', 'title' => _('Reserve for later edition')), true);
-			echo util_make_link('#', html_image('docman/release-document.png', 22, 22, array('alt' => _('Release reservation'))) , array('class' => 'tabtitle-ne', 'onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=releasefile&fileid=\'+controllerListFile.buildUrlByCheckbox("active")'), 'title' => _('Release reservation')), true);
-			echo util_make_link('#', html_image('docman/monitor-adddocument.png', 22, 22, array('alt' => _('Monitor'))), array('class' => 'tabtitle-ne', 'onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=monitorfile&option=add&fileid=\'+controllerListFile.buildUrlByCheckbox("active")'), 'title' => _('Monitor')), true);
-			echo util_make_link('#', html_image('docman/monitor-removedocument.png', 22, 22, array('alt' => _('Stop Monitoring'))), array('class' => 'tabtitle-ne', 'onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=monitorfile&option=remove&fileid=\'+controllerListFile.buildUrlByCheckbox("active")'), 'title' => _('Stop Monitoring')), true);
-			echo util_make_link('#', html_image('docman/move-document.png', 22, 22, array('alt' => _('Move files to another folder'))), array('class' => 'tabtitle-ne', 'onclick' => 'javascript:controllerListFile.toggleMoveFileView({})', 'title' => _('Move files to another folder')), true);
+			echo util_make_link('#', html_image('docman/reserve-document.png', 22, 22, array('alt' => _('Reserve'))), array('onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=reservefile&fileid=\'+controllerListFile.buildUrlByCheckbox("active")'), 'title' => _('Reserve for later edition')), true);
+			echo util_make_link('#', html_image('docman/release-document.png', 22, 22, array('alt' => _('Release reservation'))) , array('onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=releasefile&fileid=\'+controllerListFile.buildUrlByCheckbox("active")'), 'title' => _('Release reservation')), true);
+			echo util_make_link('#', html_image('docman/monitor-adddocument.png', 22, 22, array('alt' => _('Monitor'))), array('onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=monitorfile&option=add&fileid=\'+controllerListFile.buildUrlByCheckbox("active")'), 'title' => _('Monitor')), true);
+			echo util_make_link('#', html_image('docman/monitor-removedocument.png', 22, 22, array('alt' => _('Stop Monitoring'))), array('onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=monitorfile&option=remove&fileid=\'+controllerListFile.buildUrlByCheckbox("active")'), 'title' => _('Stop Monitoring')), true);
+			echo util_make_link('#', html_image('docman/move-document.png', 22, 22, array('alt' => _('Move files to another folder'))), array('onclick' => 'javascript:controllerListFile.toggleMoveFileView({})', 'title' => _('Move files to another folder')), true);
 		}
 	}
-	echo util_make_link('#', html_image('docman/download-directory-zip.png', 22, 22, array('alt' => _('Download as a ZIP'))) , array('class' => 'tabtitle', 'onclick' => 'window.location.href=\''.util_make_uri('/docman/view.php/'.$group_id.'/zip/selected/'.$dirid.'/\'+controllerListFile.buildUrlByCheckbox("active")'), 'title' => _('Download as a ZIP')), true);
+	echo util_make_link('#', html_image('docman/download-directory-zip.png', 22, 22, array('alt' => _('Download as a ZIP'))) , array('onclick' => 'window.location.href=\''.util_make_uri('/docman/view.php/'.$group_id.'/zip/selected/'.$dirid.'/\'+controllerListFile.buildUrlByCheckbox("active")'), 'title' => _('Download as a ZIP')), true);
 	echo html_ac(html_ap() - 3);
 	if (forge_check_perm('docman', $ndg->Group->getID(), 'approve') && session_loggedin()) {
 		echo html_ao('div', array('class' => 'docman_div_include hide', 'id' => 'movefile'));
diff --git a/src/common/docman/views/listtrashfile.php b/src/common/docman/views/listtrashfile.php
index 4b06275..e54e7c7 100644
--- a/src/common/docman/views/listtrashfile.php
+++ b/src/common/docman/views/listtrashfile.php
@@ -123,8 +123,8 @@ jQuery(document).ready(function() {
 if ($DocGroupName) {
 	$content = _('Document Folder')._(': ').html_e('i', array(), $DocGroupName, false).' ';
 	if ($DocGroupName != '.trash') {
-		$content .= util_make_link('#', html_image('docman/configure-directory.png', 22, 22, array('alt' => _('Edit'))), array('id' => 'docman-editdirectory', 'class' => 'tabtitle', 'title' => _('Edit this folder'), 'onclick' => 'javascript:controllerListTrash.toggleEditDirectoryView({lockIntervalDelay: 60000, doc_group:'.$ndg->getID().', groupId:'.$ndg->Group->getID().', docManURL:\''.util_make_uri('/docman').'\'})' ), true);
-		$content .= util_make_link($redirecturl.'&action=deldir', html_image('docman/delete-directory.png', 22, 22, array('alt' => _('Delete folder'))), array('id' => 'docman-deletedirectory', 'class' => 'tabtitle', 'title' => _('Delete permanently this folder and his content.')));
+		$content .= util_make_link('#', html_image('docman/configure-directory.png', 22, 22, array('alt' => _('Edit'))), array('id' => 'docman-editdirectory', 'title' => _('Edit this folder'), 'onclick' => 'javascript:controllerListTrash.toggleEditDirectoryView({lockIntervalDelay: 60000, doc_group:'.$ndg->getID().', groupId:'.$ndg->Group->getID().', docManURL:\''.util_make_uri('/docman').'\'})' ), true);
+		$content .= util_make_link($redirecturl.'&action=deldir', html_image('docman/delete-directory.png', 22, 22, array('alt' => _('Delete folder'))), array('id' => 'docman-deletedirectory', 'title' => _('Delete permanently this folder and his content.')));
 	}
 	echo html_e('h3', array('class' => 'docman_h3'), $content, false);
 	echo html_ao('div', array('class' => 'docman_div_include hide', 'id' => 'editdocgroup'));
@@ -134,21 +134,21 @@ if ($DocGroupName) {
 }
 
 if (isset($nested_docs[$dirid]) && is_array($nested_docs[$dirid])) {
-	$tabletop = array(html_e('input', array('id' => 'checkallactive', 'title' => _('Select / Deselect all documents for massaction'), 'class' => 'tabtitle-w', 'type' => 'checkbox', 'onchange' => 'controllerListTrash.checkAll("checkeddocidactive", "active")')), '', _('File Name'), _('Title'), _('Description'), _('Author'), _('Last time'), _('Status'), _('Size'), _('Actions'));
+	$tabletop = array(html_e('input', array('id' => 'checkallactive', 'title' => _('Select / Deselect all documents for massaction'), 'type' => 'checkbox', 'onchange' => 'controllerListTrash.checkAll("checkeddocidactive", "active")')), '', _('File Name'), _('Title'), _('Description'), _('Author'), _('Last time'), _('Status'), _('Size'), _('Actions'));
 	$classth = array('unsortable', 'unsortable', '', '', '', '', '', '', '', 'unsortable');
 	echo html_ao('div', array('class' => 'docmanDiv'));
 	echo $HTML->listTableTop($tabletop, array(), 'sortable_docman_listfile', 'sortable', $classth);
 	$time_new = 604800;
 	foreach ($nested_docs[$dirid] as $d) {
 		$cells = array();
-		$cells[][] = html_e('input', array('type' => 'checkbox', 'class' => 'checkeddocidactive tabtitle-w', 'value' => $d->getID(), 'title' => _('Select / Deselect this document for massaction'), 'onchange' => 'controllerListTrash.checkgeneral("active")'));
+		$cells[][] = html_e('input', array('type' => 'checkbox', 'class' => 'checkeddocidactive', 'value' => $d->getID(), 'title' => _('Select / Deselect this document for massaction'), 'onchange' => 'controllerListTrash.checkgeneral("active")'));
 		switch ($d->getFileType()) {
 			case "URL": {
-				$cells[][] = util_make_link($d->getFileName(), html_image($d->getFileTypeImage(), '22', '22', array('alt' => $d->getFileType())), array('title' => _('Visit this link'), 'class' => 'tabtitle-nw'));
+				$cells[][] = util_make_link($d->getFileName(), html_image($d->getFileTypeImage(), '22', '22', array('alt' => $d->getFileType())), array('title' => _('Visit this link')));
 				break;
 			}
 			default: {
-				$cells[][] = util_make_link('/docman/view.php/'.$group_id.'/'.$d->getID().'/'.urlencode($d->getFileName()), html_image($d->getFileTypeImage(), '22', '22', array('alt' => $d->getFileType())), array('title' => _('View this document'), 'class' => 'tabtitle-nw'));
+				$cells[][] = util_make_link('/docman/view.php/'.$group_id.'/'.$d->getID().'/'.urlencode($d->getFileName()), html_image($d->getFileTypeImage(), '22', '22', array('alt' => $d->getFileType())), array('title' => _('View this document')));
 			}
 		}
 		$nextcell ='';
@@ -182,17 +182,17 @@ if (isset($nested_docs[$dirid]) && is_array($nested_docs[$dirid])) {
 		}
 		$editfileaction .= '&group_id='.$GLOBALS['group_id'];
 		$nextcell = '';
-		$nextcell .= util_make_link($redirecturl.'&action=delfile&fileid='.$d->getID(), html_image('docman/delete-directory.png', 22, 22, array('alt' => _('Delete permanently this document.'))), array('class' => 'tabtitle', 'title' => _('Delete permanently this document.')));
-		$nextcell .= util_make_link('#', html_image('docman/edit-file.png',22,22,array('alt'=>_('Edit this document'))), array('onclick' => 'javascript:controllerListTrash.toggleEditFileView({action:\''.util_make_uri($editfileaction).'\', lockIntervalDelay: 60000, childGroupId: '.util_ifsetor($childgroup_id, 0).' ,id:'.$d->getID().', groupId:'.$d->Group->getID().', docgroupId:'.$d->getDocGroupID().', statusId:'.$d->getStateID().', statusDict:'.$dm->getStatusNameList('json','2').', docgroupDict:'.$dm->getDocGroupList($newdgf->getNested(), 'json').', title:\''.$d->getName().'\', filename:\''.$d->getFilename().'\', description:\''.$d->getDescription().'\', isURL:\''.$d->isURL().'\', isText:\''.$d->isText().'\', useCreateOnline:'.$d->Group->useCreateOnline().', docManURL:\''.util_make_uri("docman").'\'})', 'class' => 'tabtitle-ne', 'title' => _('Edit this document')), true);
+		$nextcell .= util_make_link($redirecturl.'&action=delfile&fileid='.$d->getID(), html_image('docman/delete-directory.png', 22, 22, array('alt' => _('Delete permanently this document.'))), array('title' => _('Delete permanently this document.')));
+		$nextcell .= util_make_link('#', html_image('docman/edit-file.png',22,22,array('alt'=>_('Edit this document'))), array('onclick' => 'javascript:controllerListTrash.toggleEditFileView({action:\''.util_make_uri($editfileaction).'\', lockIntervalDelay: 60000, childGroupId: '.util_ifsetor($childgroup_id, 0).' ,id:'.$d->getID().', groupId:'.$d->Group->getID().', docgroupId:'.$d->getDocGroupID().', statusId:'.$d->getStateID().', statusDict:'.$dm->getStatusNameList('json','2').', docgroupDict:'.$dm->getDocGroupList($newdgf->getNested(), 'json').', title:\''.$d->getName().'\', filename:\''.$d->getFilename().'\', description:\''.$d->getDescription().'\', isURL:\''.$d->isURL().'\', isText:\''.$d->isText().'\', useCreateOnline:'.$d->Group->useCreateOnline().', docManURL:\''.util_make_uri("docman").'\'})' 'title' => _('Edit this document')), true);
 		$cells[][] = $nextcell;
 		echo $HTML->multiTableRow(array(), $cells);
 	}
 	echo $HTML->listTableBottom();
 	echo html_ao('p');
 	echo html_ao('span', array('id' => 'massactionactive', 'class' => 'hide'));
-	echo html_e('span', array('class' => 'tabtitle', 'id' => 'docman-massactionmessage', 'title' => _('Actions availables for selected documents, you need to check at least one document to get actions')), _('Mass actions for selected documents:'), false);
-	echo util_make_link('#', html_image('docman/delete-directory.png', 22, 22, array('alt' => _('Permanently Delete'))), array('onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=delfile&fileid=\'+controllerListTrash.buildUrlByCheckbox("active")'), 'class' => 'tabtitle', 'title' => _('Permanently Delete')), true);
-	echo util_make_link('#', html_image('docman/download-directory-zip.png', 22, 22, array('alt' => _('Download as a ZIP'))), array('onclick' => 'window.location.href=\''.util_make_uri('/docman/view.php/'.$group_id.'/zip/selected/\'+controllerListTrash.buildUrlByCheckbox("active")'), 'class' => 'tabtitle', 'title' => _('Download as a ZIP')), true);
+	echo html_e('span', array('id' => 'docman-massactionmessage', 'title' => _('Actions availables for selected documents, you need to check at least one document to get actions')), _('Mass actions for selected documents:'), false);
+	echo util_make_link('#', html_image('docman/delete-directory.png', 22, 22, array('alt' => _('Permanently Delete'))), array('onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=delfile&fileid=\'+controllerListTrash.buildUrlByCheckbox("active")'), 'title' => _('Permanently Delete')), true);
+	echo util_make_link('#', html_image('docman/download-directory-zip.png', 22, 22, array('alt' => _('Download as a ZIP'))), array('onclick' => 'window.location.href=\''.util_make_uri('/docman/view.php/'.$group_id.'/zip/selected/\'+controllerListTrash.buildUrlByCheckbox("active")'), 'title' => _('Download as a ZIP')), true);
 	echo html_ac(html_ap() - 3);
 } else {
 	if ($dirid) {
diff --git a/src/common/docman/views/menu.php b/src/common/docman/views/menu.php
index f319ede..98d8130 100644
--- a/src/common/docman/views/menu.php
+++ b/src/common/docman/views/menu.php
@@ -43,18 +43,18 @@ $menu_attr = array();
 
 $menu_text[] = _('View Documents');
 $menu_links[] = '/docman/?group_id='.$group_id;
-$menu_attr[] = array('title' => _('View documents and folders in 2 panels. Left a folder tree, right a list of files of selected folder.'), 'id' => 'listFileDocmanMenu', 'class' => 'tabtitle-nw');
+$menu_attr[] = array('title' => _('View documents and folders in 2 panels. Left a folder tree, right a list of files of selected folder.'), 'id' => 'listFileDocmanMenu');
 
 if (forge_check_perm('docman', $group_id, 'submit')) {
 	$menu_text[] = _('Add new item');
 	$menu_links[] = '/docman/?group_id='.$group_id.'&view=additem';
-	$menu_attr[] = array('title' => _('Add a new item such as file, create directory, inject a ZIP at root level.'), 'id' => 'addItemDocmanMenu', 'class' => 'tabtitle');
+	$menu_attr[] = array('title' => _('Add a new item such as file, create directory, inject a ZIP at root level.'), 'id' => 'addItemDocmanMenu');
 }
 
 if ($g->useDocmanSearch()) {
 	$menu_text[] = _('Search');
 	$menu_links[] = '/docman/?group_id='.$group_id.'&view=search';
-	$menu_attr[] = array('title' => _('Search documents in this project using keywords.'), 'id' => 'searchDocmanMenu', 'class' => 'tabtitle');
+	$menu_attr[] = array('title' => _('Search documents in this project using keywords.'), 'id' => 'searchDocmanMenu');
 }
 
 if (forge_check_perm('docman', $group_id, 'approve')) {
@@ -62,17 +62,17 @@ if (forge_check_perm('docman', $group_id, 'approve')) {
     if (!$dm->isTrashEmpty()) {
         $menu_text[] = _('Trash');
         $menu_links[] = '/docman/?group_id='.$group_id.'&view=listtrashfile';
-        $menu_attr[] = array('title' => _('Recover or delete permanently files with deleted status.'), 'id' => 'trashDocmanMenu', 'class' => 'tabtitle');
+        $menu_attr[] = array('title' => _('Recover or delete permanently files with deleted status.'), 'id' => 'trashDocmanMenu');
     }
 }
 
 if (forge_check_perm('docman', $group_id, 'admin')) {
 	$menu_text[] = _('Reporting');
 	$menu_links[] = '/docman/?group_id='.$group_id.'&view=reporting';
-	$menu_attr[] = array('title' => _('Docman module reporting.'), 'id' => 'reportDocmanMenu', 'class' => 'tabtitle');
+	$menu_attr[] = array('title' => _('Docman module reporting.'), 'id' => 'reportDocmanMenu');
 	$menu_text[] = _('Administration');
 	$menu_links[] = '/docman/?group_id='.$group_id.'&view=admin';
-	$menu_attr[] = array('title' => _('Docman module administration.'), 'id' => 'adminDocmanMenu', 'class' => 'tabtitle');
+	$menu_attr[] = array('title' => _('Docman module administration.'), 'id' => 'adminDocmanMenu');
 }
 
 if (count($menu_text)) {
diff --git a/src/common/docman/views/pendingfiles.php b/src/common/docman/views/pendingfiles.php
index 7ca2ca1..907ead7 100644
--- a/src/common/docman/views/pendingfiles.php
+++ b/src/common/docman/views/pendingfiles.php
@@ -66,14 +66,14 @@ jQuery(document).ready(function() {
 		$time_new = 604800;
 		foreach ($nested_pending_docs[$dirid] as $d) {
 			$cells = array();
-			$cells[][] = html_e('input', array('type' => 'checkbox', 'value' => $d->getID(), 'class' => 'checkeddocidpending tabtitle-w', 'title' => _('Select / Deselect this document for massaction'), 'onchange' => 'controllerListPending.checkgeneral("pending")'));
+			$cells[][] = html_e('input', array('type' => 'checkbox', 'value' => $d->getID(), 'class' => 'checkeddocidpending', 'title' => _('Select / Deselect this document for massaction'), 'onchange' => 'controllerListPending.checkgeneral("pending")'));
 			switch ($d->getFileType()) {
 				case "URL": {
-					$cells[][] = util_make_link($d->getFileName(), html_image($d->getFileTypeImage(), '22', '22', array('alt'=>$d->getFileType())), array('class' => 'tabtitle-nw', 'title' => _('Visit this link')), true);
+					$cells[][] = util_make_link($d->getFileName(), html_image($d->getFileTypeImage(), '22', '22', array('alt'=>$d->getFileType())), array('title' => _('Visit this link')), true);
 					break;
 				}
 				default: {
-					$cells[][] = util_make_link('/docman/view.php/'.$g->getID().'/'.$d->getID().'/'.urlencode($d->getFileName()), html_image($d->getFileTypeImage(), '22', '22', array('alt'=>$d->getFileType())), array('class' => 'tabtitle-nw', 'title' => _('View this document')));
+					$cells[][] = util_make_link('/docman/view.php/'.$g->getID().'/'.$d->getID().'/'.urlencode($d->getFileName()), html_image($d->getFileTypeImage(), '22', '22', array('alt'=>$d->getFileType())), array('title' => _('View this document')));
 				}
 			}
 			$nextcell = '';
@@ -106,17 +106,17 @@ jQuery(document).ready(function() {
 				$editfileaction .= '&childgroup_id='.$GLOBALS['childgroup_id'];
 			}
 			$editfileaction .= '&group_id='.$GLOBALS['group_id'];
-			$nextcell .= util_make_link('#', html_image('docman/edit-file.png', 22, 22, array('alt' => _('Edit this document'))), array('class' => 'tabtitle-ne', 'onclick' => 'javascript:controllerListPending.toggleEditFileView({action:\''.util_make_uri($editfileaction).'\', lockIntervalDelay: 60000, childGroupId: '.util_ifsetor($childgroup_id, 0).' ,id:'.$d->getID().', groupId:'.$d->Group->getID().', docgroupId:'.$d->getDocGroupID().', statusId:'.$d->getStateID().', statusDict:'.$dm->getStatusNameList('json').', docgroupDict:'.$dm->getDocGroupList($nested_groups, 'json').', title:\''.htmlspecialchars($d->getName()).'\', filename:\''.$d->getFilename().'\', description:\''.htmlspecialchars($d->getDescription()).'\', isURL:\''.$d->isURL().'\', isText:\''.$d->isText().'\', useCreateOnline:'.$d->Group->useCreateOnline().', docManURL:\''.util_make_uri("docman").'\'})', 'title' => _('Edit this document')), true);
-			$nextcell .= util_make_link('#', html_image('docman/validate.png', 22, 22, array('alt' => _('Activate in this folder'))), array('class' => 'tabtitle', 'onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=validatefile&fileid='.$d->getID()), 'title' => _('Activate in this folder')), true);
+			$nextcell .= util_make_link('#', html_image('docman/edit-file.png', 22, 22, array('alt' => _('Edit this document'))), array('onclick' => 'javascript:controllerListPending.toggleEditFileView({action:\''.util_make_uri($editfileaction).'\', lockIntervalDelay: 60000, childGroupId: '.util_ifsetor($childgroup_id, 0).' ,id:'.$d->getID().', groupId:'.$d->Group->getID().', docgroupId:'.$d->getDocGroupID().', statusId:'.$d->getStateID().', statusDict:'.$dm->getStatusNameList('json').', docgroupDict:'.$dm->getDocGroupList($nested_groups, 'json').', title:\''.htmlspecialchars($d->getName()).'\', filename:\''.$d->getFilename().'\', description:\''.htmlspecialchars($d->getDescription()).'\', isURL:\''.$d->isURL().'\', isText:\''.$d->isText().'\', useCreateOnline:'.$d->Group->useCreateOnline().', docManURL:\''.util_make_uri("docman").'\'})', 'title' => _('Edit this document')), true);
+			$nextcell .= util_make_link('#', html_image('docman/validate.png', 22, 22, array('alt' => _('Activate in this folder'))), array('onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=validatefile&fileid='.$d->getID()), 'title' => _('Activate in this folder')), true);
 			$cells[][] = $nextcell;
 			echo $HTML->multiTableRow(array(), $cells);
 		}
 		echo $HTML->listTableBottom();
 		echo html_ao('p');
 		echo html_ao('span', array('id' => 'massactionpending', 'class' => 'hide'));
-		echo html_e('span', array('class' => 'tabtitle-nw', 'id' => 'docman-massactionpendingmessage', 'title' => _('Actions availables for selected documents, you need to check at least one document to get actions')), _('Mass actions for selected pending documents:'), false);
-		echo util_make_link('#', html_image('docman/download-directory-zip.png', 22, 22, array('alt'=>_('Download as a ZIP'))), array('class' => 'tabtitle', 'onclick' => 'window.location.href=\''.util_make_uri('/docman/view.php/'.$g->getID().'/zip/selected/'.$dirid.'/\'+controllerListPending.buildUrlByCheckbox("pending")'), 'title' => _('Download as a ZIP')), true);
-		echo util_make_link('#', html_image('docman/validate.png', 22, 22, array('alt' => _('Activate in this folder'))), array('class' => 'tabtitle', 'onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=validatefile&fileid=\'+controllerListPending.buildUrlByCheckbox("pending")'), 'title' => _('Activate in this folder')), true);
+		echo html_e('span', array('id' => 'docman-massactionpendingmessage', 'title' => _('Actions availables for selected documents, you need to check at least one document to get actions')), _('Mass actions for selected pending documents:'), false);
+		echo util_make_link('#', html_image('docman/download-directory-zip.png', 22, 22, array('alt'=>_('Download as a ZIP'))), array('onclick' => 'window.location.href=\''.util_make_uri('/docman/view.php/'.$g->getID().'/zip/selected/'.$dirid.'/\'+controllerListPending.buildUrlByCheckbox("pending")'), 'title' => _('Download as a ZIP')), true);
+		echo util_make_link('#', html_image('docman/validate.png', 22, 22, array('alt' => _('Activate in this folder'))), array('onclick' => 'window.location.href=\''.util_make_uri($redirecturl.'&action=validatefile&fileid=\'+controllerListPending.buildUrlByCheckbox("pending")'), 'title' => _('Activate in this folder')), true);
 		echo html_ac(html_ap() - 3);
 	}
 }
diff --git a/src/common/docman/views/search.php b/src/common/docman/views/search.php
index 4175ec4..f8b717d 100644
--- a/src/common/docman/views/search.php
+++ b/src/common/docman/views/search.php
@@ -43,8 +43,8 @@ $subprojectsIncluded = getStringFromPost('includesubprojects');
 $allchecked = "";
 $onechecked = "";
 $insideDocumentsCheckbox = "";
-$attrsInputSearchAll = array('type' => 'radio', 'name' => 'search_type', 'required' => 'required', 'value' => 'all', 'class' => 'tabtitle-nw', 'title' => _('All searched words are mandatory'));
-$attrsInputSearchOne = array('type' => 'radio', 'name' => 'search_type', 'required' => 'required', 'value' => 'one', 'class' => 'tabtitle', 'title' => _('At least one word must be found'));
+$attrsInputSearchAll = array('type' => 'radio', 'name' => 'search_type', 'required' => 'required', 'value' => 'all', 'title' => _('All searched words are mandatory'));
+$attrsInputSearchOne = array('type' => 'radio', 'name' => 'search_type', 'required' => 'required', 'value' => 'one', 'title' => _('At least one word must be found'));
 
 if (getStringFromPost('search_type') == "one") {
 	$attrsInputSearchOne['checked'] = 'checked';
@@ -63,7 +63,7 @@ echo html_ao('div', array('id' => 'docman_search_query_ckeckbox'));
 echo html_e('input', $attrsInputSearchAll)._('With all the words');
 echo html_e('input', $attrsInputSearchOne)._('With at least one of words');
 if ($g->useDocmanSearch()) {
-	$attrsInputInsideDocs = array('type' => 'checkbox', 'name'  => 'insideDocuments', 'value' => 1, 'class' => 'tabtitle', 'title' => _('Filename and contents are used to match searched words'));
+	$attrsInputInsideDocs = array('type' => 'checkbox', 'name'  => 'insideDocuments', 'value' => 1, 'title' => _('Filename and contents are used to match searched words'));
 	if ($insideDocuments)
 		$attrsInputInsideDocs['checked'] = 'checked';
 	echo html_e('input', $attrsInputInsideDocs)._('Inside documents');
@@ -73,7 +73,7 @@ if ($g->usesPlugin('projects-hierarchy')) {
 	$projectIDsArray = $projectsHierarchy->getFamily($group_id, 'child', true, 'validated');
 }
 if (isset($projectIDsArray) && is_array($projectIDsArray)) {
-	$attrsInputIncludeSubprojects = array('type' => 'checkbox', 'name'  => 'includesubprojects', 'value' => 1, 'class' => 'tabtitle', 'title' => _('search into childs following project hierarchy'));
+	$attrsInputIncludeSubprojects = array('type' => 'checkbox', 'name'  => 'includesubprojects', 'value' => 1, 'title' => _('search into childs following project hierarchy'));
 	if ($subprojectsIncluded)
 		$attrsInputIncludeSubprojects['checked'] = 'checked';
 	echo html_e('input', $attrsInputIncludeSubprojects)._('Include child projects');
@@ -158,7 +158,7 @@ if ($searchString) {
 			$cells[][] = $item["statename"];
 			$nextcell = '';
 			if ($localProject->getUnixName() != $g->getUnixName()) {
-				$nextcell .= util_make_link('/docman/?group_id='.$localProject->getID(), $localProject->getPublicName(), array('title' => _('Browse document manager for this project.'), 'class' => 'tabtitle-nw')).'::';
+				$nextcell .= util_make_link('/docman/?group_id='.$localProject->getID(), $localProject->getPublicName(), array('title' => _('Browse document manager for this project.'))).'::';
 			}
 			$nextcell .= html_e('i', array(), $docGroupObject->getPath(true, true), false);
 			$cells[][] = $nextcell;
diff --git a/src/common/docman/views/tree.php b/src/common/docman/views/tree.php
index 1a27b1d..a418430 100644
--- a/src/common/docman/views/tree.php
+++ b/src/common/docman/views/tree.php
@@ -61,7 +61,7 @@ if (isset($projectIDsArray) && is_array($projectIDsArray)) {
 		if ($groupObject->usesDocman() && $projectsHierarchy->getDocmanStatus($groupObject->getID())
 			&& forge_check_perm('docman', $groupObject->getID(), 'read')) {
 			echo html_e('hr');
-			echo html_e('h5', array(), _('Child project')._(': ').util_make_link('/docman/?group_id='.$groupObject->getID(),$groupObject->getPublicName(), array('class'=>'tabtitle', 'title'=>_('Browse document manager for this project.'))), false);
+			echo html_e('h5', array(), _('Child project')._(': ').util_make_link('/docman/?group_id='.$groupObject->getID(),$groupObject->getPublicName(), array('title'=>_('Browse document manager for this project.'))), false);
 			$dmc = new DocumentManager($groupObject);
 			echo html_ao('ul', array('id' => $groupObject->getUnixname().'-tree'));
 			$dmc->getTree($dirid, $linkmenu);
diff --git a/src/common/include/Plugin.class.php b/src/common/include/Plugin.class.php
index 59d8153..faaff02 100644
--- a/src/common/include/Plugin.class.php
+++ b/src/common/include/Plugin.class.php
@@ -273,7 +273,7 @@ class Plugin extends Error {
 			echo "</td>\n";
 			$pluginObject = plugin_get_object($this->name);
 			if (method_exists($pluginObject, 'getPluginDescription')) {
-				echo '<td class="tabtitle" title="'.$description = $pluginObject->getPluginDescription().'">';
+				echo '<td title="'.$description = $pluginObject->getPluginDescription().'">';
 			} else {
 				echo "</td>\n";
 			}
@@ -281,7 +281,7 @@ class Plugin extends Error {
 			printf(_("Use %s"), $this->text);
 			echo "</strong>";
 			echo " ";
-			echo html_image($imgStatus, '16', '16',array('alt'=>$title, 'title'=>$title, 'class'=>'tabtitle-sw'));
+			echo html_image($imgStatus, '16', '16',array('alt'=>$title, 'title'=>$title));
 			echo "</td>\n";
 			echo "</tr>\n";
 		}
diff --git a/src/common/tracker/actions/tracker.php b/src/common/tracker/actions/tracker.php
index fe8d7eb..56c85b8 100644
--- a/src/common/tracker/actions/tracker.php
+++ b/src/common/tracker/actions/tracker.php
@@ -27,8 +27,6 @@
 global $group;
 global $atid;
 
-html_use_tooltips();
-
 //
 //	Create the ArtifactType object
 //
diff --git a/src/common/tracker/include/ArtifactTypeFactoryHtml.class.php b/src/common/tracker/include/ArtifactTypeFactoryHtml.class.php
index 2569af7..0043a27 100644
--- a/src/common/tracker/include/ArtifactTypeFactoryHtml.class.php
+++ b/src/common/tracker/include/ArtifactTypeFactoryHtml.class.php
@@ -46,19 +46,19 @@ class ArtifactTypeFactoryHtml extends ArtifactTypeFactory {
 
 		$labels = array(_('View Trackers'));
 		$links  = array('/tracker/?group_id='.$group_id);
-		$attr   = array(array('title' => _('Get the list of available trackers'), 'class' => 'tabtitle-nw'));
+		$attr   = array(array('title' => _('Get the list of available trackers')));
 		$labels[] = _('Roadmap');
 		$links[]  = '/tracker/roadmap.php?group_id='.$group_id;
-		$attr[]   = array('title' => _('Display configured roadmaps'), 'class' => 'tabtitle');
+		$attr[]   = array('title' => _('Display configured roadmaps'));
 		if (session_loggedin()) {
 			$labels[] = _('Reporting');
 			$links[]  = '/tracker/reporting/?group_id='.$group_id;
-			$attr[]   = array('title' => _('Various graph of statistics.'), 'class' => 'tabtitle');
+			$attr[]   = array('title' => _('Various graph of statistics.'));
 			$perm = $this->Group->getPermission();
 			if ($perm && is_object($perm) && !$perm->isError() && $perm->isPMAdmin()) {
 				$labels[] = _('Administration');
 				$links[]  = '/tracker/admin/?group_id='.$group_id;
-				$attr[]   = array('title' => _('Global administration for trackers. Create, clone, workflow, fields ...'), 'class' => 'tabtitle');
+				$attr[]   = array('title' => _('Global administration for trackers. Create, clone, workflow, fields ...'));
 			}
 		}
 
diff --git a/src/common/tracker/include/ArtifactTypeHtml.class.php b/src/common/tracker/include/ArtifactTypeHtml.class.php
index 5f111e3..212d88a 100644
--- a/src/common/tracker/include/ArtifactTypeHtml.class.php
+++ b/src/common/tracker/include/ArtifactTypeHtml.class.php
@@ -51,37 +51,37 @@ class ArtifactTypeHtml extends ArtifactType {
 
 		$labels[] = _("View Trackers");
 		$links[]  = '/tracker/?group_id='.$group_id;
-		$attr[]   = array('title' => _('Get the list of available trackers'), 'class' => 'tabtitle-nw');
+		$attr[]   = array('title' => _('Get the list of available trackers'));
 		$labels[] = $this->getName();
 		$links[]  = '/tracker/?func=browse&group_id='.$group_id.'&atid='. $this->getID();
-		$attr[]   = array('title' => _('Browse this tracker.'), 'class' => 'tabtitle');
+		$attr[]   = array('title' => _('Browse this tracker.'));
 		$labels[] = _('Export CSV');
 		$links[]  = '/tracker/?func=csv&group_id='.$group_id.'&atid='. $this->getID();
-		$attr[]   = array('title' => _('Download data from this tracker as csv file.'), 'class' => 'tabtitle');
+		$attr[]   = array('title' => _('Download data from this tracker as csv file.'));
 		if (forge_check_perm ('tracker',$this->getID(),'submit')) {
 			$labels[] = _('Submit New');
 			$links[]  = '/tracker/?func=add&group_id='.$group_id.'&atid='. $this->getID();
-			$attr[]   = array('title' => _('Add a new issue.'), 'class' => 'tabtitle');
+			$attr[]   = array('title' => _('Add a new issue.'));
 		}
 
 		if (session_loggedin()) {
 			$labels[] = _('Reporting');
 			$links[]  = '/tracker/reporting/?group_id='.$group_id.'&atid='. $this->getID();
-			$attr[]   = array('title' => _('Various graph about statistics.'), 'class' => 'tabtitle');
+			$attr[]   = array('title' => _('Various graph about statistics.'));
 			if ($this->isMonitoring()) {
 				$labels[] = _('Stop Monitor');
 				$links[]  = '/tracker/?group_id='.$group_id.'&atid='. $this->getID().'&func=monitor&stop=1';
-				$attr[]   = array('title' => _('Remove this tracker from your monitoring.'), 'class' => 'tabtitle');
+				$attr[]   = array('title' => _('Remove this tracker from your monitoring.'));
 			} else {
 				$labels[] = _('Monitor');
 				$links[]  = '/tracker/?group_id='.$group_id.'&atid='. $this->getID().'&func=monitor&start=1';
-				$attr[]   = array('title' => _('Add this tracker from your monitoring.'), 'class' => 'tabtitle');
+				$attr[]   = array('title' => _('Add this tracker from your monitoring.'));
 			}
 
 			if (forge_check_perm ('tracker', $this->getID(), 'manager')) {
 				$labels[] = _('Administration');
 				$links[]  = '/tracker/admin/?group_id='.$group_id.'&atid='.$this->getID();
-				$attr[]   = array('title' => _('Global administration for trackers. Create, clone, workflow, fields ...'), 'class' => 'tabtitle');
+				$attr[]   = array('title' => _('Global administration for trackers. Create, clone, workflow, fields ...'));
 			}
 		}
 
diff --git a/src/common/widget/Widget_MyArtifacts.class.php b/src/common/widget/Widget_MyArtifacts.class.php
index 71411b6..a911d13 100644
--- a/src/common/widget/Widget_MyArtifacts.class.php
+++ b/src/common/widget/Widget_MyArtifacts.class.php
@@ -198,9 +198,9 @@ class Widget_MyArtifacts extends Widget {
 					$count_new = max(0, $count_diff);
 					$cells = array();
 					$cells[] = array($hide_url.
-							util_make_link('/tracker/?group_id='.$group_id_old, $group_name, array('class'=>'tabtitle-nw', 'title'=>_('Browse Trackers List for this project'))).
+							util_make_link('/tracker/?group_id='.$group_id_old, $group_name, array('title'=>_('Browse Trackers List for this project'))).
 							' - '.
-							util_make_link('/tracker/?group_id='.$group_id_old.'&atid='.$atid_old, $tracker_name, array('class'=>'tabtitle', 'title'=>_('Browse this tracker for this project'))).
+							util_make_link('/tracker/?group_id='.$group_id_old.'&atid='.$atid_old, $tracker_name, array('title'=>_('Browse this tracker for this project'))).
 							'    '.
 							my_item_count($count_aids,$count_new), 'colspan' => 3);
 					$html_my_artifacts .= $HTML->multiTableRow(array('class' => 'boxitem'), $cells).$html;
@@ -256,8 +256,8 @@ class Widget_MyArtifacts extends Widget {
 					if($AS_flag !='N') {
 						$cells = array();
 						$cells[] = array($trackers_array->getPriority(), 'class' => 'priority'.$trackers_array->getPriority());
-						$cells[][] = util_make_link('/tracker/?func=detail&group_id='.$group_id.'&aid='.$aid.'&atid='.$atid, stripslashes($summary), array('class' => 'tabtitle', 'title' => _('Browse this artefact')));
-						$cells[] = array($AS_flag, 'title' => $AS_title, 'class' => 'small tabtitle-ne');
+						$cells[][] = util_make_link('/tracker/?func=detail&group_id='.$group_id.'&aid='.$aid.'&atid='.$atid, stripslashes($summary), array('title' => _('Browse this artefact')));
+						$cells[] = array($AS_flag, 'title' => $AS_title, 'class' => 'small');
 						$html .= $HTML->multiTableRow(array('class' => $HTML->boxGetAltRowStyle($count_aids, true)), $cells);
 					}
 				}
@@ -270,9 +270,9 @@ class Widget_MyArtifacts extends Widget {
 			$count_new = max(0, $count_diff);
 			$cells = array();
 			$cells[] = array($hide_url.
-					util_make_link('/tracker/?group_id='.$group_id_old, $group_name, array('class'=>'tabtitle-nw', 'title'=>_('Browse Trackers List for this project'))).
+					util_make_link('/tracker/?group_id='.$group_id_old, $group_name, array('title'=>_('Browse Trackers List for this project'))).
 					' - '.
-					util_make_link('/tracker/?group_id='.$group_id_old.'&atid='.$atid_old, $tracker_name, array('class'=>'tabtitle', 'title'=>_('Browse this tracker for this project'))).
+					util_make_link('/tracker/?group_id='.$group_id_old.'&atid='.$atid_old, $tracker_name, array('title'=>_('Browse this tracker for this project'))).
 					'    '.
 					my_item_count($count_aids,$count_new), 'colspan' => 3);
 			$html_my_artifacts .= $HTML->multiTableRow(array('class' => 'boxitem'), $cells).$html;
diff --git a/src/etc/httpd.conf.d/vhost-main.inc b/src/etc/httpd.conf.d/vhost-main.inc
index b14fd9f..f3c0513 100644
--- a/src/etc/httpd.conf.d/vhost-main.inc
+++ b/src/etc/httpd.conf.d/vhost-main.inc
@@ -36,7 +36,6 @@ Alias /images/ {core/source_path}/www/images/
 Alias /scripts/coolfieldset/ {core/source_path}/vendor/coolfieldset/
 Alias /scripts/jquery/ {core/source_path}/vendor/jquery/
 Alias /scripts/jquery-ui/ {core/source_path}/vendor/jquery-ui/
-Alias /scripts/jquery-tipsy/ {core/source_path}/vendor/jquery-tipsy/
 Alias /scripts/jquery-storage/ {core/source_path}/vendor/jquery-storage/
 Alias /scripts/jquery-simpletreemenu/ {core/source_path}/vendor/jquery-simpletreemenu/
 Alias /scripts/jquery-jqplot/ {core/source_path}/vendor/jquery-jqplot/
diff --git a/src/plugins/admssw/include/admsswPlugin.class.php b/src/plugins/admssw/include/admsswPlugin.class.php
index cf7d362..94aa45c 100644
--- a/src/plugins/admssw/include/admsswPlugin.class.php
+++ b/src/plugins/admssw/include/admsswPlugin.class.php
@@ -137,7 +137,7 @@ class admsswPlugin extends Plugin {
 
 		$params['TITLES'][] = _('ADMS.SW meta-data');
 		$params['URLS'][] = '/plugins/'. $this->name .'/index.php';
-		$params['ATTRS'][] = array('title' => _('ADMS.SW RDF meta-data about forge projects.'), 'class' => 'tabtitle');
+		$params['ATTRS'][] = array('title' => _('ADMS.SW RDF meta-data about forge projects.'));
 	}
 
 	/**
diff --git a/src/plugins/extsubproj/include/extsubprojPlugin.class.php b/src/plugins/extsubproj/include/extsubprojPlugin.class.php
index 18f71a4..012df1b 100644
--- a/src/plugins/extsubproj/include/extsubprojPlugin.class.php
+++ b/src/plugins/extsubproj/include/extsubprojPlugin.class.php
@@ -64,7 +64,7 @@ class extsubprojPlugin extends Plugin {
 	* @access	public
 	*/
 	function getAdminOptionLink() {
-		return util_make_link('/plugins/'.$this->name.'/?type=globaladmin&pluginname='.$this->name,_('External subprojects admin'), array('class'=>'tabtitle', 'title'=>_('Configure the External subprojects plugin')));
+		return util_make_link('/plugins/'.$this->name.'/?type=globaladmin&pluginname='.$this->name,_('External subprojects admin'), array('title'=>_('Configure the External subprojects plugin')));
 	}
 	/**
 	* getProjectAdminLink - return the project admin link url
@@ -73,7 +73,7 @@ class extsubprojPlugin extends Plugin {
 	* @access	public
 	*/
 	function getProjectAdminLink($group_id) {
-		return util_make_link('/plugins/'.$this->name.'/?group_id='.$group_id.'&type=admin&pluginname='.$this->name, _('External subprojects admin'), array('class'=>'tabtitle', 'title'=>_('Configure the External subprojects plugin')));
+		return util_make_link('/plugins/'.$this->name.'/?group_id='.$group_id.'&type=admin&pluginname='.$this->name, _('External subprojects admin'), array('title'=>_('Configure the External subprojects plugin')));
 	}
 	function getProjectAdminAddExtSubProjAction($group_id) {
 		return '/plugins/'.$this->name.'/?group_id='.$group_id.'&type=admin&pluginname='.$this->name.'&action=addExtSubProj';
diff --git a/src/plugins/extsubproj/view/admin/viewProjectConfiguration.php b/src/plugins/extsubproj/view/admin/viewProjectConfiguration.php
index eb81882..1d3979a 100644
--- a/src/plugins/extsubproj/view/admin/viewProjectConfiguration.php
+++ b/src/plugins/extsubproj/view/admin/viewProjectConfiguration.php
@@ -53,7 +53,7 @@ echo '<table>';
 
 echo '<tr><td><label id="extSubProj-newsubprojecturl" ';
 if ($use_tooltips)
-	echo 'class="tabtitle-nw" title="'._('URL of the new subproject.').'"';
+	echo 'title="'._('URL of the new subproject.').'"';
 echo ' >'._('URL').'</label></td><td><input type="text" name="newsubprojecturl"';
 echo '/></td></tr>';
 
diff --git a/src/plugins/headermenu/common/headermenuPlugin.class.php b/src/plugins/headermenu/common/headermenuPlugin.class.php
index a829d84..68ae3d9 100644
--- a/src/plugins/headermenu/common/headermenuPlugin.class.php
+++ b/src/plugins/headermenu/common/headermenuPlugin.class.php
@@ -64,7 +64,7 @@ class headermenuPlugin extends Plugin {
 				$project = group_get_object($group_id);
 				if ($project->usesPlugin($this->name)) {
 					echo '<p>'.util_make_link('/plugins/'.$this->name.'/?type=projectadmin&group_id='.$group_id,
-					     _('Menu Tabs Manager Admin'), array('class' => 'tabtitle', 'title' => _('Add/Remove/Activate/Desactivate tabs'))) . '</p>';
+					     _('Menu Tabs Manager Admin'), array('title' => _('Add/Remove/Activate/Desactivate tabs'))) . '</p>';
 				}
 				break;
 			}
@@ -109,7 +109,7 @@ class headermenuPlugin extends Plugin {
 	}
 
 	function getAdminOptionLink() {
-		return util_make_link('/plugins/'.$this->name.'/?type=globaladmin', _('Global HeaderMenu admin'), array('class' => 'tabtitle', 'title' => _('Direct link to global configuration of this plugin')));
+		return util_make_link('/plugins/'.$this->name.'/?type=globaladmin', _('Global HeaderMenu admin'), array('title' => _('Direct link to global configuration of this plugin')));
 	}
 
 	/**
diff --git a/src/plugins/headermenu/view/admin/viewGlobalConfiguration.php b/src/plugins/headermenu/view/admin/viewGlobalConfiguration.php
index 27095ec..25200ad 100644
--- a/src/plugins/headermenu/view/admin/viewGlobalConfiguration.php
+++ b/src/plugins/headermenu/view/admin/viewGlobalConfiguration.php
@@ -75,14 +75,14 @@ if (sizeof($linksHeaderMenuArray)) {
 		$cells[][] = htmlspecialchars($link['name']);
 		$cells[][] = htmlspecialchars($link['description']);
 		if ($link['is_enable']) {
-			$cells[][] = html_image('docman/validate.png', 22, 22, array('alt'=>_('link is on'), 'class'=>'tabtitle', 'title'=>_('link is on')));
-			$content = util_make_link($actionurl.'&action=updateLinkStatus&linkid='.$link['id_headermenu'].'&linkstatus=0', html_image('docman/release-document.png', 22, 22, array('alt' => _('Desactivate this link'))), array('class' => 'tabtitle-ne', 'title' => _('Desactivate this link')));
+			$cells[][] = html_image('docman/validate.png', 22, 22, array('alt'=>_('link is on'), 'title'=>_('link is on')));
+			$content = util_make_link($actionurl.'&action=updateLinkStatus&linkid='.$link['id_headermenu'].'&linkstatus=0', html_image('docman/release-document.png', 22, 22, array('alt' => _('Desactivate this link'))), array('title' => _('Desactivate this link')));
 		} else {
-			$cells[][] = html_image('docman/delete-directory.png', 22, 22, array('alt'=>_('link is off'), 'class'=>'tabtitle', 'title'=>_('link is off')));
-			$content = util_make_link($actionurl.'&action=updateLinkStatus&linkid='.$link['id_headermenu'].'&linkstatus=1', html_image('docman/reserve-document.png', 22, 22, array('alt' => _('Activate this link'))), array('class' => 'tabtitle-ne', 'title' => _('Activate this link')));
+			$cells[][] = html_image('docman/delete-directory.png', 22, 22, array('alt'=>_('link is off'),'title'=>_('link is off')));
+			$content = util_make_link($actionurl.'&action=updateLinkStatus&linkid='.$link['id_headermenu'].'&linkstatus=1', html_image('docman/reserve-document.png', 22, 22, array('alt' => _('Activate this link'))), array('title' => _('Activate this link')));
 		}
-		$content .= util_make_link($actionurl.'&view=updateLinkValue&linkid='.$link['id_headermenu'], html_image('docman/edit-file.png', 22, 22, array('alt' => _('Edit this link'))), array('class' => 'tabtitle-ne', 'title' => _('Edit this link')));
-		$content .= util_make_link($actionurl.'&action=deleteLink&linkid='.$link['id_headermenu'], html_image('docman/trash-empty.png', 22, 22, array('alt' => _('Delete this link'))), array('class' => 'tabtitle-ne', 'title' => _('Delete this link')));
+		$content .= util_make_link($actionurl.'&view=updateLinkValue&linkid='.$link['id_headermenu'], html_image('docman/edit-file.png', 22, 22, array('alt' => _('Edit this link'))), array('title' => _('Edit this link')));
+		$content .= util_make_link($actionurl.'&action=deleteLink&linkid='.$link['id_headermenu'], html_image('docman/trash-empty.png', 22, 22, array('alt' => _('Delete this link'))), array('title' => _('Delete this link')));
 		$cells[][] = $content;
 		echo $HTML->multiTableRow(array('id' => $link['id_headermenu']), $cells);
 	}
@@ -109,14 +109,14 @@ if (sizeof($linksOuterMenuArray)) {
 		$cells[][] = htmlspecialchars($link['name']);
 		$cells[][] = htmlspecialchars($link['description']);
 		if ($link['is_enable']) {
-			$cells[][] = html_image('docman/validate.png', 22, 22, array('alt'=>_('link is on'), 'class'=>'tabtitle', 'title'=>_('link is on')));
-			$content = util_make_link($actionurl.'&action=updateLinkStatus&linkid='.$link['id_headermenu'].'&linkstatus=0', html_image('docman/release-document.png', 22, 22, array('alt'=>_('Desactivate this link'))), array('class' => 'tabtitle-ne', 'title' => _('Desactivate this link')));
+			$cells[][] = html_image('docman/validate.png', 22, 22, array('alt'=>_('link is on'), 'title'=>_('link is on')));
+			$content = util_make_link($actionurl.'&action=updateLinkStatus&linkid='.$link['id_headermenu'].'&linkstatus=0', html_image('docman/release-document.png', 22, 22, array('alt'=>_('Desactivate this link'))), array('title' => _('Desactivate this link')));
 		} else {
-			$cells[][] = html_image('docman/delete-directory.png', 22, 22, array('alt'=>_('link is off'), 'class'=>'tabtitle', 'title'=>_('link is off')));
-			$content = util_make_link($actionurl.'&action=updateLinkStatus&linkid='.$link['id_headermenu'].'&linkstatus=1', html_image('docman/reserve-document.png', 22, 22, array('alt'=>_('Activate this link'))), array('class' => 'tabtitle-ne', 'title' => _('Activate this link')));
+			$cells[][] = html_image('docman/delete-directory.png', 22, 22, array('alt'=>_('link is off'), 'title'=>_('link is off')));
+			$content = util_make_link($actionurl.'&action=updateLinkStatus&linkid='.$link['id_headermenu'].'&linkstatus=1', html_image('docman/reserve-document.png', 22, 22, array('alt'=>_('Activate this link'))), array('title' => _('Activate this link')));
 		}
-		$content .= util_make_link($actionurl.'&view=updateLinkValue&linkid='.$link['id_headermenu'], html_image('docman/edit-file.png',22,22, array('alt'=>_('Edit this link'))), array('class' => 'tabtitle-ne', 'title' => _('Edit this link')));
-		$content .= util_make_link($actionurl.'&action=deleteLink&linkid='.$link['id_headermenu'], html_image('docman/trash-empty.png',22,22, array('alt'=>_('Delete this link'))), array('class' => 'tabtitle-ne', 'title' => _('Delete this link')));
+		$content .= util_make_link($actionurl.'&view=updateLinkValue&linkid='.$link['id_headermenu'], html_image('docman/edit-file.png',22,22, array('alt'=>_('Edit this link'))), array('title' => _('Edit this link')));
+		$content .= util_make_link($actionurl.'&action=deleteLink&linkid='.$link['id_headermenu'], html_image('docman/trash-empty.png',22,22, array('alt'=>_('Delete this link'))), array('title' => _('Delete this link')));
 		$cells[][] = $content;
 		echo $HTML->multiTableRow(array('id' => $link['id_headermenu']), $cells);
 	}
diff --git a/src/plugins/headermenu/view/admin/viewProjectConfiguration.php b/src/plugins/headermenu/view/admin/viewProjectConfiguration.php
index 6611683..e21094e 100644
--- a/src/plugins/headermenu/view/admin/viewProjectConfiguration.php
+++ b/src/plugins/headermenu/view/admin/viewProjectConfiguration.php
@@ -72,14 +72,14 @@ if (sizeof($linksArray)) {
 		$cells[][] = htmlspecialchars($link['name']);
 		$cells[][] = htmlspecialchars($link['description']);
 		if ($link['is_enable']) {
-			$cells[][] = html_image('docman/validate.png', 22, 22, array('alt'=>_('link is on'), 'class'=>'tabtitle', 'title'=>_('link is on')));
-			$cells[][] = util_make_link('/plugins/'.$headermenu->name.'?type=projectadmin&group_id='.$group_id.'&action=updateLinkStatus&linkid='.$link['id_headermenu'].'&linkstatus=0', html_image('docman/release-document.png', 22, 22, array('alt'=>_('Desactivate this link'))), array('class' => 'tabtitle-ne', 'title' => _('Desactivate this link')));
+			$cells[][] = html_image('docman/validate.png', 22, 22, array('alt'=>_('link is on'), 'title'=>_('link is on')));
+			$cells[][] = util_make_link('/plugins/'.$headermenu->name.'?type=projectadmin&group_id='.$group_id.'&action=updateLinkStatus&linkid='.$link['id_headermenu'].'&linkstatus=0', html_image('docman/release-document.png', 22, 22, array('alt'=>_('Desactivate this link'))), array('title' => _('Desactivate this link')));
 		} else {
-			$cells[][] = html_image('docman/delete-directory.png', 22, 22, array('alt'=>_('link is off'), 'class'=>'tabtitle', 'title'=>_('link is off')));
-			$cells[][] = util_make_link('/plugins/'.$headermenu->name.'?type=projectadmin&group_id='.$group_id.'&action=updateLinkStatus&linkid='.$link['id_headermenu'].'&linkstatus=1', html_image('docman/reserve-document.png', 22, 22, array('alt'=>_('Activate this link'))), array('class' => 'tabtitle-ne', 'title' => _('Activate this link')));
+			$cells[][] = html_image('docman/delete-directory.png', 22, 22, array('alt'=>_('link is off'), 'title'=>_('link is off')));
+			$cells[][] = util_make_link('/plugins/'.$headermenu->name.'?type=projectadmin&group_id='.$group_id.'&action=updateLinkStatus&linkid='.$link['id_headermenu'].'&linkstatus=1', html_image('docman/reserve-document.png', 22, 22, array('alt'=>_('Activate this link'))), array('title' => _('Activate this link')));
 		}
-		$cells[][] = util_make_link('/plugins/'.$headermenu->name.'?type=projectadmin&group_id='.$group_id.'&view=updateLinkValue&linkid='.$link['id_headermenu'], html_image('docman/edit-file.png',22,22, array('alt'=>_('Edit this link'))), array('class' => 'tabtitle-ne', 'title' => _('Edit this link')));
-		$cells[][] = util_make_link('/plugins/'.$headermenu->name.'?type=projectadmin&group_id='.$group_id.'&action=deleteLink&linkid='.$link['id_headermenu'], html_image('docman/trash-empty.png',22,22, array('alt'=>_('Delete this link'))), array('class' => 'tabtitle-ne', 'title' => _('Delete this link')));
+		$cells[][] = util_make_link('/plugins/'.$headermenu->name.'?type=projectadmin&group_id='.$group_id.'&view=updateLinkValue&linkid='.$link['id_headermenu'], html_image('docman/edit-file.png',22,22, array('alt'=>_('Edit this link'))), array('title' => _('Edit this link')));
+		$cells[][] = util_make_link('/plugins/'.$headermenu->name.'?type=projectadmin&group_id='.$group_id.'&action=deleteLink&linkid='.$link['id_headermenu'], html_image('docman/trash-empty.png',22,22, array('alt'=>_('Delete this link'))), array('title' => _('Delete this link')));
 		echo $HTML->multiTableRow(array('id' => $link['id_headermenu']), $cells);
 	}
 	echo $HTML->listTableBottom();
diff --git a/src/plugins/mantisbt/common/MantisBTPlugin.class.php b/src/plugins/mantisbt/common/MantisBTPlugin.class.php
index ac5d0b8..b51e433 100644
--- a/src/plugins/mantisbt/common/MantisBTPlugin.class.php
+++ b/src/plugins/mantisbt/common/MantisBTPlugin.class.php
@@ -27,8 +27,8 @@ class MantisBTPlugin extends Plugin {
 
 	function __construct() {
 		$this->Plugin();
-		$this->name = "mantisbt";
-		$this->text = "MantisBT"; // To show in the tabs, use...
+		$this->name = 'mantisbt';
+		$this->text = 'MantisBT'; // To show in the tabs, use...
 		$this->_addHook('user_personal_links'); //to make a link to the user's personal part of the plugin
 		$this->_addHook('usermenu');
 		$this->_addHook('groupmenu'); // To put into the project tabs
@@ -51,7 +51,7 @@ class MantisBTPlugin extends Plugin {
 			case "usermenu": {
 				if ($G_SESSION->usesPlugin($this->name)) {
 					$param = '?type=user&user_id=' . $G_SESSION->getId() . '&pluginname=' . $this->name; // we indicate the part we're calling is the user one
-					echo $HTML->PrintSubMenu(array($this->text), array('/plugins/mantisbt/index.php' . $param), array(array('class'=> 'tabtitle', 'title' => _('Personal MantisBT page'))));
+					echo $HTML->PrintSubMenu(array($this->text), array('/plugins/mantisbt/index.php' . $param), array(array('title' => _('Personal MantisBT page'))));
 				}
 				$returned = true;
 				break;
@@ -88,7 +88,7 @@ class MantisBTPlugin extends Plugin {
 				if ($user->usesPlugin($this->name)) {
 					echo '<p>';
 					$arr_t = array();
-					$arr_t[] = array('title' => _('Manage your mantisbt account and follow your tickets'), 'class' => 'tabtitle');
+					$arr_t[] = array('title' => _('Manage your mantisbt account and follow your tickets'));
 					echo util_make_link('/plugins/'.$this->name.'/?user_id='.$userid.'&type=user&pluginname='.$this->name, _('View Personal MantisBT'), $arr_t);
 					echo '</p>';
 				}
@@ -101,7 +101,7 @@ class MantisBTPlugin extends Plugin {
 				$group = group_get_object($group_id);
 				if ($group->usesPlugin($this->name)) {
 					echo '<p>';
-					echo util_make_link("/plugins/mantisbt/?group_id=$group_id&type=admin&pluginname=".$this->name, _('View Admin MantisBT'), array('class' => 'tabtitle', 'title' => _('MantisBT administration page')));
+					echo util_make_link("/plugins/mantisbt/?group_id=$group_id&type=admin&pluginname=".$this->name, _('View Admin MantisBT'), array('title' => _('MantisBT administration page')));
 					echo '</p>';
 				}
 				$returned = true;
@@ -395,16 +395,16 @@ class MantisBTPlugin extends Plugin {
 		$labelPage[] = "/plugins/".$this->name."/?type=group&group_id=".$group_id."&pluginname=".$this->name."&view=roadmap";
 		$labelPage[] = "/plugins/".$this->name."/?type=group&group_id=".$group_id."&pluginname=".$this->name;
 		$labelAttr = array();
-		$labelAttr[] = array('title' => _('View the roadmap, per version tickets'), 'id' => 'roadmapView', 'class' => 'tabtitle-nw');
-		$labelAttr[] = array('title' => _('View all tickets.'), 'id' => 'ticketView', 'class' => 'tabtitle');
+		$labelAttr[] = array('title' => _('View the roadmap, per version tickets'), 'id' => 'roadmapView');
+		$labelAttr[] = array('title' => _('View all tickets.'), 'id' => 'ticketView');
 		$userperm = $group->getPermission();
 		if ($userperm->isAdmin()) {
 			$labelTitle[] = _('Administration');
 			$labelPage[] = "/plugins/".$this->name."/?type=admin&group_id=".$group_id."&pluginname=".$this->name;
 			$labelTitle[] = _('Statistics');
 			$labelPage[] = "/plugins/".$this->name."/?type=admin&group_id=".$group_id."&pluginname=".$this->name."&view=stat";
-			$labelAttr[] = array('title' => _('Manage versions, categories and general configuration.'), 'id' => 'adminView', 'class' => 'tabtitle');
-			$labelAttr[] = array('title' => _('View global statistics.'), 'id' => 'statView', 'class' => 'tabtitle');
+			$labelAttr[] = array('title' => _('Manage versions, categories and general configuration.'), 'id' => 'adminView');
+			$labelAttr[] = array('title' => _('View global statistics.'), 'id' => 'statView');
 		}
 
 		echo $HTML->subMenu($labelTitle, $labelPage, $labelAttr);
@@ -689,7 +689,7 @@ class MantisBTPlugin extends Plugin {
 	}
 
 	function getAdminOptionLink() {
-		return util_make_link('/plugins/'.$this->name.'/?type=globaladmin', _('Global MantisBT admin'), array('class' => 'tabtitle', 'title' => _('Direct link to global configuration of this plugin')));
+		return util_make_link('/plugins/'.$this->name.'/?type=globaladmin', _('Global MantisBT admin'), array('title' => _('Direct link to global configuration of this plugin')));
 	}
 
 
diff --git a/src/plugins/mantisbt/view/admin/viewConfiguration.php b/src/plugins/mantisbt/view/admin/viewConfiguration.php
index ccf9ac6..10ce6f2 100644
--- a/src/plugins/mantisbt/view/admin/viewConfiguration.php
+++ b/src/plugins/mantisbt/view/admin/viewConfiguration.php
@@ -34,13 +34,6 @@ var controller;
 
 jQuery(document).ready(function() {
 	controllerMantisBTAdminViewControler = new MantisBTAdminViewController({
-		tipsyElements:		[
-						{selector: '#mantisbtinit-global', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-						{selector: '#mantisbtinit-url', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-						{selector: '#mantisbtinit-user', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-						{selector: '#mantisbtinit-password', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-						{selector: '#mantisbtinit-syncroles', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-					],
 		checkboxGlobalConf:	jQuery('#mantisbtglobalconf'),
 		inputUrl:		jQuery('#mantisbturl'),
 		inputUser:		jQuery('#mantisbtuser'),
diff --git a/src/plugins/mantisbt/view/admin/viewGlobalConfiguration.php b/src/plugins/mantisbt/view/admin/viewGlobalConfiguration.php
index 4d16ce7..cd23c3c 100644
--- a/src/plugins/mantisbt/view/admin/viewGlobalConfiguration.php
+++ b/src/plugins/mantisbt/view/admin/viewGlobalConfiguration.php
@@ -31,13 +31,13 @@ echo $HTML->boxTop(_('Manage configuration'));
 echo '<form method="POST" Action="?type=globaladmin&pluginname='.$mantisbt->name.'&action=updateGlobalConf">';
 echo '<table>';
 echo '<tr><td><label id="mantisbtinit-url" >URL</label></td>';
-echo '<td><input type="url" class="tabtitle-w" title="'._('Specify the Full URL of the MantisBT Web Server.').'" size="50" maxlength="255" name="url" value="'.$mantisbtGlobalConf['url'].'" /></td></tr>';
+echo '<td><input type="url" title="'._('Specify the Full URL of the MantisBT Web Server.').'" size="50" maxlength="255" name="url" value="'.$mantisbtGlobalConf['url'].'" /></td></tr>';
 echo '<tr><td><label id="mantisbtinit-user" >SOAP User</label></td>';
-echo '<td><input type="text" class="tabtitle-w" title="'._('Specify the user with admin right to be used thru SOAP API.').'" size="50" maxlength="255" name="soap_user" value="'.$mantisbtGlobalConf['soap_user'].'" /></td></tr>';
+echo '<td><input type="text" title="'._('Specify the user with admin right to be used thru SOAP API.').'" size="50" maxlength="255" name="soap_user" value="'.$mantisbtGlobalConf['soap_user'].'" /></td></tr>';
 echo '<tr><td><label id="mantisbtinit-password" >SOAP Password</label></td>';
-echo '<td><input type="password" class="tabtitle-w" title="'._('Specify the password of this user.').'" size="50" maxlength="255" name="soap_password" value="'.$mantisbtGlobalConf['soap_password'].'" /></td></tr>';
+echo '<td><input type="password" title="'._('Specify the password of this user.').'" size="50" maxlength="255" name="soap_password" value="'.$mantisbtGlobalConf['soap_password'].'" /></td></tr>';
 echo '<tr><td><label id="mantisbtinit-syncroles" >Sync Roles</label></td>';
-echo '<td><input disabled="disabled" type="checkbox" class="tabtitle-w" title="'._('Do you want to sync FusionForge -> MantisBT roles ? Not implemented yet.').'" name="sync_roles" /></td></tr>';
+echo '<td><input disabled="disabled" type="checkbox" title="'._('Do you want to sync FusionForge -> MantisBT roles ? Not implemented yet.').'" name="sync_roles" /></td></tr>';
 echo '</table>';
 echo '<input type="submit" value="'._('Update').'" />';
 echo '</form>';
diff --git a/src/plugins/mantisbt/view/init.php b/src/plugins/mantisbt/view/init.php
index 1b04c0e..77af439 100644
--- a/src/plugins/mantisbt/view/init.php
+++ b/src/plugins/mantisbt/view/init.php
@@ -36,15 +36,6 @@ var controller;
 
 jQuery(document).ready(function() {
 	controllerMantisBTInit = new MantisBTInitController({
-		tipsyElements:		[
-						{selector: 'mantisbtinit-global', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-						{selector: '#mantisbtinit-url', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-						{selector: '#mantisbtinit-user', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-						{selector: '#mantisbtinit-password', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-						{selector: '#mantisbtinit-create', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-						{selector: '#mantisbtinit-name', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-						{selector: '#mantisbtinit-syncroles', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-					],
 		checkboxGlobalConf:	jQuery('#mantisbtglobalconf'),
 		checkboxCreate:		jQuery('#mantisbtcreate'),
 		inputName:		jQuery('#mantisbtname'),
diff --git a/src/plugins/mantisbt/view/inituser.php b/src/plugins/mantisbt/view/inituser.php
index 3525301..94d54c4 100644
--- a/src/plugins/mantisbt/view/inituser.php
+++ b/src/plugins/mantisbt/view/inituser.php
@@ -27,25 +27,6 @@
 global $use_tooltips;
 global $type;
 
-?>
-
-<script type="text/javascript">
-var controller;
-
-jQuery(document).ready(function() {
-	controllerMantisBTInitUser = new MantisBTInitUserController({
-		tipsyElements:		[
-						{selector: '#mantisbtinit-user', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-						{selector: '#mantisbtinit-password', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-						{selector: '#mantisbtinit-create', options:{gravity: 'w', delayIn: 500, delayOut: 0, fade: true}},
-					],
-	});
-});
-
-</script>
-
-<?php
-
 echo '<form method="POST" Action="?type='.$type.'&pluginname='.$mantisbt->name.'&action=inituser" >';
 echo '<table>';
 echo '<tr><td><label id="mantisbtuseglobal-user" ';
diff --git a/src/plugins/mantisbt/www/scripts/MantisBTController.js b/src/plugins/mantisbt/www/scripts/MantisBTController.js
index 636d07a..8190821 100755
--- a/src/plugins/mantisbt/www/scripts/MantisBTController.js
+++ b/src/plugins/mantisbt/www/scripts/MantisBTController.js
@@ -23,7 +23,6 @@
 
 /*! MantisBTInitController
  * @param groupId the current FusionForge groupID
- * @param tipsyElements [{selector: "name", options:{delayIn: 1000, delayOut: 1000, fade: true, gravity: 's'}}]
  */
 MantisBTInitController = function(params)
 {
@@ -107,4 +106,4 @@ MantisBTAdminViewController.prototype =
 			this.params.inputPassword.attr('disabled',true);
 		}
 	},
-}
\ No newline at end of file
+}
diff --git a/src/plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php b/src/plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php
index c415902..326b98a 100644
--- a/src/plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php
+++ b/src/plugins/projects-hierarchy/common/projects-hierarchyPlugin.class.php
@@ -89,7 +89,7 @@ class projects_hierarchyPlugin extends Plugin {
 				$group = group_get_object($group_id);
 				if ($group->usesPlugin($this->name)) {
 					echo '<p>';
-					echo util_make_link('/plugins/'.$this->name.'/?group_id='.$group_id.'&type=admin&pluginname='.$this->name, _('Hierarchy Admin'), array('class'=>'tabtitle', 'title'=>_('Configure the projets-hierarchy plugin (docman, tree, delegate, globalconf features)')));
+					echo util_make_link('/plugins/'.$this->name.'/?group_id='.$group_id.'&type=admin&pluginname='.$this->name, _('Hierarchy Admin'), array('title'=>_('Configure the projets-hierarchy plugin (docman, tree, delegate, globalconf features)')));
 					echo '</p>';
 				}
 				$returned = true;
@@ -115,8 +115,8 @@ class projects_hierarchyPlugin extends Plugin {
 					if (isset($hierarchy_used)) {
 						$hierarMenuTitle[] = _('Per Category');
 						$hierarMenuTitle[] = _('Per Hierarchy');
-						$hierarMenuAttr[] = array('title' => _('Browse per category the available projects. Some projects might not appear here they do not choose any categories'), 'class' => 'tabtitle-nw');
-						$hierarMenuAttr[] = array('title' => _('Browse per hierarchy. Projects can share relationship between projects, as father and sons'), 'class' => 'tabtitle');
+						$hierarMenuAttr[] = array('title' => _('Browse per category the available projects. Some projects might not appear here they do not choose any categories'));
+						$hierarMenuAttr[] = array('title' => _('Browse per hierarchy. Projects can share relationship between projects, as father and sons'));
 						$hierarMenuUrl[] = '/softwaremap/trove_list.php?cat=c';
 						$hierarMenuUrl[] = '/softwaremap/trove_list.php?cat=h';
 						echo ($HTML->subMenu($hierarMenuTitle, $hierarMenuUrl, $hierarMenuAttr));
@@ -593,7 +593,7 @@ class projects_hierarchyPlugin extends Plugin {
 	 * @access	public
 	 */
 	function getAdminOptionLink() {
-		return util_make_link('/plugins/'.$this->name.'/?type=globaladmin',_('Global Hierarchy admin'), array('class'=>'tabtitle', 'title'=>_('Configure the projets-hierarchy plugin (docman, tree, delegate, globalconf features)')));
+		return util_make_link('/plugins/'.$this->name.'/?type=globaladmin',_('Global Hierarchy admin'), array('title'=>_('Configure the projets-hierarchy plugin (docman, tree, delegate, globalconf features)')));
 	}
 
 	/**
diff --git a/src/plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php b/src/plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php
index 22edbd6..ccc9962 100644
--- a/src/plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php
+++ b/src/plugins/projects-hierarchy/view/admin/viewProjectConfiguration.php
@@ -37,7 +37,7 @@ if (!$projectsHierarchyProjectConf) {
 
 	echo '<tr><td><label id="projectsHierarchy-tree" ';
 	if ($use_tooltips)
-		echo 'class="tabtitle-nw" title="'._('Enable visibily in hierarchy tree.').'"';
+		echo 'title="'._('Enable visibily in hierarchy tree.').'"';
 	echo ' >'._('Enable Tree').'</label></td><td><input type="checkbox" name="tree" value="1"';
 	if ($projectsHierarchyProjectConf['tree'])
 		echo 'checked="checked" ';
@@ -46,7 +46,7 @@ if (!$projectsHierarchyProjectConf) {
 
 	echo '<tr><td><label id="projectsHierarchy-docman" ';
 	if ($use_tooltips)
-		echo 'class="tabtitle-nw" title="'._('Enable hierarchy in docman browsing. Direct access to docman features in parent docman tab.').'"';
+		echo 'title="'._('Enable hierarchy in docman browsing. Direct access to docman features in parent docman tab.').'"';
 	echo ' >'._('Enable Docman.').'</label></td><td><input type="checkbox" name="docman" value="1"';
 	if ($projectsHierarchyProjectConf['docman'])
 		echo 'checked="checked" ';
@@ -55,7 +55,7 @@ if (!$projectsHierarchyProjectConf) {
 
 	echo '<tr><td><label id="projectsHierarchy-delegate" ';
 	if ($use_tooltips)
-		echo 'class="tabtitle-nw" title="'._('Enable full rights and configuration delegation to parent.').'"';
+		echo 'title="'._('Enable full rights and configuration delegation to parent.').'"';
 	echo ' >'._('Enable delegate').'</label></td><td><input type="checkbox" name="delegate" value="1"';
 	if ($projectsHierarchyProjectConf['delegate'])
 		echo 'checked="checked" ';
@@ -63,7 +63,7 @@ if (!$projectsHierarchyProjectConf) {
 	echo '/></td></tr>';
 	echo '<tr><td><label id="projectsHierarchy-globalconf" ';
 	if ($use_tooltips)
-		echo 'class="tabtitle-nw" title="'._('Use forge global configuration. Superseed any configuration done at project level.').'"';
+		echo 'title="'._('Use forge global configuration. Superseed any configuration done at project level.').'"';
 	echo ' >'._('Use forge global configuration').'</label></td><td><input type="checkbox" name="globalconf" value="1"';
 	if ($projectsHierarchyProjectConf['globalconf'])
 		echo 'checked="checked" ';
diff --git a/src/plugins/projects-hierarchy/view/admin_project_link.php b/src/plugins/projects-hierarchy/view/admin_project_link.php
index c32f27e..d260254 100644
--- a/src/plugins/projects-hierarchy/view/admin_project_link.php
+++ b/src/plugins/projects-hierarchy/view/admin_project_link.php
@@ -33,7 +33,7 @@ if (sizeof($childs)) {
 	foreach ($childs as $child) {
 		$childGroup = group_get_object($child);
 		echo '<form method="post" action="/plugins/'.$projectsHierarchy->name.'/?type=group&pluginname='.$projectsHierarchy->name.'&action=removeChild&id='.$group_id.'&child_id='.$childGroup->getID().'">';
-		echo util_make_link('/projects/'.$childGroup->getUnixName(),$childGroup->getPublicName(),array('title'=>_('Browse this project'), 'class'=>'tabtitle-nw'));
+		echo util_make_link('/projects/'.$childGroup->getUnixName(),$childGroup->getPublicName(),array('title'=>_('Browse this project')));
 		echo '<input type="submit" value="'._('Remove child project').'">';
 		echo '</form>';
 	}
@@ -43,7 +43,7 @@ $parent = $projectsHierarchy->getFamily($group_id, 'parent', false, 'validated')
 if (sizeof($parent)) {
 	$parentGroup = group_get_object($parent[0]);
 	echo '<form method="post" action="/plugins/'.$projectsHierarchy->name.'/?type=group&pluginname='.$projectsHierarchy->name.'&action=removeParent&id='.$group_id.'&parent_id='.$parentGroup->getID().'">';
-	echo util_make_link('/projects/'.$parentGroup->getUnixName(),$parentGroup->getPublicName(),array('title'=>_('Browse this project'), 'class'=>'tabtitle-nw'));
+	echo util_make_link('/projects/'.$parentGroup->getUnixName(),$parentGroup->getPublicName(),array('title'=>_('Browse this project')));
 	echo '<input type="submit" value="'._('Remove parent project').'">';
 	echo '</form>';
 }
@@ -65,7 +65,7 @@ if (sizeof($pendingParent)) {
 	$pendingParentGroup = group_get_object($pendingParent[0]);
 	echo '<form method="post" action="/plugins/'.$projectsHierarchy->name.'/?type=group&pluginname='.$projectsHierarchy->name.'&action=validateRelationship&id='.$group_id.'&relation=parent">';
 	echo '<input type="hidden" name="validation_id" value="'.$pendingParent[0].'" />';
-	echo _('Validate parent').' '.util_make_link('/projects/'.$pendingParentGroup->getUnixName(), $pendingParentGroup->getPublicName(), array('title'=>_('Browse this project'), 'class'=>'tabtitle'));
+	echo _('Validate parent').' '.util_make_link('/projects/'.$pendingParentGroup->getUnixName(), $pendingParentGroup->getPublicName(), array('title'=>_('Browse this project')));
 	echo html_build_select_box_from_arrays(array(1,0), array(_('Yes'), _('No')), 'validation_status', 'xzxz', false);
 	echo '<input type="submit" value="'. _('Send') .'" />';
 	echo '</form>';
@@ -77,7 +77,7 @@ if (sizeof($pendingChilds)) {
 		$pendingChildGroup = group_get_object($pendingChild);
 		echo '<form method="post" action="/plugins/'.$projectsHierarchy->name.'/?type=group&pluginname='.$projectsHierarchy->name.'&action=validateRelationship&id='.$group_id.'&relation=child">';
 		echo '<input type="hidden" name="validation_id" value="'.$pendingChild.'" />';
-		echo _('Validate child').' '.util_make_link('/projects/'.$pendingChildGroup->getUnixName(), $pendingChildGroup->getPublicName(), array('title'=>_('Browse this project'), 'class'=>'tabtitle'));
+		echo _('Validate child').' '.util_make_link('/projects/'.$pendingChildGroup->getUnixName(), $pendingChildGroup->getPublicName(), array('title'=>_('Browse this project')));
 		echo html_build_select_box_from_arrays(array(1,0), array(_('Yes'), _('No')), 'validation_status', 'xzxz', false);
 		echo '<input type="submit" value="'. _('Send') .'" />';
 		echo '</form>';
diff --git a/src/plugins/projects-hierarchy/view/home_project_link.php b/src/plugins/projects-hierarchy/view/home_project_link.php
index f0afad4..31e57a3 100644
--- a/src/plugins/projects-hierarchy/view/home_project_link.php
+++ b/src/plugins/projects-hierarchy/view/home_project_link.php
@@ -51,7 +51,7 @@ if (sizeof($parent) || sizeof($childs)) {
 	if (sizeof($parent)) {
 		echo html_ao('ul');
 		$parentGroup = group_get_object($parent[0]);
-		echo html_e('li', array(), _('Parent Project')._(': ').util_make_link('/projects/'.$parentGroup->getUnixName(), $parentGroup->getPublicName(), array('class' => 'tabtitle', 'title' => _('Direct link to project'))));
+		echo html_e('li', array(), _('Parent Project')._(': ').util_make_link('/projects/'.$parentGroup->getUnixName(), $parentGroup->getPublicName(), array('title' => _('Direct link to project'))));
 		echo html_ac(html_ap() -1);
 	}
 	if (sizeof($childs)) {
@@ -61,7 +61,7 @@ if (sizeof($parent) || sizeof($childs)) {
 		echo html_ao('ul');
 		foreach ($childs as $child) {
 			$childGroup = group_get_object($child);
-			echo html_e('li', array(), _('Child project')._(': ').util_make_link('/projects/'.$childGroup->getUnixName(), $childGroup->getPublicName(), array('class' => 'tabtitle', 'title' => _('Direct link to project'))));
+			echo html_e('li', array(), _('Child project')._(': ').util_make_link('/projects/'.$childGroup->getUnixName(), $childGroup->getPublicName(), array('title' => _('Direct link to project'))));
 		}
 		echo html_ac(html_ap() -1);
 	}
diff --git a/src/plugins/quota_management/common/quota_managementPlugin.class.php b/src/plugins/quota_management/common/quota_managementPlugin.class.php
index 1d700c6..7b9b803 100644
--- a/src/plugins/quota_management/common/quota_managementPlugin.class.php
+++ b/src/plugins/quota_management/common/quota_managementPlugin.class.php
@@ -63,7 +63,7 @@ class quota_managementPlugin extends Plugin {
 				$params['labels'][] = _ ('Quota');
 				$group_id = $params['group'];
 				$params['links'][] = '/plugins/quota_management/index.php?id='.$group_id.'&type=admin&pluginname='.$this->name;
-				$params['attr_r'][] = array('class' => 'tabtitle', 'title' => _('View the quota_management Administration'));
+				$params['attr_r'][] = array('title' => _('View the quota_management Administration'));
 				$returned = true;
 				break;
 			}
diff --git a/src/plugins/scmhook/common/scmhookPlugin.class.php b/src/plugins/scmhook/common/scmhookPlugin.class.php
index 4fadc05..dde0f6b 100644
--- a/src/plugins/scmhook/common/scmhookPlugin.class.php
+++ b/src/plugins/scmhook/common/scmhookPlugin.class.php
@@ -312,7 +312,7 @@ class scmhookPlugin extends Plugin {
 				}
 				echo '</td><td';
 				if (!$hookPreCommit->isAvailable())
-					echo ' class="tabtitle-w" title="'.$hookPreCommit->getDisabledMessage().'"';
+					echo ' title="'.$hookPreCommit->getDisabledMessage().'"';
 
 				echo ' >';
 				echo $hookPreCommit->getName();
@@ -355,7 +355,7 @@ class scmhookPlugin extends Plugin {
 				}
 				echo '</td><td';
 				if (!$hook->isAvailable())
-					echo ' class="tabtitle-w" title="'.$hook->getDisabledMessage().'"';
+					echo ' title="'.$hook->getDisabledMessage().'"';
 
 				echo ' >';
 				echo $hook->getName();
@@ -399,7 +399,7 @@ class scmhookPlugin extends Plugin {
 				}
 				echo '</td><td';
 				if (!$hookPostCommit->isAvailable())
-					echo ' class="tabtitle-w" title="'.$hookPostCommit->getDisabledMessage().'"';
+					echo ' title="'.$hookPostCommit->getDisabledMessage().'"';
 
 				echo ' >';
 				echo $hookPostCommit->getName();
@@ -461,7 +461,7 @@ class scmhookPlugin extends Plugin {
 
 				echo '</td><td';
 				if (!$hookServePushPullBundle->isAvailable())
-					echo ' class="tabtitle-w" title="'.$hookServePushPullBundle->getDisabledMessage().'"';
+					echo ' title="'.$hookServePushPullBundle->getDisabledMessage().'"';
 
 				echo ' >';
 				echo $hookServePushPullBundle->getName();
@@ -522,7 +522,7 @@ class scmhookPlugin extends Plugin {
 
 				echo '</td><td';
 				if (!$hookPostReceive->isAvailable())
-					echo ' class="tabtitle-w" title="'.$hookPostReceive->getDisabledMessage().'"';
+					echo ' title="'.$hookPostReceive->getDisabledMessage().'"';
 
 				echo ' >';
 				echo $hookPostReceive->getName();
diff --git a/src/plugins/webanalytics/common/webanalyticsPlugin.class.php b/src/plugins/webanalytics/common/webanalyticsPlugin.class.php
index d835f7c..d7dfe63 100644
--- a/src/plugins/webanalytics/common/webanalyticsPlugin.class.php
+++ b/src/plugins/webanalytics/common/webanalyticsPlugin.class.php
@@ -53,7 +53,7 @@ class webanalyticsPlugin extends Plugin {
 	}
 
 	function getAdminOptionLink() {
-		return util_make_link('/plugins/'.$this->name.'/?type=globaladmin', _('Global WebAnalytics admin'), array('class' => 'tabtitle', 'title' => _('Direct link to global configuration of this plugin')));
+		return util_make_link('/plugins/'.$this->name.'/?type=globaladmin', _('Global WebAnalytics admin'), array('title' => _('Direct link to global configuration of this plugin')));
 	}
 
 	function getWebAnalyticsCodes() {
diff --git a/src/plugins/webanalytics/view/admin/viewGlobalConfiguration.php b/src/plugins/webanalytics/view/admin/viewGlobalConfiguration.php
index 0875239..1f9125c 100644
--- a/src/plugins/webanalytics/view/admin/viewGlobalConfiguration.php
+++ b/src/plugins/webanalytics/view/admin/viewGlobalConfiguration.php
@@ -37,14 +37,14 @@ if (sizeof($linksArray)) {
 		echo '<td>'.htmlentities($link['name']).'</td>';
 		echo '<td><code>'.$link['url'].'</code></td>';
 		if ($link['is_enable']) {
-			echo '<td>'.html_image('docman/validate.png', 22, 22, array('alt'=>_('link is on'), 'class'=>'tabtitle', 'title'=>_('link is on'))).'</td>';
-			echo '<td><a class="tabtitle-ne" title="'._('Desactivate this link').'" href="index.php?type=globaladmin&action=updateLinkStatus&linkid='.$link['id_webanalytics'].'&linkstatus=0">'.html_image('docman/release-document.png', 22, 22, array('alt'=>_('Desactivate this link'))). '</a>';
+			echo '<td>'.html_image('docman/validate.png', 22, 22, array('alt'=>_('link is on'), 'title'=>_('link is on'))).'</td>';
+			echo '<td><a title="'._('Desactivate this link').'" href="index.php?type=globaladmin&action=updateLinkStatus&linkid='.$link['id_webanalytics'].'&linkstatus=0">'.html_image('docman/release-document.png', 22, 22, array('alt'=>_('Desactivate this link'))). '</a>';
 		} else {
-			echo '<td>'.html_image('docman/delete-directory.png', 22, 22, array('alt'=>_('link is off'), 'class'=>'tabtitle', 'title'=>_('link is off'))).'</td>';
-			echo '<td><a class="tabtitle-ne" title="'._('Activate this link').'" href="index.php?type=globaladmin&action=updateLinkStatus&linkid='.$link['id_webanalytics'].'&linkstatus=1">'.html_image('docman/reserve-document.png', 22, 22, array('alt'=>_('Activate this link'))). '</a>';
+			echo '<td>'.html_image('docman/delete-directory.png', 22, 22, array('alt'=>_('link is off'), 'title'=>_('link is off'))).'</td>';
+			echo '<td><a title="'._('Activate this link').'" href="index.php?type=globaladmin&action=updateLinkStatus&linkid='.$link['id_webanalytics'].'&linkstatus=1">'.html_image('docman/reserve-document.png', 22, 22, array('alt'=>_('Activate this link'))). '</a>';
 		}
-		echo '<a class="tabtitle-ne" title="'._('Edit this link').'" href="index.php?type=globaladmin&view=updateLinkValue&linkid='.$link['id_webanalytics'].'">'.html_image('docman/edit-file.png',22,22, array('alt'=>_('Edit this link'))). '</a>';
-		echo '<a class="tabtitle-ne" title="'._('Delete this link').'" href="index.php?type=globaladmin&action=deleteLink&linkid='.$link['id_webanalytics'].'">'.html_image('docman/trash-empty.png',22,22, array('alt'=>_('Delete this link'))). '</a>';
+		echo '<a title="'._('Edit this link').'" href="index.php?type=globaladmin&view=updateLinkValue&linkid='.$link['id_webanalytics'].'">'.html_image('docman/edit-file.png',22,22, array('alt'=>_('Edit this link'))). '</a>';
+		echo '<a title="'._('Delete this link').'" href="index.php?type=globaladmin&action=deleteLink&linkid='.$link['id_webanalytics'].'">'.html_image('docman/trash-empty.png',22,22, array('alt'=>_('Delete this link'))). '</a>';
 		echo '</td>';
 		echo '</tr>';
 	}
@@ -56,14 +56,17 @@ if (sizeof($linksArray)) {
 echo $HTML->openForm(array('method' => 'POST', 'name' => 'addLink', 'action' => util_make_uri('/plugins/'.$webanalytics->name.'?type=globaladmin&action=addLink')));
 echo $HTML->boxTop(_('Add a new webanalytics reference'));
 echo $HTML->listTableTop();
-echo '<tr>';
-echo '<td>'._('Informative Name').'</td><td><input name="name" type="text" maxsize="255" required="required" /></td>';
-echo '</tr><tr>';
-echo '<td>'._('Standard JavaScript Tracking code').'</td><td><textarea name="link" rows="15" cols="70" required="required" >'._('Just paste your code here...').'</textarea></td>';
-echo '</tr><tr>';
-echo '<td>';
-echo '<input type="submit" value="'. _('Add') .'" />';
-echo '</td></tr>';
+$cells = array();
+$cells[][] = _('Informative Name');
+$cells[][] = '<input name="name" type="text" maxsize="255" required="required" />';
+echo $HTML->multiTableRow(array(), $cells);
+$cells = array();
+$cells[][] = _('Standard JavaScript Tracking code');
+$cells[][] = '<textarea name="link" rows="15" cols="70" required="required" >'._('Just paste your code here...').'</textarea>';
+echo $HTML->multiTableRow(array(), $cells);
+$cells = array();
+$cells[] = array('<input type="submit" value="'. _('Add') .'" />', 'colspan' => 2);
+echo $HTML->multiTableRow(array(), $cells);
 echo $HTML->listTableBottom();
 echo $HTML->boxBottom();
 echo $HTML->closeForm();
diff --git a/src/vendor/jquery-tipsy/LICENSE b/src/vendor/jquery-tipsy/LICENSE
deleted file mode 100644
index ba17fe1..0000000
--- a/src/vendor/jquery-tipsy/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License
-
-Copyright (c) 2008 Jason Frame (jason at onehackoranother.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/src/vendor/jquery-tipsy/README b/src/vendor/jquery-tipsy/README
deleted file mode 100644
index b57ef7e..0000000
--- a/src/vendor/jquery-tipsy/README
+++ /dev/null
@@ -1,44 +0,0 @@
-tipsy - Facebook-style tooltip plugin for jQuery
-	(c) 2008-2010 Jason Frame (jason at onehackoranother.com)
-	Released under The MIT License.
-
-== DESCRIPTION:
-
-tipsy is a simple jQuery plugin for generating Facebook-style tooltips.
-
-It's used by Twitter, Github and Bitbucket, amongst others.
-
-== HOMEPAGE:
-
-http://onehackoranother.com/projects/jquery/tipsy
-
-== SOURCE:
-
-Hosted at GitHub; browse at:
-
-  http://github.com/jaz303/tipsy/tree/master
-
-Or clone from:
-
-  git://github.com/jaz303/tipsy.git
-
-== USAGE:
-
-1. Copy the contents of src/{images,javascripts,stylesheets} to the corresponding asset directories in your project. If the relative path of your images directory from your stylesheets directory is not "../images", you'll need to adjust tipsy.css appropriately.
-
-2. Insert the neccesary elements in your document's <head> section, e.g.:
-
-<script type='text/javascript' src='/javascripts/jquery.tipsy.js'></script>
-<link rel="stylesheet" href="/stylesheets/tipsy.css" type="text/css" />
-
-Remember to include jquery.tipsy.js *after* including the main jQuery library.
-
-3. Initialise Tipsy in your document.onload, e.g.:
-
-<script type='text/javascript'>
-	$(function() {
-		$('a[rel=tipsy]').tipsy({fade: true, gravity: 'n'});
-	});
-</script>
-
-Please refer to the docs directory for more examples and documentation.
diff --git a/src/vendor/jquery-tipsy/Rakefile b/src/vendor/jquery-tipsy/Rakefile
deleted file mode 100644
index a0aec19..0000000
--- a/src/vendor/jquery-tipsy/Rakefile
+++ /dev/null
@@ -1,30 +0,0 @@
-PROJECT_NAME='tipsy'
-PROJECT_VERSION='1.0.0a'
-MANIFEST=%w(src LICENSE README)
-
-def project_tag
-  "#{PROJECT_NAME}-#{PROJECT_VERSION}"
-end
-
-def target
-  File.join('pkg', project_tag)
-end
-
-task :clean do
-  `rm -rf pkg`
-end
-
-task :docs do
-  `cd docs && project-kit --target=archive build src build`
-end
-
-task :build => :clean do
-  `mkdir -p #{target}`
-  `cd docs && project-kit --target=archive build src build`
-  `mv docs/build #{target}/docs`
-  MANIFEST.each { |e| `cp -R #{e} #{target}/` }
-end
-
-task :package => :build do
-  `cd pkg && zip -ro ../#{project_tag}.zip #{project_tag}`
-end
diff --git a/src/vendor/jquery-tipsy/docs/src/images b/src/vendor/jquery-tipsy/docs/src/images
deleted file mode 100644
index 3fcf104..0000000
--- a/src/vendor/jquery-tipsy/docs/src/images
+++ /dev/null
@@ -1 +0,0 @@
-../../src/images
\ No newline at end of file
diff --git a/src/vendor/jquery-tipsy/docs/src/index.html.erb b/src/vendor/jquery-tipsy/docs/src/index.html.erb
deleted file mode 100644
index 3abbff4..0000000
--- a/src/vendor/jquery-tipsy/docs/src/index.html.erb
+++ /dev/null
@@ -1,318 +0,0 @@
-       
-<script type='text/javascript'>
-  $(function() {
-    
-    $('#example-1').tipsy();
-    
-    $('#auto-gravity').tipsy({gravity: $.fn.tipsy.autoNS});
-    
-    $('#example-fade').tipsy({fade: true});
-    
-    $('#example-custom-attribute').tipsy({title: 'id'});
-    $('#example-callback').tipsy({title: function() { return this.getAttribute('original-title').toUpperCase(); } });
-    $('#example-fallback').tipsy({fallback: "Where's my tooltip yo'?" });
-    
-    $('#example-html').tipsy({html: true });
-    
-  });
-</script>
-
-<h2 class='first' id='overview'>Overview</h2>
-
-<p>Tipsy is a jQuery plugin for creating a Facebook-like tooltips effect based on
-an anchor tag's title attribute.</p>
-
-<h2 id='examples'>Examples & Usage</h2>
-  
-<h3>Basic</h3>
-
-<p>By default, tooltips will appear centred underneath their anchor:</p>
-
-<p>
-	<a id='example-1' href='#' title='Hello World'>Hover over me</a>
-</p>
-
-<div class='caption'>Basic example:</div>
-<div class='code'><pre>$('#example-1').tipsy();</pre></div>
-
-<h3>Gravities</h3>
-
-<p>Using the gravity parameter, it's possible to control the positioning of the tooltip relative to the pointee:</p>
-
-<table id='gravity' cellspacing='5'>
-  <tr>
-    <td>
-      <a id='north-west' href='#' title='This is an example of north-west gravity'>Northwest</a>
-    </td>
-    <td>
-      <a id='north' href='#' title='This is an example of north gravity'>North</a>
-    </td>
-    <td>
-      <a id='north-east' href='#' title='This is an example of north-east gravity'>Northeast</a>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <a id='west' href='#' title='This is an example of west gravity'>West</a>
-    </td>
-    <td> </td>
-    <td>
-      <a id='east' href='#' title='This is an example of east gravity'>East</a>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <a id='south-west' href='#' title='This is an example of south-west gravity'>Southwest</a>
-    </td>
-    <td>
-      <a id='south' href='#' title='This is an example of south gravity'>South</a>
-    </td>
-    <td>
-      <a id='south-east' href='#' title='This is an example of south-east gravity'>Southeast</a>
-    </td>
-  </tr>
-</table>
-
-<script type='text/javascript'>
-  $(function() {
-    $('#north').tipsy({gravity: 'n'});
-    $('#south').tipsy({gravity: 's'});
-    $('#east').tipsy({gravity: 'e'});
-    $('#west').tipsy({gravity: 'w'});
-    $('#north-west').tipsy({gravity: 'nw'});
-    $('#north-east').tipsy({gravity: 'ne'});
-    $('#south-west').tipsy({gravity: 'sw'});
-    $('#south-east').tipsy({gravity: 'se'});
-  });
-</script>
-
-<div class='caption'>Gravity example:</div>
-<div class='code'><pre>$('#foo').tipsy({gravity: 'n'}); // nw | n | ne | w | e | sw | s | se</pre></div>
-
-<p>As of version 0.1.3, it's possible to use a callback function to set the gravity dynamically at hover-time. Within the callback, <code>this</code> refers to the active element, and the function should return the calculated gravity as a string. Two demo callbacks are supplied - <code>$.fn.tipsy.autoNS</code> and <code>$.fn.tipsy.autoWE</code> - which select north/south and west/east gravity, respectively, based on the element's location in the viewport.</p>
-
-<p>Here's an example (scroll the page to see the effect):</p>
-
-<a id='auto-gravity' href='#' title='This as an example of dynamic gravity'>Dynamic Gravity</a>
-
-<div class='caption'>Dynamic gravity example:</div>
-<div class='code'><pre>$('#foo').tipsy({gravity: $.fn.tipsy.autoNS});</pre></div>
-
-<h3>Fading</h3>
-
-<p>For full Wob2.0 compliance, you must fade these badboys in:</p>
-
-<p>
-	<a id='example-fade' href='#' title='Hello World'>Hover over me</a>
-</p>
-
-<div class='caption'>Fade example:</div>
-<div class='code'><pre>$('#example-fade').tipsy({fade: true});</pre></div>
-
-<h3>Bonus Feature</h3>
-
-<p>You can EVEN COMBINE FADE AND GRAVITY! (exercise for reader)</p>
-
-<h3>Slightly Advanced Usage</h3>
-
-<p>Tooltip text can be set based on any attribute, not just <code>title</code>:</p>
-
-<p>
-	<a id='example-custom-attribute' href='#' title='Hello World'>Hover over me</a>
-</p>
-
-<div class='caption'>Custom attribute example:</div>
-<div class='code'><pre>$('#example-custom-attribute').tipsy({title: 'id'});</pre></div>
-
-<p>If any attribute isn't good enough, you may pass a callback function instead. It should
-  return the tooltip text for <code>this</code> element:</p>
-
-<p>
-	<a id='example-callback' href='#' title='Hello World'>Hover over me</a>
-</p>
-
-<div class='caption'>Callback example:</div>
-<div class='code'><pre>$('#example-callback').tipsy({title: function() { return this.getAttribute('original-title').toUpperCase(); } });</pre></div>
-
-<p>Finally, it is possible to specify a fallback tooltip for any element which does not
-  have any tooltip text:</p>
-
-<p>
-	<a id='example-fallback' href='#'>Hover over me</a>
-</p>
-
-<div class='caption'>Fallback example:</div>
-<div class='code'><pre>$('#example-fallback').tipsy({fallback: "Where's my tooltip yo'?" });</pre></div>
-
-<p>If your tooltip content contains HTML, set the
-  <code>html</code> option to <code>true</code> (relies on invalid HTML, sorry):</p>
-
-<p>
-	<a id='example-html' title='this <i>contains</i> <b>formatted</b> text' href='#'>Hover over me</a>
-</p>
-
-<div class='caption'>HTML example:</div>
-<div class='code'><pre>$('#example-html').tipsy({html: true });</pre></div>
-
-  <!-- Delay -->
-  
-  <h3>Show/Hide Delay</h3>
-
-  <div class="caption">Delay example:</div>
-  <div class='code'><pre>$('#example-delay').tipsy({delayIn: 500, delayOut: 1000});</pre></div>
-
-  <p>
-  	<a id='delay-example' title='display is delayed by 0.5s, hiding by 1s' href='#'>Hover and wait</a>
-  </p>
-  
-  <script type='text/javascript'>
-    $('#delay-example').tipsy({delayIn: 500, delayOut: 1000});
-  </script>
-
-  <!-- Dynamic Updating -->
-
-  <h3>Dynamically Updating Text</h3>
-
-  <p>Tipsy tooltips are 'live' - if the source attribute's value changes, the tooltip text will be
-    updated the next time the tooltip is shown. There's one caveat - if you wish to remove the tooltip
-    by setting the <code>title</code> attribute to an empty string, set the <code>original-title</code>
-    attribute instead (this only applies if you're using the <code>title</code> attribute).
-  </p>
-  
-  <div class='caption'>Dynamic updating example:</div>
-  <div id='dynamic-example' class='example'>
-    <a href='#' rel='tipsy' title=''>Hover over me</a> |
-    New tooltip text:
-    <input type='text' value='' size='10' />
-    <input type='button' onclick="$('#dynamic-example a')[0].setAttribute('original-title', $('#dynamic-example input').val())" value='Update' />
-  </div>
-
-  <script type='text/javascript'>
-    $('#dynamic-example a').tipsy();
-  </script>
-  
-  <!-- Focus/Blur Triggering -->
-  
-  <h3>Using Tooltips on Form Inputs</h3>
-  
-  <p>Tooltips can be bound to form inputs' focus/blur events using the option
-    <code>{trigger: 'focus'}</code>:</p>
-  
-  <div class='caption'>Form input tooltips example:</div>
-  <div id='focus-example' class='example'>
-    <select name='title' title='Select title'>
-      <option>Mr</option>
-      <option>Mrs</option>
-      <option>Miss</option>
-    </select><br />
-    <input type='text' name='forename' title='Enter forename' /><br />
-    <input type='text' name='surname' title='Enter surname' /><br />
-    <textarea name='message' title='Enter your message' style='margin:0'></textarea>
-  </div>
-  
-  <script type='text/javascript'>
-    $(function() {
-      $('#focus-example [title]').tipsy({trigger: 'focus', gravity: 'w'});
-    });
-  </script>
-  
-  <div class='caption'>Form input tooltips code:</div>
-  <div class='code'><pre><script type=&#x27;text/javascript&#x27;>
-  $(function() {
-    $(&#x27;#focus-example [title]&#x27;).tipsy({trigger: &#x27;focus&#x27;, gravity: &#x27;w&#x27;});
-  });
-</script></pre></div>
-
-  <!-- Manual Triggering -->
-
-  <h3>Manually Triggering a Tooltip</h3>
-  
-  <p>It's possible to disable hover events and instead trigger tooltips manually:</p>
-  
-  <div class='caption'>Manual triggering example:</div>
-  <div id='manual-example' class='example'>
-    <a rel='tipsy' title='Well hello there'>My tooltip is manually triggered</a> |
-    <a href='#' onclick='$("#manual-example a[rel=tipsy]").tipsy("show"); return false;'>Show it</a> |
-    <a href='#' onclick='$("#manual-example a[rel=tipsy]").tipsy("hide"); return false;'>Hide it</a>
-  </div>
-
-  <script type='text/javascript'>
-    $('#manual-example a[rel=tipsy]').tipsy({trigger: 'manual'});
-  </script>
-
-  <div class='caption'>Code for manual triggering:</div>
-  <div class='code'><pre><p id=&#x27;manual-example&#x27;>
-  <a rel=&#x27;tipsy&#x27; title=&#x27;Well hello there&#x27;>My tooltip is manually triggered</a>
-  <a href=&#x27;#&#x27; onclick=&#x27;$("#manual-example a[rel=tipsy]").tipsy("show"); return false;&#x27;>Show</a>
-  <a href=&#x27;#&#x27; onclick=&#x27;$("#manual-example a[rel=tipsy]").tipsy("hide"); return false;&#x27;>Hide</a>
-</p>
-
-<script type=&#x27;text/javascript&#x27;>
-  $(&#x27;#manual-example a[rel=tipsy]&#x27;).tipsy({trigger: &#x27;manual&#x27;});
-</script></pre></div>
-  
-  <!-- Live Events Support -->
-  
-  <h3>Support for Live Events</h3>
-  
-  <p>
-    Live events are supported using the option <code>{live: true}</code>.
-    jQuery ≥ 1.4.1 is required and live tooltips do not support manual triggering.
-  </p>
-  
-  <div class='caption'>Live events example:</div>
-  <div id='live-example' class='example'>
-    <div id='live-template' style='display:none'><a href='#' class='live-tipsy' title='A tooltip'>Dynamic tooltip</a></div>
-    <input type='button' value='Add' onclick='$("#live-example").append($("#live-template").clone().attr("id", "").show());' /><br />
-  </div>
-  
-  <script type='text/javascript'>
-    $('a.live-tipsy').tipsy({live: true});
-  </script>
-  
-  <div class='caption'>Code for live events:</div>
-  <div class='code'><pre><script type=&#x27;text/javascript&#x27;>
-  $(&#x27;a.live-tipsy&#x27;).tipsy({live: true});
-</script></pre></div>
-  
-  <!-- Options -->
-
-  <h2 id="options">Summary of Configuration Options</h2>
-  <p>Here is the default options declaration:
-  <div class='code'><pre>$.fn.tipsy.defaults = {
-    delayIn: 0,      // delay before showing tooltip (ms)
-    delayOut: 0,     // delay before hiding tooltip (ms)
-    fade: false,     // fade tooltips in/out?
-    fallback: '',    // fallback text to use when no tooltip text
-    gravity: 'n',    // gravity
-    html: false,     // is tooltip content HTML?
-    live: false,     // use live event support?
-    offset: 0,       // pixel offset of tooltip from element
-    opacity: 0.8,    // opacity of tooltip
-    title: 'title',  // attribute/callback containing tooltip text
-    trigger: 'hover' // how tooltip is triggered - hover | focus | manual
-};</pre></div>
-  
-  <!-- Notes -->
-
-  <h2 id='notes'>Notes</h2>
-
-  <p>Tipsy needs to erase any existing value for an element's <code>title</code> attribute in
-    order to suppress the browser's native tooltips. It is stashed in the element's
-    <code>original-title</code> attribute in case you need to retrieve it later.</p>
-  
-  <p>As of version 0.1.4, the tooltip text is recomputed on every hover event so updating the
-    <code>title</code> attribute will have the expected effect.</p>
-
-  <!-- Download -->
-
-  <h2 id='download'>Download</h2>
-
-  <h3>Package</h3>
-  <p>
-    Package downloads are available from the
-    <a href='http://plugins.jquery.com/project/tipsy'>jQuery project page</a>.
-  </p>
-
-  <h3>github</h3>
-  <div class='code shell'><pre><span class='green'>jason at donut</span> <span class='blue'>~ $</span> git clone git://github.com/jaz303/tipsy.git</pre></div>
diff --git a/src/vendor/jquery-tipsy/docs/src/javascripts b/src/vendor/jquery-tipsy/docs/src/javascripts
deleted file mode 100644
index a055eab..0000000
--- a/src/vendor/jquery-tipsy/docs/src/javascripts
+++ /dev/null
@@ -1 +0,0 @@
-../../src/javascripts
\ No newline at end of file
diff --git a/src/vendor/jquery-tipsy/docs/src/project.yml b/src/vendor/jquery-tipsy/docs/src/project.yml
deleted file mode 100644
index 2136133..0000000
--- a/src/vendor/jquery-tipsy/docs/src/project.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-project:
-    title: "tipsy"
-    subtitle: "Facebook-style tooltip plugin for jQuery"
-    jquery_version: "1.4.2"
-    main_nav:
-        - ["Overview", "#overview"]
-        - ["Examples & Usage", "#examples"]
-        - ["Summary of Configuration Options", "#options"]
-        - ["Notes", "#notes"]
-        - ["Download", "#download"]
-    stylesheets: ['stylesheets/tipsy.css', 'tipsy-docs.css']
-    javascripts: ['javascripts/jquery.tipsy.js']
diff --git a/src/vendor/jquery-tipsy/docs/src/stylesheets b/src/vendor/jquery-tipsy/docs/src/stylesheets
deleted file mode 100644
index 05be285..0000000
--- a/src/vendor/jquery-tipsy/docs/src/stylesheets
+++ /dev/null
@@ -1 +0,0 @@
-../../src/stylesheets
\ No newline at end of file
diff --git a/src/vendor/jquery-tipsy/docs/src/tipsy-docs.css b/src/vendor/jquery-tipsy/docs/src/tipsy-docs.css
deleted file mode 100644
index 4fc383c..0000000
--- a/src/vendor/jquery-tipsy/docs/src/tipsy-docs.css
+++ /dev/null
@@ -1,5 +0,0 @@
-#gravity { width: 100%; margin: 5px 0; border-spacing: 5px; }
-  #gravity td { text-align: center; vertical-align: middle; padding: 5px 0; background-color: #d0d0d0; width: 33%; }
-  #gravity a { }
-    #gravity a:hover { color: #505050; background: none; }
-
diff --git a/src/vendor/jquery-tipsy/src/images/tipsy.gif b/src/vendor/jquery-tipsy/src/images/tipsy.gif
deleted file mode 100644
index 74eebae..0000000
Binary files a/src/vendor/jquery-tipsy/src/images/tipsy.gif and /dev/null differ
diff --git a/src/vendor/jquery-tipsy/src/javascripts/jquery.tipsy.js b/src/vendor/jquery-tipsy/src/javascripts/jquery.tipsy.js
deleted file mode 100644
index 6bcae61..0000000
--- a/src/vendor/jquery-tipsy/src/javascripts/jquery.tipsy.js
+++ /dev/null
@@ -1,194 +0,0 @@
-// tipsy, facebook style tooltips for jquery
-// version 1.0.0a
-// (c) 2008-2010 jason frame [jason at onehackoranother.com]
-// releated under the MIT license
-
-(function($) {
-    
-    function fixTitle($ele) {
-        if ($ele.attr('title') || typeof($ele.attr('original-title')) != 'string') {
-            $ele.attr('original-title', $ele.attr('title') || '').removeAttr('title');
-        }
-    }
-    
-    function Tipsy(element, options) {
-        this.$element = $(element);
-        this.options = options;
-        this.enabled = true;
-        fixTitle(this.$element);
-    }
-    
-    Tipsy.prototype = {
-        show: function() {
-            var title = this.getTitle();
-            if (title && this.enabled) {
-                var $tip = this.tip();
-                
-                $tip.find('.tipsy-inner')[this.options.html ? 'html' : 'text'](title);
-                $tip[0].className = 'tipsy'; // reset classname in case of dynamic gravity
-                $tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).appendTo(document.body);
-                
-                var pos = $.extend({}, this.$element.offset(), {
-                    width: this.$element[0].offsetWidth,
-                    height: this.$element[0].offsetHeight
-                });
-                
-                var actualWidth = $tip[0].offsetWidth, actualHeight = $tip[0].offsetHeight;
-                var gravity = (typeof this.options.gravity == 'function')
-                                ? this.options.gravity.call(this.$element[0])
-                                : this.options.gravity;
-                
-                var tp;
-                switch (gravity.charAt(0)) {
-                    case 'n':
-                        tp = {top: pos.top + pos.height + this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2};
-                        break;
-                    case 's':
-                        tp = {top: pos.top - actualHeight - this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2};
-                        break;
-                    case 'e':
-                        tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth - this.options.offset};
-                        break;
-                    case 'w':
-                        tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width + this.options.offset};
-                        break;
-                }
-                
-                if (gravity.length == 2) {
-                    if (gravity.charAt(1) == 'w') {
-                        tp.left = pos.left + pos.width / 2 - 15;
-                    } else {
-                        tp.left = pos.left + pos.width / 2 - actualWidth + 15;
-                    }
-                }
-                
-                $tip.css(tp).addClass('tipsy-' + gravity);
-                
-                if (this.options.fade) {
-                    $tip.stop().css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: this.options.opacity});
-                } else {
-                    $tip.css({visibility: 'visible', opacity: this.options.opacity});
-                }
-            }
-        },
-        
-        hide: function() {
-            if (this.options.fade) {
-                this.tip().stop().fadeOut(function() { $(this).remove(); });
-            } else {
-                this.tip().remove();
-            }
-        },
-        
-        getTitle: function() {
-            var title, $e = this.$element, o = this.options;
-            fixTitle($e);
-            var title, o = this.options;
-            if (typeof o.title == 'string') {
-                title = $e.attr(o.title == 'title' ? 'original-title' : o.title);
-            } else if (typeof o.title == 'function') {
-                title = o.title.call($e[0]);
-            }
-            title = ('' + title).replace(/(^\s*|\s*$)/, "");
-            return title || o.fallback;
-        },
-        
-        tip: function() {
-            if (!this.$tip) {
-                this.$tip = $('<div class="tipsy"></div>').html('<div class="tipsy-arrow"></div><div class="tipsy-inner"/></div>');
-            }
-            return this.$tip;
-        },
-        
-        validate: function() {
-            if (!this.$element[0].parentNode) this.hide();
-        },
-        
-        enable: function() { this.enabled = true; },
-        disable: function() { this.enabled = false; },
-        toggleEnabled: function() { this.enabled = !this.enabled; }
-    };
-    
-    $.fn.tipsy = function(options) {
-        
-        if (options === true) {
-            return this.data('tipsy');
-        } else if (typeof options == 'string') {
-            return this.data('tipsy')[options]();
-        }
-        
-        options = $.extend({}, $.fn.tipsy.defaults, options);
-        
-        function get(ele) {
-            var tipsy = $.data(ele, 'tipsy');
-            if (!tipsy) {
-                tipsy = new Tipsy(ele, $.fn.tipsy.elementOptions(ele, options));
-                $.data(ele, 'tipsy', tipsy);
-            }
-            return tipsy;
-        }
-        
-        function enter() {
-            var tipsy = get(this);
-            tipsy.hoverState = 'in';
-            if (options.delayIn == 0) {
-                tipsy.show();
-            } else {
-                setTimeout(function() { if (tipsy.hoverState == 'in') tipsy.show(); }, options.delayIn);
-            }
-        };
-        
-        function leave() {
-            var tipsy = get(this);
-            tipsy.hoverState = 'out';
-            if (options.delayOut == 0) {
-                tipsy.hide();
-            } else {
-                setTimeout(function() { if (tipsy.hoverState == 'out') tipsy.hide(); }, options.delayOut);
-            }
-        };
-        
-        if (!options.live) this.each(function() { get(this); });
-        
-        if (options.trigger != 'manual') {
-            var binder   = options.live ? 'live' : 'bind',
-                eventIn  = options.trigger == 'hover' ? 'mouseenter' : 'focus',
-                eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';
-            this[binder](eventIn, enter)[binder](eventOut, leave);
-        }
-        
-        return this;
-        
-    };
-    
-    $.fn.tipsy.defaults = {
-        delayIn: 0,
-        delayOut: 0,
-        fade: false,
-        fallback: '',
-        gravity: 'n',
-        html: false,
-        live: false,
-        offset: 0,
-        opacity: 0.8,
-        title: 'title',
-        trigger: 'hover'
-    };
-    
-    // Overwrite this method to provide options on a per-element basis.
-    // For example, you could store the gravity in a 'tipsy-gravity' attribute:
-    // return $.extend({}, options, {gravity: $(ele).attr('tipsy-gravity') || 'n' });
-    // (remember - do not modify 'options' in place!)
-    $.fn.tipsy.elementOptions = function(ele, options) {
-        return $.metadata ? $.extend({}, options, $(ele).metadata()) : options;
-    };
-    
-    $.fn.tipsy.autoNS = function() {
-        return $(this).offset().top > ($(document).scrollTop() + $(window).height() / 2) ? 's' : 'n';
-    };
-    
-    $.fn.tipsy.autoWE = function() {
-        return $(this).offset().left > ($(document).scrollLeft() + $(window).width() / 2) ? 'e' : 'w';
-    };
-    
-})(jQuery);
diff --git a/src/vendor/jquery-tipsy/src/stylesheets/tipsy.css b/src/vendor/jquery-tipsy/src/stylesheets/tipsy.css
deleted file mode 100644
index 337e9ba..0000000
--- a/src/vendor/jquery-tipsy/src/stylesheets/tipsy.css
+++ /dev/null
@@ -1,12 +0,0 @@
-.tipsy { padding: 5px; font-size: 10px; position: absolute; z-index: 100000; }
-  .tipsy-inner { padding: 5px 8px 4px 8px; background-color: black; color: white; max-width: 200px; text-align: center; }
-  .tipsy-inner { border-radius: 3px; -moz-border-radius:3px; -webkit-border-radius:3px; }
-  .tipsy-arrow { position: absolute; background: url('../images/tipsy.gif') no-repeat top left; width: 9px; height: 5px; }
-  .tipsy-n .tipsy-arrow { top: 0; left: 50%; margin-left: -4px; }
-    .tipsy-nw .tipsy-arrow { top: 0; left: 10px; }
-    .tipsy-ne .tipsy-arrow { top: 0; right: 10px; }
-  .tipsy-s .tipsy-arrow { bottom: 0; left: 50%; margin-left: -4px; background-position: bottom left; }
-    .tipsy-sw .tipsy-arrow { bottom: 0; left: 10px; background-position: bottom left; }
-    .tipsy-se .tipsy-arrow { bottom: 0; right: 10px; background-position: bottom left; }
-  .tipsy-e .tipsy-arrow { top: 50%; margin-top: -4px; right: 0; width: 5px; height: 9px; background-position: top right; }
-  .tipsy-w .tipsy-arrow { top: 50%; margin-top: -4px; left: 0; width: 5px; height: 9px; }
diff --git a/src/www/account/editsshkeys.php b/src/www/account/editsshkeys.php
index c9bbc7b..0ad78d4 100644
--- a/src/www/account/editsshkeys.php
+++ b/src/www/account/editsshkeys.php
@@ -44,7 +44,6 @@ if (!$u || !is_object($u)) {
 use_javascript('/js/sortable.js');
 // not valid registration, or first time to page
 site_user_header(array('title'=>_('Manage Authorized Keys')));
-echo '<form action="/account/?action=addsshkey" method="post" enctype="multipart/form-data" >';
 $sshKeysArray = $u->getAuthorizedKeys();
 if (count($sshKeysArray)) {
 	echo $HTML->boxTop(_('Available keys'));
@@ -52,24 +51,23 @@ if (count($sshKeysArray)) {
 	$classth = array('', '', '', '', '', '', 'unsortable');
 	echo $HTML->listTableTop($tabletop, array(), 'sortable_sshkeys_listlinks', 'sortable', $classth);
 	foreach($sshKeysArray as $sshKey) {
-		echo '<tr>';
-		echo '<td>'.$sshKey['name'].'</td>';
-		echo '<td>'.$sshKey['algorithm'].'</td>';
-		echo '<td>'.$sshKey['fingerprint'].'</td>';
-		echo '<td>'.date(_('Y-m-d H:i'), $sshKey['upload']).'</td>';
+		$cells = array();
+		$cells[][] = $sshKey['name'];
+		$cells[][] = $sshKey['algorithm'];
+		$cells[][] = $sshKey['fingerprint'];
+		$cells[][] = date(_('Y-m-d H:i'), $sshKey['upload']);
 		if ($sshKey['deploy']) {
-			$image = html_image('docman/validate.png', 22, 22, array('alt'=>_('ssh key is deployed.'), 'class'=>'tabtitle', 'title'=>_('ssh key is deployed.')));
+			$cells[][] = html_image('docman/validate.png', 22, 22, array('alt'=>_('ssh key is deployed.'),'title'=>_('ssh key is deployed.')));
 		} else {
-			$image = html_image('waiting.png', 22, 22, array('alt'=>_('ssh key is not deployed yet.'), 'class'=>'tabtitle', 'title'=>_('ssh key is not deployed yet.')));
+			$cells[][] = html_image('waiting.png', 22, 22, array('alt'=>_('ssh key is not deployed yet.'),'title'=>_('ssh key is not deployed yet.')));
 		}
-		echo '<td>'.$image.'</td>';
-		echo '<td><a class="tabtitle-ne" href="/account/?&action=deletesshkey&keyid='.$sshKey['keyid'].'" title="'. _('Delete this ssh key.') .'" >'.html_image('docman/trash-empty.png',22,22,array('alt'=>_('Delete this ssh key.'))). '</a></td>';
-		echo '</tr>';
+		$cells[][] = util_make_link('/account/?&action=deletesshkey&keyid='.$sshKey['keyid'], html_image('docman/trash-empty.png',22,22,array('alt'=>_('Delete this ssh key.'))), array('title' => _('Delete this ssh key.')));
+		echo $HTML->multiTableRow(array(), $cells);
 	}
 	echo $HTML->listTableBottom();
 	echo $HTML->boxBottom();
 }
-
+echo $HTML->openForm(array('action' => util_make_uri('/account/?action=addsshkey'), 'method' => 'post', 'enctype' => 'multipart/form-data'));
 echo '<h2>'. _('Add a new ssh key').'</h2>';
 echo '<p>'. _('To avoid having to type your password every time for your CVS/SSH developer account, you may upload your public key(s) here and they will be placed on the server in your ~/.ssh/authorized_keys file. This is done by a cron job, so it may not happen immediately.  Please allow for a one hour delay.') . '</p>';
 echo '<p>'. _('To generate a public key, run the program \'ssh-keygen\' (you can use both protocol 1 or 2). The public key will be placed at \'~/.ssh/identity.pub\' (protocol version 1) and \'~/.ssh/id_dsa.pub\' or \'~/.ssh/id_rsa.pub\' (protocol version 2). Read the ssh documentation for further information on sharing keys.') . '</p>';
@@ -84,6 +82,6 @@ echo '<input type="file" name="uploaded_filekey" />';
 <p><input type="submit" name="submit" value="<?php echo _('Add'); ?>" /></p>
 
 <?php
-echo '</form>';
+echo $HTML->closeForm();
 
 site_user_footer();
diff --git a/src/www/account/index.php b/src/www/account/index.php
index 7e9bd60..a14ce69 100644
--- a/src/www/account/index.php
+++ b/src/www/account/index.php
@@ -301,8 +301,8 @@ if (forge_get_config('use_shell')) {
 	echo $HTML->boxTop(_('Shell Account Information')."");
 	if ($u->getUnixStatus() == 'A') {
 		print ' 
-	<br />'._('Shell box').': <strong>'.$u->getUnixBox().'</strong>
-	<br />'._('SSH Shared Authorized Keys').': <strong>';
+	<br />'._('Shell box')._(': ').'<strong>'.$u->getUnixBox().'</strong>
+	<br />'._('SSH Shared Authorized Keys')._(': ').'<strong>';
 		global $HTML;
 		$sshKeysArray = $u->getAuthorizedKeys();
 		if (is_array($sshKeysArray) && count($sshKeysArray)) {
@@ -310,25 +310,24 @@ if (forge_get_config('use_shell')) {
 			$classth = array('', '', '', '', '');
 			echo $HTML->listTableTop($tabletop, false, 'sortable_sshkeys_listlinks', 'sortable', $classth);
 			foreach($sshKeysArray as $sshKey) {
-				echo '<tr>';
-				echo '<td>'.$sshKey['name'].'</td>';
-				echo '<td>'.$sshKey['algorithm'].'</td>';
-				echo '<td>'.$sshKey['fingerprint'].'</td>';
-				echo '<td>'.date(_('Y-m-d H:i'), $sshKey['upload']).'</td>';
+				$cells = array();
+				$cells[][] = $sshKey['name'];
+				$cells[][] = $sshKey['algorithm'];
+				$cells[][] = $sshKey['fingerprint'];
+				$cells[][] = date(_('Y-m-d H:i'), $sshKey['upload']);
 				if ($sshKey['deploy']) {
-					$image = html_image('docman/validate.png', 22, 22, array('alt'=>_('ssh key is deployed.'), 'class'=>'tabtitle', 'title'=>_('ssh key is deployed.')));
+					$cells[][] = html_image('docman/validate.png', 22, 22, array('alt'=>_('ssh key is deployed.'), 'title'=>_('ssh key is deployed.')));
 				} else {
-					$image = html_image('waiting.png', 22, 22, array('alt'=>_('ssh key is not deployed yet.'), 'class'=>'tabtitle', 'title'=>_('ssh key is not deployed yet.')));
+					$cells[][] = html_image('waiting.png', 22, 22, array('alt'=>_('ssh key is not deployed yet.'), 'title'=>_('ssh key is not deployed yet.')));
 				}
-				echo '<td>'.$image.'</td>';
-				echo '</tr>';
+				echo $HTML->multiTableRow(array(), $cells);
 			}
 			echo $HTML->listTableBottom();
 		} else {
 			print '0';
 		}
 		print '</strong>';
-		print '<br />' . util_make_link("account/editsshkeys.php",_('Edit Keys'));
+		print '<br />' . util_make_link('/account/editsshkeys.php', _('Edit Keys'));
 	} else {
 		echo $HTML->warning_msg(_('Shell Account deactivated'));
 	}
@@ -340,8 +339,7 @@ if (forge_get_config('use_shell')) {
 </tr>
 
 </table>
-<span><?php echo sprintf(_('%s Mandatory fields'), utils_requiredField())?></span>
-
+<?php echo $HTML->addRequiredFieldsInfoBox() ?>
 <p class="align-center">
 <input type="submit" name="submit" value="<?php echo _('Update'); ?>" />
 <input type="reset" name="reset" value="<?php echo _('Reset Changes'); ?>" />
diff --git a/src/www/admin/grouplist.php b/src/www/admin/grouplist.php
index 06e0e82..b7d3c6f 100644
--- a/src/www/admin/grouplist.php
+++ b/src/www/admin/grouplist.php
@@ -86,14 +86,14 @@ $headerLinks = array(
 );
 
 $headerClass = array(
-	'tabtitle',
-	'tabtitle',
-	'tabtitle',
-	'tabtitle',
-	'tabtitle',
-	'tabtitle',
-	'tabtitle',
-	'tabtitle',
+	'',
+	'',
+	'',
+	'',
+	'',
+	'',
+	'',
+	'',
 );
 
 $headerTitle = array(
@@ -152,7 +152,7 @@ foreach ($rows as $grp) {
 		$time_display = date(_('Y-m-d H:i'),$grp['register_time']);
 	}
 	$cells = array();
-	$cells[][] = util_make_link('/admin/groupedit.php?group_id='.$grp['group_id'], $grp['group_name'], array('tabtitle-w', 'title' => _('Click to edit this project.')));
+	$cells[][] = util_make_link('/admin/groupedit.php?group_id='.$grp['group_id'], $grp['group_name'], array('title' => _('Click to edit this project.')));
 	$cells[][] = $time_display;
 	$cells[][] = $grp['unix_group_name'];
 	$cells[] = array($grp['status'], 'class' => $status);
diff --git a/src/www/admin/trove/trove_cat_list.php b/src/www/admin/trove/trove_cat_list.php
index 9b3250f..d55778c 100644
--- a/src/www/admin/trove/trove_cat_list.php
+++ b/src/www/admin/trove/trove_cat_list.php
@@ -68,8 +68,6 @@ function printnode ($nodeid,$text) {
 
 // ########################################################
 
-html_use_tooltips();
-
 site_admin_header(array('title'=>_('Browse Trove Tree')));
 
 printnode(0,'root');
diff --git a/src/www/include/Layout.class.php b/src/www/include/Layout.class.php
index 5fdb332..ee611b5 100644
--- a/src/www/include/Layout.class.php
+++ b/src/www/include/Layout.class.php
@@ -1368,19 +1368,19 @@ if (isset($params['group']) && $params['group']) {
 		if (forge_get_config('use_project_tags')) {
 			$subMenuTitle[] = _('Tag Cloud');
 			$subMenuUrl[] = '/softwaremap/tag_cloud.php';
-			$subMenuAttr[] = array('title' => _('Browse per tags defined by the projects.'), 'class' => 'tabtitle-nw');
+			$subMenuAttr[] = array('title' => _('Browse per tags defined by the projects.'));
 		}
 
 		if (forge_get_config('use_trove')) {
 			$subMenuTitle[] = _('Project Tree');
 			$subMenuUrl[] = '/softwaremap/trove_list.php';
-			$subMenuAttr[] = array('title' => _('Browse by Category'), 'class' => 'tabtitle');
+			$subMenuAttr[] = array('title' => _('Browse by Category'));
 		}
 
 		if (forge_get_config('use_project_full_list')) {
 			$subMenuTitle[] = _('Project List');
 			$subMenuUrl[] = '/softwaremap/full_list.php';
-			$subMenuAttr[] = array('title' => _('Complete listing of available projects.'), 'class' => 'tabtitle');
+			$subMenuAttr[] = array('title' => _('Complete listing of available projects.'));
 		}
 
 		// Allow plugins to add more softwaremap submenu entries
diff --git a/src/www/include/html.php b/src/www/include/html.php
index 5a96f87..3e9bf5e 100644
--- a/src/www/include/html.php
+++ b/src/www/include/html.php
@@ -135,7 +135,7 @@ function html_blankimage($height, $width) {
 function html_abs_image($url, $width, $height, $args) {
 	global $use_tooltips;
 	$args['src'] = $url;
-	if (!$use_tooltips && isset($args['title']) && isset($args['class']) && preg_match('/tabtitle/', $args['class'])) {
+	if (!$use_tooltips && isset($args['title'])) {
 		$args['title'] = '';
 	}
 	if (!isset($args['alt'])) {
@@ -434,13 +434,6 @@ function html_use_jquery() {
 	use_javascript('/scripts/jquery/jquery-1.8.3.js');
 }
 
-function html_use_tooltips() {
-	html_use_jquery();
-	use_javascript('/scripts/jquery-tipsy/src/javascripts/jquery.tipsy.js');
-	use_javascript('/js/jquery-common.js');
-	use_stylesheet('/scripts/jquery-tipsy/src/stylesheets/tipsy.css');
-}
-
 function html_use_storage() {
 	html_use_jquery();
 	use_javascript('/scripts/jquery-storage/jquery.Storage.js');
@@ -986,29 +979,29 @@ function site_user_header($params) {
 
 	$arr_t[] = _('My Personal Page');
 	$arr_l[] = '/my/';
-	$arr_attr[] = array('title' => _('View your personal page, a selection of widgets to follow the informations from projects.'), 'class' => 'tabtitle-nw');
+	$arr_attr[] = array('title' => _('View your personal page, a selection of widgets to follow the informations from projects.'));
 
 	if (forge_get_config('use_tracker')) {
 		$arr_t[] = _('My Trackers Dashboard');
 		$arr_l[] = '/my/dashboard.php';
-		$arr_attr[] = array('title' => _('View your tasks and artifacts.'), 'class' => 'tabtitle');
+		$arr_attr[] = array('title' => _('View your tasks and artifacts.'));
 	}
 
 	if (forge_get_config('use_diary')) {
 		$arr_t[] = _('My Diary and Notes');
 		$arr_l[] = '/my/diary.php';
-		$arr_attr[] = array('title' => _('Manage your diary. Add, modify or delete your notes.'), 'class' => 'tabtitle');
+		$arr_attr[] = array('title' => _('Manage your diary. Add, modify or delete your notes.'));
 	}
 
 	$arr_t[] = _('My Account');
 	$arr_l[] = '/account/';
-	$arr_attr[] = array('title' => _('Manage your account. Change your password, select your preferences.'), 'class' => 'tabtitle');
+	$arr_attr[] = array('title' => _('Manage your account. Change your password, select your preferences.'));
 
 	if (!forge_get_config('project_registration_restricted')
 			|| forge_check_global_perm('approve_projects', '')) {
 		$arr_t[] = _('Register Project');
 		$arr_l[] = '/register/';
-		$arr_attr[] = array('title' => _('Register a new project in forge, following the workflow.'), 'class' => 'tabtitle');
+		$arr_attr[] = array('title' => _('Register a new project in forge, following the workflow.'));
 	}
 
 	echo ($HTML->printSubMenu($arr_t, $arr_l, $arr_attr));
@@ -1094,7 +1087,7 @@ function relative_date($date) {
  */
 function html_eo($name, $attrs = array()) {
 	global $use_tooltips, $html_autoclose_pos;
-	if (!$use_tooltips && isset($attrs['title']) && isset($attrs['class']) && preg_match('/tabtitle/', $attrs['class'])) {
+	if (!$use_tooltips && isset($attrs['title'])) {
 		$attrs['title'] = '';
 	}
 	$rv = '';
@@ -1134,7 +1127,7 @@ function html_eo($name, $attrs = array()) {
  */
 function html_e($name, $attrs = array(), $content = "", $shortform = true) {
 	global $use_tooltips, $html_autoclose_pos;
-	if (!$use_tooltips && isset($attrs['title']) && isset($attrs['class']) && preg_match('/tabtitle/', $attrs['class'])) {
+	if (!$use_tooltips && isset($attrs['title'])) {
 		$attrs['title'] = '';
 	}
 	$rv = '';
diff --git a/src/www/include/my_utils.php b/src/www/include/my_utils.php
index 51f3221..4a694c1 100644
--- a/src/www/include/my_utils.php
+++ b/src/www/include/my_utils.php
@@ -81,10 +81,10 @@ function my_hide_url ($svc, $db_item_id, $item_id, $count, $hide) {
     }
 
     if ($hide) {
-                $hide_url= util_make_link('/my/?hide_'.$svc.'=0&hide_item_id='.$db_item_id, html_image('pointer_right.png', 16, 16, array('title' => _('Expand'), 'alt' => _('Expand'), 'class' => 'tabtitle'))).' ';
+                $hide_url= util_make_link('/my/?hide_'.$svc.'=0&hide_item_id='.$db_item_id, html_image('pointer_right.png', 16, 16, array('title' => _('Expand'), 'alt' => _('Expand')))).' ';
                 $hide_now = true;
     } else {
-                $hide_url= util_make_link('/my/?hide_'.$svc.'=1&hide_item_id='.$db_item_id, html_image('pointer_down.png', 16, 16, array('title' => _('Collapse'), 'alt' => _('Collapse'), 'class' => 'tabtitle'))).' ';
+                $hide_url= util_make_link('/my/?hide_'.$svc.'=1&hide_item_id='.$db_item_id, html_image('pointer_down.png', 16, 16, array('title' => _('Collapse'), 'alt' => _('Collapse')))).' ';
                 $hide_now = false;
     }
 
diff --git a/src/www/include/project_home.php b/src/www/include/project_home.php
index bd4b6b4..fcd335b 100644
--- a/src/www/include/project_home.php
+++ b/src/www/include/project_home.php
@@ -67,10 +67,10 @@ if (session_loggedin()) {
 		$params['submenu'] = $HTML->subMenu(
 			array(_("Add widgets"),
 				_("Customize Layout")),
-			array('/widgets/widgets.php?owner=g'. $group_id .'&layout_id='. $id,
-				'/widgets/widgets.php?owner=g'. $group_id .'&layout_id='. $id.'&update=layout'),
-			array(array('class' => 'tabtitle-nw', 'title' => _('Select new widgets to display on the project home page.')),
-				array('class' => 'tabtitle', 'title' => _('Modify the layout: one column, multiple columns or build your own layout.'))));
+			array('/widgets/widgets.php?owner=g'. $group_id .'&layout_id='. $id,
+				'/widgets/widgets.php?owner=g'. $group_id .'&layout_id='. $id.'&update=layout'),
+			array(array('title' => _('Select new widgets to display on the project home page.')),
+				array('title' => _('Modify the layout: one column, multiple columns or build your own layout.'))));
 	}
 }
 
diff --git a/src/www/js/jquery-common.js b/src/www/js/jquery-common.js
index 5f69c42..925669d 100644
--- a/src/www/js/jquery-common.js
+++ b/src/www/js/jquery-common.js
@@ -24,38 +24,6 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-jQuery(function() {
-	if ( typeof(jQuery(window).tipsy) == 'function') {
-		jQuery('#tracker-monitor').tipsy({gravity: 'n', html: true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('#tracker-summary').tipsy({gravity: 'w', delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('#tracker-assigned_to').tipsy({gravity: 'w', delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('#tracker-priority').tipsy({gravity: 'w', html: true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('#tracker-status_id').tipsy({gravity: 'w', html: true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('#tracker-description').tipsy({gravity: 'w', html: true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('#tracker-canned_response').tipsy({gravity: 'w', html: true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('#tracker-comment').tipsy({gravity: 'w', delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('#tracker-new_artifact_type_id').tipsy({gravity: 'w', html:true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('#tracker-manage-roles').tipsy({gravity: 'w', delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('#tracker-vote').tipsy({gravity: 'w', delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('#tracker-votes').tipsy({gravity: 'n', delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('.forum_monitor').tipsy({gravity: 'n', html:true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('.forum_save_place').tipsy({gravity: 'n', html:true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('.forum_start_thread').tipsy({gravity: 'n', html:true, delayIn: 1000, delayOut: 500, fade: true});
-
-		jQuery('.forum_reply').tipsy({gravity: 'n', html:true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('.forum_move').tipsy({gravity: 'ne', html:true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('.forum_edit').tipsy({gravity: 'ne', html:true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('.forum_delete').tipsy({gravity: 'ne', html:true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('.forum_attach').tipsy({gravity: 'ne', html:true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('.forum_attach_add').tipsy({gravity: 'ne', html:true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('.forum_attach_edit').tipsy({gravity: 'ne', html:true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('.forum_attach_delete').tipsy({gravity: 'ne', html:true, delayIn: 1000, delayOut: 500, fade: true});
-
-		jQuery('select.trove-nodes').tipsy({gravity: 'w', html:true, delayIn: 1000, delayOut: 500, fade: true});
-		jQuery('span.trove-nodes').tipsy({gravity: 'n', html:true, delayIn: 1000, delayOut: 500, fade: true});
-	}
-});
-
 jQuery(document).ready(function(){
 
 	// Show button and hide help text on load
diff --git a/src/www/news/submit.php b/src/www/news/submit.php
index 3aa7616..80d10af 100644
--- a/src/www/news/submit.php
+++ b/src/www/news/submit.php
@@ -122,8 +122,6 @@ if (session_loggedin()) {
 		exit_no_group();
 	}
 
-	html_use_tooltips();
-
 	/*
 		Show the submit form
 	*/
diff --git a/src/www/project/admin/group_trove.php b/src/www/project/admin/group_trove.php
index 1f503eb..f1a2640 100644
--- a/src/www/project/admin/group_trove.php
+++ b/src/www/project/admin/group_trove.php
@@ -71,8 +71,6 @@ if (getStringFromRequest('submit') && getStringFromRequest('root1')) {
 	session_redirect('/project/admin/?group_id='.$group_id);
 }
 
-html_use_tooltips();
-
 project_admin_header(array('title'=>_('Edit Trove Categorization'),'group'=>$group_id));
 
 ?>
diff --git a/src/www/project/admin/project_admin_utils.php b/src/www/project/admin/project_admin_utils.php
index ab5c72d..0b947be 100644
--- a/src/www/project/admin/project_admin_utils.php
+++ b/src/www/project/admin/project_admin_utils.php
@@ -46,52 +46,52 @@ function project_admin_header($params) {
 	$attr_r = array();
 
 	$labels[] = _('Project Information');
-	$attr_r[] = array('class' => 'tabtitle', 'title' => _('General information about project. Tag, trove list, description.'));
+	$attr_r[] = array('title' => _('General information about project. Tag, trove list, description.'));
 	$links[] = '/project/admin/?group_id='.$group_id;
 
 	$labels[] = _('Users and permissions');
-	$attr_r[] = array('class' => 'tabtitle', 'title' => _('Permissions management. Edit / Create roles. Assign new permissions to user. Add / Remove member.'));
+	$attr_r[] = array('title' => _('Permissions management. Edit / Create roles. Assign new permissions to user. Add / Remove member.'));
 	$links[] = '/project/admin/users.php?group_id='.$group_id;
 
 	$labels[] = _('Tools');
-	$attr_r[] = array('class' => 'tabtitle', 'title' => _('Activate / Desactivate extensions like docman, forums, plugins.'));
+	$attr_r[] = array('title' => _('Activate / Desactivate extensions like docman, forums, plugins.'));
 	$links[] = '/project/admin/tools.php?group_id='.$group_id;
 
 	$labels[] = _('Project History');
-	$attr_r[] = array('class' => 'tabtitle', 'title' => _('Show the significant change of your project.'));
+	$attr_r[] = array('title' => _('Show the significant change of your project.'));
 	$links[] = '/project/admin/history.php?group_id='.$group_id;
 
 	if(forge_get_config('use_people')) {
 		$labels[] = _('Post Jobs');
-		$attr_r[] = array('class' => 'tabtitle', 'title' => _('Hiring new people. Describe the job'));
+		$attr_r[] = array('title' => _('Hiring new people. Describe the job'));
 		$links[] = '/people/createjob.php?group_id='.$group_id;
 		$labels[] = _('Edit Jobs');
-		$attr_r[] = array('class' => 'tabtitle', 'title' => _('Edit already created available position in your project.'));
+		$attr_r[] = array('title' => _('Edit already created available position in your project.'));
 		$links[] = '/people/?group_id='.$group_id;
 	}
 
 	if(forge_get_config('use_project_multimedia')) {
 		$labels[] = _('Edit Multimedia Data');
 		//TODO: set the title.
-		$attr_r[] = array('class' => 'tabtitle', 'title' => '');
+		$attr_r[] = array('title' => '');
 		$links[] = '/project/admin/editimages.php?group_id='.$group_id;
 	}
 	if(forge_get_config('use_project_vhost')) {
 		$labels[] = _('VHOSTs');
 		//TODO: set the title.
-		$attr_r[] = array('class' => 'tabtitle', 'title' => '');
+		$attr_r[] = array('title' => '');
 		$links[] = '/project/admin/vhost.php?group_id='.$group_id;
 	}
 	if(forge_get_config('use_project_database')) {
 		$labels[] = _('Database Admin');
 		//TODO: set the title.
-		$attr_r[] = array('class' => 'tabtitle', 'title' => '');
+		$attr_r[] = array('title' => '');
 		$links[] = '/project/admin/database.php?group_id='.$group_id;
 	}
 	if ($project->usesStats()) {
 		$labels[] = _('Stats');
 		//TODO: set the title.
-		$attr_r[] = array('class' => 'tabtitle', 'title' => '');
+		$attr_r[] = array('title' => '');
 		$links[] = '/project/stats/?group_id='.$group_id;
 	}
 
diff --git a/src/www/scm/include/scm_utils.php b/src/www/scm/include/scm_utils.php
index 45e86d1..f39c5aa 100644
--- a/src/www/scm/include/scm_utils.php
+++ b/src/www/scm/include/scm_utils.php
@@ -46,13 +46,13 @@ function scm_header($params) {
 	if (session_loggedin()) {
 		$params['TITLES'][] = _('View Source Code');
 		$params['DIRS'][] = '/scm/?group_id='.$params['group'];
-		$params['TOOLTIPS'][] = array('title' => _('Online Source code browsing'), 'class' => 'tabtitle');
+		$params['TOOLTIPS'][] = array('title' => _('Online Source code browsing'));
 		$params['TITLES'][] = _('Reporting');
 		$params['DIRS'][] = '/scm/reporting/?group_id='.$params['group'];
-		$params['TOOLTIPS'][] = array('title' => _('Global statistics on this SCM repository'), 'class' => 'tabtitle');
+		$params['TOOLTIPS'][] = array('title' => _('Global statistics on this SCM repository'));
 		$params['TITLES'][] = _('Administration');
 		$params['DIRS'][] = '/scm/admin/?group_id='.$params['group'];
-		$params['TOOLTIPS'][] = array('title' => _('Administration page : enable / disable options'), 'class' => 'tabtitle');
+		$params['TOOLTIPS'][] = array('title' => _('Administration page : enable / disable options'));
 
 		if (forge_check_perm('project_admin', $project->getID())) {
 			$params['submenu'] = $HTML->subMenu(
diff --git a/src/www/themes/funky-wOw/Theme.class.php b/src/www/themes/funky-wOw/Theme.class.php
index f9be09b..a5c848f 100644
--- a/src/www/themes/funky-wOw/Theme.class.php
+++ b/src/www/themes/funky-wOw/Theme.class.php
@@ -222,19 +222,11 @@ class Theme extends Layout {
 		if ($use_tooltips) {
 			echo html_ao('script', array('type' => 'text/javascript'));
 			echo '	//<![CDATA[
-				if (typeof(jQuery(window).tipsy) == \'function\') {
-					jQuery(document).ready(
-						function() {
-							jQuery(\'.tabtitle\').tipsy({delayIn: 500, delayOut: 0, fade: true});
-							jQuery(\'.tabtitle-nw\').tipsy({gravity: \'nw\', delayIn: 500, delayOut: 0, fade: true});
-							jQuery(\'.tabtitle-ne\').tipsy({gravity: \'ne\', delayIn: 500, delayOut: 0, fade: true});
-							jQuery(\'.tabtitle-w\').tipsy({gravity: \'w\', delayIn: 500, delayOut: 0, fade: true});
-							jQuery(\'.tabtitle-e\').tipsy({gravity: \'e\', delayIn: 500, delayOut: 0, fade: true});
-							jQuery(\'.tabtitle-sw\').tipsy({gravity: \'sw\', delayIn: 500, delayOut: 0, fade: true});
-							jQuery(\'.tabtitle-se\').tipsy({gravity: \'se\', delayIn: 500, delayOut: 0, fade: true});
-						}
-					);
-				}
+				jQuery(document).ready(
+					function() {
+						jQuery(document).tooltip();
+					}
+				);
 			//]]>'."\n";
 			echo html_ac(html_ap() -1);
 		}
@@ -259,22 +251,15 @@ class Theme extends Layout {
 			$attrs['class'] = 'tg-middle';
 			$attrs['style'] = 'width:'.$tabwidth.'%';
 			$return .= html_ao('td', $attrs);
-			if ($i == 0) {
-				$class_a = 'tabtitle-nw';
-			} else if ( $i == ($count - 1)) {
-				$class_a = 'tabtitle-ne';
-			} else {
-				$class_a = 'tabtitle';
-			}
 			$return .= html_ao('a', array('href' => $TABS_DIRS[$i], 'id' => md5($TABS_DIRS[$i])));
 			$attrs = array();
 			if ($selected == $i)
 				$attrs['class'] = 'selected';
 
 			$return .= html_ao('span', $attrs);
-			$attrs = array('title' => $TABS_TOOLTIPS[$i], 'class' => $class_a);
+			$attrs = array('title' => $TABS_TOOLTIPS[$i]);
 			if ($nested)
-				$attrs['class'] .= ' nested';
+				$attrs['class'] = 'nested';
 
 			$return .= html_e('span', $attrs, $TABS_TITLES[$i], false);
 			$return .= html_ac(html_ap() - 3);
@@ -406,7 +391,6 @@ class Theme extends Layout {
 			echo "\n".'//]]'."\n";
 			echo html_ac(html_ap() -1);
 		}
-		html_use_tooltips();
 		html_use_storage();
 		html_use_coolfieldset();
 		html_use_jqueryui();
diff --git a/src/www/themes/funky/Theme.class.php b/src/www/themes/funky/Theme.class.php
index abca818..b17b261 100644
--- a/src/www/themes/funky/Theme.class.php
+++ b/src/www/themes/funky/Theme.class.php
@@ -222,19 +222,11 @@ class Theme extends Layout {
 		if ($use_tooltips) {
 			echo html_ao('script', array('type' => 'text/javascript'));
 			echo '	//<![CDATA[
-				if (typeof(jQuery(window).tipsy) == \'function\') {
-					jQuery(document).ready(
-						function() {
-							jQuery(\'.tabtitle\').tipsy({delayIn: 500, delayOut: 0, fade: true});
-							jQuery(\'.tabtitle-nw\').tipsy({gravity: \'nw\', delayIn: 500, delayOut: 0, fade: true});
-							jQuery(\'.tabtitle-ne\').tipsy({gravity: \'ne\', delayIn: 500, delayOut: 0, fade: true});
-							jQuery(\'.tabtitle-w\').tipsy({gravity: \'w\', delayIn: 500, delayOut: 0, fade: true});
-							jQuery(\'.tabtitle-e\').tipsy({gravity: \'e\', delayIn: 500, delayOut: 0, fade: true});
-							jQuery(\'.tabtitle-sw\').tipsy({gravity: \'sw\', delayIn: 500, delayOut: 0, fade: true});
-							jQuery(\'.tabtitle-se\').tipsy({gravity: \'se\', delayIn: 500, delayOut: 0, fade: true});
-						}
-					);
-				}
+				jQuery(document).ready(
+					function() {
+						jQuery(document).tooltip();
+					}
+				);
 			//]]>'."\n";
 			echo html_ac(html_ap() -1);
 		}
@@ -259,22 +251,15 @@ class Theme extends Layout {
 			$attrs['class'] = 'tg-middle';
 			$attrs['style'] = 'width:'.$tabwidth.'%';
 			$return .= html_ao('td', $attrs);
-			if ($i == 0) {
-				$class_a = 'tabtitle-nw';
-			} else if ( $i == ($count - 1)) {
-				$class_a = 'tabtitle-ne';
-			} else {
-				$class_a = 'tabtitle';
-			}
 			$return .= html_ao('a', array('href' => $TABS_DIRS[$i], 'id' => md5($TABS_DIRS[$i])));
 			$attrs = array();
 			if ($selected == $i)
 				$attrs['class'] = 'selected';
 
 			$return .= html_ao('span', $attrs);
-			$attrs = array('title' => $TABS_TOOLTIPS[$i], 'class' => $class_a);
+			$attrs = array('title' => $TABS_TOOLTIPS[$i]);
 			if ($nested)
-				$attrs['class'] .= ' nested';
+				$attrs['class'] = 'nested';
 
 			$return .= html_e('span', $attrs, $TABS_TITLES[$i], false);
 			$return .= html_ac(html_ap() - 3);
@@ -406,7 +391,6 @@ class Theme extends Layout {
 			echo "\n".'//]]'."\n";
 			echo html_ac(html_ap() -1);
 		}
-		html_use_tooltips();
 		html_use_storage();
 		html_use_coolfieldset();
 		html_use_jqueryui();

-----------------------------------------------------------------------

Summary of changes:
 src/CHANGES                                        |    4 +-
 src/Makefile                                       |    2 +-
 src/common/docman/DocumentGroup.class.php          |    2 +-
 src/common/docman/DocumentManager.class.php        |    8 +-
 src/common/docman/views/additem.php                |    6 +-
 src/common/docman/views/listfile.php               |   58 ++--
 src/common/docman/views/listtrashfile.php          |   22 +-
 src/common/docman/views/menu.php                   |   12 +-
 src/common/docman/views/pendingfiles.php           |   16 +-
 src/common/docman/views/search.php                 |   10 +-
 src/common/docman/views/tree.php                   |    2 +-
 src/common/include/Plugin.class.php                |    4 +-
 src/common/tracker/actions/tracker.php             |    2 -
 .../include/ArtifactTypeFactoryHtml.class.php      |    8 +-
 .../tracker/include/ArtifactTypeHtml.class.php     |   16 +-
 src/common/widget/Widget_MyArtifacts.class.php     |   12 +-
 src/etc/httpd.conf.d/vhost-main.inc                |    1 -
 src/plugins/admssw/include/admsswPlugin.class.php  |    2 +-
 .../extsubproj/include/extsubprojPlugin.class.php  |    4 +-
 .../view/admin/viewProjectConfiguration.php        |    2 +-
 .../headermenu/common/headermenuPlugin.class.php   |    4 +-
 .../view/admin/viewGlobalConfiguration.php         |   24 +-
 .../view/admin/viewProjectConfiguration.php        |   12 +-
 .../mantisbt/common/MantisBTPlugin.class.php       |   20 +-
 .../mantisbt/view/admin/viewConfiguration.php      |    7 -
 .../view/admin/viewGlobalConfiguration.php         |    8 +-
 src/plugins/mantisbt/view/init.php                 |    9 -
 src/plugins/mantisbt/view/inituser.php             |   19 --
 .../mantisbt/www/scripts/MantisBTController.js     |    3 +-
 .../common/projects-hierarchyPlugin.class.php      |    8 +-
 .../view/admin/viewProjectConfiguration.php        |    8 +-
 .../projects-hierarchy/view/admin_project_link.php |    8 +-
 .../projects-hierarchy/view/home_project_link.php  |    4 +-
 .../common/quota_managementPlugin.class.php        |    2 +-
 src/plugins/scmhook/common/scmhookPlugin.class.php |   10 +-
 .../common/webanalyticsPlugin.class.php            |    2 +-
 .../view/admin/viewGlobalConfiguration.php         |   31 +-
 src/vendor/jquery-tipsy/LICENSE                    |   21 --
 src/vendor/jquery-tipsy/README                     |   44 ---
 src/vendor/jquery-tipsy/Rakefile                   |   30 --
 src/vendor/jquery-tipsy/docs/src/images            |    1 -
 src/vendor/jquery-tipsy/docs/src/index.html.erb    |  318 --------------------
 src/vendor/jquery-tipsy/docs/src/javascripts       |    1 -
 src/vendor/jquery-tipsy/docs/src/project.yml       |   12 -
 src/vendor/jquery-tipsy/docs/src/stylesheets       |    1 -
 src/vendor/jquery-tipsy/docs/src/tipsy-docs.css    |    5 -
 src/vendor/jquery-tipsy/src/images/tipsy.gif       |  Bin 58 -> 0 bytes
 .../jquery-tipsy/src/javascripts/jquery.tipsy.js   |  194 ------------
 src/vendor/jquery-tipsy/src/stylesheets/tipsy.css  |   12 -
 src/www/account/editsshkeys.php                    |   24 +-
 src/www/account/index.php                          |   26 +-
 src/www/admin/grouplist.php                        |   18 +-
 src/www/admin/trove/trove_cat_list.php             |    2 -
 src/www/include/Layout.class.php                   |    6 +-
 src/www/include/html.php                           |   23 +-
 src/www/include/my_utils.php                       |    4 +-
 src/www/include/project_home.php                   |    8 +-
 src/www/js/jquery-common.js                        |   32 --
 src/www/news/submit.php                            |    2 -
 src/www/project/admin/group_trove.php              |    2 -
 src/www/project/admin/project_admin_utils.php      |   20 +-
 src/www/scm/include/scm_utils.php                  |    6 +-
 src/www/themes/funky-wOw/Theme.class.php           |   30 +-
 src/www/themes/funky/Theme.class.php               |   30 +-
 64 files changed, 245 insertions(+), 999 deletions(-)
 delete mode 100644 src/vendor/jquery-tipsy/LICENSE
 delete mode 100644 src/vendor/jquery-tipsy/README
 delete mode 100644 src/vendor/jquery-tipsy/Rakefile
 delete mode 100644 src/vendor/jquery-tipsy/docs/src/images
 delete mode 100644 src/vendor/jquery-tipsy/docs/src/index.html.erb
 delete mode 100644 src/vendor/jquery-tipsy/docs/src/javascripts
 delete mode 100644 src/vendor/jquery-tipsy/docs/src/project.yml
 delete mode 100644 src/vendor/jquery-tipsy/docs/src/stylesheets
 delete mode 100644 src/vendor/jquery-tipsy/docs/src/tipsy-docs.css
 delete mode 100644 src/vendor/jquery-tipsy/src/images/tipsy.gif
 delete mode 100644 src/vendor/jquery-tipsy/src/javascripts/jquery.tipsy.js
 delete mode 100644 src/vendor/jquery-tipsy/src/stylesheets/tipsy.css


hooks/post-receive
-- 
FusionForge



More information about the Fusionforge-commits mailing list