Difference between revisions of "Committees"

From QIBA Wiki
Jump to navigation Jump to search
Line 54: Line 54:
  
 
==MR Committees==
 
==MR Committees==
<ul id="nav"><li><span class="plainlinks">'''[[Main_Page|Shortcuts]]'''</span><ul><li><span class="plainlinks">'''[[Carnivores]]'''</span></li><li><span class="plainlinks">'''[[Herbivores]]'''</span></li><li><span class="plainlinks">'''[[Reptiles]]'''</span></li><li><span class="plainlinks">'''[[Amphibians]]'''</span></li><li><span class="plainlinks">'''[[Mammals]]'''</span></li></ul></li></ul></ul>
+
function ddm() {
 +
 
 +
    // Variables, change these in case you need to set other class names (mmhide_ for
 +
    // contribute users for example)
 +
    var parentClass = 'isParent'; //gets applied when the LI has a nested UL
 +
    var activeParentClass = 'isActive'; //gets applied when the nested UL is visible
 +
    var preventHoverClass = 'nohover'; //denotes a navigation that should not get any hover effects
 +
    var indicateJSClass = 'dhtml'; //gets applied to the main navigation when Javascript is available
 +
    var toHideClass = 'hiddenChild'; //gets applied to hide the nested UL
 +
    var toShowClass = 'shownChild'; //gets applied to show the nested UL
 +
    var currentClass = 'current'; //denotes the current active sub element and prevents collapsing
 +
    var d = document.getElementById('nav'); //denotes the navigation element
 +
 
 +
    // if DOM is not available stop right here.
 +
    if (!document.getElementById && !document.createTextNode) {
 +
        return;
 +
    }
 +
 
 +
    // if the navigation element is available, apply the class denoting DHTML capabilities
 +
    if (d) {
 +
        d.className += d.className == '' ? indicateJSClass : ' ' + indicateJSClass;
 +
        var lis, i, firstUL, j, apply;
 +
 
 +
        // loop through all LIs and check which ones have a nested UL
 +
        lis = d.getElementsByTagName('li');
 +
        for (i = 0; i < lis.length; i++) {
 +
            firstUL = lis[i].getElementsByTagName('ul')[0];
 +
                // if there is a nested UL, deactivate the first nested link and apply the class to show
 +
                // there is a nested list
 +
            if (firstUL) {
 +
                lis[i].childNodes[0].onclick = function() {
 +
                    return false;
 +
                };
 +
                lis[i].className += lis[i].className == '' ? parentClass : ' ' + parentClass;
 +
                // check if there is a "current" element
 +
                apply = true;
 +
                if (new RegExp('\\b' + currentClass + '\\b').test(lis[i].className)) {
 +
                    apply = false;
 +
                }
 +
                if (apply) {
 +
                    for (j = 0; j < firstUL.getElementsByTagName('li').length; j++) {
 +
                        if (new RegExp('\\b' + currentClass + '\\b').test(firstUL.getElementsByTagName('li')[j].className)) {
 +
                            apply = false;
 +
                            break;
 +
                        }
 +
                    }
 +
                }
 +
                // if there is no current element, apply the class to hide the nested list
 +
                if (apply) {
 +
                    firstUL.className += firstUL.className == '' ? toHideClass : ' ' + toHideClass;
 +
                    // check if there is a class to prevent hover effects and only apply the function
 +
                    // onclick if that is the case, otherwise apply it onclick and onhover
 +
                    if (new RegExp('\\b' + preventHoverClass + '\\b').test(d.className)) {
 +
                        lis[i].onclick = function() {
 +
                            doddm(this);
 +
                        };
 +
                    } else {
 +
                        lis[i].onclick = function() {
 +
                            doddm(this);
 +
                        };
 +
                        lis[i].onmouseover = function() {
 +
                            doddm(this);
 +
                        };
 +
                        lis[i].onmouseout = function() {
 +
                            doddm(null);
 +
                        };
 +
                    }
 +
                    // if there is a current element, define the list as being kept open and apply the
 +
                    // classes to show the nested list and define the parent LI as an active one
 +
                } else {
 +
                    lis[i].keepopen = 1;
 +
                    firstUL.className += firstUL.className == '' ? toShowClass : ' ' + toShowClass;
 +
                    lis[i].className = lis[i].className.replace(parentClass, activeParentClass);
 +
                }
 +
            }
 +
        }
 +
    }
 +
    // function to show and hide the nested lists and add the classes to the parent LIs
 +
    function doddm(o) {
 +
        var childUL, isobj, swap;
 +
 
 +
        // loop through all LIs of the navigation     
 +
        lis = d.getElementsByTagName('li');
 +
        for (i = 0; i < lis.length; i++) {
 +
            isobj = lis[i] == o;
 +
            // function to exchange class names in an object
 +
            swap = function(tmpobj, tmporg, tmprep) {
 +
                tmpobj.className = tmpobj.className.replace(tmporg, tmprep);
 +
            };
 +
            // if the current LI does not have an indicator to be kept visible
 +
            if (!lis[i].keepopen) {
 +
                childUL = lis[i].getElementsByTagName('ul')[0];
 +
                // check if there is a nested UL and if the current LI is not the one clicked on
 +
                // and exchange the classes accordingly (ie. hide all other nested lists and
 +
                // make the LIs parent rather than active.
 +
                if (childUL) {
 +
                    if (new RegExp('\\b' + preventHoverClass + '\\b').test(d.className)) {
 +
                        if (new RegExp('\\b' + activeParentClass + '\\b').test(lis[i].className)) {
 +
                            swap(childUL, isobj ? toShowClass : toHideClass, isobj ? toHideClass : toShowClass);
 +
                            swap(lis[i], isobj ? activeParentClass : parentClass, isobj ? parentClass : activeParentClass);
 +
                        } else {
 +
 
 +
                            swap(childUL, isobj ? toHideClass : toShowClass, isobj ? toShowClass : toHideClass);
 +
                            swap(lis[i], isobj ? parentClass : activeParentClass, isobj ? activeParentClass : parentClass);
 +
                        }
 +
                    } else {
 +
                        swap(childUL, isobj ? toHideClass : toShowClass, isobj ? toShowClass : toHideClass);
 +
                        swap(lis[i], isobj ? parentClass : activeParentClass, isobj ? activeParentClass : parentClass);
 +
                    }
 +
                }
 +
            }
 +
        }
 +
    }
 +
}
 +
