opcionesMn = new Array()

opcionesMn[0] = new Array()
opcionesMn[0]['id'] = 1
opcionesMn[0]['nombre'] = 'Técnicas de relleno'
opcionesMn[0]['enlace'] = ''
opcionesMn[0]['parent'] = -1
opcionesMn[0]['nivel'] = 0
opcionesMn[0]['nodo'] = true
opcionesMn[0]['desplegado'] = false

opcionesMn[1] = new Array()
opcionesMn[1]['id'] = 2
opcionesMn[1]['nombre'] = 'Cara'
opcionesMn[1]['enlace'] = ''
opcionesMn[1]['parent'] = 0
opcionesMn[1]['nivel'] = 1
opcionesMn[1]['nodo'] = true
opcionesMn[1]['desplegado'] = false

opcionesMn[2] = new Array()
opcionesMn[2]['id'] = 3
opcionesMn[2]['nombre'] = 'Tejidos Autólogos'
opcionesMn[2]['enlace'] = ''
opcionesMn[2]['parent'] = 2
opcionesMn[2]['nivel'] = 2
opcionesMn[2]['nodo'] = false
opcionesMn[2]['desplegado'] = false

opcionesMn[3] = new Array()
opcionesMn[3]['id'] = 4
opcionesMn[3]['nombre'] = 'Sustancia Sintéticas'
opcionesMn[3]['enlace'] = ''
opcionesMn[3]['parent'] = 2
opcionesMn[3]['nivel'] = 2
opcionesMn[3]['nodo'] = false
opcionesMn[3]['desplegado'] = false

opcionesMn[4] = new Array()
opcionesMn[4]['id'] = 5
opcionesMn[4]['nombre'] = 'Cuerpo'
opcionesMn[4]['enlace'] = ''
opcionesMn[4]['parent'] = 1
opcionesMn[4]['nivel'] = 1
opcionesMn[4]['nodo'] = true
opcionesMn[4]['desplegado'] = false

opcionesMn[5] = new Array()
opcionesMn[5]['id'] = 6
opcionesMn[5]['nombre'] = 'Técnicas de relleno corporal (Bioalcamid)'
opcionesMn[5]['enlace'] = ''
opcionesMn[5]['parent'] = 5
opcionesMn[5]['nivel'] = 2
opcionesMn[5]['nodo'] = false
opcionesMn[5]['desplegado'] = false

opcionesMn[6] = new Array()
opcionesMn[6]['id'] = 7
opcionesMn[6]['nombre'] = 'Prótesis de Glúteos'
opcionesMn[6]['enlace'] = ''
opcionesMn[6]['parent'] = 5
opcionesMn[6]['nivel'] = 2
opcionesMn[6]['nodo'] = false
opcionesMn[6]['desplegado'] = false

opcionesMn[7] = new Array()
opcionesMn[7]['id'] = 9
opcionesMn[7]['nombre'] = 'Técnicas de eliminación de acúmulos grasos mediante liposucción ultrasónica (UAL)'
opcionesMn[7]['enlace'] = ''
opcionesMn[7]['parent'] = -1
opcionesMn[7]['nivel'] = 0
opcionesMn[7]['nodo'] = true
opcionesMn[7]['desplegado'] = false

opcionesMn[8] = new Array()
opcionesMn[8]['id'] = 10
opcionesMn[8]['nombre'] = 'Cuello'
opcionesMn[8]['enlace'] = ''
opcionesMn[8]['parent'] = 9
opcionesMn[8]['nivel'] = 1
opcionesMn[8]['nodo'] = true
opcionesMn[8]['desplegado'] = false

opcionesMn[9] = new Array()
opcionesMn[9]['id'] = 11
opcionesMn[9]['nombre'] = 'Giba de búfalo'
opcionesMn[9]['enlace'] = ''
opcionesMn[9]['parent'] = 10
opcionesMn[9]['nivel'] = 2
opcionesMn[9]['nodo'] = false
opcionesMn[9]['desplegado'] = false

opcionesMn[10] = new Array()
opcionesMn[10]['id'] = 12
opcionesMn[10]['nombre'] = 'Cara anterior de cuello'
opcionesMn[10]['enlace'] = ''
opcionesMn[10]['parent'] = 10
opcionesMn[10]['nivel'] = 2
opcionesMn[10]['nodo'] = false
opcionesMn[10]['desplegado'] = false

opcionesMn[11] = new Array()
opcionesMn[11]['id'] = 13
opcionesMn[11]['nombre'] = 'Abdomen'
opcionesMn[11]['enlace'] = ''
opcionesMn[11]['parent'] = 9
opcionesMn[11]['nivel'] = 1
opcionesMn[11]['nodo'] = true
opcionesMn[11]['desplegado'] = false

