
// Other

function getInt(value) {
 var n = parseInt(value);
 return n == null || isNaN(n) ? 0 : n;
}

function getFloat(value) {
 var n = parseFloat(value);
 return n == null || isNaN(n) ? 0 : n;
}

function getElem(id) {
 return document.getElementById(id);
}

function getElemByName(name, tag) {
 // IE bug
 var obj = document.getElementsByName(name);
 var j;
 for(var i = 0; i < obj.length; i++) {
  if (obj.item(i).tagName == tag) j = i;
 }
 return obj.item(j);
}

function empty() {}

function selectItem(name, value) {
 var obj = document.getElementsByName(name).item(0);
 while ((""+value).indexOf('Ã') > 0) {
  if (value.indexOf('¡') > 0) {
   value = value.substring(0,value.indexOf('¡')-1) + 'á' + value.substring(value.indexOf('¡')+1);
  } else if (value.indexOf('©') > 0) {
   value = value.substring(0,value.indexOf('©')-1) + 'é' + value.substring(value.indexOf('©')+1);
  } else if (value.indexOf('³') > 0) {
   value = value.substring(0,value.indexOf('³')-1) + 'ó' + value.substring(value.indexOf('³')+1);
  } else if (value.indexOf('º') > 0) {
   value = value.substring(0,value.indexOf('º')-1) + 'ú' + value.substring(value.indexOf('º')+1);
  } else if (value.indexOf('±') > 0) {
   value = value.substring(0,value.indexOf('±')-1) + 'ñ' + value.substring(value.indexOf('±')+1);
  } else {
   value = value.substring(0,value.indexOf('Ã')) + 'í' + value.substring(value.indexOf('Ã')+1);
   }
 }
 obj.value = value;
}



// Tree functions

function initTree(id) {
 var obj = window.document.getElementById(id).childNodes;
 initLi(obj);
 expandTree(id);
}

function collapseTree(id) {
 var obj = window.document.getElementById(id).childNodes;
 collapseLi(obj);
}

function collapseLi(obj) {
 var li = obj.length;
 for(im[cuenta] = 0; im[cuenta] < li; im[cuenta]++){
  if (obj[im[cuenta]]) {
   if(obj[im[cuenta]].tagName == 'LI') {
    if (obj[im[cuenta]].className == 'openlast') {
     obj[im[cuenta]].className = 'closelast';
    } else if (obj[im[cuenta]].className == 'open') {
     obj[im[cuenta]].className = 'close';
    }
    var obj1 = obj[im[cuenta]].childNodes;
    var lj = obj1.length;
    for(jm[cuenta] = 0; jm[cuenta] < lj; jm[cuenta]++){
     if (obj1[jm[cuenta]]) {
      if (obj1[jm[cuenta]].tagName == 'A') {
       if (obj1[jm[cuenta]].className == 'openlink') {
        obj1[jm[cuenta]].className = 'closelink';
       }
      } else if(obj1[jm[cuenta]].tagName == 'UL') {
       obj1[jm[cuenta]].className = 'hidden';
       cuenta++;
       collapseLi(obj1[jm[cuenta - 1]].childNodes);
       cuenta--;
      }
     }
    }
   }
  }
 }
}
function expandTree(id) {
 var obj = window.document.getElementById(id).childNodes;
 expandLi(obj);
}

function expandLi(obj) {
 var li = obj.length;
 for(im[cuenta] = 0; im[cuenta] < li; im[cuenta]++){
  if (obj[im[cuenta]]) {
   if(obj[im[cuenta]].tagName == 'LI') {
    if (obj[im[cuenta]].className == 'closelast') {
     obj[im[cuenta]].className = 'openlast';
    } else if (obj[im[cuenta]].className == 'close') {
     obj[im[cuenta]].className = 'open';
    }
    var obj1 = obj[im[cuenta]].childNodes;
    var lj = obj1.length;
    for(jm[cuenta] = 0; jm[cuenta] < lj; jm[cuenta]++){
     if (obj1[jm[cuenta]]) {
      if (obj1[jm[cuenta]].tagName == 'A') {
       if (obj1[jm[cuenta]].className == 'closelink') {
        obj1[jm[cuenta]].className = 'openlink';
       }
      } else if(obj1[jm[cuenta]].tagName == 'UL') {
       obj1[jm[cuenta]].className = 'visible';
       cuenta++;
       expandLi(obj1[jm[cuenta - 1]].childNodes);
       cuenta--;
      }
     }
    }
   }
  }
 }
}


function initLi(obj) {
 var li = obj.length;
 for(im[cuenta] = 0; im[cuenta] < li; im[cuenta]++){
  if (obj[im[cuenta]]) {
   if(obj[im[cuenta]].tagName == 'LI') {
    var leaf = true;
    var obj1 = obj[im[cuenta]].childNodes;
    var lj = obj1.length;
    for(jm[cuenta] = 0; jm[cuenta] < lj; jm[cuenta]++){
     if (obj1[jm[cuenta]]) {
      if(obj1[jm[cuenta]].tagName == 'UL') {
       leaf = false;
       obj1[jm[cuenta]].className = 'hidden';
       cuenta++;
       initLi(obj1[jm[cuenta - 1]].childNodes);
       cuenta--;
      }
     }
    }
    if (leaf && cuenta == 0) {
    } else if (leaf) {
     obj[im[cuenta]].onclick = switchLeafDisplayChild;
    } else if (cuenta == 0) {
     obj[im[cuenta]].onclick = switchLeafDisplay;
    } else {
     obj[im[cuenta]].onclick = switchLeafDisplayParent;
    }
   }
  }
 }
}

