/* generación de menú */

//funcion obtnener alias de la url
var obtenerAlias = function(){
   var loc = document.location.href,
   cadLoc = loc.split('/'),
   cadAnc = cadLoc.length,  
   alias = (cadLoc[cadAnc-1]).split('-'),
   alias0 = (alias[0])?((alias[0]).split('.'))[0]:alias[0],
   alias1 = (alias[1])?((alias[1]).split('.'))[0]:alias[1];
   alias2 = (alias[2])?((alias[2]).split('.'))[0]:alias[2];
   return {'alias0':alias0,'alias1':alias1,'alias2':alias2};
   /*
	   obtenerAlias().alias0 -> Alias 1
	   obtenerAlias().alias1 -> Alias 2
	   obtenerAlias().alias2 -> Alias 3
   */
}
//iconos
var iconos = [
	'icono-administrar',
	'icono-acreditar',
	'icono-acreditar',
	'icono-generar',
	'icono-registrar',
	'icono-validar-nominas'
];

//obteniendo datos
var alias0 = obtenerAlias().alias0,
alias1 = obtenerAlias().alias1,
alias2 = obtenerAlias().alias2;
var json = menuModulo, json = json[0];

//metodo
function ObtenerParametros(opcion, menuModulo){
 var arreglo=new Array();
 
 $.each(menuModulo, function(key1, val1){
  if(val1['items']){
   $.each(val1['items'], function(key2, val2){  
    if(val2['subItems'] && key2==opcion){
     $.each(val2['subItems'], function(key3, val3){
      if(val3['subItems'].length!=0){
       $.each(val3['subItems'], function(key4, val4){
        arreglo.push({
         primerOrden: key2,
         segundoOrden: key3,
         tercerOrden: key4,
         primerNombre: val2['name'],
         segundoNombre: val3['name'],
         tercerNombre: val4['name'],
         primerAlias: val2['alias'],
         segundoAlias: val3['alias'],
         tercerAlias: val4['alias']
        });
       })
      }
      else{
       arreglo.push({
         primerOrden: key2,
         segundoOrden: key3,
         primerNombre: val2['name'],
         segundoNombre: val3['name'],
         primerAlias: val2['alias'],
         segundoAlias: val3['alias']
        });
      }
     })
    }
   })
  }  
 })
 return arreglo[0];
}

//Obtener primer nivel
var obtenerItems = function(json) {
	var li1 = '', json1 = json.items;
	for(var i=0; i<json1.length;i++){
		var data = ObtenerParametros(i, menuModulo);
		  if(data.tercerAlias=="" || data.tercerAlias==undefined){
			  li1 += '<li  data-indice1="'+ i +'"><a href="'+ data.primerAlias+'-'+data.segundoAlias+ '.html"><i class="'+iconos[i]+'"></i>'+json1[i].name+'</a></li>';
		  }
		  else{
			  li1 += '<li  data-indice1="'+ i +'"><a href="'+ data.primerAlias+'-'+data.segundoAlias+'-'+data.tercerAlias  + '.html"><i class="'+iconos[i]+'"></i>'+json1[i].name+'</a></li>';
		  }
	}
	return li1;
}
//Obtener segundo y tercer nivel
var obtenerSubItems = function(json, alias0) {
	json2 = json.items, json2a=[], li2 = '', li3= '';
	for(var j=0;j<json2.length;j++){
		if(alias0 == json2[j].alias){
			json2a = json2[j].subItems;
			for(var k=0; k<json2a.length;k++){
				var subSubItems = json2a[k].subItems.length;
				li3 = '';
				if(subSubItems>0){
					li3 += '<ul>';
					for(var l=0; l<subSubItems;l++){
						li3 += '<li  data-indice3="'+ l +'"><a href="'+ json2[j].alias + '-' + json2a[k].alias + '-' + json2a[k].subItems[l].alias +'.html">'+ json2a[k].subItems[l].name +'</a></li>';
					}
					li3 += '</ul>';
				}
				li2 += '<li data-indice2="'+ k +'" class="'+((li3.length>0)?'subsub-menu':'')+'"><a href="'+ json2[j].alias + '-' + json2a[k].alias + '.html">' + json2a[k].name + '</a>'+
				li3 +
				'</li>';
			}
			break;
		}	
	}
	return li2;
}

//Elementos del dom
var nav = $('#navegacion-principal ul'),
	subNav = $('#lateral-menu ul'),
	bcrumb = $('#breadcrumb-main');

// Primer nivel
nav.html(obtenerItems(json));
//Segundo y tercer nivel
subNav.html(obtenerSubItems(json, alias0));

//breadcrumb
var obtenerBreadcrumbs = function(json, alias0,alias1) {
	var liBCrumbs = '', jsonB = json.items;
	for(var n=0;n<jsonB.length;n++){
		if(alias0 == jsonB[n].alias){
			if(alias2 == '' || alias2 == undefined ){
				liBCrumbs += '<li><a href="'+ alias0 + '-' + alias1 + '.html">'+jsonB[n].name+'</a><span class="divider">›</span></li>';
			}else{
				liBCrumbs += '<li><a href="'+ alias0 + '-' + alias1 + '-' + alias2 + '.html">'+jsonB[n].name+'</a><span class="divider">›</span></li>';
			}
			for(var m=0;m<jsonB[n].subItems.length;m++){
				if(alias1 == (jsonB[n].subItems)[m].alias){
					liBCrumbs += '<li class="active">'+(jsonB[n].subItems)[m].name+'</li>';		
				}
			}		
		}
	}
	return liBCrumbs;
}
bcrumb.html(obtenerBreadcrumbs(json, alias0,alias1));

//Acordion menu
if($('.subsub-menu').size()>0){
	var allPanels = $('.subsub-menu > ul').hide();   
	$('.subsub-menu > a').click(function(e) {
		e.preventDefault();
		$this = $(this);
		$target =  $this.next();
		if(!$target.hasClass('in')){
			allPanels.removeClass('in').slideUp();
			allPanels.parents('li').removeClass('activo');
			$target.addClass('in').slideDown();
			$target.parents('li').addClass('activo');
		}
	});
}

//Marcado del activo
var marcarActivo = function() {
	//Primer nivel
	nav.find('a[href*="'+alias0+'"]').parent().addClass('activo');
	//Segundo nivel
	subNav.find('a[href*="'+alias0+'-'+alias1+'"]').eq(0).parent().addClass('activo').prepend('<i class="flecha"></i>');
	var activeSM = subNav.find('li.subsub-menu.activo');
	activeSM.find('ul').eq(0).addClass('in').removeAttr('style').css('display','block');
	//Tercer nivel
	var ali3 = alias0+'-'+alias1+'-'+alias2+'.html';
	subNav.find('a[href="'+ali3+'"]').eq(0).parent().addClass('activo');
}
marcarActivo();