opcionesMn[12] = new Array()
opcionesMn[12]['id'] = 14
opcionesMn[12]['nombre'] = 'UAL'
opcionesMn[12]['enlace'] = ''
opcionesMn[12]['parent'] = 13
opcionesMn[12]['nivel'] = 2
opcionesMn[12]['nodo'] = false
opcionesMn[12]['desplegado'] = false

opcionesMn[13] = new Array()
opcionesMn[13]['id'] = 15
opcionesMn[13]['nombre'] = 'Abdomenoplastia'
opcionesMn[13]['enlace'] = ''
opcionesMn[13]['parent'] = 13
opcionesMn[13]['nivel'] = 2
opcionesMn[13]['nodo'] = false
opcionesMn[13]['desplegado'] = false

//Función para ordenar la matriz de acuerdo al parent
function myBubbleSort(arrayName,length) {
    var cad = ''
    for (var i=0; i<(length-1); i++)
        for (var j=i+1; j<length; j++)
            if (arrayName[j]['parent'] < arrayName[i]['parent']) {
                var dummy = arrayName[i]['parent'];
                arrayName[i]['parent'] = arrayName[j]['parent'];
                arrayName[j]['parent'] = dummy;
            }
}

//Obtener los hijos de cada nivel
function getChilds() {

  for (var cont = 0; cont < opcionesMn.length; cont++) {
	var i = ''
	    for (var cont2 = cont; cont2 < opcionesMn.length; cont2++)
        if (opcionesMn[cont2]['parent'] == opcionesMn[cont]['id']) i += cont2+',' 

	//alert(cont + " " + i)	
	i = i.substring(i.length-1,i.length) == ',' ? i.substring(0,i.length-1) : i 
	opcionesMn[cont]['childs'] = i
	}//End for
	
	
}//End getChilds

//Repetir string
function str_rep(n) {
 var s = "", t = this.toString()
    while (--n >= 0) s += t 
 return s}

//Sort Array
//myBubbleSort(opcionesMn,opcionesMn.length)

//Sort Array according with parents
//sortArrayParent(opcionesMn)
/*
cad = ''
for (cont = 0; cont < opcionesMn.length; cont++) {
    cad += opcionesMn[cont]['parent'] + "\n"
}
alert(cad)
*/

//Obtener los hijos de cada nivel
getChilds()

function writeTree(){

  var cad = "<table border='0' cellpadding='0' cellspacing='0'>"
	var parentMenu = ''

  for (var cont = 0; cont < opcionesMn.length -1; cont++)

	   var icono = selectAction(cont)
	   if (opcionesMn[cont]['desplegado'] || opcionesMn[cont]['nivel'] == 0) {
       		   
				 if (icono[0] == '-') showChilds(cont)
		 
			   cad+= "<tr><td><a href=\"javascript:"+icono[1]+"\">" + icono[0] + "</a><a href='javascript:writeOpc("+cont+")'>" + opcionesMn[cont]['nombre'] + "</a></td></tr>"
		   
		 
		 }//End if

	   cad+= "<tr><td><a href=\"javascript:"+icono[1]+"\">" + icono[0] + "</a><a href='javascript:writeOpc("+cont+")'>" + opcionesMn[cont]['nombre'] + "</a></td></tr>"

     cad += '</table>'
		 
		 writeDespMenu(cad)
}//End function


function showChilds(parentId){ 				   

  for (var cont = 0; cont < opcionesMn.length; cont++)
	  if (opcionesMn[cont]['parent'] == parentId)
 			 if (opcionesMn[cont]['childs'] > 0) selectAction(cont)  
	
}//End function

//select Childs
function selectAction(ItemId){

		  var icono = new Array()
			
      if (opcionesMn[ItemId]['childs'] > 0) {
			   icono[0] = opcionesMn[ItemId]['desplegado'] ? "-" : "+"
				 icono[1] = opcionesMn[ItemId]['desplegado'] ? "opcionesMn["+cont+"]['desplegado'] = false; writeTree()" : "opcionesMn["+ItemId+"]['desplegado'] = true; writeTree()"
         
			 }//End if
		   else {
			 
			   icono[0] = 'O'
				 icono[1] = '//'
			   
			 }//End no tiene hijos


   return icono

}//End function



//Escribir el menú desplegable
function writeDespMenu(contenidocp) {

  if (ie4)
	  document.all.submenu.innerHTML = contenidocp

}//End writeDespMenu
