home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2005 April
/
PCWorld_2005-04_cd.bin
/
akce
/
web
/
phptriad
/
phptriad2-2-1.exe
/
htdocs
/
phpmyadmin
/
libraries
/
left.js
< prev
next >
Wrap
Text File
|
2001-12-27
|
10KB
|
310 lines
/* $Id: left.js,v 1.6 2001/12/27 15:06:25 loic1 Exp $ */
// These scripts were originally found on cooltype.com.
// Modified 01/01/1999 by Tobias Ratschiller for linuxapps.com
// Modified 7th June 2000 by Brian Birtles for Mozilla 5.0
// compatibility for phpMyAdmin
// Rewritten and put in a libray 2nd May 2001 by Lo∩c Chapeaux
// Test passed with:
// - Mozilla 0.8.1-0.9.6 for Windows (js enabled & disabled)
// - IE5, 5.01, 5.5, 6.0 for Windows
// - Netscape 4.75 for Windows
// Test failed (crappy DOM implementations) with:
// - Opera 5.02 for windows: 'getElementsByTagName' is unsupported
// - Opera 5.10 to 5.12 for windows, Opera 5+ for Linux: 'style.display' can't
// be changed
// - Konqueror 2+: 'style.display' can't be changed
var isExpanded = false;
var imgOpened = new Image(9,9);
imgOpened.src = 'images/minus.gif';
var imgClosed = new Image(9,9);
imgClosed.src = 'images/plus.gif';
/**
* Do reloads the frame if the window has been resized under Netscape4+
*
* @access private
*/
function reDo() {
if (innerWidth != origWidth || innerHeight != origHeight)
location.reload(true);
} // end of the 'reDo()' function
/**
* Positioned element resize bug under NS4+
*/
if (isNS4) {
var origWidth = innerWidth;
var origHeight = innerHeight;
onresize = reDo;
}
/**
* Gets the id of the first collapsible room
*
* @param string the name of the first collapsible room
*
* @return integer the index number corresponding to this room
*
* @access public
*/
function nsGetIndex(el) {
var ind = null;
var theLayers = document.layers;
var layersCnt = theLayers.length;
for (var i = 0; i < layersCnt; i++) {
if (theLayers[i].id == el) {
ind = i;
break;
}
}
return ind;
} // end of the 'nsGetIndex()' function
/**
* Positions layers under NS4+
*
* @access public
*/
function nsArrangeList() {
if (typeof(firstInd) != 'undefined' && firstInd != null) {
var theLayers = document.layers;
var layersCnt = theLayers.length;
var nextY = theLayers[firstInd].pageY + theLayers[firstInd].document.height;
for (var i = firstInd + 1; i < layersCnt; i++) {
if (theLayers[i].visibility != 'hide') {
theLayers[i].pageY = nextY;
nextY += theLayers[i].document.height;
}
}
}
} // end of the 'nsArrangeList()' function
/**
* Expand databases at startup
*
* @access public
*/
function nsShowAll() {
var theLayers = document.layers;
var layersCnt = theLayers.length;
for (i = firstInd; i < layersCnt; i++) {
theLayers[i].visibility = 'show';
}
} // end of the 'nsShowAll()' function
/**
* Collapses databases at startup
*
* @access public
*/
function initIt()
{
if (!capable || !isServer)
return;
if (isDOM) {
var tempColl = document.getElementsByTagName('DIV');
var tempCollCnt = tempColl.length;
for (var i = 0; i < tempCollCnt; i++) {
if (tempColl[i].id == expandedDb)
tempColl[i].style.display = 'block';
else if (tempColl[i].className == 'child')
tempColl[i].style.display = 'none';
}
} // end of the DOM case
else if (isIE4) {
tempColl = document.all.tags('DIV');
var tempCollCnt = tempColl.length;
for (var i = 0; i < tempCollCnt; i++) {
if (tempColl(i).id == expandedDb)
tempColl(i).style.display = 'block';
else if (tempColl(i).className == 'child')
tempColl(i).style.display = 'none';
}
} // end of the IE4 case
else if (isNS4) {
var theLayers = document.layers;
var layersCnt = theLayers.length;
for (var i = 0; i < layersCnt; i++) {
if (theLayers[i].id == expandedDb)
theLayers[i].visibility = 'show';
else if (theLayers[i].id.indexOf('Child') != -1)
theLayers[i].visibility = 'hide';
else
theLayers[i].visibility = 'show';
}
nsArrangeList();
} // end of the NS4 case
} // end of the 'initIt()' function
/**
* Collapses/expands a database when the user require this to be done
*
* @param string the name of the database to act on
* @param boolean whether to expand or to collapse the database content
*
* @access public
*/
function expandBase(el, unexpand)
{
if (!capable)
return;
if (isDOM) {
var whichEl = document.getElementById(el + 'Child');
var whichIm = document.getElementById(el + 'Img');
if (whichEl.style.display == 'none' && whichIm) {
whichEl.style.display = 'block';
whichIm.src = imgOpened.src;
}
else if (unexpand) {
whichEl.style.display = 'none';
whichIm.src = imgClosed.src;
}
} // end of the DOM case
else if (isIE4) {
var whichEl = document.all(el + 'Child');
var whichIm = document.images.item(el + 'Img');
if (whichEl.style.display == 'none') {
whichEl.style.display = 'block';
whichIm.src = imgOpened.src;
}
else if (unexpand) {
whichEl.style.display = 'none';
whichIm.src = imgClosed.src;
}
} // end of the IE4 case
else if (isNS4) {
var whichEl = document.layers[el + 'Child'];
var whichIm = document.layers[el + 'Parent'].document.images['imEx'];
if (whichEl.visibility == 'hide') {
whichEl.visibility = 'show';
whichIm.src = imgOpened.src;
}
else if (unexpand) {
whichEl.visibility = 'hide';
whichIm.src = imgClosed.src;
}
nsArrangeList();
} // end of the NS4 case
} // end of the 'expandBase()' function
/**
* Hilight/un-hilight a database when the mouse pass over/out it
*
* @param string the name of the database to act on
* @param boolean the color to be used
*
* @access public
*/
function hilightBase(el, theColor)
{
if (!isDOM && !isIE4) {
return;
}
if (isDOM) {
var whichDb = document.getElementById(el + 'Parent');
var whichTables = document.getElementById(el + 'Child');
}
else if (isIE4) {
var whichDb = document.all(el + 'Parent');
var whichTables = document.all(el + 'Child');
}
if (typeof(whichDb.style) == 'undefined') {
return;
}
else if (whichTables) {
whichDb.style.backgroundColor = theColor;
whichTables.style.backgroundColor = theColor;
}
else {
whichDb.style.backgroundColor = theColor;
}
return true;
} // end of the 'hilightBase()' function
/**
* Add styles for positioned layers
*/
if (capable) {
with (document) {
// Brian Birtles : This is not the ideal method of doing this
// but under the 7th June '00 Mozilla build (and many before
// it) Mozilla did not treat text between <style> tags as
// style information unless it was written with the one call
// to write().
if (isDOM) {
var lstyle = '<style type="text\/css">'
+ '<!--'
+ 'div {color: #000000}'
+ '.heada {font-family: ' + fontFamily + '; font-size: ' + fontSize + '; color: #000000}'
+ '.headaCnt {font-family: ' + fontFamily + '; font-size: ' + fontSmall + '; color: #000000}'
+ '.parent {font-family: ' + fontFamily + '; color: #000000; text-decoration: none; display: block}'
+ '.child {font-family: ' + fontFamily + '; font-size: ' + fontSmall + '; color: #333399; text-decoration: none; display: none}'
+ '.item, .item:active, .item:hover, .tblItem, .tblItem:active {font-size: ' + fontSmall + '; color: #333399; text-decoration: none}'
+ '.tblItem:hover {color: #FF0000; text-decoration: underline}'
+ '\/\/-->'
+ '<\/style>';
write(lstyle);
}
else {
writeln('<style type="text\/css">');
writeln('<!--');
writeln('div {color: #000000}');
writeln('.heada {font-family: ' + fontFamily + '; font-size: ' + fontSize + '; color: #000000}');
writeln('.headaCnt {font-family: ' + fontFamily + '; font-size: ' + fontSmall + '; color: #000000}');
if (isIE4) {
writeln('.parent {font-family: ' + fontFamily + '; color: #000000; text-decoration: none; display: block}');
writeln('.child {font-family: ' + fontFamily + '; font-size: ' + fontSmall + '; color: #333399; text-decoration: none; display: none}');
writeln('.item, .item:active, .item:hover, .tblItem, .tblItem:active {font-size: ' + fontSmall + '; color: #333399; text-decoration: none}');
writeln('.tblItem:hover {color: #FF0000; text-decoration: underline}');
}
else {
writeln('.parent {font-family: ' + fontFamily + '; color: #000000; text-decoration: none; position: absolute; visibility: hidden}');
writeln('.child {font-family: ' + fontFamily + '; font-size: ' + fontSmall + '; color: #333399; position: absolute; visibility: hidden}');
writeln('.item, .tblItem {font-size: ' + fontSmall + '; color: #333399; text-decoration: none}');
}
writeln('\/\/-->');
writeln('<\/style>');
}
}
}
else {
with (document) {
writeln('<style type="text\/css">');
writeln('<!--');
writeln('div {color: #000000}');
writeln('.heada {font-family: ' + fontFamily + '; font-size: ' + fontSize + '; color: #000000}');
writeln('.headaCnt {font-family: ' + fontFamily + '; font-size: ' + fontSmall + '; color: #000000}');
writeln('.parent {font-family: ' + fontFamily + '; color: #000000; text-decoration: none}');
writeln('.child {font-family: ' + fontFamily + '; font-size: ' + fontSmall + '; color: #333399; text-decoration: none}');
writeln('.item, .item:active, .item:hover, .tblItem, .tblItem:active {font-size: ' + fontSmall + '; color: #333399; text-decoration: none}');
writeln('.tblItem:hover {color: #FF0000; text-decoration: underline}');
writeln('\/\/-->');
writeln('<\/style>');
}
} // end of adding styles
onload = initIt;