1
0
mirror of https://github.com/php/web-php.git synced 2026-03-31 19:52:29 +02:00
Files
archived-web-php/userprefs.js
2003-10-14 16:35:34 +00:00

95 lines
3.0 KiB
JavaScript

// Default document onload function
function runOnLoad()
{
searchHistory();
resizeColumnsIE();
}
// Get a value of one cookie set by it's name
// Impmentation from the JS 1.3 Client Guide by Netscape
function getCookie(Name)
{
var search = Name + "=";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = document.cookie.indexOf(";", offset);
if (end == -1) { end = document.cookie.length; }
return unescape(document.cookie.substring(offset, end));
}
}
return null;
}
// Make events in the user's country bold
function boldEvents()
{
// Get cookie if possible
country = getCookie("COUNTRY");
if (typeof(country) == "string") {
// Get country code from cookie
country = country.substring(0, 3);
// If DOM is supported, get <span>s
if (document.getElementsByTagName) {
spans = document.getElementsByTagName("span");
// Style every span bold which is for this country
for (var i = 0; i < spans.length; i++) {
if (spans[i].className == "event_" + country) {
spans[i].style.fontWeight = "bold";
}
}
}
}
}
// Restore the last search as stored in a cookie
function searchHistory()
{
// Something is already typed in, do not try to overwrite it
if (document.forms["topsearch"].pattern.value.length > 0) {
return;
}
// Try to get the lastsearch cookie
lastSearch = getCookie("LAST_SEARCH");
if (typeof(lastSearch) == "string") {
// Get pattern and show information from cookie
option = lastSearch.substr(0, lastSearch.indexOf(","));
pattern = lastSearch.substr(lastSearch.indexOf(",") + 1);
// Set pattern in form
document.forms["topsearch"].pattern.value = pattern;
// Set the last selected search method in the dropdown
for (var i = 0; i < document.forms["topsearch"].show.length; i++) {
if (document.forms["topsearch"].show[i].value == option) {
document.forms["topsearch"].show[i].selected = true;
break;
}
}
}
}
// This function is a workaround for the IE 3px bug,
// and therefore is written in IE only JS. If the central
// column is higher than the left or right sidebar, we need
// to adjust the height of the sidebars to the contents.
function resizeColumnsIE()
{
if (document.all && document.all["leftbar"]) {
contentH = document.all["content"].offsetHeight;
if (contentH > document.all["leftbar"].offsetHeight) {
document.all["leftbar"].style.pixelHeight = contentH;
}
if (document.all["rightbar"] && contentH > document.all["rightbar"].offsetHeight) {
document.all["rightbar"].style.pixelHeight = contentH;
}
}
}