xcat-core/xCAT-web/functions.js
2007-10-30 13:05:36 +00:00

84 lines
2.4 KiB
JavaScript

// Javascript functions that most pages need.
// Note: this is included by all pages, so only put functions in this file that most/all pages need.
function setCookies(form)
{
var value = (form.rack.checked?1:0) + '&' + form.nodegrps.value + '&' + form.nodeRange.value;
setCookie('mainpage', value);
}
function setCookie(name, value)
{
value = escape(value);
value = value.replace(/\+/g, '%2B'); // The un_urlize() function in webmin works slightly differently than javascript escape()
document.cookie = name + '=' + value + ';expires=' + (new Date("December 31, 2023")).toGMTString();
}
function selectAll(element, objectName)
{
var sel = element.checked;
var form = element.form;
var searchstr = '^' + objectName + '\\d';
for(var i = 0; i < form.length; i++)
{
var e = form.elements[i];
if (e.type == "checkbox" && e.name.search(searchstr) > -1) { e.checked = sel; }
}
}
function isSelected(form, objectName)
{
var searchstr = '^' + objectName + '\\d';
for(var i = 0; i < form.length; i++)
{
var e = form.elements[i];
if (e.type == "checkbox" && e.name.search(searchstr) > -1 && e.checked) { return true; }
}
return false;
}
function numSelected(form, objectName)
{
var searchstr = '^' + objectName + '\\d';
var j = 0;
for(var i = 0; i < form.length; i++)
{
var e = form.elements[i];
if (e.type == "checkbox" && e.name.search(searchstr) > -1 && e.checked)
{
if (++j == 2) { return j; }
}
}
return j;
}
function toggleSection(para, tableId)
{
var t; var i;
var imageId = tableId + '-im';
if (document.all) { t = document.all[tableId]; i = document.all[imageId]; } // IE 4+
else if (document.getElementById) { t = document.getElementById(tableId); i = document.getElementById(imageId); } // Netscape 6
else { alert('Cannot expand or collapse sections in this version of your browser.'); return false; }
if (!t) { alert('Error: section ' + tableId + ' not found.'); return false; }
if (!t.style.display || t.style.display == 'inline') // the inner table is currently visible
{
t.style.display = 'none';
para.title = 'Click to expand section';
//if (txt) { txt = txt.replace(/^-/i, '+'); }
i.src = 'images/plus-sign.gif';
//i.alt = '+';
}
else // the inner table is currently invisible
{
t.style.display = 'inline';
para.title = 'Click to collapse section';
//if (txt) { txt = txt.replace(/^\+/i, '-'); }
i.src = 'images/minus-sign.gif';
//i.alt = '-';
}
return true;
}