/**
 * @author David
 * Este archivo utiliza funciones que estan definidas en el producto "Consulta"
 * Especificamente en el Archivo "skins/legis_consulta/js_Consulta/listadeResultados.js"
 * tales como:
 * - recalcularCarro
 * - EnviarAExportar
 * - SacardeCarrito
 * - existeEnCarro
 */

/**
 * Se ocupa esta variable para ir almacenando en una variable local 
 * los objetos (checkBoxs) que serán enviados al maletin (cookie)
 * cuando son enviados, los objetos pasan a la Variable "ObjetosEnCarrito",
 * para poder limpiar luego el arbol.
 */
var ObjetosAlCarrito = new Array();
var ObjetosEnCarrito = new Array();

function SeleccionaParteArbol(obj){
	if(obj.checked){
		ObjetosAlCarrito.push(obj);
    }else{
		ObjetosAlCarrito = QuitarDeArray(obj,ObjetosAlCarrito);
		ObjetosEnCarrito = QuitarDeArray(obj,ObjetosEnCarrito);
        SacardeCarrito(obj,'carritoNorma');
        recalcularCarro('carritoNorma');
    }		
}
function QuitarDeArray(obj,Arreglo){
	var ArregloLocal = new Array();
	for(var i=0;i<Arreglo.length;i++){
		if(Arreglo[i].getAttribute("value") != obj.getAttribute("value")){
			ArregloLocal.push(Arreglo[i]);
		}
	}	
	return ArregloLocal;
}
var ObjetosATrazar = new Array();
EnviarAMaletin = function (){
	ObjetosAlCarrito = ObjetosAlCarrito.reverse();
	var largo_var = ObjetosAlCarrito.length;
	var obj;
	var alertMostrado =  false;
	for (var i = 0; i<largo_var;i++){
		obj = ObjetosAlCarrito.pop();
		ObjetosEnCarrito.push(obj);
		
		/*
		 * Traza
		 */
		if (calcularEspacio() <= 0){
			obj.checked = false;
			recalcularCarro('carritoNorma');
			if(!alertMostrado){alert("Ha sobrepasado el limite de exportarción");}
			
			alertMostrado =  true;
			continue;
		}
		
			
	    ObjetosATrazar.push(obj);
		EnviarAExportar(obj,'carritoNorma');
        recalcularCarro('carritoNorma');
	}
	TrazarExportaDesdeArbol2(ObjetosATrazar);
	ObjetosATrazar = new Array();
}

function LimpiarArbolySacarDeCarrito(){
	var obj = null;
	var largo = ObjetosEnCarrito.length;
	cleanAll();
	for(var i=0;i<largo;i++ ){
		obj = ObjetosEnCarrito.pop();
		SacardeCarrito(obj,'carritoNorma');
        recalcularCarro('carritoNorma');
	}
}

function SeleccionarTodosEnCarrito(){
	var chkSel = document.getElementsByName('dtreecheck');
    for(var i=0;i<chkSel.length;i++){
		var norma=chkSel[i].getAttribute('idnorma');
		var version = chkSel[i].getAttribute('fechavigencia');
		var partenorma=chkSel[i].getAttribute('idpartenorma');
		var versionparte=chkSel[i].getAttribute('idversionparte');
	    var idGen=norma+"." + version+"."+partenorma+"."+versionparte;
		if (existeEnCarro(idGen)){
			ObjetosEnCarrito.push(chkSel[i]);
			chkSel[i].checked = true;
		}else{
			chkSel[i].checked = false;
		}
    }
}