added setAdvanced MoodleQuickForm method. And added closeHeaderAfter method

This commit is contained in:
jamiesensei
2006-12-14 12:44:10 +00:00
parent 102a58099a
commit 19194f825a
17 changed files with 342 additions and 56 deletions
+65 -6
View File
@@ -194,6 +194,66 @@ function findParentNode(el, elName, elClass, elId) {
}
return el;
}
/*
findChildNode (start, elementName, elementClass, elementID)
Travels down the DOM hierarchy to find all child elements with the
specified tag name, class, and id. All conditions must be met,
but any can be ommitted.
*/
function findChildNodes(start, tagName, elementClass, elementID, elementName) {
var children = new Array();
for (var childIndex in start.childNodes) {
var child = start.childNodes[childIndex];
if(
(child.nodeType == 1) &&//element node type
(!tagName || child.nodeName == tagName) &&
(!elementClass || child.className.indexOf(elementClass) != -1) &&
(!elementID || child.id == elementID) &&
(!elementName || child.name == elementName))
{
children = children.concat(child);
}
children = children.concat(findChildNodes(child, tagName, elementClass, elementID, elementName));
}
return children;
}
/*
elementSetHide (elements, hide)
Adds or removes the "hide" class for the specified elements depending on boolean hide.
*/
function elementShowAdvanced(elements, show) {
for (var elementIndex in elements){
element = elements[elementIndex];
element.className = element.className.replace(new RegExp(' ?hide'), '')
if(!show) {
element.className += ' hide';
}
}
}
function showAdvancedOnClick(button, hidetext, showtext){
var toSet=findChildNodes(button.form, null, 'advanced');
var buttontext = '';
if (button.form.elements['mform_showadvanced_last'].value == '0') {
elementShowAdvanced(toSet, true);
buttontext = hidetext;
button.form.elements['mform_showadvanced_last'].value = '1';
} else {
elementShowAdvanced(toSet, false);
buttontext = showtext;
button.form.elements['mform_showadvanced_last'].value = '0';
}
var formelements = button.form.elements;
for (var i in formelements){
if (formelements[i].name=='mform_showadvanced'){
formelements[i].value = buttontext;
}
}
//never submit the form if js is enabled.
return false;
}
/*
elementToggleHide (element, elementFinder)
@@ -204,7 +264,7 @@ function findParentNode(el, elName, elClass, elId) {
If persistent == true, also sets a cookie for this.
*/
function elementToggleHide(el, persistent, elementFinder, pixPath) {
function elementToggleHide(el, persistent, elementFinder) {
if(!elementFinder) {
var obj = el;
}
@@ -213,14 +273,13 @@ function elementToggleHide(el, persistent, elementFinder, pixPath) {
}
if(obj.className.indexOf('hidden') == -1) {
obj.className += ' hidden';
document.getElementById('togglehide_'+obj.id).setAttribute('src', pixPath+'/t/switch_plus.gif');
var shown = 0;
var shown = 0;
}
else {
obj.className = obj.className.replace(new RegExp(' ?hidden'), '');
document.getElementById('togglehide_'+obj.id).setAttribute('src', pixPath+'/t/switch_minus.gif');
var shown = 1;
obj.className = obj.className.replace(new RegExp(' ?hidden'), '')
var shown = 1;
}
if(persistent == true) {
new cookie('hide:' + obj.id, 1, (shown ? -1 : 356), '/').set();
}