﻿
// Returns the element object of the given id
function $(id){
  return document.getElementById(id);
}

// hides the given element
function Hide(id, e){
  
  var element = $(id);
  // Make sure we´re outside the whole  div
  var relTarg;
  if (e.relatedTarget){ 
    relTarg = e.relatedTarget;
  }
  else if (e.toElement){ 
    relTarg = e.toElement;
  }
  
  // If all the way out, close
  if (relTarg.id == id){
    element.style.display = "none";
  }
}

// hide or display the given id's selection box
function ToggleList(obj)
{
  var DivElement = $(obj + "_Div");
    
  // if the element is being shown, hide it
  if (DivElement.style.display != 'none'){
    DivElement.style.display = 'none';
  }
  else{
    CloseAll();
    DivElement.style.display = '';    
  }  
}

function CloseAll(){
  var Elements = getElementsByClassName("listMenu", "div");
  for (var i = 0, j = Elements.length; i < j; i++) {
   Elements[i].style.display = 'none';
  }
}

// returns all elements witht the given class name, of the given tagname within the given container
function getElementsByClassName(strClass, strTag, objContElm) {
  strTag = strTag || "*";
  objContElm = objContElm || document;    
  var objColl = objContElm.getElementsByTagName(strTag);
  if (!objColl.length &&  strTag == "*" &&  objContElm.all) objColl = objContElm.all;
  var arr = new Array();                              
  var delim = strClass.indexOf('|') != -1  ? '|' : ' ';   
  var arrClass = strClass.split(delim);    
  for (var i = 0, j = objColl.length; i < j; i++) {                         
    var arrObjClass = objColl[i].className.split(' ');   
    if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
    var c = 0;
    comparisonLoop:
    for (var k = 0, l = arrObjClass.length; k < l; k++) {
      for (var m = 0, n = arrClass.length; m < n; m++) {
        if (arrClass[m] == arrObjClass[k]) c++;
        if ((delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) {
          arr.push(objColl[i]); 
          break comparisonLoop;
        }
      }
    }
  }
  return arr; 
}