window.onload = function() {
 +
    ddm();
 +
    // add other functions to be called onload below
 +
};

Revision as of 17:53, 8 August 2018

QIBA Committee Organization Chart July 2018

  • Airway Measurement TF



  • Profile Compliance TF
  • FDG-PET UPICT TF
  • System Dependencies/Phantom Testing TF
  • Clinical Applications TF
  • System Dependencies/Phantom Testing/Clinical Validation

See Also

MR Committees

function ddm() {

   // Variables, change these in case you need to set other class names (mmhide_ for 
   // contribute users for example)
   var parentClass = 'isParent'; //gets applied when the LI has a nested UL
   var activeParentClass = 'isActive'; //gets applied when the nested UL is visible
   var preventHoverClass = 'nohover'; //denotes a navigation that should not get any hover effects
   var indicateJSClass = 'dhtml'; //gets applied to the main navigation when Javascript is available
   var toHideClass = 'hiddenChild'; //gets applied to hide the nested UL
   var toShowClass = 'shownChild'; //gets applied to show the nested UL
   var currentClass = 'current'; //denotes the current active sub element and prevents collapsing
   var d = document.getElementById('nav'); //denotes the navigation element 
   // if DOM is not available stop right here.
   if (!document.getElementById && !document.createTextNode) {
       return;
   }
   // if the navigation element is available, apply the class denoting DHTML capabilities
   if (d) {
       d.className += d.className ==  ? indicateJSClass : ' ' + indicateJSClass;
       var lis, i, firstUL, j, apply;
       // loop through all LIs and check which ones have a nested UL
       lis = d.getElementsByTagName('li');
       for (i = 0; i < lis.length; i++) {
           firstUL = lis[i].getElementsByTagName('ul')[0];
               // if there is a nested UL, deactivate the first nested link and apply the class to show 
               // there is a nested list
           if (firstUL) {
               lis[i].childNodes[0].onclick = function() {
                   return false;
               };
               lis[i].className += lis[i].className ==  ? parentClass : ' ' + parentClass;
               // check if there is a "current" element 
               apply = true;
               if (new RegExp('\\b' + currentClass + '\\b').test(lis[i].className)) {
                   apply = false;
               }
               if (apply) {
                   for (j = 0; j < firstUL.getElementsByTagName('li').length; j++) {
                       if (new RegExp('\\b' + currentClass + '\\b').test(firstUL.getElementsByTagName('li')[j].className)) {
                           apply = false;
                           break;
                       }
                   }
               }
               // if there is no current element, apply the class to hide the nested list
               if (apply) {
                   firstUL.className += firstUL.className ==  ? toHideClass : ' ' + toHideClass;
                   // check if there is a class to prevent hover effects and only apply the function
                   // onclick if that is the case, otherwise apply it onclick and onhover
                   if (new RegExp('\\b' + preventHoverClass + '\\b').test(d.className)) {
                       lis[i].onclick = function() {
                           doddm(this);
                       };
                   } else {
                       lis[i].onclick = function() {
                           doddm(this);
                       };
                       lis[i].onmouseover = function() {
                           doddm(this);
                       };
                       lis[i].onmouseout = function() {
                           doddm(null);
                       };
                   }
                   // if there is a current element, define the list as being kept open and apply the 
                   // classes to show the nested list and define the parent LI as an active one
               } else {
                   lis[i].keepopen = 1;
                   firstUL.className += firstUL.className ==  ? toShowClass : ' ' + toShowClass;
                   lis[i].className = lis[i].className.replace(parentClass, activeParentClass);
               }
           }
       }
   }
   // function to show and hide the nested lists and add the classes to the parent LIs
   function doddm(o) {
       var childUL, isobj, swap;
       // loop through all LIs of the navigation       
       lis = d.getElementsByTagName('li');
       for (i = 0; i < lis.length; i++) {
           isobj = lis[i] == o;
           // function to exchange class names in an object
           swap = function(tmpobj, tmporg, tmprep) {
               tmpobj.className = tmpobj.className.replace(tmporg, tmprep);
           };
           // if the current LI does not have an indicator to be kept visible
           if (!lis[i].keepopen) {
               childUL = lis[i].getElementsByTagName('ul')[0];
               // check if there is a nested UL and if the current LI is not the one clicked on
               // and exchange the classes accordingly (ie. hide all other nested lists and 
               // make the LIs parent rather than active.
               if (childUL) {
                   if (new RegExp('\\b' + preventHoverClass + '\\b').test(d.className)) {
                       if (new RegExp('\\b' + activeParentClass + '\\b').test(lis[i].className)) {
                           swap(childUL, isobj ? toShowClass : toHideClass, isobj ? toHideClass : toShowClass);
                           swap(lis[i], isobj ? activeParentClass : parentClass, isobj ? parentClass : activeParentClass);
                       } else {
                           swap(childUL, isobj ? toHideClass : toShowClass, isobj ? toShowClass : toHideClass);
                           swap(lis[i], isobj ? parentClass : activeParentClass, isobj ? activeParentClass : parentClass);
                       }
                   } else {
                       swap(childUL, isobj ? toHideClass : toShowClass, isobj ? toShowClass : toHideClass);
                       swap(lis[i], isobj ? parentClass : activeParentClass, isobj ? activeParentClass : parentClass);
                   }
               }
           }
       }
   }

} window.onload = function() {

   ddm();
   // add other functions to be called onload below

};