function switchBrenchDisplay(obj, obj1, obj2) {
 if (obj.className == 'hidden') {
  obj.className = 'visible';
 } else if (obj.className == 'visible') {
  obj.className = 'hidden';
 }
 if (obj1.className == 'open') {
  obj1.className = 'close';
 } else if (obj1.className == 'close') {
  obj1.className = 'open';
 }
 if (obj1.className == 'openlast') {
  obj1.className = 'closelast';
 } else if (obj1.className == 'closelast') {
  obj1.className = 'openlast';
 }
 if (obj2.className == 'openlink') {
  obj2.className = 'closelink';
 } else if (obj2.className == 'closelink') {
  obj2.className = 'openlink';
 }
 return true;
}

function switchLeafDisplay() {
 leafEvent(this);
}

function switchLeafDisplayParent() {
 leafEvent(this);
 leafEvent(this.parentNode.parentNode);
}

function switchLeafDisplayChild() {
 leafEvent(this.parentNode.parentNode);
}

function leafEvent(obj) {
 var obj1;
 var obj2;
 var objChilds = obj.childNodes;
 var li=objChilds.length;
 for(i = 0; i < li; i++){
  if (objChilds[i].tagName == 'UL') {
   obj1 = objChilds[i];
  } else if (objChilds[i].tagName == 'A') {
   obj2 = objChilds[i];
  }
 }
 switchBrenchDisplay(obj1, obj, obj2);
}


// Menu functions

function initMenu(id) {
 var obj = window.document.getElementById(id).childNodes;
 initLiMenu(obj);
}

function initLiMenu(obj) {
 var li = obj.length;
 for(im[cuenta] = 0; im[cuenta] < li; im[cuenta]++){
  if (obj[im[cuenta]]) {
   if(obj[im[cuenta]].tagName == 'LI') {
    obj[im[cuenta]].onmouseover = displayMenu;
    var obj1 = obj[im[cuenta]].childNodes;
    var lj = obj1.length;
    for(jm[cuenta] = 0; jm[cuenta] < lj; jm[cuenta]++){
     if (obj1[jm[cuenta]]) {
      if(obj1[jm[cuenta]].tagName == 'UL') {
       obj1[jm[cuenta]].className = 'mh';
       cuenta++;
       initLiMenu(obj1[jm[cuenta - 1]].childNodes);
       cuenta--;
      }
     }
    }
   }
  }
 }
}

function showSubMenu(obj) {
 obj.className = 'mv';
 if (obj.parentNode.parentNode.tagName == 'UL'
  &&  obj.parentNode.parentNode.className != 'menu') {
  showSubMenu(obj.parentNode.parentNode)
 }
}

function hideMenu() {
 var objChilds = getElem('m1').childNodes;
 cuenta = 0;
 hideSubMenu(objChilds);
}

function hideSubMenu(objChilds) {
  var lj = objChilds.length;
  for(jm[cuenta] = 0; jm[cuenta] < lj; jm[cuenta]++){
  if (objChilds[jm[cuenta]].tagName == 'LI') {
   if(getUlChild(objChilds[jm[cuenta]])) {
   var obj = getUlChild(objChilds[jm[cuenta]]);
    obj.className = 'mh';
    cuenta++;
    hideSubMenu(obj.childNodes);
    cuenta--;
   }
  }
 }
}

function getUlChild(obj) {
 var obj1 = null;
 var objChilds = obj.childNodes;
 var li = objChilds.length;
 for(i = 0; i < li; i++){
  if (objChilds[i].tagName == 'UL') {
   obj1 = objChilds[i];
  }
 }
 return obj1;
}

function displayMenu() {
 var objParentChilds = this.parentNode.childNodes;
 var lj = objParentChilds.length;
 for(j = 0; j < lj; j++){
  if (objParentChilds[j].tagName == 'LI') {
   objLi = objParentChilds[j];
   if (getUlChild(objLi) != null && getUlChild(this) != getUlChild(objLi))
    getUlChild(objLi).className = 'mh';
  }
 }
 if (getUlChild(this) != null) getUlChild(this).className='mv';
}

// Scripts initialize

var isIE;  
var isNS;
var cuenta = 0;
var im = new Array();
var jm = new Array();



// Events initialize

function initComponents() {
 if (getElem('tree')) {
  initTree('tree');
  collapseTree('tree');
 }
 cuenta = 0;
 initMenu('m1');
 document.getElementById(blkcomp).onmouseover = hideMenu;
 //initSaveHTML();
}

function popCal() {
popUpCalendar(this, document.forms['formPRE'].dateArrival, 'dd-mm-yyyy');
}

function initSaveHTML() {}

blkwork = 'blkamwork';
blkcomp = 'blkamcomp';
blktree = 'blkamtree';

if (window.attachEvent) {
 isIE = true;
 isNS = false;
 window.attachEvent('onload', initComponents);
} else if (window.addEventListener) {
 isIE = false;
 isNS = true;
 window.addEventListener('load', initComponents, false);
} else {
 window.onload = initComponents;
}
