var tList="";
var vTipo="";
var vGnum=0;
var vGval="";
var vGtam="95%"
var jGfunciones="{}";
var vGmodulo="";
var vGcampoi="";
var vGcampof="";
var cVector="";
var jSondatosadi="";
var jSoncamposadi="";
var gXml=""
var	gFac=""
var	gPre=""
var	gNro=""
var	gNom=""
var	gEml=""
var vGmod=""
var vTmod=""
var vGfiltro=""
var cSw=0
var dSw=0
var dEle=0

function createREQ() {
try {
     req = new XMLHttpRequest(); /* p.e. Firefox */
     } catch(err1) {
       try {
       req = new ActiveXObject('Msxml2.XMLHTTP'); /* algunas versiones IE */
       } catch (err2) {
         try {
         req = new ActiveXObject("Microsoft.XMLHTTP"); /* algunas versiones IE */
         } catch (err3) {
          req = false;
         }
       }
     }
	  
     return req;
	 
	
}
function requestGET(url, query, req) {
myRand=parseInt(Math.random()*99999999);
if(query == ''){query='no=no';}
req.open("GET",url+'?'+query+'&rand='+myRand,true);
req.send(null);
}
function requestPOST(url, query, req) {
req.open("POST", url,true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send(query);
}
function doCallback(callback,item,parametros) {
eval(callback + '(item,parametros)');
}
//funcion principal (doAjax) los parametros son 
//*****url:Direccion pagina de proceso ejemplo pagina.php
//*****query:Envio de datos por parametros a la pagina si es metodo get se envia cedula=885930
//*****callback:Devolucion de llamada aqui define quien recibe los datos respondido mostrar(texto)
//*****reqtype:Metodo de trabajo get o post Por Defecto es get
//*****getxml: Metodo de envio respuesta reponseText(0) ó responseXML (1) recive 1 y 0 Por defecto es reponseText
//*****contenedor_espera:Div donde muestra una image de cargando si no se quiere utilizar colocar '' 
function doAjax(url,query,callback,reqtype,getxml,contenedor_espera,parametros) {
// crea la instancia del objeto XMLHTTPRequest 
var myreq = createREQ();

myreq.onreadystatechange = function() {//function()
if(myreq.readyState == 4) {//1
	if(contenedor_espera != '' ){document.getElementById(contenedor_espera).innerHTML ='';}
	if(myreq.status == 200) {//2
      	var item = myreq.responseText;
    	if(getxml==1) {//3
         item = myreq.responseXML;
    	}//3
      doCallback(callback, item,parametros);
    }//2
}//1
  else
     {//4
	   if(contenedor_espera != '' ){document.getElementById(contenedor_espera).innerHTML ='<img src="anim.gif">';}
     }//4
}//function()

	if(reqtype=='post') {//5
		requestPOST(url,query,myreq);			
	}else{
		requestGET(url,query,myreq);
	}//5
	
	
	
}//***************fin de createREQ*****************


//***********************************Funciones de matricez******************
function CrearMatriz(fila,columna){//crea y define una matris nxn
Matriz = new Array (fila);
for (i = 0; i < Matriz.length; ++ i)Matriz [i] = new Array (columna);
return Matriz
}//fin fr crear matriz

function OrdenarMatriz(array,Ncolumna,Columna_Order,TipoOrder){//crea y define una matris nxn   tipo de orden desendente o acendente 0 o 1
ArrayAux1 = new Array (Ncolumna);
ArrayAux2 = new Array (Ncolumna);
for (RowArray=1;RowArray<array.length; RowArray++){
	for (RowArrayAux=1;RowArrayAux<array.length; RowArrayAux++){
	    if(TipoOrder==0){
	  	 if(array[RowArray][Columna_Order] < array[RowArrayAux][Columna_Order]){
			for (ColAux=0;ColAux<Ncolumna; ColAux++){
			ArrayAux1[ColAux]=array[RowArrayAux][ColAux];
			ArrayAux2[ColAux]=array[RowArray][ColAux];
			array[RowArray][ColAux]=ArrayAux1[ColAux];
			array[RowArrayAux][ColAux]=ArrayAux2[ColAux];
			}
		 }
	  	}else{
	   		if(array[RowArray][Columna_Order] > array[RowArrayAux][Columna_Order]){
			for (ColAux=0;ColAux<Ncolumna; ColAux++){
			ArrayAux1[ColAux]=array[RowArrayAux][ColAux];
			ArrayAux2[ColAux]=array[RowArray][ColAux];
			array[RowArray][ColAux]=ArrayAux1[ColAux];
			array[RowArrayAux][ColAux]=ArrayAux2[ColAux];
			}
		 }
	  	}
	}
}
return array;
}//fin fr crear matriz

function VisualTablaArray(array,fila,colunma,titulo,ArrayTotales,ArrayFormatos,heigTable) {//visualiza una matriz nxn en una tabla 
str = "<table class=lightPro height='"+heigTable+"'>";
	var row;
	var col;
	var  cambiocolorTR=0;
	str +='<thead>';
	str +="<th scope=col colspan="+colunma+" ><center>"+titulo+"</center></td></th><tr>";
		for (col=0;col<colunma; ++col){
			str +="<th scope=col>"+array[0][col]+"</th>";
		}
	str +='</tr></thead>';
	str +='<tbody>';
	   for (row=1;row<array.length; row++){
		   if(array[row][0]!=undefined){//quitar datos no definidor
		  if(cambiocolorTR==0){ str += "<tr background='imagen/fondotablatd.jpg'>"; cambiocolorTR=1;}else{ str += "<tr>";cambiocolorTR=0; }
  				for (col=0; col<array[row].length; ++col){
					   str +="<td ><font color=black><strong>";
					if(ArrayFormatos[col]=="M"){//aqui pregunta si el formato es moneda
					 	str +=formatNumber(array[row][col],"$");
					}else{
						if(ArrayFormatos[col]=="P"){
							str +=Math.round(array[row][col]*100)/100+"%";
						}else{str +=array[row][col];}
					}//fin de codificar formatos
			        str +="<strong></font></td>";
				}
		str +="</tr>";
		 }//fin quitar no definidos
		}
str +=  "<tr background='imagen/fondotabla.jpg'>";
         for (colTotal=0;colTotal<ArrayTotales.length; colTotal++){//selecciono las columna que voy a sumar del array total
			if (ArrayTotales[colTotal]==0){//pregunto si esta columna contiene 0 esso quiere decir que es sumada
				for (row=1;row<array.length; row++){//realizo la totalizacion del array datos
			 		ArrayTotales[colTotal]=ArrayTotales[colTotal]+Math.round(array[row][colTotal]);
			    } 
			 }
		}
		
		for (col=0; col<ArrayTotales.length; col++){
			if(ArrayTotales[col]>=0){
			        str +="<td><font color=black><strong>";
					if(ArrayFormatos[col]=="M"){//aqui pregunta si el formato es moneda
					 	str +=formatNumber(ArrayTotales[col],"$");
					}else{
						if(ArrayFormatos[col]=="P"){
						str +=Math.round(ArrayTotales[col]*100)/100+"%";
						}else{str +=ArrayTotales[col];}
					}//fin de codificar formatos
			        str +="<strong></font></td>";
			}else{
				str+="<td></td>";
			}
		}
str +=  "</tr>";
str += "</tbody></table>";

return str;
}//fin de mostrar matriz
//*******************fin de funcion de matrices************************

//*******************funciones herramientas****************************
function Fecha_hoy(formato){//funcion de pedir fecha actual
	var fechaActual = new Date();
	dia = fechaActual.getDate();
	mes = fechaActual.getMonth() +1;
	anno = fechaActual.getFullYear();
	if (dia <10) dia = "0" + dia;
	if (mes <10) mes = "0" + mes;
	if(formato=="yyyy-mm-dd"){
		fechaHoy =anno  + "-" + mes + "-" + dia;
		}
	fechaHoy =anno  + "-" + mes + "-" + dia;
	return fechaHoy;
}//fin de fecha

function mostrar_ocultar_elem(accion,element){//hacer una accion a un elemento 
	if(accion=="mostrar"){
		document.getElementById(element).style.display = '';
		}else{
		document.getElementById(element).style.display='none';
	}
}//fin  hacer una accion a un elemento

function formatNumber(num,prefix){//cambiar a formato maneda
num = Math.round(parseFloat(num)*Math.pow(10,2))/Math.pow(10,2)
prefix = prefix || '';
num += '';
var splitStr = num.split('.');
var splitLeft = splitStr[0];
var splitRight = splitStr.length > 1 ? '.' + splitStr[1] : '.00';
splitRight = splitRight + '00';
splitRight = splitRight.substr(0,3);
var regx = /(\d+)(\d{3})/;
while (regx.test(splitLeft)) {
splitLeft = splitLeft.replace(regx, '$1' + ',' + '$2');
}
return prefix + splitLeft + splitRight;
}
//parametros get
function getGET(){
   var loc = document.location.href;
   var getString = loc.split('?')[1];
   try {
	     var GET = getString.split('&');
   	     var get = {};//this object will be filled with the key-value pairs and returned.
         for(var i = 0, l = GET.length; i < l; i++){
         	var tmp = GET[i].split('=');
         	get[tmp[0]] = unescape(decodeURI(tmp[1]));
         }
	} catch(e) {
    	get="NOPARAM";
	}
   return get;
}
//redireccionar pagina
function redireccionar(pagina){location.href=pagina;} 
//quitar espacio al inicio y al final
function trim(myString)
{
return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
}

//funcion de diferencia en fecha
function daysBetween(date1, date2){
   if (date1.indexOf("-") != -1) { date1 = date1.split("-"); } else if (date1.indexOf("/") != -1) { date1 = date1.split("/"); } else { return 0; }
   if (date2.indexOf("-") != -1) { date2 = date2.split("-"); } else if (date2.indexOf("/") != -1) { date2 = date2.split("/"); } else { return 0; }
   if (parseInt(date1[0], 10) >= 1000) {
       var sDate = new Date(date1[0]+"/"+date1[1]+"/"+date1[2]);
   } else if (parseInt(date1[2], 10) >= 1000) {
       var sDate = new Date(date1[2]+"/"+date1[0]+"/"+date1[1]);
   } else {
       return 0;
   }
   if (parseInt(date2[0], 10) >= 1000) {
       var eDate = new Date(date2[0]+"/"+date2[1]+"/"+date2[2]);
   } else if (parseInt(date2[2], 10) >= 1000) {
       var eDate = new Date(date2[2]+"/"+date2[0]+"/"+date2[1]);
   } else {
       return 0;
   }
   var one_day = 1000*60*60*24;
   var daysApart = Math.ceil((sDate.getTime()-eDate.getTime())/one_day);
   return daysApart;
}
//fin funcion de diferencia en fecha

function decimal(valor, decimal){
	var result=Math.round(valor);
	if(decimal==1){result=Math.round(valor*10)/10;}
	if(decimal==2){result=Math.round(valor*100)/100;}
	if(decimal==3){result=Math.round(valor*1000)/1000;}
	if(decimal==3){result=Math.round(valor*10000)/10000;}
	return result;
}
function obtenerNombreDia(diaDeLaSemana) {
	console.log(diaDeLaSemana)
    nombresDias = ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"];
    //diaDeLaSemana = fecha.getDay()
    return nombresDias[diaDeLaSemana];
}

function decAhex(dec) { 
    dec = parseInt(dec) 
    var hexChars="0123456789ABCDEF" 
    var dig = new Array(10) 
    if (dec >= 1e12 ) { return 'demasiado grande' } 
    for (k=0; k<10; k++) 
    {   dig[k] = dec % 16 
        dec = (dec-dig[k]) / 16 
    } 
    var resul = "" 
    for (k=9; k>-1; k--) 
    {    resul += hexChars.charAt(dig[k]) 
    }     
    return resul 
}  


function myTrim(x) {
  return x.replace(/^\s+|\s+$/gm,'');
}
//fin de  solo numero
//******************fin funciones herramientas*************************

function putLocal(nomkey,nomkey){
	if(localStorage.hasOwnProperty(nomkey)){
		localStorage.removeItem(nomkey);
	}
	localStorage.setItem(nomkey,nomkey)
	console.log(localStorage.getItem(nomkey))

}


function nmodulo(nMod,tCampo,campo,accion,nTam,cIni,cFin,tipo) {
	console.log(tipo)
	if(sessionStorage.hasOwnProperty("modulo")){
		sessionStorage.removeItem("modulo")
	}
	sessionStorage.setItem("modulo",nMod)
	if(sessionStorage.hasOwnProperty("tipo")){
		sessionStorage.removeItem("tipo")
	}
	sessionStorage.setItem("tipo",tipo)
	vGmodulo=nMod
	vGcampoi=cIni
	vGcampof=cFin
	dSw==0
	if(nTam!=''){
		vGtam=nTam;
	}
	if(accion!="g"){
		hide_search_list();
	}
	DetalleB="";
	tAcc=accion;
	if(tAcc=="v"){
		alert("Esta presentacion no admite la acción guardar");
		return;
	}
	tId=campo;
	url="modulo="+nMod;
	url+="&tipo="+"l";
	url+="&accion="+accion;
	url+="&codemp="+VGempresa;
	console.log(url);
	console.log(sessionStorage.getItem("tipo"))
	document.getElementById("lderecho").innerHTML="";
	var Rpage =VGRutaRiz+"controllers/modulos/"
	doAjax(Rpage,url,'resp_nmodulos_list','gets','0','Ccargar','');
}


function resp_nmodulos_list(ResTex,param) {
	console.log(ResTex);
	//console.log(tAcc);
	Detalle="<div id='detcuerpo' class='detcuerpo'>";
	DetalleB="";
	DetalleM="";
	DetalleT="<p>"+sessionStorage.getItem("modulo")+"</p>";
	tMod="";
	vC="";
	vJfunciones='{"Datos":[{';
	var oJsonDatos = JSON.parse(ResTex);
	var nMod="",tCampo=0;
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
			cad=oJsonDatos.Datos[0];
			console.log(Object.keys(cad));
			nMod=oJsonDatos.Datos[0].tabla.trim()
			DetalleM="<h4>"+oJsonDatos.Datos[0].titmod.trim()+"</h4><br>"
			
			tMod=oJsonDatos.Datos[0].nommod.trim();
			DetalleM+="<p>"+oJsonDatos.Datos[0].obsmod.trim()+"</p><br><p>Para Crear siga los siguientes pasos:</p><br>"
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			vDiv=""
			iDet=0//para saber en que campo arranca el detalle
			//Detalle+="<div class='page'>"
			swdet=0
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				if(oJsonDatos.Datos[RowArray].inicio){swdet=1}
				tCampo=RowArray;
				vCampo="c"+RowArray.toString()
				if(RowArray==0){
					Detalle+=oJsonDatos.Datos[RowArray].titulo+"<div id='"+oJsonDatos.Datos[RowArray].bloque+"' class='"+oJsonDatos.Datos[RowArray].clase+"'>"
					vDiv=oJsonDatos.Datos[RowArray].bloque.trim()
				}else{
					if(vDiv!=oJsonDatos.Datos[RowArray].bloque.trim()){
						if(vDiv=='bloquedet'){
							//Detalle+='<a href="javascript:guardardetalle(\''+oJsonDatos.Datos[RowArray].nommod.trim()+'\')">++</a>';
							Detalle+='<a href="javascript:guardardetalle(\''+oJsonDatos.Datos[RowArray].nommod.trim()+'\',\''+iDet+'\',\''+(RowArray-1)+'\',\'c0\')">+ Agregar Item</a>';
							Detalle+="<div id='det_prod' class='form-msg'>...</div>"
						}
						Detalle+="</div>";
						Detalle+=oJsonDatos.Datos[RowArray].titulo+"<div id='"+oJsonDatos.Datos[RowArray].bloque+"' class='"+oJsonDatos.Datos[RowArray].clase+"'>"
						vDiv=oJsonDatos.Datos[RowArray].bloque.trim()
						}
					}
					Detalle+="<div class='"+oJsonDatos.Datos[RowArray].nomdiv+"' id='"+oJsonDatos.Datos[RowArray].nombre.trim()+"'"
					if(oJsonDatos.Datos[RowArray].campoadi.trim()!=""){
						Detalle+=" title='"+oJsonDatos.Datos[RowArray].campoadi.trim()+"'"
					}
					if(oJsonDatos.Datos[RowArray].chkocu==1 && tAcc!="r"){
						Detalle+="' style='display: none' "
					}
					Detalle+=">";
					if(oJsonDatos.Datos[RowArray].inicio.trim().length>3){Detalle+="<div id='buscador"+vCampo+"'></div>"}
					Detalle+=oJsonDatos.Datos[RowArray].htmlinicial.trim().replace('rrr',vCampo);
					if(oJsonDatos.Datos[RowArray].nomdiv.trim()=="drag-area"){
						Detalle+="<h2>Arrastra y suelta imagenes</h2>"
						Detalle+="<span>0</span>"
						Detalle+="<button>Selecciona tus archivos</button>"
					}else{
						cDescripcion=oJsonDatos.Datos[RowArray].descripcion;
						console.log(oJsonDatos.Datos[RowArray].funcionlabel);
						if(oJsonDatos.Datos[RowArray].foreti.trim()!=""){
							
							if(oJsonDatos.Datos[RowArray].etiini.trim()=="table"){
								Detalle+='<a href="javascript:crear(\''+oJsonDatos.Datos[RowArray].lost.trim()+'\')">'
							}
							
							Detalle+='<label for="'+oJsonDatos.Datos[RowArray].foreti.trim()+'"'+oJsonDatos.Datos[RowArray].funcionlabel.trim()+" >"
							//alert(oJsonDatos.Datos[RowArray].description.length)
							
							if(oJsonDatos.Datos[RowArray].description!=''){
								Detalle+=oJsonDatos.Datos[RowArray].description;
							}else{
								Detalle+=cDescripcion;
							}
							
							Detalle+="</label>"
							if(oJsonDatos.Datos[RowArray].etiini.trim()=="table"){
								Detalle+='</a>'
							}
						}else{
							if(oJsonDatos.Datos[RowArray].etiini.trim()=="table"){
								Detalle+='<a href="javascript:crear(\''+oJsonDatos.Datos[RowArray].lost.trim()+'\')">'
							}
							//if(oJsonDatos.Datos[RowArray].nomdiv.trim()=='conte_check'){
							if(oJsonDatos.Datos[RowArray].nombre.substr(0,3)=='chk'){
								//Detalle+="<label for='"+vCampo+"'  >"
								//class='lblcheck'
							}else{
								
								if (oJsonDatos.Datos[RowArray].funcionlabel.length>=2){
									cFuncion=oJsonDatos.Datos[RowArray].funcionlabel.trim();
									if(oJsonDatos.Datos[RowArray].funcionlabel.includes("this")){
										cFuncion=cFuncion.replace("this",vCampo);
										console.log(cFuncion)
									}
										
									Detalle+='<a href="'+cFuncion+'" >'+cDescripcion+'</a>';
								}else{
									Detalle+="<label for=''>"
									if(oJsonDatos.Datos[RowArray].description.length>=2){
										Detalle+=oJsonDatos.Datos[RowArray].description+"</label>";
									}else{
										Detalle+=cDescripcion+"</label>";
									}
								}
								
							}
							if(oJsonDatos.Datos[RowArray].etiini.trim()=="table"){
								Detalle+='</a>'
							}
							//Detalle+="<label for='' >"+oJsonDatos.Datos[RowArray].descripcion+"</label>";
							//alert(oJsonDatos.Datos[RowArray].description.length)
							
						}
					}
					Detalle+="<"+oJsonDatos.Datos[RowArray].etiini+" id='"+vCampo+"' name='"+oJsonDatos.Datos[RowArray].nombre+"'"; if(oJsonDatos.Datos[RowArray].etiini=='select' && oJsonDatos.Datos[RowArray].chkvar==1){Detalle+=" multiple"};
					if(oJsonDatos.Datos[RowArray].tipo=="int"){
						Detalle+=" pattern='^[0-9]+' min='0' onkeypress='comprueba(this)' "//valido que solo sea numeros positivos
					}
					aReq=""
					aImg=""
					if(oJsonDatos.Datos[RowArray].nomdiv=='conte_foto'){
						aImg="archi_img"
					}
					if(oJsonDatos.Datos[RowArray].chkreq=="1" ){
						aReq+=" required "//valido que solo sea numeros positivos
					}
					if(vDiv=="bloquedet"){
						Detalle+=" class='bloquedet "+aReq+" "+tMod+"' "
						if( iDet==0){
							iDet=RowArray;
						}
					}else{
						Detalle+="class='"+tMod
						if(oJsonDatos.Datos[RowArray].chkdet=="1"){
							Detalle+=" general "	
						}
						if(aReq!=''){
							Detalle+=" "+aReq
						}
						if(aImg!=''){
							Detalle+=" "+aImg
						}
						Detalle+="'"
					}
					
					if(oJsonDatos.Datos[RowArray].interactive.trim().length>3){
						Detalle+=oJsonDatos.Datos[RowArray].interactive.trim();
					}
					if(oJsonDatos.Datos[RowArray].inicio.trim().length>3){
						if(vJfunciones.length>12){vJfunciones+=",{";}
						vJfunciones+='"modulo":"'+oJsonDatos.Datos[RowArray].inicio.trim()+'",';
						vJfunciones+='"objeto":"'+vCampo+'",';
						
						if(oJsonDatos.Datos[RowArray].predeterminado.trim()!=""){
							vJfunciones+='"valor":"'+localStorage.getItem(oJsonDatos.Datos[RowArray].predeterminado.trim())+'",';
						}else{
							vJfunciones+='"valor":"",';
						}
						
						if(oJsonDatos.Datos[RowArray].condicion.trim()!=""){
							vJfunciones+='"condicion":"'+oJsonDatos.Datos[RowArray].condicion.trim()+'"';
						}else{
							vJfunciones+='"condicion":""';
						}
						vJfunciones+=',"modalidad":"'+oJsonDatos.Datos[RowArray].chkimg.trim()+'"';
						vJfunciones+=',"lost":"'+oJsonDatos.Datos[RowArray].lost.trim()+'"';
						vJfunciones+='}';
					}else{
						if(oJsonDatos.Datos[RowArray].predeterminado.trim()!="" ){
							//&& (VGrol=='docente' || VGrol=='estudiante')
							vPred=oJsonDatos.Datos[RowArray].predeterminado.trim()
							if((vPred=='docente' || vPred=='estudiante') && VGrol!='docente' && VGrol!='estudiante'){
							}else{
								Detalle+=" value='"+localStorage.getItem(oJsonDatos.Datos[RowArray].predeterminado.trim())+"' "
							}
						}
					}
					//if(oJsonDatos.Datos[RowArray].extensiones.trim()!=""){
						//Detalle+=" onchange='return validarExt()' "	
					//}
					
					if(oJsonDatos.Datos[RowArray].lost.trim()!=""){
						Detalle+=' onblur="'+oJsonDatos.Datos[RowArray].lost.trim()+'"'
					}
					if(VGrol=='docente' || VGrol=='estudiante'){
						Detalle+=" disabled"
					}
					//if(	oJsonDatos.Datos[RowArray].chkpub==1 || oJsonDatos.Datos[RowArray].chkpub==2){
						Detalle+=" >"
						
						if(oJsonDatos.Datos[RowArray].nombre.substr(0,3)=='chk'){
							Detalle+="<label for='"+vCampo+"'  >"
							if(oJsonDatos.Datos[RowArray].description.length>=2){
								Detalle+=oJsonDatos.Datos[RowArray].description+"</label>";
							}else{
								Detalle+=oJsonDatos.Datos[RowArray].descripcion+"</label>";
							}
								//class='lblcheck'
						}

					DetalleM+=RowArray;
					if(oJsonDatos.Datos[RowArray].etiini=='select'){DetalleM+=") Seleccione: "
						}else{DetalleM+=") Digite: "}
					DetalleM+=oJsonDatos.Datos[RowArray].descripcion.trim()+"<br>"
					
					if(oJsonDatos.Datos[RowArray].extensiones.trim()!=""){
						Detalle+="<p> Extensiones permitidas: "+oJsonDatos.Datos[RowArray].extensiones+"</p>";	
						}
						Detalle+=oJsonDatos.Datos[RowArray].valorhtml.trim();	
					
					Detalle+="</"+oJsonDatos.Datos[RowArray].etifin+">";	
					Detalle+=oJsonDatos.Datos[RowArray].htmlfinal.trim().replace('rrr',vCampo);
				
					Detalle+="</div>";
					if(vDiv=='bloquedet' && RowArray==NJsonItem-1){
						Detalle+='<a href="javascript:guardardetalle(\''+oJsonDatos.Datos[RowArray].nommod.trim()+'\',\''+iDet+'\',\''+RowArray+'\',\'c0\')">+ Agregar Item</a>';
						Detalle+="<div id='det_prod' class='form-msg'>...</div>"
					}	
			}
				
			//Detalle+="</div>"
			DetalleM+='<br>Luego de click en el icono <span class="icon-save" ></span>';
			//DetalleB+='<a href="javascript:nmodulo(\'' + tMod + '\',\'' + vC + '\',\'' + vC + '\',\'g\',\''+vGtam+'\',\''+vGcampoi+'\',\''+vGcampof+'\');" id="bnuevo"><div class="circulo_sup"><span class="icon-circle-with-plus" ></span></div></a>'
			DetalleB+='<a href="javascript:limpiar(\'' + tMod + '\');" id="bnuevo"><div class="circulo_sup"><span class="icon-circle-with-plus" ></span></div></a>'
			if(tAcc!="l"){
				DetalleB+='<a href="javascript:rmodulo(\'' + tMod + '\',\'' + tCampo + '\',\'' + tId + '\',\''+tAcc+'\',\'\',\'\',\'\',\''+sessionStorage.getItem("tipo")+'\');" id="bguardar"><div class="circulo_sup"><span class="icon-save" ></span></div></a>'
			}         
		    DetalleB+='<a href="javascript:nmodulo(\'' + tMod + '\',\'' + vC + '\',\'' + vC + '\',\'l\');" id="blistar"><div class="circulo_sup"><span class="icon-list" ></span></div></a>'

			//if(swdet==1){//para añadir div detalle
			//	Detalle+="<div id='det_prod' class='form-msg'>...</div>"
			//}
			
			Detalle+="</div>";	
		}else{
			Detalle+="</div>";
			
			DetalleB+='<a href="javascript:limpiar(\'' + tMod + '\');" id="bnuevo"><div class="circulo_sup"><span class="icon-circle-with-plus" ></span></div></a>'
			if(tAcc!="l"){
				DetalleB+='<a href="javascript:rmodulo(\'' + tMod + '\',\'' + tCampo + '\',\'' + tId + '\',\''+tAcc+'\',\'\',\'\',\''+sessionStorage.getItem("tipo")+'\');" id="bguardar"><div class="circulo_sup"><span class="icon-save" ></span></div></a>'
			}
			DetalleB+='<a href="javascript:nmodulo(\'' + tMod + '\',\'' + vC + '\',\'' + vC + '\',\'l\');" id="blistar"><div class="circulo_sup"><span class="icon-list" ></span></div></a>'
			
				
			alert("no registro");
			
	    }
	  	
	  
	}else{
		DetalleB+='<a href="javascript:limpiar(\'' + tMod + '\');" id="bnuevo"><div class="circulo_sup"><span class="icon-circle-with-plus" ></span></div></a>'
			if(tAcc!="l"){
				DetalleB+='<a href="javascript:rmodulo(\'' + tMod + '\',\'' + tCampo + '\',\'' + tId + '\',\''+tAcc+'\',\'\',\'\',\''+sessionStorage.getItem("tipo")+'\');" id="bguardar"><div class="circulo_sup"><span class="icon-save" ></span></div></a>'
			}
			DetalleB+='<a href="javascript:nmodulo(\'' + tMod + '\',\'' + vC + '\',\'' + vC + '\',\'l\');" id="blistar"><div class="circulo_sup"><span class="icon-list" ></span></div></a>'
			
		document.getElementById("detcuerpo").innerHTML="Modulo invalido"+'</div><div id="reporte" style="background-color:white;"></div>';
    }
	
	if(VGrol=='empleado'){
		DetalleB+='<a href="javascript:nmodulo(\'' + tMod + '\',\'' + vC + '\',\'' + vC + '\',\'g\',\''+vGtam+'\',\''+vGcampoi+'\',\''+vGcampof+'\');" id="bnuevo">	<div class="circulo_sup"><span class="icon-circle-with-plus" ></span></div></a>'
			DetalleB+='<a href="javascript:rmodulo(\'' + tMod + '\',\'' + tCampo + '\',\'' + tId + '\',\''+tAcc+'\');" id="bguardar"><div class="circulo_sup"><span class="icon-save" ></span></div></a>'
            DetalleB+='<a href="javascript:imodulo(\'' + tMod + '\',\'' + vC + '\',\'' + vC + '\',\'' + vC + '\');" id="blistar"><div class="circulo_sup"><span class="icon-list" ></span></div></a>'

			tMod=vGmodulo;	
	}
	
	

	if(localStorage.hasOwnProperty("id")){
		localStorage.removeItem("id")
	}
	if(localStorage.hasOwnProperty("accion")){
		localStorage.removeItem("accion")
	}
	if(localStorage.hasOwnProperty("tcampo")){
		localStorage.removeItem("tcampo")
		
	}
	Detalle=rpt_textos(Detalle);
	//document.getElementById("mdi_botones").innerHTML=""
	DetalleT=rpt_textos(DetalleT);
	DetalleSup="<div class='superior'><div id='sup_izquierda' class='sup_izquierda'>"+DetalleT+"</div><div id='sup_derecha' class='sup_derecha'></div></div>"
	Detalle+='<div id="reporte" style="background-color:white;"></div>'
	Detalle+="<div id='div_tabla' class='bloqueh'>..</div><div id='mdi_resumen' class='bloqueh'>..</div></div>"
		
	vJfunciones+="]}";
	if(tAcc=="e" ){
		localStorage.setItem("accion",'e')
		localStorage.setItem("tid",tId)
		localStorage.setItem("tcampo",tCampo)
	}
	
	document.getElementById("mdi_botones").style.minHeight="50px";
	document.getElementById("mdi_botones").style.height="50px";
	document.getElementById("mdi_botones").style.width="90%"
	document.getElementById("mdi_botones").style.position="fixed"
	document.getElementById("detcuerpo").style.marginTop="50px";
	
	if (vGmodulo=='cajamenor'   ){
		console.log("insert")
		if(tAcc!="l"){
			insertar(Detalle,vJfunciones,DetalleSup,DetalleB)
		}else{
			imodulo(sessionStorage.getItem('modulo'),'','','');
		}
		return
	}
	console.log(Detalle)
	document.getElementById("detcuerpo").innerHTML=Detalle
	//'<div class="mdi_botones" id="mdi_botones">'+DetalleSup+'</div>'+Detalle;
	console.log(DetalleSup)
	console.log(DetalleT)
	console.log(DetalleB)
	document.getElementById("mdi_botones").innerHTML=DetalleSup;
	document.getElementById("sup_izquierda").innerHTML=DetalleT;
	document.getElementById("sup_derecha").innerHTML=DetalleB;
	
	
	if(tAcc=="l"){
		console.log("l");
		//Detalle+='<div id="reporte" style="background-color:white;"></div></div>'
		//document.getElementById("mdi_tablero").innerHTML=Detalle
		imodulo(sessionStorage.getItem('modulo'),'','','');
		return 
	}
	
	console.log(DetalleT)
	console.log(Detalle)
	
	
	
                        	
                            
                        
	//document.getElementById("manual").innerHTML=DetalleM;//Temporal mientras soluciono diseño
	//document.getElementById("tmudulo").innerHTML=DetalleT;	
	
	
	
		
	//document.getElementById("reporte").style.height="2px";
	//document.getElementById("reporte").style.display="none";
	document.getElementById("mdi_tablero").style.height="100%"//estaba en 80% al 11-01-2023
	elem=document.getElementsByClassName('bloque')
	elem[0].style.width=vGtam;
	//alert(DetalleB);//11-01-2023
	//document.getElementById("footer").innerHTML="<div class='inferior'> <div class='sup_derecha'>"+DetalleB;
	
	console.log(vJfunciones.length)
	
	if(vJfunciones.length>13){
		console.log(vJfunciones)
		vGnum=0;
		jGfunciones = JSON.parse(vJfunciones);
		filtrar(jGfunciones.Datos[0].modulo,jGfunciones.Datos[0].objeto,jGfunciones.Datos[0].valor,jGfunciones.Datos[0].condicion,jGfunciones.Datos[0].modalidad,jGfunciones.Datos[0].lost);
	}else{
		
		//setTimeout(imodulo(localStorage.getItem('modulo'),localStorage.getItem('tcampo'),localStorage.getItem('tid'),localStorage.getItem('accion')), 1000);
	}

	
	
}
function iniciar(vJfunciones,vIdsup){
	//document.getElementById(vIdsup).innerHTML=localStorage.getItem("botones")
	console.log(vJfunciones.length)
	if(vJfunciones.length>13){
		console.log(vJfunciones)
		vGnum=0;
		jGfunciones = JSON.parse(vJfunciones);
		filtrar(jGfunciones.Datos[0].modulo,jGfunciones.Datos[0].objeto,jGfunciones.Datos[0].valor,jGfunciones.Datos[0].condicion,jGfunciones.Datos[0].modalidad,jGfunciones.Datos[0].lost);
	}
}

function espera(){//funcion para esperar que la anterior se ejecute
  for (RowArray=0;RowArray<1000; RowArray++){
  }
}
function verifica_det(pedido){
	
}


function rmodulo(mod,tC,campo,accion,cini,cfin,tam,tipo) {
	if(tipo=='HCLI'){
		reg_historia(mod,tC,campo,accion,cini,cfin,tam,tipo)
		return 
	}
	if(tipo=='HR'){
		reg_horario(mod,tC,campo,accion,cini,cfin,tam,tipo)
		return 
	}
	console.log(mod+tC+campo+accion+cini+cfin+tam+tipo)
	sessionStorage.setItem('tipo',tipo)
	dEle=0
	swcond=0
	var jSondet=document.getElementsByClassName("required");
	var jSondet_det=document.getElementsByClassName("bloquedet");
	nTam=jSondet_det.length;
	camposdet=""
	for(var i=0;i<nTam;i++){
		camposdet+=jSondet_det[i].name+","
	}
	
	console.log(camposdet)
	nTam=jSondet.length;
	var cadcampos="";
	for(var i=0;i<nTam;i++){
		nCampo=jSondet[i].name
		cId=jSondet[i].id
		console.log(nCampo+camposdet.search(nCampo))
		document.getElementById(cId).style.borderColor="#363636"
		
		if(camposdet.search(nCampo)>=0){
		}else{
			vCampo=jSondet[i].value
			vchk=nCampo.search('chk')
			if(vchk>=0){
			}else {
				if(vCampo.length<=0 ){
					swcond=1
					document.getElementById(cId).style.borderColor="#F00"
				}else{
					if(nCampo=='codfte'){
						fuente=document.getElementById(cId);
						dEle = fuente.options[fuente.selectedIndex].text.substr(0,1);
					}
				}
			}
		}
	}
	if(sessionStorage.getItem('tipo')=='d'){
	//	if(dSw==0){
	//		guardardetalle(localStorage.getItem('modulo'),0,0,'c0');
	//		return
	//	}else{
	//		dSw==1
	//	}
	}
	if(swcond==1){
		alert("Por favor verifique campos en rojo")
		return 
	}
	
	if(accion=="v"){
		alert("esta seccion no admite la funcion guarda")
		return;
	}
	if(sessionStorage.getItem("tipo")=="p" || sessionStorage.getItem("tipo")=="d"){
		if(cSw==0 ){
			gXml=""
			gFac=""
			gPre=""
			gNro=0
			gNom=""
			gEml=""
			ver_numeracion('c0','c1','c2','c3','c4');
			return 
		}else{cSw=0}
	}
	url="modulo="+mod
	url+="&accion="+accion;
	url+="&campo="+campo;
	url+="&codemp="+VGempresa;
	
	
	console.log(url);
	var cadcampos="";
	var caddatos="";
	z=0;
	for(var i=0;i<=tC;i++){
		if(accion.trim()!='lat'){
			iCampo="c"+i.toString()
		}else{
			iCampo="L"+i.toString()
		}
		item=document.getElementById(iCampo)//inicio para poder verificar clases
		var vclase_tmp = item.classList.contains( 'tmp' );
		var vclase_table = item.classList.contains( 'table' );
		console.log(iCampo)
		if(vclase_tmp!=true && vclase_table!=true){//Se verifica si contiene la clase temporal y que no sea una tabla
		nCampo=document.getElementById(iCampo).name.trim();
		vCampo=document.getElementById(iCampo).value;
		if(nCampo.substr(0,3)=="chk" || nCampo.substr(0,3)=="exc"){
			nB=document.getElementById(iCampo).checked
			if(nB==true){
				vCampo=1
			}else{
				vCampo=0
			}
		}
		if(nCampo!="Id"){//se puede guardar si dato esta en blanco
			if(camposdet.search(nCampo)>=0){//para verificar si campo es detalle(18-11-2023)
			}else{
				if(z!=0){cadcampos+=",";caddatos+=","}
			zCampo="c"+z.toString()
			caddatos+='"'+nCampo+'":'+'"'+vCampo+'"';
			cadcampos+='"'+zCampo+'":'+'"'+nCampo+'"';
			z++;
			}
		}
		}
		if(nCampo=="nrorem" && tipo=='TRS'){
			gNro=vCampo
		}
	}
	caddatos="{"+caddatos+"}"
	cadcampos="{"+cadcampos+"}"
	caddatos=env_textos(caddatos);
	if((sessionStorage.getItem('tipo')=='p' || sessionStorage.getItem('tipo')=='d')){
		url+="&cxml="+gXml;
		url+="&factura="+gFac;
		url+="&prefijo="+gPre;
		url+="&consecutivo="+gNro;
		url+="&nombre="+gNom;
		url+="&email="+gEml;
		url+="&tipele="+dEle;
	}
	url+="&jsondatos="+caddatos;
	url+="&jsoncampos="+cadcampos;
	url+="&j="+z;
	url+="&tipo="+"r";
	url+="&usuario="+localStorage.getItem('Usuario');
	
	var Rpage =VGRutaRiz+"controllers/registros/"
	console.log(url+tipo);
	if(gFac!="" && (sessionStorage.getItem('tipo')=='p' || sessionStorage.getItem('tipo')=='d')){
		url+="&tipocmp="+sessionStorage.getItem('tipo')
		doAjax(Rpage,url,'resp_enviafac','post','0','Ccargar');
	}else{
		console.log(sessionStorage.getItem('tipo')+tipo)
		if(tipo.trim()=='TRS' ){
			url+="&tipocmp="+sessionStorage.getItem('tipo')
			url+="&consecutivo="+gNro;
			gNro=""
			console.log(url);
			doAjax(Rpage,url,'resp_muestrapdf','post','0','Ccargar');
			return
		}
		if(sessionStorage.getItem('tipo')=='u'){
		//	console.log(url);
		//	Rpage =VGRutaRiz+"controllers/upersonas/"
		}
		doAjax(Rpage,url,'resp_registro','post','0','Ccargar');
	}
}
function env_pdf(cRuta){
	window.open(cRuta, '_blank');
	if(sessionStorage.getItem('tipo')=="HCLI"){
		limpiar(sessionStorage.getItem('modulo'))		
	}else{
		window.location.reload()
	}
}
function resp_muestrapdf(ResTex) {
	console.log(ResTex)
	JsonActividad=ResTex;
	var oJsonDatos = JSON.parse(JsonActividad);
	var NJsonItem=oJsonDatos.Datos.length;
	cId=0
	for (RowArray=0;RowArray<NJsonItem; RowArray++){
		cad=oJsonDatos.Datos[RowArray];	
		cId=oJsonDatos.Datos[RowArray].Id;
	}
	cRuta=VGRutaRiz+"report/"+sessionStorage.getItem('modulo')+".php?id="+cId+"&empresa="+VGempresa
	console.log(cRuta)
	//if(cId>0){
		window.open(cRuta, '_blank');
		if(sessionStorage.getItem('tipo')=="HCLI"){
			limpiar(sessionStorage.getItem('modulo'))		
		}else{
			window.location.reload()
		}
		
	//}
}

function resp_enviafac(ResTex) {
	console.log(ResTex)
	if(dEle==1){
		JsonActividad=ResTex;
		var oJsonDatos = JSON.parse(JsonActividad);
		var NJsonItem=oJsonDatos.Datos.length;
		for (RowArray=0;RowArray<NJsonItem; RowArray++){
			cad=oJsonDatos.Datos[RowArray];	
			cRuta=oJsonDatos.Datos[RowArray].rutaenvio;
		}
		if(cRuta.length>7){
			window.open(cRuta, '_blank');
		}
		
	}else{//Por Proceso que me genere Html para que se imprima el pdf respectivo

	}
	limpiar(sessionStorage.getItem('modulo'));

}
function clickButton() {
    click_event = new CustomEvent('click');
    btn_element = document.querySelector('#benviar');
    btn_element.dispatchEvent(click_event);
}
		
function resp_registro(ResTex) {
	alert("Procesado");
	console.log(ResTex);
	if(sessionStorage.getItem('tipo')=='HCLI'){
		limpiar(sessionStorage.getItem('modulo'))
	}
}

function resp_registro_det(ResTex) {
	console.log(ResTex);
	console.log(sessionStorage.getItem('tipo'));
	if(sessionStorage.getItem('tipo')=='p' || sessionStorage.getItem('tipo')=='d' || sessionStorage.getItem('tipo')=='TRS'  || sessionStorage.getItem('tipo')=='HCLI'){
		resp_filtrar_tabedit(ResTex,'det_prod','100%');
	}
	if(sessionStorage.getItem('tipo')=='d'){
	//	dSw=1;
	//	parame=document.getElementById('bguardar').getAttribute('href');
	//	parame.substring(19,nTam)
	//	parame=parame.substring(parame.search(',')+2,nTam)
	//	parame=parame.substring(0,parame.search(',')-1)
	//	rmodulo(localStorage.getItem('modulo'),parame,'','g','','',localStorage.getItem('tipo'));
	}
}

function cargar_menu() {
	url="tipo="+"l";
	url+="&codemp="+localStorage.getItem("Codempresa")
	
	vUsuario=localStorage.getItem("Usuario");
	VGrol=localStorage.getItem("rol");
	if(vUsuario=="Administrador"){
		url+="&proyecto="+"Admempire";
		
	}else{url+="&proyecto="+VGproyect;}
	url+="&rol="+VGrol;
	console.log(url);
	var Rpage =VGRutaRiz+"controllers/menus/"
	doAjax(Rpage,url,'resp_menus_list','gets','0','Ccargar');
}

function resp_menus_list(ResTex) {
	console.log(ResTex);
	Detalle="";
	var oJsonDatos = JSON.parse(ResTex);
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
			JsonMenu=ResTex;
			var oJsonDatos = JSON.parse(JsonMenu);
	        var NJsonItem=oJsonDatos.Datos.length;
			vMenu=oJsonDatos.Datos[0].menu
			vSmenu=oJsonDatos.Datos[0].smenu
			sw=0
			swm=0
			v=0
			Detalle+="<ul class='menu'>"
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				if (sw==0){
					Detalle+="<li class='menu_principal'><a href='#' >"+oJsonDatos.Datos[RowArray].menu+"</a>"
					Detalle+="<ul>"
					sw=1;
					if(vSmenu!=''){
						swm=1
						mId="m"+v.toString()
						Detalle+="<li class='menu_submenu'>"
						Detalle+='<a href="javascript:verClick('+v+')" class="menu_link" >'+oJsonDatos.Datos[RowArray].smenu+"</a>"
						Detalle+="<ul class='menu_subm'>"
						v++;
					}
				}else{
					if(vMenu!=oJsonDatos.Datos[RowArray].menu){
						Detalle+="</ul>"
						Detalle+="</li>"
						Detalle+="</ul>"
						Detalle+="</li>"
						
						Detalle+="<li class='menu_principal'><a href='#' >"+oJsonDatos.Datos[RowArray].menu+"</a>"
						Detalle+="<ul>"
						swm=1
						Detalle+="<li class='menu_submenu'>"
						mId="m"+v.toString()
						Detalle+='<a href="javascript:verClick('+v+')" class="menu_link" >'+oJsonDatos.Datos[RowArray].smenu+"</a>"
						v++;
						Detalle+="<ul class='menu_subm'>"
					}else{
						if(vSmenu!=oJsonDatos.Datos[RowArray].smenu){
							Detalle+="</ul>"
							Detalle+="</li>"
							Detalle+="<li class='menu_submenu'>"
							mId="m"+v.toString()
							Detalle+='<a href="javascript:verClick('+v+')" class="menu_link" >'+oJsonDatos.Datos[RowArray].smenu+"</a>"
							v++;
							Detalle+="<ul class='menu_subm'>"
						}
					}
				}
				vMenu=oJsonDatos.Datos[RowArray].menu
				vSmenu=oJsonDatos.Datos[RowArray].smenu;
				Detalle+='<li class="menu_item"><a href="'+oJsonDatos.Datos[RowArray].link.trim()+'" >'+oJsonDatos.Datos[RowArray].titmod+'</a></li>';
				
				
				if(RowArray==NJsonItem-1){
					//alert(RowArray)
					if(vSmenu!=""){
						Detalle+="</ul>"
						Detalle+="</li>"
					}
					Detalle+="</ul>"
					Detalle+="</li>"
				}
			}
			Detalle+="</ul>"
		}else{
			alert("no hay menu");
	    	}
	}else{
		document.getElementById("mdi_menu").innerHTML="Error cargando menu";
    }
	//Detalle+="</div>";
	console.log(Detalle);
	document.getElementById("mdi_menu").innerHTML=Detalle;
}

function imodulo(mod,tCampo,campo,accion) {
	vGmodulo=mod
	swcond=0
	var jSondet=document.getElementsByClassName('general');
	nTam=jSondet.length;
	camposdet=""
	condicion=""
	for(var i=0;i<nTam;i++){
		if(jSondet[i].name==campo){
			nValor=document.getElementById(jSondet[i].id).value
			condicion+=" and "+mod+"."+campo+"='"+nValor+"' "
		}
	}
	
	url="modulo="+mod;
	url+="&codemp="+localStorage.getItem("Codempresa")
	tList=vGmodulo;
	tAcc=accion;
	vtipo="l";
	tId=campo;
	if(mod=="facturae"){url+="&campo="+document.getElementById('c0').value;}else{url+="&campo="+campo;} 
	url+="&accion="+accion;
	url+="&nit="+localStorage.getItem("NitEmpresa");
	url+="&identidad="+localStorage.getItem("identidad");
	url+="&tipo="+vtipo;
	url+="&condicion="+condicion;
	url+="&usuario="+localStorage.getItem("Usuario");
	url+="&rol="+VGrol;
	vC=" ";
	//document.getElementById("bguardar").href="javascript:rmodulo(\'" + mod + "\',\'" + tCampo + "\',\'" + campo + "\',\'"+tAcc+"\');"
	console.log(url+tAcc);
	var Rpage =VGRutaRiz+"controllers/registros/"
	if(tAcc==""){
		doAjax(Rpage,url,'resp_registros_list','gets','0','Ccargar');
	}else{
		if(mod=="facturae"){
			doAjax(Rpage,url,'resp_registros_item','gets','0','Ccargar');
		}else if(accion=="lat"){
			doAjax(Rpage,url,'resp_registros_lat','gets','0','Ccargar');
		}else{//doAjax('../../controllers/registros/',url,'resp_registros_factura','gets','0','Ccargar');
			doAjax(Rpage,url,'resp_registros_item','gets','0','Ccargar');
		}
	}
}
function resp_registros_lat(ResTex) {
	console.log(ResTex)
	var oJsonDatos = JSON.parse(ResTex);
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
		}
		cad=oJsonDatos.Datos[0];
		Detalle="<p><p>"+"<table>"
		Object.keys(cad).forEach((valor)=>{
				nPos=valor.search('_')//aqui es para dependiento si encuentro este caracter, tomarlo como titulo
				cTit=valor
				if (nPos>0){
					cTit=cTit.replace("_", " ");
				}
				Detalle+="<th>"+cTit+"</th>"
				})
		JsonActividad=ResTex;
		var oJsonDatos = JSON.parse(JsonActividad);
        var NJsonItem=oJsonDatos.Datos.length;
		for (RowArray=0;RowArray<NJsonItem; RowArray++){	
			cad=oJsonDatos.Datos[RowArray];	
			Detalle+="<tr>";	
			for (i in cad){
				cNom=i;
				cDet=rpt_textos(cad[i]);
				Detalle+="<td>"+cDet+"<td>"
			}
			Detalle+="</tr>"
		}
		
		
		
		Detalle+="</table>"
		console.log(Detalle)
		Detalle=rpt_textos(Detalle);
		document.getElementById("lderecho").innerHTML=Detalle;
		document.getElementById("lderecho").style.minWidth="300px";
		document.getElementById("lderecho").style.overflow="scroll";
		document.getElementById("lderecho").style.top="100px"
	}else{
		document.getElementById("lderecho").innerHTML="";
		document.getElementById("lderecho").style.minWidth="0px";
		document.getElementById("lderecho").style.overflow="none";
	}
}
function resp_registros_factura(ResTex) {
	console.log(ResTex);
}
function resp_registros_item(ResTex) {
	console.log(ResTex)
	var el = document.getElementById("detcuerpo");
	console.log("detalle: "+el.innerHTML);
	var oJsonDatos = JSON.parse(ResTex);
	
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
		}
		cad=oJsonDatos.Datos[0];
		
		console.log(cad);
		Detalle="<table>"
		for (i in cad){
			cNom=i;
			console.log(cNom+cad[i]);
			if(tAcc=="v"){
				//cDet=cad[i].replace('±','+');
				cDet=rpt_textos(cad[i]);
				if(cNom=='Archivo' && (sessionStorage.getItem("tipo")=="p" || sessionStorage.getItem("tipo")=="d" ) ){
					Detalle+="<tr><td><strong>"+cNom+"</strong></td><td><a href='https://www.miayudaapp.com/archivos/"+localStorage.getItem("Codempresa").toLowerCase()+"/"+sessionStorage.getItem("modulo")+"/"+cad['docsoporte']+"/"+cDet+"' target='_blank'>"+cDet+"<td></tr>"
				}else if(cNom=='docsoporte'){
					Detalle+="<tr><td><strong>"+cNom+"</strong></td><td><input type='text' id='c0' value='"+cad[i]+"' ></td></tr>"
				}else{
					Detalle+="<tr><td><strong>"+cNom+"</strong></td><td>"+cDet+"<td></tr>"
				}
			}else{
				//cDet=cad[i].replace('±','+');
				cDet=rpt_textos(cad[i]);
				if(cNom.substr(0,4)=="tab_"){
					campo=document.getElementsByName(cNom.substr(4,cNom.lenght));
				}else{
					campo=document.getElementsByName(cNom);
				}
				console.log(campo);
				if(cNom.substr(0,3)=="chk" || cNom.substr(0,3)=="exc" ){
					if(cad[i]==1){
						campo[0].checked =true;
					}else{
						campo[0].checked =false;
					}
					//alert(cad[i])
				}else{ 
					if(cNom.substr(0,4)=="tab_"){//si campo es tipo json; se quita el pefijo
						vGid=campo[0].id
						cDet="{'Datos':"+cDet+"}"
						cDet=cDet.replaceAll("'",'"')
						
						setTimeout(resp_filtrar_tabfind_json(cDet), 1000);

					}else{
						campo[0].value=cDet;
					}
				}
			}
		}
		Detalle+="</table>"
		//vRep="±"
		//Detalle=Detalle.replace(new RegExp(vRep,"g") ,"+");
		Detalle=rpt_textos(Detalle);
		if(tAcc=="v"){
			console.log(Detalle)
			document.getElementById("reporte").style.height="5%";
			document.getElementById("reporte").style.display="none";

			
			document.getElementById("detcuerpo").innerHTML=Detalle+"<div id='archivo' class='conte_archivo'></> ";
			
			idarchivo='<form id="upload_form" enctype="multipart/form-data" class="form_adj" method="post"><div id="visorarchivo" class="dfoto"></div><input type="file" id="inputlogo" name="inputlogo"  class="archivo" onchange="return validarExt(\'inputlogo\',\'c1\')">';
			idarchivo=idarchivo+'<label for="inputlogo" >'+'&#128193; Adjuntos'+'</label><input type="text" id="c1" name="archivo" class="'+sessionStorage.getItem("modulo")+'"><p>Extensiones permitidas: .png|.jpg|.pdf</p> '
			idarchivo=idarchivo+'<input type="button" value="Upload File" onclick="uploadFile(\'inputlogo\')"><progress id="progressBar" value="0" max="100" style="width:300px;"></progress><h3 id="status"></h3><p id="loaded_n_total"></p>'
			
			document.getElementById('archivo').innerHTML=idarchivo;
			//LLAMA FUNCION PARA VISOR DE ARCHIVO
			//<input type="button" value="Upload File" onclick="uploadFile('inputlogo')">
  			//<progress id='progressBar' value='0' max='100' style='width:300px;'></progress>
			//  <h3 id='status'></h3>
  			//<p id='loaded_n_total'></p>
			
		}
		asignarval_local();
	}
}



function resp_registros_list(ResTex) {
	console.log(ResTex);
	vC="";
	var oJsonDatos = JSON.parse(ResTex);
	DetalleUl="";
	Detalle="";
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
			//document.getElementById("mdi_tablero").innerHTML=""
			//document.getElementById("mdi_tablero").style.height="60px";
			
				Detalle="<div class='prueba'><div class='table-title' ><a href='#'>"+"Listado de "+tList+"</a><div class='ctn_icon_search' ><a href='javascript:view_search_list();' ><i class='icon-magnifying-glass' id='icon_search_list' ></i></a></div></div><div id='ctn_barra_search' disabled><input type='text' id='tsearch_list'  onKeyUp='search_list()' placeholder='¿Qué deseas buscar?'></div><ul id='box_search'></ul><a href='javascript:hide_search_list();'><div id='cover_ctn_search' ></div> </a><div class='conte_table' >"
		
			console.log(tAcc);
			if(tAcc=="v"){
				Detalle+="<table id='customers' class='table_invertida'>";
			}else{
				Detalle+="<table id='customers'>";
			}
			
			console.log(Detalle);
			//Detalle+="<thead>";
			Detalle+="<tr>";
			cad=oJsonDatos.Datos[0];
			console.log(Object.keys(cad));
			Detalle+="<th>Opciones</th>";
			Object.keys(cad).forEach((valor)=>{
				Detalle+="<th>"+valor+"</th>"
				
				})
			
			
			Detalle+="</tr>";
			//Detalle+="</thead>";
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			var cNrov="";
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cad=oJsonDatos.Datos[RowArray];	
				Detalle+="<tr>";
				tCampo=0;
				cCod=oJsonDatos.Datos[RowArray].Id;
				if(VGrol=='empleado' ){
					//vrutanom="http://miayudaapp.com/views/volante.html?empresa="+VGempresa+"&documento="
					//Detalle+='<td><div class="btopciones"><a href=""><div class="circulo_sup"><span class="icon-eye" ></span></div></a>'
					cNrov=cad['nrocmp'].trim();
						vrutanom="http://miayudaapp.com/views/volante.html?empresa="+VGempresa;
						vrutanom+="&documento='"+cNrov+"'";
						vrutanom+="&rol="+VGrol;
						vrutanom+="&modulo="+vGmodulo;
						vrutanom+="&identidad="+localStorage.getItem("identidad");
						Detalle+='<td><div class="btopciones"><a href="'+vrutanom+'" target="_blank"><div class="circulo_sup"><span class="icon-eye" ></span></div></a>'
				}else{
					Detalle+='<td><div class="btopciones"><a href="javascript:imodulo(\'' + tList + '\',\'' + tCampo + '\',\'' + cCod + '\',\'v\',\'' + vGtam + '\');"><div class="circulo_sup"><span class="icon-eye" ></span></div></a>'
					Detalle+='<a href="javascript:nmodulo(\'' + tList + '\',\'' + tCampo + '\',\'' + cCod + '\',\'e\',\'' + vGtam + '\');"><div class="circulo_sup"><span class="icon-edit" ></span></div></a>'
					Detalle+='<a href="javascript:imodulo(\'' + tList + '\',\'' + cCod + '\',\'d\');"><div class="circulo_sup"><span class="icon-erase" ></span></div></a>'				
				}
				Detalle+="</div></td>";
				
				for(d in cad){
					//console.log(d)
					if(cad[d].substring(0,4)=="http" || cad[d].substring(0,3)=="www" || d.search('archivo')!=-1 ){
						if(d.search('archivo')!=- 1){
							Detalle+="<td><a href='"+"../archivos/"+localStorage.getItem("Codempresa").toLowerCase()+"/"+vGmodulo.toLowerCase()+"/"+cad[d]+"' target='_blank'>"+cad[d]+"</a></td>";
						}else{
							Detalle+="<td><a href='"+cad[d]+"' target='_blank'>"+cad[d]+"</a></td>";
						}
					}else{
						Detalle+="<td>"+cad[d]+"</td>";
					}
					if(VGrol=='empleado' && d=='nrocmp' ){
						
					}
					if(d=='nombre'){
						DetalleUl+="<li><div class='d_search'><a href='#'><i class='icon-magnifying-glass'></i>"+cad[d]+'</a><a href="javascript:nmodulo(\''+ tList+ '\',\'nnn\',\'' + cad['Id'] + '\',\'e\');"><span class="icon-edit"></span></a>';
						DetalleUl+='</a><a href="javascript:imodulo(\''+ tList+ '\',\'' + cad['Id'] + '\',\'d\');" class="a_search"><span class="icon-erase"></span></a>';
						DetalleUl+='</a><a href="javascript:imodulo(\''+ tList+ '\',\'nnn\',\'' + cad['Id'] + '\',\'v\');"><span class="icon-eye"></span></a>';
						DetalleUl+="</div></li>";
					}
					
					tCampo++;
				}
				DetalleUl=DetalleUl.replace("nnn",tCampo);
				
				Detalle+="</tr>";
			}
			Detalle+="</table>";
		}else{
			alert("sino");
	    	}
	  	
		Detalle+="</div>";
		DetalleUl+="</ul>";  
	}
	
	//var vRep="±"
	//Detalle=Detalle.replace(new RegExp(vRep,"g") ,"+");
	Detalle=rpt_textos(Detalle);
	if(Detalle==""){Detalle="<div> <p style='margin-left:5px'>No hay registros!</p></div>"}
	//if(DetalleUl!=""){document.getElementById("box_search").innerHTML=DetalleUl;}
	
	//console.log(DetalleUl);
	//console.log(Detalle);
	
	
	document.getElementById("reporte").innerHTML=Detalle;
	//document.getElementById("detcuerpo").innerHTML="";
	//document.getElementById("detcuerpo").style.minHeight="10%";
	//document.getElementById("detcuerpo").style.height="200px";
	document.getElementById("reporte").style.display="block";
	document.getElementById("reporte").style.height="auto";
		document.getElementById("reporte").style.maxHeight="60%";
	document.getElementById("reporte").style.width="100%";
	
	console.log(vJfunciones.length)
	
	if(vJfunciones.length>13){
		console.log(vJfunciones)
		vGnum=0;
		jGfunciones = JSON.parse(vJfunciones);
		filtrar(jGfunciones.Datos[0].modulo,jGfunciones.Datos[0].objeto,jGfunciones.Datos[0].valor,jGfunciones.Datos[0].condicion,jGfunciones.Datos[0].modalidad,jGfunciones.Datos[0].lost);
	}else{
	}
	
	//document.getElementById("footer").style.height="6";
	
	
}
function fechas(vtipo,cvalor){
	var lcampos=document.querySelectorAll("input");
	console.log(lcampos)
	cVal=""
	for(var i=0; i<lcampos.length; ++i){
		if(lcampos[i].name==cvalor){
			cVal=lcampos[i].value
		}
	}
	
	for(var i=0; i<lcampos.length; ++i){
		if(lcampos[i].name==cvalor){
		}else{
			lcampos[i].value=cVal
		}
	}
	
}
		
function buscar(nMod,cValor,vCampo,vTip,tCampo,vdatos,condicion){
	
	cvector=vdatos
	console.log(vCampo)
	VGitulo="Reporte de "+nMod;
	vTipo=vTip;
	var cCondicion="";
	vGid=vCampo;
	if(vTipo=="F"){//para cuando el valor enviado depanda de un elemento
		vCampo=cValor
	}
	cOrden=""
	url="modulo="+nMod;
	//alert(nMod)
	//if(vTipo=="V" || vTipo=="W"){
	if(vTipo!="F"){
		tC=tCampo//traera el total de campos que debo recorrer para armar al condicional
		cDife="<"
		if(tC==1){
			iCampo=cValor
			nCampo=iCampo.trim();
			vCampo=document.getElementById(vGid).value;
			cCondicion+=" and "+nMod+"."+nCampo+"='"+vCampo+"'"
			cOrden+=nMod+"."+nCampo
		}
		if(tC==0){ 
			cCondicion+=" and "+nMod+"."+cValor+"='"+vCampo+"'"
		}
		if(tC>1){
			for(var i=0;i<tC;i++){
				if (vTip!='lat'){	iCampo="c"+i.toString()}else{	iCampo="L"+i.toString()}
				nCampo=document.getElementById(iCampo).name.trim();
				vCampo=document.getElementById(iCampo).value;
				z=0
				if(vCampo!="" && vCampo!="..." ){
					console.log(vCampo+nCampo)
					if(condicion.search(nCampo)>=0){//verify that value is not in condicion
						console.log(condicion)
						condicion=condicion.replace(nCampo,nCampo+"='"+vCampo+"'")
						console.log(condicion)
					}else{
						if(nCampo.substring(0,3)=="fin" || nCampo.substring(0,3)=="ini" || nCampo.substring(0,3)=="fch"){
							cCondicion+=" and "+nMod+"."+nCampo+cDife+"='"+vCampo+"'"
							cDife=">";
						}else{
							cCondicion+=" and "+nMod+"."+nCampo+"='"+vCampo+"'"
						}
						
						nPos=cOrden.search(nCampo)
						if(nPos<0){
							if(i!=0){
								cOrden+=","
							}
							cOrden+=nMod+"."+nCampo
						}
				
					}
				}
				
				
			}
			nthis=document.getElementById('c'+(cValor)).value
			console.log(nthis+cValor+this)
			cCondicion+=condicion.replace('this',"\'"+nthis+"\'")
		}

		
		
		
	}else {
		
		if(nMod!='volantesnom'){
			//console.log(cValor)
			//alert(nMod)
			cValor=document.getElementsByName(cValor)[0].value;
			console.log(localStorage.getItem("identidad"));
		}else{
			//alert()
			cValor=VGdocumento;
			url+="&rol="+localStorage.getItem("rol");
			url+="&identidad="+localStorage.getItem("identidad");
			//console.log(localStorage.getItem("identidad"));
		}
		console.log(url)
	}
	console.log(cCondicion);

	
	url+="&campo="+vCampo;
	url+="&valor="+cValor;
	url+="&condicion="+cCondicion
	
	url+="&orden="+cOrden
	url+="&tipo="+"l";
	url+="&accion="+"b";
	url+="&codemp="+VGempresa;
	localStorage.setItem("rutab","");
	console.log(url);

	var Rpage =VGRutaRiz+"controllers/registros/"
	if(vTipo=='T' ){
		console.log(url);
		
		doAjax(Rpage,url,'resp_filtrar_tabla','gets','0','Ccargar');
	}
	if(vTipo=='TR' ){
		console.log(url);
		
		doAjax(Rpage,url,'resp_filtrar_tabrest','gets','0','Ccargar');
	}
	if(vTipo=='V' || vTipo=="W"){
		localStorage.setItem("rutab",url);
		console.log(url);
		doAjax(Rpage,url,'resp_filtrar_tabla','gets','0','Ccargar');
	}
	if(vTipo=='D' ){
		console.log(url)
		localStorage.setItem("rutab",url);
		if(screen.width<600){
			doAjax(Rpage,url,'resp_filtrar_div','gets','0','Ccargar');
		}else{
			doAjax(Rpage,url,'resp_filtrar_tabla','gets','0','Ccargar');
		}
	}
	if(vTipo==' ' || vTipo=='lat' || vTipo=='R'){
		doAjax(Rpage,url,'resp_filtrar_busq','gets','0','Ccargar');
	}
	
	if(vTipo=='F'){
		console.log(url);
		if(nMod!='volantesnom'){
			if (nMod!='sms'){
				doAjax(Rpage,url,'resp_filtrar_busq','gets','0','Ccargar');
			}else {
				//poner para el diseño
				
			}
		}else{
			doAjax(Rpage,url,'resp_filtrar_vol','gets','0','Ccargar');
		}
		
	}
}

function resp_filtrar_busq(ResTex) {
	//ResTex=ResTex.replace('+','Â±');
	jSondatosadi=""
	jSoncamposadi=""
	console.log(ResTex);
	var oJsonDatos = JSON.parse(ResTex);
	console.log(oJsonDatos);
	z=0
	cadcampos=""
	caddatos=""
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
		}
		cad=oJsonDatos.Datos[0];
		console.log(cad);
		for (i in cad){
			cNom=i;
			console.log(cNom+vTipo);
			if(vTipo!="R"){
				campo=document.getElementsByName(cNom);
				console.log(campo);
				campo[0].value=cad[i];
				
				if (campo[0].name.substr(0,3)=='chk'){

					if(cad[i]==1){campo[0].checked = true}else{campo[0].checked = false}
				}
			}else{
				//if(cvector!==undefined){//validar si campo sin valor y esta en la cadena
					if (cvector.search(cNom)>=0){//Guardar variables que se van a requerir al guardar factura electronica siempre que inicie aqui se debe eliminar ese vector
						if(cad[i].length<=0 ){
							document.getElementById(vGid).value="..."
							alert("Verifique tercero")
							return
						}else{
							
							if(z!=0){cadcampos+=",";caddatos+=","}
							zCampo="c"+z.toString()
							caddatos+='"'+nCampo+'":'+'"'+vCampo+'"';
							cadcampos+='"'+zCampo+'":'+'"'+nCampo+'"';
							z++;
						}
						
					}
			}
		}
	}
	jSondatosadi=caddatos
	jSoncamposadi=cadcampos
	
	if(localStorage.getItem("proyecto")=='cli'){
		asignarval_local()
		//return
	}
}

function resp_filtrar_tabrest(ResTex) {
	vC="";
	var oJsonDatos = JSON.parse(ResTex);
	Detalle="<div class='prueba'><div class='table-title' ><a href='#'>"+"Listado </a></div><div class='conte_table' >"
	DetalleUl="<ul>";
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
			//Detalle="<div class='prueba'><div class='table-title' ><a href='#'>"+"Listado </a><div class='ctn_icon_search'><a href='javascript:view_search_list();'><i class='icon-magnifying-glass' id='icon_search_list'></i></a></div></div><div id='ctn_barra_search'><input type='text' id='tsearch_list'  onKeyUp='search_list()' placeholder='¿Qué deseas buscar?'></div><ul id='box_search'></ul><a href='javascript:hide_search_list();'><div id='cover_ctn_search' ></div> </a><div class='conte_table' >"
			
			tAcc=""
			if(tAcc=="v"){
				Detalle+="<table id='customers' class='table_invertida'>";
			}else{
				Detalle+="<table id='customers'>";
			}
			DetalleUl="";
			console.log(Detalle);
			cad=oJsonDatos.Datos[0];
			
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			console.log(Object.keys(cad));
			Detalle+="<tr>";
			Object.keys(cad).forEach((valor)=>{
				
				Detalle+="<th>"+valor+"</th>"
			})
			
			Detalle+="<th>Opciones</th>";
			Detalle+="</tr>";
			
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cad=oJsonDatos.Datos[RowArray];	
				console.log(cad);
				Detalle+="<tr><td>";
				tCampo=0;
				cId="";
				for(d in cad){
					nCp=d
					nPos=nCp.search('_')
					vchk=nCp.search('chk')
					//alert(nCp+vchk)
					if(nPos>0){
						nCp=nCp.substr(0,nPos);
					}

					if(nCp=='nriper' || d.substr(-(d.length-(nPos+1)))=='codigo'){
						cId=cad[d]
					}
					if(vTipo!="W"){
						console.log(nCp.substr(-3))
						if(nCp.substr(0,3)=='img'){
							Detalle+='<a><img src="clientes/'+VGempresa+'/'+'producto'+'/'+oJsonDatos.Datos[RowArray].codigo+'.jpj">'+oJsonDatos.Datos[RowArray].nombre+'</a>'
						}else if(nCp.substr(-3)=='pvp'){
							Detalle+="<input type='number' name='"+nCp+"'value='"+cad[d]+"' class='"+cId+"'>";
							//if(vGcampoi==0){vGcampoi=
						}else if(cad[d]!="" && cad[d]!="0" && cad[d]!="1"){
							if(nCp=='nriper' ||  d.substr(-(d.length-(nPos+1)))=='codigo'){

								Detalle+="<input type='text' name='"+nCp+"' value='"+cad[d]+"' class='"+cId+"'>";
							}
							//Detalle+="<input type='text' name='"+nCp+"' value='"+cad[d]+"' class='"+cId+"'>";
							
						}else if(cad[d]==""){
							Detalle+="<textarea name='"+nCp+"'value='"+cad[d]+"' class='"+cId+"'></textarea>";
						}else{
							if(cad[d]=="0" || cad[d]=="1"){
								//alert(vchk)
								if(vchk>=0){
									Detalle+="<input type='checkbox' name='"+nCp+"' class='"+cId+"'>";
								}else{
									Detalle+="<input type='number' name='"+nCp+"'value='"+cad[d]+"' class='"+cId+"'>";
								}
							}
						}
						
					}else{
						Detalle+="<td>"+cad[d]+"</td>";
					}
					//Revisar aqui ya que tiene que ver con las opciones de busqueda
					if(d=='nombre'){
						DetalleUl+="<li><div class='d_search'><a href='#'><i class='icon-magnifying-glass'></i>"+cad[d]+'</a><a href="javascript:nmodulo(\''+ tList+ '\',\'nnn\',\'' + cad['Id'] + '\',\'e\');"><span class="icon-edit"></span></a>';
						DetalleUl+='</a><a href="javascript:imodulo(\''+ tList+ '\',\'' + cad['Id'] + '\',\'d\');" class="a_search"><span class="icon-erase"></span></a>';
						DetalleUl+='</a><a href="javascript:imodulo(\''+ tList+ '\',\'nnn\',\'' + cad['Id'] + '\',\'v\');"><span class="icon-eye"></span></a>';
						DetalleUl+="</div></li>";
					}
					tCampo++;
				}
				DetalleUl=DetalleUl.replace("nnn",tCampo);
				cCod=oJsonDatos.Datos[RowArray].Id;
				if(vTipo!="W"){
					Detalle+='<td><div><a href="javascript:guardardet(\''+ vGmodulo+ '\',\'' + cId + '\',\'g\',\'' + vGcampoi + '\',\'' + vGcampof + '\');"><div class="circulo_sup"><span class="icon-save" ></span></div></a>'
				}
			
				Detalle+="</div></td>";
				Detalle+="</tr>";
			}
			Detalle+="</table>";
		}else{
			alert("sino");
	    	}
	  	
	  
	}
	Detalle+="</div></div>";
	DetalleUl+="</ul>";
	console.log(Detalle);
	console.log(DetalleUl);
	//document.getElementById("div_tabla").style.height="50%";.-
	//document.getElementById("div_tabla").style.overflow="scroll";
	//document.getElementById("div_tabla").style.maxWidth="800px";
	
	Detalle=rpt_textos(Detalle);
	
	document.getElementById("producto").innerHTML=Detalle;

	
}

function resp_filtrar_tabla(ResTex) {
	//ResTex=ResTex.replace('+','Â±');
	console.log(ResTex);
	vC="";
	var oJsonDatos = JSON.parse(ResTex);
	Detalle="<div class='prueba'><div class='table-title' ><a href='#'>"+"Listado </a></div><div class='conte_table' >"
	DetalleUl="<ul>";
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
			//Detalle="<div class='prueba'><div class='table-title' ><a href='#'>"+"Listado </a><div class='ctn_icon_search'><a href='javascript:view_search_list();'><i class='icon-magnifying-glass' id='icon_search_list'></i></a></div></div><div id='ctn_barra_search'><input type='text' id='tsearch_list'  onKeyUp='search_list()' placeholder='¿Qué deseas buscar?'></div><ul id='box_search'></ul><a href='javascript:hide_search_list();'><div id='cover_ctn_search' ></div> </a><div class='conte_table' >"
			
			tAcc=""
			if(tAcc=="v"){
				Detalle+="<table id='customers' class='table_invertida'>";
			}else{
				Detalle+="<table id='customers'>";
			}
			DetalleUl="";
			console.log(Detalle);
			Detalle+="<tr>";
			cad=oJsonDatos.Datos[0];
			console.log(Object.keys(cad));
			Object.keys(cad).forEach((valor)=>{
				nPos=valor.search('_')//aqui es para dependiento si encuentro este caracter, tomarlo como titulo
				cTit=valor
				if (nPos>0){
					//alert(cTit.substring(0,6));
					cTit=cTit.replace("_", " ");
					cTit=cTit.substring(nPos+1);//temporal antes del 11-01-2023 
				}
				Detalle+="<th>"+cTit+"</th>"
				})
			if(vTipo!="W"){
				Detalle+="<th>Acciones</th>";
			}
			Detalle+="</tr>";
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cad=oJsonDatos.Datos[RowArray];	
				console.log(cad);
				Detalle+="<tr>";
				tCampo=0;
				cId="";
				for(d in cad){
					nCp=d
					nPos=nCp.search('_')
					vchk=nCp.search('chk')
					//alert(nCp+vchk)
					if(nPos>0){
						nCp=nCp.substring(0,nPos);
					}
					if(nCp=='nriper'){
						cId=cad[d]
					}
					if(vTipo!="W"){
						
						if(cad[d]!="" && cad[d]!="0"){
							Detalle+="<td><input type='text' name='"+nCp+"' value='"+cad[d]+"' class='"+cId+"'></td>";
						}else{
							if(cad[d]=="" ){
								Detalle+="<td><textarea name='"+nCp+"'value='"+cad[d]+"' class='"+cId+"'></textarea></td>";
							}else{
								if(cad[d]=="0"){
									//alert(vchk)
									if(vchk>=0){
										Detalle+="<td><input type='checkbox' name='"+nCp+"' class='"+cId+"'></td>";
									}else{
										Detalle+="<td><input type='number' name='"+nCp+"'value='"+cad[d]+"' class='"+cId
										console.log(nCp.search('nota'))
										if(nCp.search('nota')>=0){
											Detalle+=" notdef' onblur='promedio(\"notdef\",\""+cId+"\")'></td>";
										}else{
											if(nCp.search('notdef')>=0){
												Detalle+="' id='"+cId+"'></td>";	
											}else{
												Detalle+="'></td>";
											}
										}
									}
								}
							}
						}
					}else{
						Detalle+="<td>"+cad[d]+"</td>";
					}
					//Revisar aqui ya que tiene que ver con las opciones de busqueda
					if(d=='nombre'){
						DetalleUl+="<li><div class='d_search'><a href='#'><i class='icon-magnifying-glass'></i>"+cad[d]+'</a><a href="javascript:nmodulo(\''+ tList+ '\',\'nnn\',\'' + cad['Id'] + '\',\'e\');"><span class="icon-edit"></span></a>';
						DetalleUl+='</a><a href="javascript:imodulo(\''+ tList+ '\',\'' + cad['Id'] + '\',\'d\');" class="a_search"><span class="icon-erase"></span></a>';
						DetalleUl+='</a><a href="javascript:imodulo(\''+ tList+ '\',\'nnn\',\'' + cad['Id'] + '\',\'v\');"><span class="icon-eye"></span></a>';
						DetalleUl+="</div></li>";
					}
					tCampo++;
				}
				DetalleUl=DetalleUl.replace("nnn",tCampo);
				cCod=oJsonDatos.Datos[RowArray].Id;
				if(vTipo!="W"){
					Detalle+='<td><div><a href="javascript:guardardet(\''+ vGmodulo+ '\',\'' + cId + '\',\'g\',\'' + vGcampoi + '\',\'' + vGcampof + '\');"><div class="circulo_sup"><span class="icon-save" ></span></div></a>'
				}
			
				Detalle+="</div></td>";
				Detalle+="</tr>";
			}
			Detalle+="</table>";
		}else{
			alert("sino");
	    	}
	  	
	  
	}
	Detalle+="</div></div>";
	DetalleUl+="</ul>";
	console.log(Detalle);
	console.log(DetalleUl);
	//document.getElementById("div_tabla").style.height="50%";.-
	//document.getElementById("div_tabla").style.overflow="scroll";
	//document.getElementById("div_tabla").style.maxWidth="800px";
	
	Detalle=rpt_textos(Detalle);
	
	document.getElementById("div_tabla").innerHTML=Detalle;
	
	if(localStorage.getItem("rutab")!=""){
		buscar_res(localStorage.getItem("rutab",Detalle));
	}
	
}
function resp_filtrar_tabfind_e() {//para tablas con filtro de campos tipo tabla
	vGnum++;
	console.log(vGnum+"tam:"+jGfunciones.Datos.length)
	if(vGnum==jGfunciones.Datos.length){
		if(sessionStorage.getItem('accion')=='e' ){
			if(sessionStorage.getItem('modulo')=='ordenserviciot'){
				console.log("di llama")
				setTimeout(lmodulo(sessionStorage.getItem('modulo'),sessionStorage.getItem('tcampo'),sessionStorage.getItem('tid'),sessionStorage.getItem('accion')), 1000);
			}else{
				setTimeout(imodulo(sessionStorage.getItem('modulo'),sessionStorage.getItem('tcampo'),sessionStorage.getItem('tid'),sessionStorage.getItem('accion')), 1000);
			}
			
		}
	}

	if (jGfunciones.Datos.length>1){
		if(vGnum<jGfunciones.Datos.length){
			console.log(vGnum+jGfunciones.Datos[vGnum].modulo)
			filtrar(jGfunciones.Datos[vGnum].modulo,jGfunciones.Datos[vGnum].objeto,jGfunciones.Datos[vGnum].valor,jGfunciones.Datos[vGnum].condicion,jGfunciones.Datos[vGnum].modalidad,jGfunciones.Datos[vGnum].lost);
		}
	}

}
function resp_filtrar_tabfind_json(ResTex) {//para tablas con filtro de campos tipo tabla
	console.log(ResTex)
	Detalle="<th>...</th>";
	voption="";
	vTipo=""
	var oJsonDatos = JSON.parse(ResTex);
	z=0;
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
			cTabla=document.getElementById(vGid);
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			Detalle=""
			cadd=oJsonDatos.Datos[0];
			Object.keys(cadd).forEach((valor)=>{
				nPos=valor.search('_')//aqui es para dependiento si encuentro este caracter, tomarlo como titulo
				cTit=valor
				if (nPos>0){
					cTit=cTit.replace("_", " ");
				}
				Detalle+="<th>"+cTit+"</th>"
			})
			
			RowArray=0;//esto lo adicione nuevo
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cadd=oJsonDatos.Datos[RowArray];	
				console.log(cadd);
				Detalle+="<tr>";
				tCampo=0;
				cId="";
				for(d in cadd){
					nCp=d
					nPos=nCp.search('_')
					vchk=nCp.search('chk')
					console.log(nCp+" chq "+vchk+" val "+cadd[d])
					if(nPos>0){
						nCp=nCp.substring(0,nPos);
					}
					if(nCp=='nriper' || nCp=='Id'){
						cId=vGid+" Id"+cadd[d]
					}
					if(vTipo!="W"){
						
						if(cadd[d]!="0" && vchk<0){
							Detalle+="<td><input type='text' name='"+nCp+"' value='"+cadd[d]+"' class='"+cId+"' style='width:100px;'></td>";
						}else{
							
							if(vchk>=0){
								Detalle+="<td ><input type='checkbox' name='"+nCp+"' class='"+cId+"'"
								if(cadd[d]=="1"){
									Detalle+=" checked=true "
								}
								Detalle+="></td>";
							}else{
								if(cadd[d].substring(0,1)>="0" && cadd[d].substring(0,1)<="9" ){
									Detalle+="<td><input type='number' name='"+nCp+"'value='"+cadd[d]+"' class='"+cId
									console.log(nCp.search('nota'))
									Detalle+="' style='width:100px;'></td>";
								}else{
									if(cadd[d]=="" ){
										Detalle+="<td><textarea name='"+nCp+"'value='"+cadd[d]+"' class='"+cId+"'></textarea></td>";
									}
								}
							}
						}
					}else{
						Detalle+="<td>"+cadd[d]+"</td>";
					}
					tCampo++;
				}
				cCod=oJsonDatos.Datos[RowArray].Id;
				Detalle+="</div></td>";
				Detalle+="</tr>";
			}
			cTabla.innerHTML=Detalle;
		}else{
			alert("no hay registros");
    	}
	}

}

function resp_filtrar_tabfind(ResTex) {//para tablas con filtro de campos tipo tabla
	console.log(ResTex);
	console.log(vGval);
	console.log(vGfiltro);
	//Detalle="<th>...</th>";
	voption="";
	vTipo=""
	var oJsonDatos = JSON.parse(ResTex);
	z=0;
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
			cTabla=document.getElementById(vGid);
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			cad=oJsonDatos.Datos[0];	
			Detalle=""
			Object.keys(cad).forEach((valor)=>{
				nPos=valor.search('_')//aqui es para dependiento si encuentro este caracter, tomarlo como titulo
				cTit=valor
				if (nPos>0){
					cTit=cTit.replace("_", " ");
				}
				Detalle+="<th>"+cTit+"</th>"
			})
				
			RowArray=0;//esto lo adicione nuevo
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cad=oJsonDatos.Datos[RowArray];	
				console.log(cad);
				Detalle+="<tr>";
				tCampo=0;
				cId="";
				for(d in cad){
					nCp=d
					nPos=nCp.search('_')
					vchk=nCp.search('chk')
					//alert(nCp+vchk)
					if(nPos>0){
						nCp=nCp.substring(0,nPos);
					}
					if(nCp=='nriper' || nCp=='Id'){
						cId=vGid+" Id"+cad[d]
					}
					if(vTipo!="W"){
						
						if( cad[d]!="0"){
							if(cad[d].substring(0,1)>="0" && cad[d].substring(0,1)<="9" ){
									Detalle+="<td><input type='number' name='"+nCp+"'value='"+cad[d]+"' class='"+cId
									Detalle+="' style='width:100px;' disabled></td>";
							}else{
								Detalle+="<td><input type='text' name='"+nCp+"' value='"+cad[d]+"' class='"+cId+"'></td>";
							}
						}else{
							if(cad[d]=="" ){
								Detalle+="<td><textarea name='"+nCp+"'value='"+cad[d]+"' class='"+cId+"'></textarea></td>";
							}else{
								if(cad[d]=="0"){
									//alert(vchk)
									if(vchk>=0){
										Detalle+="<td><input type='checkbox' name='"+nCp+"' class='"+cId+"'></td>";
									}else{
										Detalle+="<td><input type='number' name='"+nCp+"'value='"+cad[d]+"' class='"+cId
										console.log(nCp.search('nota'))
										//if(nCp.search('nota')>=0){
										//	Detalle+=" notdef' onblur='promedio(\"notdef\",\""+cId+"\")'></td>";
										//}else{
										//	if(nCp.search('notdef')>=0){
										//		Detalle+="' id='"+cId+"'></td>";	
										//	}else{
												Detalle+="'></td>";
										//	}
										//}
									}
								}
							}
						}
					}else{
						Detalle+="<td>"+cad[d]+"</td>";
					}
					tCampo++;
				}

				cCod=oJsonDatos.Datos[RowArray].Id;

			
				Detalle+="</div></td>";
				Detalle+="</tr>";
			}
			
			
			cTabla.innerHTML=Detalle;
		}else{
			alert("no hay registros");
    	}
	}
	
	console.log(Detalle);
	vGnum++;
	console.log(jGfunciones.Datos.length)
	if (jGfunciones.Datos.length>1){
		if(vGnum<jGfunciones.Datos.length){
			console.log(jGfunciones.Datos[vGnum].modulo+jGfunciones.Datos[vGnum].objeto,jGfunciones.Datos[vGnum].valor,jGfunciones.Datos[vGnum].condicion,jGfunciones.Datos[vGnum].modalidad,jGfunciones.Datos[vGnum].lost)
			filtrar(jGfunciones.Datos[vGnum].modulo,jGfunciones.Datos[vGnum].objeto,jGfunciones.Datos[vGnum].valor,jGfunciones.Datos[vGnum].condicion,jGfunciones.Datos[vGnum].modalidad,jGfunciones.Datos[vGnum].lost);
		}
	}


}


function promedio(clase,valor){
	var jSondet=document.getElementsByClassName(valor+' '+clase);
	nTam=jSondet.length;
	z=0;
	total=0
	for(var i=0;i<nTam;i++){
		vCampo=jSondet[i].value
		console.log(vCampo)
		total=total+parseFloat(vCampo)
	}
	if(nTam>0){
		document.getElementById(valor).value=total/nTam	
	}else{
			document.getElementById(valor).value=0
	}
}
function buscar_res(ruta){
	
	document.getElementById("div_tabla").innerHTML=Detalle;
	url=ruta;
	url+="&consld="+"1";
	console.log(url)
	var Rpage =VGRutaRiz+"controllers/registros/"
	doAjax(Rpage,url,'resp_filtrar_res','gets','0','Ccargar');
}
function resp_filtrar_res(ResTex) {
	$tabla = document.querySelector("#customers");
	//alert(ResTex)
	Detalle=""
	//Detalle='<button id="btnExportar" class="btn btn-success" onclick="exportar_xls()"><i class="fas fa-file-excel"></i> Exportar a Excel</button> '
	Detalle+="<table>";
	JsonActividad=ResTex;
	var oJsonDatos = JSON.parse(JsonActividad);
	var NJsonItem=oJsonDatos.Datos.length;
	Detalle+="<tr>";
	cad=oJsonDatos.Datos[0];
	Object.keys(cad).forEach((valor)=>{
		nPos=valor.search('_')//aqui es para dependiento si encuentro este caracter, tomarlo como titulo
		cTit=valor
		if (nPos>0){
			cTit=cTit.replace("_", " ");
		}
		Detalle+="<th>"+cTit+"</th>"
	})
	Detalle+="</tr>";
			
	for (RowArray=0;RowArray<NJsonItem; RowArray++){
		cad=oJsonDatos.Datos[RowArray];	
		Detalle+="<tr>";
		tCampo=0;
		cId="";
		for(d in cad){
			Detalle+="<td>"+cad[d]+"</td>";
		}
	}
	Detalle+="</tr></table>";
	
	document.getElementById("mdi_resumen").innerHTML=Detalle;
	document.getElementById("mdi_resumen").style.height="70px";
	document.getElementById("mdi_resumen").style.width="100%";
	document.getElementById("mdi_resumen").style.display="block";
	document.getElementById("mdi_resumen").style.height="50px";
	console.log(Detalle)
}
function filtrar(nMod,vCampo,cValor,cCondicion,cmodalidad,filtro){
	url="modulo="+nMod;
	url+="&tipo="+"l";
	url+="&accion="+"i";
	url+="&condicion="+cCondicion;
	url+="&codemp="+VGempresa;
	vGid=vCampo;
	vGmod=cmodalidad
	vGfiltro=filtro
	vTmod=nMod
	vGval=cValor;
	console.log(vGval);
	console.log(url);
	var Rpage =VGRutaRiz+"controllers/registros/";
	console.log(Rpage+vGmod);
	//Poner opcion quesi valirable es x variable, la informacion se llene en una tabla y llame a una fuancion que debe crear la tabla con sus objetos, ademas a
	//debe haber algo que me indique en que tabla se debe guardar esa informacion.
	if (cmodalidad=="t"){
		doAjax(Rpage,url,'resp_filtrar_tab','gets','0','Ccargar');
	}else{
		if(cmodalidad=="tb"){
			if(sessionStorage.getItem("accion")!="e"){
				doAjax(Rpage,url,'resp_filtrar_tabfind','gets','0','Ccargar');
			}else{
				resp_filtrar_tabfind_e();
			}
		}else{
			doAjax(Rpage,url,'resp_filtrar_list','gets','0','Ccargar');
		}
	}
}

function resp_filtrar_list(ResTex) {
	console.log(vGnum)
	console.log(jGfunciones.Datos.length);
	console.log(ResTex+vGid);
	//console.log(vGval);
	//console.log(vGval);
	//console.log(jGfunciones)
	Detalle="<option value='' ></option>";
	//Detalle="";
	voption="";
	//if(vGid='c0'){
	
	//Detbuscador='<input class="" data-table="order-table" type="text" placeholder="Buscar">'
	//Detbuscador+='<hr>'
    //Detbuscador+='<table class="table table-bordered order-table ">'
	//Detbuscador+='<thead><tr><th>Company</th><th>Contact</th><th>Country</th></tr></thead>'
	//}
	var oJsonDatos = JSON.parse(ResTex);
	z=0;
	if(oJsonDatos.Datos!="ERROR" && ResTex.length>15){
	    if(ResTex.length>1){
			
			cCombo=document.getElementById(vGid);
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			RowArray=0;//esto lo adicione nuevo
			cCombo.options[RowArray] = new Option("Seleccione","")
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cad=oJsonDatos.Datos[RowArray];	
				
			//if(vGid='c0'){	
          	//Detbuscador+='<tr><td>'+oJsonDatos.Datos[RowArray].codigo+'</td><td>'+oJsonDatos.Datos[RowArray].nombre+'</td><td>'+oJsonDatos.Datos[RowArray].nombre+'</td></tr>'
			//}
				j=RowArray+1;
				if(vGval==oJsonDatos.Datos[RowArray].codigo && vGval!=""){
					z=1;
					Detalle+='<option value="'+oJsonDatos.Datos[RowArray].codigo+'" selected>'+oJsonDatos.Datos[RowArray].nombre+'</option>'
					//Detalle+='<option value="'+oJsonDatos.Datos[RowArray].codigo+'" >'+oJsonDatos.Datos[RowArray].nombre+'</option>'
				}else{
					Detalle+='<option value="'+oJsonDatos.Datos[RowArray].codigo+'">'+oJsonDatos.Datos[RowArray].nombre+'</option>'
				}
			}
			console.log(Detalle)
					//vRep="±"
			//Detalle=Detalle.replace(new RegExp(vRep,"g") ,"+");
			Detalle=rpt_textos(Detalle);
			cCombo.innerHTML=Detalle;
		}else{
			alert("no hay registros");
    	}
	}
	
	if(z==1 && vGval!="" && (VGrol=='docente' || VGrol=='estudiante') ){
		cCombo.disabled = true;
	}
	
	vGnum++;
	console.log(vGnum+"tam:"+jGfunciones.Datos.length)
	if(vGnum==jGfunciones.Datos.length){
		if(sessionStorage.getItem('accion')=='e' ){
			if(sessionStorage.getItem('modulo')=='ordenserviciot'){
				console.log("di llama")
				setTimeout(lmodulo(sessionStorage.getItem('modulo'),sessionStorage.getItem('tcampo'),sessionStorage.getItem('tid'),sessionStorage.getItem('accion')), 1000);
			}else{
				setTimeout(imodulo(sessionStorage.getItem('modulo'),sessionStorage.getItem('tcampo'),sessionStorage.getItem('tid'),sessionStorage.getItem('accion')), 1000);
			}
			
		}
	}
	//console.log(jGfunciones.Datos.length)
	if (jGfunciones.Datos.length>1){
		if(vGnum<jGfunciones.Datos.length){
			console.log(vGnum+jGfunciones.Datos[vGnum].modulo)
			//console.log(jGfunciones.Datos[vGnum].modulo+jGfunciones.Datos[vGnum].objeto,jGfunciones.Datos[vGnum].valor,jGfunciones.Datos[vGnum].condicion,jGfunciones.Datos[vGnum].modalidad,jGfunciones.Datos[vGnum].lost)
			filtrar(jGfunciones.Datos[vGnum].modulo,jGfunciones.Datos[vGnum].objeto,jGfunciones.Datos[vGnum].valor,jGfunciones.Datos[vGnum].condicion,jGfunciones.Datos[vGnum].modalidad,jGfunciones.Datos[vGnum].lost);
		}
	}
	//if(vGid='c0'){
	//Detbuscador+='</table>'
	//console.log(Detbuscador)
	//document.getElementById('buscador'+vGid).innerHTML=Detbuscador;
	//document.getElementById('reporte').innerHTML=Detbuscador;
	//document.getElementById('reporte').style.display='block'
	//document.getElementById('reporte').style.width='400px';
	//document.getElementById('reporte').style.height='300px';
	//document.getElementById('reporte').style.overflow='scroll'

	//}
}

function resp_filtrar_tab(ResTex) {
	console.log(ResTex);
	console.log(vGval);
	console.log(vGfiltro);
	Detalle="<th>...</th>";
	voption="";

	var oJsonDatos = JSON.parse(ResTex);
	z=0;
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
			cTabla=document.getElementById(vGid);
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			RowArray=0;//esto lo adicione nuevo
			//cCombo.options[RowArray] = new Option("Seleccione","")
			
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cad=oJsonDatos.Datos[RowArray];	
				j=RowArray+1;
				Detalle+="<tr>"
				Detalle+='<td >'
				lost=vGfiltro.replace('this.id',"'"+oJsonDatos.Datos[RowArray].codigo+"'")
				Detalle+='<a href="javascript:'+lost+'" id="'+oJsonDatos.Datos[RowArray].codigo+'">'
				Detalle+='<img src="clientes/'+VGempresa+'/'+vTmod+'/'+oJsonDatos.Datos[RowArray].codigo+'.jpj">'+oJsonDatos.Datos[RowArray].nombre+'</a></td>'
				Detalle+="<tr>"
			}
			
			
			cTabla.innerHTML=Detalle;
		}else{
			alert("no hay registros");
    	}
	}
	
	console.log(Detalle);
	vGnum++;
	console.log(jGfunciones.Datos.length)
	if (jGfunciones.Datos.length>1){
		if(vGnum<jGfunciones.Datos.length){
			console.log(jGfunciones.Datos[vGnum].modulo+jGfunciones.Datos[vGnum].objeto,jGfunciones.Datos[vGnum].valor,jGfunciones.Datos[vGnum].condicion,jGfunciones.Datos[vGnum].modalidad,jGfunciones.Datos[vGnum].modalidad,lost)
			filtrar(jGfunciones.Datos[vGnum].modulo,jGfunciones.Datos[vGnum].objeto,jGfunciones.Datos[vGnum].valor,jGfunciones.Datos[vGnum].condicion,jGfunciones.Datos[vGnum].modalidad,jGfunciones.Datos[vGnum].modalidad,lost);
		}
	}

}



function limpiar(mod){
	var jSondet=document.getElementsByClassName(mod);
	nTam=jSondet.length;
	//console.log(jSondet)
	var cadcampos="";
	dSw==0
	for(var i=0;i<nTam;i++){
		nCampo=jSondet[i].name
		cId=jSondet[i].id
		//console.log(cId)
		vCampo=jSondet[i].value
		vchk=nCampo.search('chk')
		if(vchk>=0){
			document.getElementById(cId).checked=false
		}else{
			document.getElementById(cId).value=""
		}
	}
	
	if(localStorage.getItem('tipo')=='d' || localStorage.getItem('tipo')=='p'){
		cId="det_prod"
		document.getElementById(cId).innerHTML=".."
	}
	console.log(mod)
	if(mod=='recetasmed'){
		cId="Medicamentos"
		document.getElementById(cId).innerHTML=".."
	}else if(mod=='remision_medica'){
		cId="Remision_medica"
		document.getElementById(cId).innerHTML=".."
	}else if(mod=='cli_historia_odonto'){
		cId="Evolucion"
		document.getElementById(cId).innerHTML=".."
	}else{
	}
	
	
}



function obligatorios(){
	var jSondet=document.getElementsByClassName(mod+" required");
	nTam=jSondet.length;
	var cadcampos="";
	for(var i=0;i<nTam;i++){
		nCampo=jSondet[i].name
		cId=jSondet[i].id
		console.log(nCampo)
		//alert(nCampo);
		vCampo=jSondet[i].value
		vchk=nCampo.search('chk')
		if(vchk>=0){
		}else if(vCampo.length<=0 ){
			document.getElementById(cId).style.borderColor="1px red"
		}else{
			
		}
	}
}


function guardardet(mod,campo,accion,eIni,eFin){
	
	url="modulo="+sessionStorage.getItem("modulo");
	url+="&accion="+accion;
	
	var jSondet=document.getElementsByClassName(campo);
	console.log(jSondet)
	nTam=jSondet.length;

	var cadcampos="";
	var caddatos="";
	z=0;
	//alert(nTam)
	for(var i=0;i<nTam;i++){
		nCampo=jSondet[i].name
		//alert(nCampo);
		vCampo=jSondet[i].value
		vchk=nCampo.search('chk')
		if(vchk>=0){
			vCampo=0
			if(jSondet[i].checked==true){
				vCampo=1
			}
		}
		if(z!=0){cadcampos+=",";caddatos+=","}
		zCampo="c"+z.toString()
		caddatos+='"'+nCampo+'":'+'"'+vCampo+'"';
		cadcampos+='"'+zCampo+'":'+'"'+nCampo+'"';
		z++;
	}
	console.log(caddatos);
	var jSondet=document.getElementsByClassName('general');
	nTam=jSondet.length;
	for(var i=0;i<nTam;i++){
		cadcampos+=",";caddatos+=","
		nCampo=jSondet[i].name
		vCampo=document.getElementById(jSondet[i].id).value
		zCampo="c"+z.toString()
		//if(fin==0 && i==0){}else{cadcampos+=",";caddatos+=","}
		caddatos+='"'+nCampo+'":'+'"'+vCampo+'"';
		cadcampos+='"'+zCampo+'":'+'"'+nCampo+'"';
		z++
	}
	//eIni=1
	//eFin=4
	//Poner condicional que este ciclo se cumpla siempre y cuando alla campo inicial y final
	cNrorem=""//alert(eIni+eFin)
	//for(var i=eIni;i<=eFin;i++){
	//	iCampo="c"+i.toString()
		//alert(iCampo);
		
	//	nCampo=document.getElementById(iCampo).name.trim();
	//	vCampo=document.getElementById(iCampo).value;
	//	if(nCampo=='nrorem'){cNrorem=vCampo}
	//	if(document.getElementById(iCampo).value.trim()!="" && nCampo!="Id"){
	//		if(z!=0){cadcampos+=",";caddatos+=","}
	//		zCampo="c"+z.toString()
	//		caddatos+='"'+nCampo+'":'+'"'+vCampo+'"';
	//		cadcampos+='"'+zCampo+'":'+'"'+nCampo+'"';
	//		z++;
	//		}
	//}
	console.log(caddatos);
	caddatos="{"+caddatos+"}"
	cadcampos="{"+cadcampos+"}"
	caddatos=env_textos(caddatos);
	url+="&consecutivo="+cNrorem;
	url+="&jsondatos="+caddatos;
	url+="&jsoncampos="+cadcampos;
	url+="&j="+z;
	url+="&tipo="+"r";
	//url+="&accion="+"detalle";
	url+="&codemp="+VGempresa;
	url+="&usuario="+localStorage.getItem('Usuario');
	console.log(caddatos);
	console.log(url);
	var Rpage =VGRutaRiz+"controllers/registros/"
	doAjax(Rpage,url,'resp_guardardet','post','0','Ccargar');
}
function resp_guardardet(ResTex) {
	console.log(ResTex);
	//resp_filtrar_tabedit(ResTex,'det_prod','55%');
}

function resp_filtrar_tabedit(ResTex,cDiv,nWidth) {
	vC="";
	var oJsonDatos = JSON.parse(ResTex);
	Detalle="<div class='prueba'><div class='table-title' ><a href='#'>"+"Detalle </a></div><div class='conte_table' >"
	DetalleUl="<ul>";
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
			//Detalle="<div class='prueba'><div class='table-title' ><a href='#'>"+"Listado </a><div class='ctn_icon_search'><a href='javascript:view_search_list();'><i class='icon-magnifying-glass' id='icon_search_list'></i></a></div></div><div id='ctn_barra_search'><input type='text' id='tsearch_list'  onKeyUp='search_list()' placeholder='¿Qué deseas buscar?'></div><ul id='box_search'></ul><a href='javascript:hide_search_list();'><div id='cover_ctn_search' ></div> </a><div class='conte_table' >"
			
			tAcc=""
			if(tAcc=="v"){
				Detalle+="<table id='customers' class='table_invertida'>";
			}else{
				Detalle+="<table id='customers'>";
			}
			DetalleUl="";
			console.log(Detalle);
			cad=oJsonDatos.Datos[0];
			
			console.log(Object.keys(cad));
			Detalle+="<tr>";
			Object.keys(cad).forEach((valor)=>{
				nPos=valor.search('_')
				if(nPos>0){
					//valor=valor.substr(0,nPos);
					valor=valor.substr(-(valor.length-(nPos+1)))
				}
				Detalle+="<th>"+valor+"</th>"
			})
			
			Detalle+="<th>Opciones</th>";
			Detalle+="</tr>";
			
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cad=oJsonDatos.Datos[RowArray];	
				console.log(cad);
				Detalle+="<tr>";
				tCampo=0;
				cId="";
				for(d in cad){
					nCp=d
					nPos=nCp.search('_')
					vchk=nCp.search('chk')
					//alert(nCp+vchk)
					if(nPos>0){
						nCp=nCp.substr(0,nPos);
					}

					if(nCp=='nriper' || nCp=='Id' ){//|| d.substr(-(d.length-(nPos+1)))=='codigo'
						cId=cad[d]
					}
					if(vTipo!="W"){
						console.log(nCp.substr(-3))
						if(nCp.substr(0,3)=='img'){
							Detalle+='<td><a><img src="clientes/'+VGempresa+'/'+'producto'+'/'+oJsonDatos.Datos[RowArray].codigo+'.jpj">'+oJsonDatos.Datos[RowArray].nombre+'</a></td>'
						}else if(nCp.substr(-3)=='pvp'){
							Detalle+="<td><input type='number' name='"+nCp+"'value='"+cad[d]+"' class='"+cId+"'></td>";
							//if(vGcampoi==0){vGcampoi=
						}else if(nCp=='nombre' || nCp=='Id'){
								Detalle+="<td><span>"+cad[d]+"</span></td>"
						}else if((cad[d]!="" && (cad[d].substr(0,1)<"0" || cad[d].substr(0,1)>"9")) || (nCp=='nriper' ||  d.substr(-(d.length-(nPos+1)))=='codigo') ){
							//if(nCp=='nriper' ||  d.substr(-(d.length-(nPos+1)))=='codigo'){
								Detalle+="<td><input type='text' name='"+nCp+"' value='"+cad[d]+"' class='"+cId+"' disabled></td>";
							//}
							
							//Detalle+="<input type='text' name='"+nCp+"' value='"+cad[d]+"' class='"+cId+"'>";
							
						}else if(cad[d]=="" || nCp.substr(0,3)=='obs'){
							Detalle+="<td><textarea name='"+nCp+"'value='"+cad[d]+"' class='"+cId+"'></textarea></td>";
						}else{
							if(cad[d].substr(0,1)>="0" || cad[d].substr(0,1)<="9"){
								
									if(vchk>=0){
										Detalle+="<td><input type='checkbox' name='"+nCp+"' class='"+cId+"'></td>";
									}else{
										Detalle+="<td><input type='number' name='"+nCp+"'value='"+cad[d]+"' class='"+cId+"'></td>";
									}
		
							}
						}
						
					}else{
						Detalle+="<td>"+cad[d]+"</td>";
					}
					//Revisar aqui ya que tiene que ver con las opciones de busqueda
					if(d=='nombre'){
						DetalleUl+="<li><div class='d_search'><a href='#'><i class='icon-magnifying-glass'></i>"+cad[d]+'</a><a href="javascript:nmodulo(\''+ tList+ '\',\'nnn\',\'' + cad['Id'] + '\',\'e\');"><span class="icon-edit"></span></a>';
						DetalleUl+='</a><a href="javascript:imodulo(\''+ tList+ '\',\'' + cad['Id'] + '\',\'d\');" class="a_search"><span class="icon-erase"></span></a>';
						DetalleUl+='</a><a href="javascript:imodulo(\''+ tList+ '\',\'nnn\',\'' + cad['Id'] + '\',\'v\');"><span class="icon-eye"></span></a>';
						DetalleUl+="</div></li>";
					}
					tCampo++;
				}
				DetalleUl=DetalleUl.replace("nnn",tCampo);
				cCod=oJsonDatos.Datos[RowArray].Id;
				if(vTipo!="W"){
					Detalle+='<td><div><a href="javascript:editardet(\''+ vGmodulo+ '\',\'' + cId + '\',\'g\',\'' + vGcampoi + '\',\'' + vGcampof + '\');"><div class="circulo_sup"><span class="icon-save" ></span></div></a><a href="javascript:eliminardet(\''+ vGmodulo+ '\',\'' + cId + '\',\'g\',\'' + vGcampoi + '\',\'' + vGcampof + '\');"><div class="circulo_sup"><span class="icon-trash" ></span></div></a>'
				}
			
				Detalle+="</div></td>";
				Detalle+="</tr>";
			}
			Detalle+="</table>";
		}else{
			alert("sino");
	    	}
	  	
	  
	}
	Detalle+="</div></div>";
	DetalleUl+="</ul>";
	console.log(Detalle);
	console.log(DetalleUl);
	//document.getElementById("div_tabla").style.height="50%";.-
	//document.getElementById("div_tabla").style.overflow="scroll";
	//document.getElementById("div_tabla").style.maxWidth="800px";
	
	Detalle=rpt_textos(Detalle);
	Detalle+="<div id='divenviar'>..</div>"
	document.getElementById(cDiv).innerHTML=Detalle;
	document.getElementById(cDiv).style.width=nWidth;


	
}




function agregar(vJsonf){
	
	
	var script = document.createElement( "script" );
	script.type = "text/javascript";
	console.log(vJsonf);
	var oJsonDatos = JSON.parse(vJsonf);
    var NJsonItem = oJsonDatos.Datos.length;
	console.log(NJsonItem);
	script.text="";
	for (RowArray=0;RowArray<NJsonItem; RowArray++){
		
		script.text+='filtrar("'+oJsonDatos.Datos[RowArray].modulo+'","'+oJsonDatos.Datos[RowArray].objeto+'")';
		//if(RowArray==0){
		//filtrar(oJsonDatos.Datos[RowArray].modulo,oJsonDatos.Datos[RowArray].objeto);
		//}
		alert(oJsonDatos.Datos[RowArray].modulo);
	}
	document.getElementsByTagName('body')[0].appendChild(script)
	//var script = document.querySelector('script[filtrar]')
	//script.parentNode.removeChild(script);
	
	//alert("ver");

	//var tr = document.getElementById("mdi_body");
	//var corner_td = tr.lastChild;
	//var hcuerpo = document.getElementById("mdi_body");
	//hcuerpo.parentNode.removeChild(corner_td);
	
}
//document.getElementById('cover_ctn_search').addEventListener("click",hide_search_list);
function view_search_list(){
	return //temporalmente estara inactivo mientras terminamos de trabajar esta opcion
	vTexto=document.getElementById('tsearch_list');
	vBox=document.getElementById('box_search');
	document.getElementById('ctn_barra_search').style.top='175px';
	document.getElementById('tsearch_list').focus();
	document.getElementById('cover_ctn_search').style.display='block';
	if(vTexto.value===""){
			vBox.style.display="none";
			}
	}
function hide_search_list(){
	return 
	document.getElementById('ctn_barra_search').style.top='-80px';
	document.getElementById('cover_ctn_search').style.display='none';
	document.getElementById('tsearch_list').value="";
	document.getElementById('box_search').style.display="none";
	}
	
function search_list(){
	vBox=document.getElementById('box_search');
	vTexto=document.getElementById('tsearch_list');
	
	li=vBox.getElementsByTagName('li');
	filter=vTexto.value.toUpperCase();
	
	for (i	=0; i<li.length; i++){
		a=li[i].getElementsByTagName("a")[0];
		tValor=a.textContent || a.innerText;
		if(tValor.toUpperCase().indexOf(filter) > -1){
			li[i].style.display="";
			vBox.style.display="block";
			if(vTexto.value===""){
				vBox.style.display="none";
			}
		}else{
			li[i].style.display="none";
		}
	}
}
function env_textos(vTexto){
	//Para el enter
	//if(sessionStorage.getItem('modulo')=='cli_paciente' && sessionStorage.getItem("tipo")=="HCLI"){
		//vTexto=vTexto.replace(/\n|\r/g, "<br>")
		vRep="\n"
		vTexto=vTexto.replace(new RegExp(vRep,"g") ,"<br>");
	//}
	vRep="ñ"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"u00f1");
	vRep="Ñ"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"u00d1");//06-01-2024
	//vTexto=vTexto.replace("+","Â±");
	vRep="Á"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"u00c1");
	vRep="á"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"u00e1");
	//vTexto=vTexto.replace("+","Â±");
	vRep="É"
	
	//vTexto=vTexto.replace(new RegExp(vRep,"g") ,"Ã‰");
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"u00c9");
	vRep="é"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"u00e9");
	//vTexto=vTexto.replace("+","Â±");
	vRep="Í"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"u00cd");
	vRep="í"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"u00ed");
	vRep="Ó"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"u00d3");
	vRep="ó"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"u00f3");
	vTexto=vTexto.replace("±","+");
	//vTexto=vTexto.replace("+","Â±");
	
  	return vTexto;
}
function rpt_textos(vTexto){
	vRep="u00f1"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"ñ");
	vRep="u00d1"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"Ñ");//06-01-2024
	//vTexto=vTexto.replace("+","Â±");
	vRep="u00c1"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"Á");
	vRep="u00e1"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"á");
	//vTexto=vTexto.replace("+","Â±");
	vRep="u00c9"
	
	//vTexto=vTexto.replace(new RegExp(vRep,"g") ,"Ã‰");
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"É");
	vRep="u00e9"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"é");
	//vTexto=vTexto.replace("+","Â±");
	vRep="u00cd"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"Í");
	vRep="u00ed"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"í");
	vRep="u00d3"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"Ó");
	vRep="u00f3"
	vTexto=vTexto.replace(new RegExp(vRep,"g") ,"ó");
	vTexto=vTexto.replace("±","+");
	
  	return vTexto;
}
function _(el){
  	return document.getElementById(el);
}
function uploadFile(Idarchivo){
 	var file = _(Idarchivo).files[0];
	console.log(file)
	console.log(file.name+" | "+file.size+" | "+file.type)
	//alert(file)
   	//alert(file.name+" | "+file.size+" | "+file.type);
   	var formdata = new FormData();
 	formdata.append("archivos", file);
	formdata.append("empresa",VGempresa.toLowerCase());
	formdata.append("ruta","varios");
	formdata.append("modulo",sessionStorage.getItem('modulo').toLowerCase());
	formdata.append("tipo",sessionStorage.getItem('tipo'));
console.log(VGempresa.toLowerCase()+" | "+sessionStorage.getItem('modulo').toLowerCase()+" | "+sessionStorage.getItem('tipo'))
	if(sessionStorage.getItem('tipo')=="p" || sessionStorage.getItem('tipo')=="d"){//Para que se cree una sucarpeta
		//console.log(document.getElementById('c0').value)
		formdata.append("ide",document.getElementById('c0').value);

	}
 	var ajax = new XMLHttpRequest();
  	ajax.upload.addEventListener("progress", progressHandler, false);
   	ajax.addEventListener("load", completeHandler, false);
   	ajax.addEventListener("error", errorHandler, false);
   	ajax.addEventListener("abort", abortHandler, false);
	//console.log(formdata);
   	ajax.open("POST", "subir.php");
   	ajax.send(formdata);
	 XHR.onreadystatechange=function(){
		 console.log(this.responseText)
	 }
}
function subirfoto(Idarchivo){
	
    let fd = new FormData();
    fd.append("archivos", document.getElementById(Idarchivo).files[0]);
	fd.append("ruta","archivos");
    fetch('subirfoto.php', {
        method: 'POST',
        body: fd
    })
    .then(response => response.json())
    .then(datos => {
		console.log(response)
         if (datos.resultado == "Ok")
		 	alert("OK")
             //document.getElementById("imagen").setAttribute("src", document.getElementById("Idarchivo").files[0].name);
         })
}

function progressHandler(event){
   	_("loaded_n_total").innerHTML = "Uploaded "+event.loaded+" bytes of "+event.total;
	 var percent = (event.loaded / event.total) * 100;
   	_("progressBar").value = Math.round(percent);
	_("status").innerHTML = Math.round(percent)+"% uploaded... please wait";
}
function completeHandler(event){
   	_("status").innerHTML = event.target.responseText;
   	_("progressBar").value = 0;
}
function errorHandler(event){
	_("status").innerHTML = "Upload Failed";
}
function abortHandler(event){
   	_("status").innerHTML = "Upload Aborted";
}
function validarExt(Idarchivo,Idcampo){
	//alert("vali");
	var archivoInput=document.getElementById(Idarchivo);
	var archivoRuta=archivoInput.value;
	console.log(archivoRuta)
	text=archivoRuta.replace(/^.*\\/,"");
	var vExt=/(.png|.jpg|.pdf|.jpeg)$/i;
	console.log(vExt)
	if(!vExt.exec(archivoRuta)){
		alert('asegurate de haber seleccionado archivo de extension valida');
		archivoInput.value="";
		return false;
	}else{
		document.getElementById(Idcampo).value=text;
		if(archivoInput.files && archivoInput.files[0]){
			var visor=new FileReader();
			//Condicionar que si es catalogo el visor se llame junto con Id
			cVisor="visorarchivo"
			if(sessionStorage.getItem("modulo")=="catalogo_producto"){
				cVisor=cVisor+Idcampo
			}
			visor.onload=function(e){
				document.getElementById(cVisor).innerHTML='<embed src="'+e.target.result+'" width="100%" heigth="100%" >';
			}
			visor.readAsDataURL(archivoInput.files[0]);
		}
	}
}
function comprueba(valor){
  if(valor.value < 0){
    valor.value = 0;
  }
}

function resp_filtrar_sms(ResTex) {
}
function resp_filtrar_vol(ResTex) {
	//alert("vol")
	//ResTex=ResTex.replace('+','Â±');
	console.log(ResTex);
	vC="";
	var oJsonDatos = JSON.parse(ResTex);
	Detalle="<div class='prueba'><div class='table-title' ><a href='#'>"+" </a></div><div class='conte_table' >"
	DetalleUl="<ul>";
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
			//Detalle="<div class='prueba'><div class='table-title' ><a href='#'>"+"Listado </a><div class='ctn_icon_search'><a href='javascript:view_search_list();'><i class='icon-magnifying-glass' id='icon_search_list'></i></a></div></div><div id='ctn_barra_search'><input type='text' id='tsearch_list'  onKeyUp='search_list()' placeholder='¿Qué deseas buscar?'></div><ul id='box_search'></ul><a href='javascript:hide_search_list();'><div id='cover_ctn_search' ></div> </a><div class='conte_table' >"
			
			tAcc=""
			if(tAcc=="v"){
				Detalle+="<table id='customers' class='table_invertida'>";
			}else{
				Detalle+="<table id='customers'>";
			}
			DetalleTit=""
			DetalleUl="";
			console.log(Detalle);
			Detalle+="<tr>";
			cad=oJsonDatos.Datos[0];
			console.log(Object.keys(cad));
			Object.keys(cad).forEach((valor)=>{
				nPos=valor.search('_')//aqui es para dependiento si encuentro este caracter, tomarlo como titulo	
				cTit=valor
				if (nPos>0){
					
					//alert(cTit.substring(0,6));
					cTit=cTit.substring(nPos+1);
					//alert(cTit.substring((-1)*cTit.length));
				}else{
					Detalle+="<th>"+cTit.toUpperCase()+"</th>"
				}
				
				})
			if(vTipo!="W"){
				//Detalle+="<th>Acciones</th>";
			}
			tDev=0
			tDed=0
			Detalle+="</tr>";
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cad=oJsonDatos.Datos[RowArray];	
				console.log(cad);
				Detalle+="<tr>";
				tCampo=0;
				cId="";
				for(d in cad){
					nCp=d
					nPos=nCp.search('_')
					vchk=nCp.search('chk')
					//alert(nCp+vchk)
					if(nPos>0){
						if(RowArray==0){
							
							DetalleTit+='<b>'+nCp.substring((-1)*cTit.length).toUpperCase()+'</b>: '+cad[d]+'<br>'
							DetalleTit=DetalleTit.replace('H_','')
							DetalleTit=DetalleTit.toUpperCase()
							//alert(nCp.substring((-1)*cTit.length))
							//alert(cad[d])
						}
						nCp=nCp.substring(0,nPos);
						
					}else{
						if(RowArray==0){
							cTit=cad[d].toUpperCase()
							Detalle+="<td>"+cTit.toUpperCase()+"</td>";
							
						}else{
							Detalle+="<td>"+cad[d]+"</td>";
							
						}
					}
					if(nCp=='devengado'){
						tDev+=parseInt(cad[d])
					}
					if(nCp=='deduccion'){
						tDed+=parseInt(cad[d])
					}
					tCampo++;
				}
				DetalleUl=DetalleUl.replace("nnn",tCampo);
				cCod=oJsonDatos.Datos[RowArray].Id;
				
			
				Detalle+="</div></td>";
				Detalle+="</tr>";
			}
			Detalle+="<tr><th>TOTAL</th><th></th><th>"+tDev+"</th><th>"+tDed+"</th></tr>";
			vTot=parseInt(tDev)-parseInt(tDed);
			Detalle+="<tr><th>NETO A PAGAR:</th><th>"+vTot+"</th></tr>";
			Detalle+="</table>";
		}else{
			alert("sino");
	    	}
	  	
	  
	}
	Detalle+="</div></div>";
	DetalleUl+="</ul>";
	//DetalleTit=DetalleTit.trim().replace('H_','-')
	console.log(Detalle);
	console.log(DetalleUl);
	console.log(DetalleTit);
	Detalle=rpt_textos(Detalle);

	document.getElementById("titempresa").innerHTML='<br>'+DetalleTit
	document.getElementById("detnom").innerHTML='<br>'+Detalle+'<br><br>RECIBI CONFORME______________________<br>';
	
	
}
function selectFolder(e) {
//	console.log(e)
   for (var i = 0; i < e.target.files.length; i++) {
      var s = e.target.files[i].name + '\n';
      s += e.target.files[i].size + ' Bytes\n';
      s += e.target.files[i].type;
      alert(s);
   }
}
function guardaritem(){
	
}

function lmodulo(nMod,campo) {
	vGmodulo=nMod
	accion="lat"
	tAcc=accion;
	tId=campo;
	//si campo vacio poner nvalor=''
	cvalor=document.getElementById(tId).value;
	url="modulo="+nMod;
	url+="&tipo="+"l";
	url+="&accion="+accion;
	url+="&valor="+cvalor;
	url+="&codemp="+VGempresa;
	
	console.log(url);
	var Rpage =VGRutaRiz+"controllers/modulos/"
	doAjax(Rpage,url,'resp_nmodulos_list_lat','gets','0','Ccargar');
}

function resp_nmodulos_list_lat(ResTex) {

	console.log(ResTex);
	console.log(tAcc);
	Detalle="";
	DetalleB="";
	DetalleM="";
	DetalleT=""
	tMod="";
	vC="";
	vJfunciones='{"Datos":[{';
	var oJsonDatos = JSON.parse(ResTex);
	var nMod="",tCampo=0;
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
			cad=oJsonDatos.Datos[0];
			console.log(Object.keys(cad));
			nMod=oJsonDatos.Datos[0].tabla.trim()
			DetalleM="<h4>"+oJsonDatos.Datos[0].titmod.trim()+"</h4><br>"
			DetalleT="<p>"+oJsonDatos.Datos[0].titmod.trim()+"</p>";
			tMod=oJsonDatos.Datos[0].nommod.trim();
			DetalleM+="<p>"+oJsonDatos.Datos[0].obsmod.trim()+"</p><br><p>Para Crear siga los siguientes pasos:</p><br>"
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			vDiv=""
			//Detalle+="<div class='page'>"
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				
				tCampo=RowArray;
				vCampo="L"+RowArray.toString()
				console.log(vCampo);
				if(RowArray==0){
					Detalle+=oJsonDatos.Datos[RowArray].titulo+"<div id='"+oJsonDatos.Datos[RowArray].bloque+"' class='"+oJsonDatos.Datos[RowArray].clase+"'>"
					vDiv=oJsonDatos.Datos[RowArray].bloque.trim()
				}else{
					if(vDiv!=oJsonDatos.Datos[RowArray].bloque.trim()){
						
						if(vDiv=='bloquedet'){
							Detalle+='<a href="javascript:guardardetalle(\''+oJsonDatos.Datos[RowArray].nommod.trim()+'\')">++</a>';
						}
						Detalle+="</div>";
						Detalle+=oJsonDatos.Datos[RowArray].titulo+"<div id='"+oJsonDatos.Datos[RowArray].bloque+"' class='"+oJsonDatos.Datos[RowArray].clase+"'>"
						vDiv=oJsonDatos.Datos[RowArray].bloque.trim()
						}
					}
					Detalle+="<div class='"+oJsonDatos.Datos[RowArray].nomdiv+"' id='"+oJsonDatos.Datos[RowArray].nombre.trim()+"'"
					if(oJsonDatos.Datos[RowArray].chkocu==1 && tAcc!="r"){
						Detalle+="' style='display: none' "
					}
					Detalle+=">";
					Detalle+=oJsonDatos.Datos[RowArray].htmlinicial.trim().replace('rrr',vCampo);
					if(oJsonDatos.Datos[RowArray].nomdiv.trim()=="drag-area"){
						Detalle+="<h2>Arrastra y suelta imagenes</h2>"
						Detalle+="<span>0</span>"
						Detalle+="<button>Selecciona tus archivos</button>"
					}else{
						if(oJsonDatos.Datos[RowArray].foreti.trim()!=""){
							if(oJsonDatos.Datos[RowArray].etiini.trim()=="table"){
								Detalle+='<a href="javascript:crear(\''+oJsonDatos.Datos[RowArray].lost.trim()+'\')">'
							}
							Detalle+='<label for="'+oJsonDatos.Datos[RowArray].foreti.trim()+'"'+oJsonDatos.Datos[RowArray].funcionlabel.trim()+" >"
							//alert(oJsonDatos.Datos[RowArray].description.length)
							
							if(oJsonDatos.Datos[RowArray].description!=''){
								Detalle+=oJsonDatos.Datos[RowArray].description;
							}else{
								Detalle+=oJsonDatos.Datos[RowArray].descripcion;
							}
							
							Detalle+="</label>"
							if(oJsonDatos.Datos[RowArray].etiini.trim()=="table"){
								Detalle+='</a>'
							}
						}else{
							if(oJsonDatos.Datos[RowArray].etiini.trim()=="table"){
								Detalle+='<a href="javascript:crear(\''+oJsonDatos.Datos[RowArray].lost.trim()+'\')">'
							}
							//if(oJsonDatos.Datos[RowArray].nomdiv.trim()=='conte_check'){
							if(oJsonDatos.Datos[RowArray].nombre.substr(0,3)=='chk'){
								//Detalle+="<label for='"+vCampo+"'  >"
								//class='lblcheck'
							}else{
								Detalle+="<label for='' >"
								
								if(oJsonDatos.Datos[RowArray].description.length>=2){
									Detalle+=oJsonDatos.Datos[RowArray].description+"</label>";
								}else{
									Detalle+=oJsonDatos.Datos[RowArray].descripcion+"</label>";
								}
							}
							if(oJsonDatos.Datos[RowArray].etiini.trim()=="table"){
								Detalle+='</a>'
							}
							//Detalle+="<label for='' >"+oJsonDatos.Datos[RowArray].descripcion+"</label>";
							//alert(oJsonDatos.Datos[RowArray].description.length)
							
						}
					}
					Detalle+="<"+oJsonDatos.Datos[RowArray].etiini+" id='"+vCampo+"' name='"+oJsonDatos.Datos[RowArray].nombre+"'"; if(oJsonDatos.Datos[RowArray].etiini=='select' && oJsonDatos.Datos[RowArray].chkvar==1){Detalle+=" multiple"};
					if(oJsonDatos.Datos[RowArray].tipo=="int"){
						Detalle+=" pattern='^[0-9]+' min='0' onkeypress='comprueba(this)' "//valido que solo sea numeros positivos
					}
					if(vDiv=="bloquedet"){
						Detalle+=" class='bloquedet' "
					}
					if(oJsonDatos.Datos[RowArray].interactive.trim().length>3){
						Detalle+=oJsonDatos.Datos[RowArray].interactive.trim();
					}
					if(oJsonDatos.Datos[RowArray].inicio.trim().length>3){
						if(vJfunciones.length>12){vJfunciones+=",{";}
						vJfunciones+='"modulo":"'+oJsonDatos.Datos[RowArray].inicio.trim()+'",';
						vJfunciones+='"objeto":"'+vCampo+'",';
						
						if(oJsonDatos.Datos[RowArray].predeterminado.trim()!=""){
							vJfunciones+='"valor":"'+localStorage.getItem(oJsonDatos.Datos[RowArray].predeterminado.trim())+'",';
						}else{
							vJfunciones+='"valor":"",';
						}
						
						if(oJsonDatos.Datos[RowArray].condicion.trim()!=""){
							vJfunciones+='"condicion":"'+oJsonDatos.Datos[RowArray].condicion.trim()+'"';
						}else{
							vJfunciones+='"condicion":""';
						}
						vJfunciones+='"modalidad":"'+oJsonDatos.Datos[RowArray].chkimg.trim()+'"';
						vJfunciones+='}';
					}else{
						if(oJsonDatos.Datos[RowArray].predeterminado.trim()!="" ){
							//&& (VGrol=='docente' || VGrol=='estudiante')
							vPred=oJsonDatos.Datos[RowArray].predeterminado.trim()
							if((vPred=='docente' || vPred=='estudiante') && VGrol!='docente' && VGrol!='estudiante'){
							}else{
								Detalle+=" value='"+localStorage.getItem(oJsonDatos.Datos[RowArray].predeterminado.trim())+"' "
							}
						}
					}
					//if(oJsonDatos.Datos[RowArray].extensiones.trim()!=""){
						//Detalle+=" onchange='return validarExt()' "	
					//}
					
					if(oJsonDatos.Datos[RowArray].lost.trim()!=""){
						cLost=oJsonDatos.Datos[RowArray].lost.trim()
						cLost=cLost.replace('vtipo','lat');//aqui se reemplaza por lateral
						Detalle+=' onblur="'+cLost+'"'
					}
					if(VGrol=='docente' || VGrol=='estudiante'){
						Detalle+=" disabled"
					}
					//if(	oJsonDatos.Datos[RowArray].chkpub==1 || oJsonDatos.Datos[RowArray].chkpub==2){
						Detalle+=" >"
						
						if(oJsonDatos.Datos[RowArray].nombre.substr(0,3)=='chk'){
							Detalle+="<label for='"+vCampo+"'  >"
							if(oJsonDatos.Datos[RowArray].description.length>=2){
								Detalle+=oJsonDatos.Datos[RowArray].description+"</label>";
							}else{
								Detalle+=oJsonDatos.Datos[RowArray].descripcion+"</label>";
							}
								//class='lblcheck'
						}
					DetalleM+=RowArray;
					if(oJsonDatos.Datos[RowArray].etiini=='select'){DetalleM+=") Seleccione: "
						}else{DetalleM+=") Digite: "}
					DetalleM+=oJsonDatos.Datos[RowArray].descripcion.trim()+"<br>"
					
					if(oJsonDatos.Datos[RowArray].extensiones.trim()!=""){
						Detalle+="<p> Extensiones permitidas: "+oJsonDatos.Datos[RowArray].extensiones+"</p>";	
						}
						Detalle+=oJsonDatos.Datos[RowArray].valorhtml.trim();	
					
					Detalle+="</"+oJsonDatos.Datos[RowArray].etifin+">";	
					Detalle+=oJsonDatos.Datos[RowArray].htmlfinal.trim().replace('rrr',vCampo);
				
					Detalle+="</div>";
					if(vDiv=='bloquedet' && RowArray==NJsonItem-1){
						Detalle+='<a href="javascript:guardardetalle(\''+oJsonDatos.Datos[RowArray].nommod.trim()+'\')">+ Agregar Item</a>';
					}	
			}
				
			//Detalle+="</div>"
			DetalleM+='<br>Luego de click en el icono <span class="icon-save" ></span>';
			DetalleB+='<a href="javascript:nmodulo(\'' + tMod + '\',\'' + vC + '\',\'' + vC + '\',\'g\',\''+vGtam+'\',\''+vGcampoi+'\',\''+vGcampof+'\');" id="bnuevo"><div class="circulo_sup"><span class="icon-circle-with-plus" ></span></div></a>'
			DetalleB+='<a href="javascript:rmodulo(\'' + tMod + '\',\'' + tCampo + '\',\'' + tId + '\',\''+tAcc+'\');" id="bguardar"><div class="circulo_sup"><span class="icon-save" ></span></div></a>'
            DetalleB+='<a href="javascript:imodulo(\'' + tMod + '\',\'' + vC + '\',\'' + vC + '\',\'' + vC + '\');" id="blistar"><div class="circulo_sup"><span class="icon-list" ></span></div></a>'
			DetalleB+='</div></div>'
			
			
			Detalle+="</div>";	
		}else{
			alert("no registro");
	    }
	  	
	  
	}else{
		document.getElementById("mdi_tablero").innerHTML="Modulo invalido";
    }
	//añadimos botos de accion del formulario de registro lateral
	Detalle+='<a href="javascript:limpiar(\''+tMod+'\')">Cancelar</a>'
	Detalle+='<a href="javascript:rmodulo(\'' + tMod + '\',\'' + tCampo + '\',\'\',\''+tAcc+'\');" id="bguardar"><div class="circulo_sup"><span class="icon-save" ></span></div></a>'
	//ESTE SERIA PARA EDITAR
	//Detalle+='<a href="javascript:rmodulo(\'' + tMod + '\',\'' + tCampo + '\',\'' + tId + '\',\''+tAcc+'\');" id="bguardar"><div class="circulo_sup"><span class="icon-save" ></span></div></a>'
	
	if(VGrol=='empleado'){
		DetalleB+='<a href="javascript:nmodulo(\'' + tMod + '\',\'' + vC + '\',\'' + vC + '\',\'g\',\''+vGtam+'\',\''+vGcampoi+'\',\''+vGcampof+'\');" id="bnuevo">	<div class="circulo_sup"><span class="icon-circle-with-plus" ></span></div></a>'
			DetalleB+='<a href="javascript:rmodulo(\'' + tMod + '\',\'' + tCampo + '\',\'' + tId + '\',\''+tAcc+'\');" id="bguardar"><div class="circulo_sup"><span class="icon-save" ></span></div></a>'
            DetalleB+='<a href="javascript:imodulo(\'' + tMod + '\',\'' + vC + '\',\'' + vC + '\',\'' + vC + '\');" id="blistar"><div class="circulo_sup"><span class="icon-list" ></span></div></a>'
			DetalleB+='</div></div>'
			tMod=vGmodulo;	
	}
	
	Detalle+="<div id='div_tabla' class='bloqueh'>..</div><div id='mdi_resumen' class='bloqueh'>..</div>"
	console.log(Detalle);
	//document.getElementById("mdi_botones").innerHTML="<div class='superior'> <div class='sup_derecha'>"+DetalleB;	
	if(tAcc=="l"){
		imodulo(tMod,'','','');
		return 
	}
	Detalle=rpt_textos(Detalle);

	console.log(Detalle)

	DetalleT=rpt_textos(DetalleT);
	console.log(DetalleT)
	
	document.getElementById("lderecho").innerHTML=Detalle;
	document.getElementById("lderecho").style.minWidth="300px";
	document.getElementById("lderecho").style.overflow="scroll";
	
	//document.getElementById("manual").innerHTML=DetalleM;//Temporal mientras soluciono diseño
	elem=document.getElementsByClassName('bloque')
	elem[0].style.width=vGtam;
	//alert(DetalleB);//11-01-2023
	//document.getElementById("footer").innerHTML="<div class='inferior'> <div class='sup_derecha'>"+DetalleB;
	vJfunciones+="]}";
	if(vJfunciones.length>13){
		console.log(vJfunciones)
		//agregar(vJfunciones);
		vGnum=0;
		jGfunciones = JSON.parse(vJfunciones);
    	//var NJsonItem = oJsonDatos.Datos.length;
		//console.log(NJsonItem);
		
		//for (RowArray=0;RowArray<NJsonItem; RowArray++){
		filtrar(jGfunciones.Datos[0].modulo,jGfunciones.Datos[0].objeto,jGfunciones.Datos[0].valor,jGfunciones.Datos[0].condicion,jGfunciones.Datos[0].modalidad);
		//}
	
	}

	if(tAcc=="e" ){
		imodulo(tMod,tCampo,tId,tAcc);
	}
	
}
function reducir(nId) {
	console.log(nId);
	document.getElementById(nId).style.width="0px";
	document.getElementsByClassName('').style.width="0px";
}

function ocultar(nId,nValor,coculta,cmostrar) {
	voculta = coculta.split(',');
	console.log(nId)
	console.log(document.getElementById(nId).value);
	for (i = 0; i < voculta.length; i++) {
		if (document.getElementById(nId).value==nValor){
	  		document.getElementById(voculta[i]).style.display='none';
		}else{
			document.getElementById(voculta[i]).style.display='block';
		}
		console.log(voculta[i]);
	} 
	return 
	//vmostrar = cmostrar.split(',');
	for (i = 0; i < vmostrar.length; i++) {
  		if (document.getElementById(nId).value==nValor){
	  		document.getElementById(vmostrar[i]).style.display='block';
		}else{
			document.getElementById(vmostrar[i]).style.display='none';
		}
	} 

}
function aplicacion(mod,tipo){
	ruta=localStorage.getItem("ruta")+"&modulo="+mod+"&tipo="+tipo;
	window.open(ruta,'_blank');
}
function listados(mod){
	cRuta=localStorage.getItem("ruta")+"&modulo="+sessionStorage.getItem("modulo")
	console.log(cRuta)
	window.open(cRuta,'_blank');
}
function insertar(tcontenido,funciones,contsuperior,contbotones){
	console.log(DetalleSup)
	console.log(contbotones)
	//document.getElementById("mdi_botones").innerHTML=DetalleSup
	//document.getElementById("sup_derecha").innerHTML=contbotones
	localStorage.setItem("contenido",tcontenido+" <div class='mmenud' id='lderecho'></div>")
	localStorage.setItem("funciones",funciones)
	localStorage.setItem("contesuperior",contsuperior)
	localStorage.setItem("botones",contbotones)
	localStorage.setItem("modulo",vGmodulo)
	document.getElementById("mdi_botones").innerHTML =""
	document.getElementById("mdi_botones").style.minHeight="0px";
	document.getElementById("mdi_botones").style.height="0px";
	document.getElementById("detcuerpo").style.marginTop="0px";
	//document.getElementById("mdi_tablero").style.overflow="none";
	document.getElementById("detcuerpo").innerHTML ="<iframe src='../../prueba.html' width='800',height='100%'></frame>";

}

function mostrar_listado(nMod){
	//alert(nMod)
	const XHR= new XMLHttpRequest();
	XHR.open('POST','controllers/ventas.php',true);
	XHR.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	XHR.send('accion=9'+'&modulo='+nMod)
	XHR.onreadystatechange=function(){
		if(this.readyState==4 && this.status==200){
			var Resp=this.responseText;
			if(Resp!="ERROR"){
				resp_registros_listinf(Resp,"informe");
			}else{
				//mostrar_detalle();
			}
		}
	}
}
function resp_registros_listinf(ResTex,nDiv) {
	ResTex='{"Datos":'+ResTex+'}'
	console.log(ResTex);
	vC="";
	var oJsonDatos = JSON.parse(ResTex);

	DetalleUl="";
	Detalle="";
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>8){
			Detalle+="<table id='customers'>";
			Detalle+="<tr>";
//			cad=oJsonDatos.Datos[0];
//			console.log(Object.keys(cad));
//			Detalle+="<th>Opciones</th>";
//			Object.keys(cad).forEach((valor)=>{
//				Detalle+="<th>"+valor+"</th>"
//			})
//			Detalle+="</tr>";
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			var cNrov="";
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cad=oJsonDatos.Datos[RowArray];	
				Detalle+="<tr>";
				tCampo=0;
				cCod=oJsonDatos.Datos[RowArray].Id;
				//Detalle+='<td><div class="btopciones"><a href="javascript:imodulo(\'' + tList + '\',\'' + tCampo + '\',\'' + cCod + '\',\'v\',\'' + vGtam + '\');"><div class="circulo_sup"><span class="icon-eye" ></span></div></a>'
				//	Detalle+='<a href="javascript:nmodulo(\'' + tList + '\',\'' + tCampo + '\',\'' + cCod + '\',\'e\',\'' + vGtam + '\');"><div class="circulo_sup"><span class="icon-edit" ></span></div></a>'
				//	Detalle+='<a href="javascript:imodulo(\'' + tList + '\',\'' + cCod + '\',\'d\');"><div class="circulo_sup"><span class="icon-erase" ></span></div></a>'				
				//Detalle+="</div></td>";
				
				for(d in cad){
					Detalle+="<td>"+cad[d]+"</td>";
					
					tCampo++;
				}
				DetalleUl=DetalleUl.replace("nnn",tCampo);
	
				Detalle+="</tr>";
			}
			Detalle+="</table>";
		}else{
			alert("sino");
	    	}
	  	
		//Detalle+="</div>";
		DetalleUl+="</ul>";  
	}
	if(Detalle==""){Detalle="<div> <p style='margin-left:5px'>No hay registros!</p></div>"}
	console.log(Detalle)
	console.log(nDiv)
	document.getElementById(nDiv).innerHTML=Detalle;
}

function validar(nId,nMod,cverificar) {
	vverificar = cverificar.split(',');
	console.log(nId)
	console.log(document.getElementById(nId).value);
	for (i = 0; i < voculta.length; i++) {
		if (document.getElementById(nId).value==nValor){
	  		document.getElementById(voculta[i]).style.display='none';
		}else{
			document.getElementById(voculta[i]).style.display='block';
		}
		console.log(voculta[i]);
	} 
}
function consecutivo(nId,tipo) {
	console.log(nId)
	fuente=document.getElementById(nId).value
	if(fuente.length<=0){
		document.getElementById('c0').value=""
		return
	}
	vaccion="conse"
	url="fuente="+fuente;
	url+="&tipo="+tipo;
	url+="&sede="+VGsede;
	url+="&accion="+vaccion;
	url+="&codemp="+VGempresa;
	console.log(url);
	var Rpage =VGRutaRiz+"controllers/procesos/"
	doAjax(Rpage,url,'resp_conse','gets','0','Ccargar');
}
function resp_conse(ResTex){
	cNro=ResTex.substring(0,12)
	ResTex=ResTex.substring(13,ResTex.length)
	console.log(ResTex)
	JsonActividad=ResTex;
	var oJsonDatos = JSON.parse(JsonActividad);
	var NJsonItem=oJsonDatos.Datos.length;
	cPre=""
	for (RowArray=0;RowArray<NJsonItem; RowArray++){
		cPre=oJsonDatos.Datos[RowArray].presed;
	}
	document.getElementById('c0').value=cPre+cNro;
	
}
function ver_numeracion(campo1,campo2,campo3,campo4,campo5){
	//console.log(ResTex)
	/*campo1="c0"
	campo2="c1"
	campo3="c2"
	campo4="c3"
	campo5="c4"*/
	console.log(campo2)
	var jSondet=document.getElementsByClassName("required");
	for(var i=0;i<=4;i++){
			iCampo="c"+i.toString()
			nCampo=document.getElementById(iCampo).name.trim();
			vCampo=document.getElementById(iCampo).value;
			console.log(nCampo+vCampo)
	}
	console.log(nTam)
	nTam=jSondet.length;
	for(var i=0;i<nTam;i++){
		nCampo=jSondet[i].name
		cId=jSondet[i].id
		console.log(nCampo+cId)
	}
	console.log(document.getElementById(campo2).value)
	tipo='l'
	vaccion="nume"
		url="fuente="+document.getElementById(campo2).value;
		url+="&tipo="+tipo;
		url+="&nriper="+document.getElementById(campo3).value;
		url+="&remision="+document.getElementById(campo1).value;
		url+="&fecha="+document.getElementById(campo4).value;
		url+="&observacion="+document.getElementById(campo5).value;
		url+="&sede="+VGsede;
		url+="&accion="+vaccion;
		url+="&codemp="+VGempresa;
		url+="&tipele="+dEle;
		console.log(url);
		var Rpage =VGRutaRiz+"controllers/procesos/"	
		doAjax(Rpage,url,'numeracion','gets','0','Ccargar');
//	}
}

function numeracion(ResTex){
	console.log(ResTex)
	
	if(ResTex.length>18){
		tipo='c'
	}else{
		tipo='r'
	}
		campo1="c0"
		campo2="c1"
		campo3="c2"
		campo4="c3"
		campo5="c4"
	
		vaccion="nume"
		url="fuente="+document.getElementById(campo2).value;
		url+="&tipo="+tipo;
		url+="&nriper="+document.getElementById(campo3).value;
		url+="&remision="+document.getElementById(campo1).value;
		url+="&fecha="+document.getElementById(campo4).value;
		url+="&observacion="+document.getElementById(campo5).value;
		url+="&sede="+VGsede;
		url+="&accion="+vaccion;
		url+="&modulo="+ sessionStorage.getItem('modulo');
		url+="&codemp="+VGempresa;
		url+="&tipele="+dEle;
		console.log(url);
		var Rpage =VGRutaRiz+"controllers/procesos/"	
		doAjax(Rpage,url,'resp_nume','gets','0','Ccargar');
	
}
function resp_nume(ResTex){
	parame=document.getElementById('bguardar').getAttribute('href');
	nTam=parame.length-2
	parame=parame.substring(19,nTam)
	console.log(ResTex)
	JsonActividad=ResTex;
	if(JsonActividad.Datos!="ERROR"){
	    if(ResTex.length>18){
			var oJsonDatos = JSON.parse(JsonActividad);
			var NJsonItem=oJsonDatos.Datos.length;
			cXml="";
			nTot=0;
			dXml=" invoiceDetails: ["
			dXmld=' "items": [ '
			
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cad=oJsonDatos.Datos[RowArray]
				if(RowArray==0){
					gFac=cad.preres+cad.Id;
					gPre=cad.preres
					gNro=cad.Id
					gNom=cad.ap1per+' '+cad.no1per
					gEml=cad.emlper
					if(sessionStorage.getItem('tipo')=='p'){
						
						cResolucion=",resolution:{resolutionKey:'"+cad.keyres+"',resolutionPrefix:'"+cad.preres+"',"+"resolutionNumber:"+cad.nrores+	",resolutionRangeInitial:"+cad.inires+",resolutionRangeFinal: "+cad.finres+","+"resolutionValidFrom:'"+cad.fchres+"',resolutionValidUntil:'"+cad.venres+"'}"
						cResolucionD='"resolution_number": "'+cad.nrores+'",'+'"prefix": "'+cad.preres+'","flexible": false},'
						oSede=",branch:{name: '"+cad.nomsed+"',address:'"+cad.dirsed+"',phone:'"+cad.telsed+
					"',countryCode:'"+cad.scodpai+"',countryName:'"+cad.snompai+"',departamentCode:'"+cad.scoddpt+
					"',departamentName:'"+cad.snomdpt+"',cityCode:'"+cad.scodciu+"',cityName:'"+cad.snomciu+"'}"
						cXml="{"+"code:'01',consecutive:"+cad.Id+",externalNumber:'"+cad.nrorem+"'"+
					",currencyCode:'COP',currencyRate:0,date:'"+cad.fchcmp+"',dateDue:'"+cad.fchcmp+"',dateStart:'"+
					cad.fchcmp+"',dateEnd:'"+cad.fchcmp+"',typeOfOperation:'10',incoterms:'01',terms:' ',remark:'',"+
					"observation:'"+cad.obscmp+"',termDay:0"+",paymentMeanCode:''"+oSede+cResolucion
						if(cad.tipper=='JUR'){tper=1}else{tper=2}
						cXml+=",customer:{companyName:'"+cad.no1per+' '+cad.ap1per+
					"',personType:"+tper+",regimeType:'"+cad.tipreg+"',firstName:'"+cad.no1per+"',lastName:'"+cad.ap1per+"',identification:'"+cad.nriper+"',digitCheck:'"+cad.digper+"',identificationTypeCode:'"+cad.tidper+"',email:'"+cad.emlper+"',phone:'"+cad.telper+"',merchantRegistration:''"+	",responsibilities:'"+cad.resfis+"',billingAddress:'"+cad.dirper+"',billingCountryName:'',billingCountryCode:'"+cad.codpai+"',"+
					"billingRegionName:'',billingRegionCode:'"+cad.coddpt+"',billingCityName:'',billingCityCode:'"+cad.codciu+"',"+
					"billingPostalCode:'',billingNeighborhood:'',shippingAddress:'',shippingCountryName:'',shippingCountryCode:'',"+
					"shippingRegionName:'',shippingRegionCode:'',shippingCityName:'',shippingCityCode:'',shippingPostalCode:'',"+
					"shippingNeighborhood:''"+"},"
					}
					if(sessionStorage.getItem('tipo')=='d'){
						if(cad.tipper=='JUR'){tper='PERSONA_JURIDICA'}else{tper='PERSONA_NATURAL'}
						if(cad.tipreg=='48'){treg='SIMPLIFICADO'}else{treg='SIMPLIFICADO'}
						if(cad.resfis=='R-99-PN'){tres='SIMPLE'}else{tres='SIMPLE'}
						cResolucionD='"resolution_number": "'+cad.nrores+'",'+'"prefix": "'+cad.preres+'","flexible": false},'
						cXml='{"support_doc": { "env": "PRODUCCION", "send_dian": true, "send_email": true,"number":'+cad.Id+', "issue_date": "'+cad.fchcmp+'","payment_date": "'+cad.fchcmp+'","resident_type": "RESIDENTE","generation_type": "POR_OPERACION", "order_reference": "'+cad.nrorem+'","payment_means": "CASH","payment_means_type": "CREDITO","currency": "COP","numbering": {'+cResolucionD+'"notes": ["'+cad.obscmp+'"],'
						cXml+='"customer": {"email": "'+cad.emlper+'","phone": "'+cad.telper+'","party_identification_type": "NIT","party_identification":"'+cad.nriper+'","party_type": "'+tper+'","tax_level_code": "'+treg+'","regimen": "'+tres+'", "department": "'+cad.coddpt+'","city": "'+cad.codciu.substr(-3)+'","address_line":"'+cad.dirper+'","country_code": "'+cad.codpai+'", "company_name": "'+cad.no1per+' '+cad.ap1per+'", "first_name": "'+cad.no1per+'", "family_name": "'+cad.ap1per+'"},'
					}
				}else{
					dXml+=","
				}
				dXml+="{itemCode:'"+cad.artcod+"',itemName:'"+cad.artdes+"',itemModel:'',description:'"+
				cad.artdes+"',brandName:'No Aplica',itemCodeSupplier:'',isPresent:false,"+
				"price:"+cad.vlrdcm+",quantity:"+cad.canart
				//if(nPorIva>0){
				//	dXml+=,",taxes:[{name:'Iva',code:'01',type:'P',rate:"+ALLTRIM(STR(nPorIva))+",amount:"+alltrim(STR(vIva,15,2))+"}]","")
				//}
				dXml+="}"
				dXmld+=' {"sku": "'+cad.artcod+'","quantity": '+cad.canart+',"description": "'+cad.artdes+'","price": '+cad.vlrdcm+' }'
				nTot=nTot + (parseInt(cad.canart) * parseInt(cad.vlrdcm));
			}
			//console.log(cXml);
			dXmld+=']'
			dXml+="],totals: { amount: "+nTot.toString()+",prepaymentAmount: 0}"
			if(sessionStorage.getItem('tipo')=='p'){gXml=cXml+dXml+"}"}
			if(sessionStorage.getItem('tipo')=='d'){gXml=cXml+dXmld+"}}"}
			
			cSw=1
			parame.substring(19,nTam)
			parame=parame.substring(parame.search(',')+2,nTam)
			parame=parame.substring(0,parame.search(',')-1)
			rmodulo(sessionStorage.getItem('modulo'),parame,'','g','','','',sessionStorage.getItem('tipo'));
		}else{
			alert("Verifique Agrego item y si selecciono productos  ")
		}
	}
}

function guardardetalle(tmod,ini,fin,nId){
	cSw=0
	z=0;
	caddatos=""
	cadcampos=""
	if(fin!=0){//para que si fin es 0 no recorra
		for(var i=ini;i<=fin;i++){
			iCampo="c"+i.toString()
			nCampo=document.getElementById(iCampo).name.trim();
			vCampo=document.getElementById(iCampo).value;
			if(z!=0){cadcampos+=",";caddatos+=","}
			zCampo="c"+z.toString()
			caddatos+='"'+nCampo+'":'+'"'+vCampo+'"';
			cadcampos+='"'+zCampo+'":'+'"'+nCampo+'"';
			z++
		}
	}
	cRemi=""
	var jSondet=document.getElementsByClassName('general');
	nTam=jSondet.length;
	for(var i=0;i<nTam;i++){
		nCampo=jSondet[i].name
		vCampo=document.getElementById(jSondet[i].id).value
		if (nCampo=="nrorem"){
			cRemi=vCampo
		}
		zCampo="c"+z.toString()
		if(fin==0 && i==0){}else{cadcampos+=",";caddatos+=","}
		caddatos+='"'+nCampo+'":'+'"'+vCampo+'"';
		cadcampos+='"'+zCampo+'":'+'"'+nCampo+'"';
		z++
	}
	
	caddatos="{"+caddatos+"}"
	cadcampos="{"+cadcampos+"}"
	caddatos=env_textos(caddatos);
	url="modulo="+tmod;
	url+="&jsondatos="+caddatos;
	url+="&jsoncampos="+cadcampos;
	url+="&j="+z;
	url+="&tipo="+"r";
	url+="&accion="+"detalle";
	url+="&consecutivo="+cRemi;
	url+="&codemp="+VGempresa;
	url+="&usuario="+localStorage.getItem('Usuario');
	url+="&tipocmp="+sessionStorage.getItem('tipo');
	console.log(url)
	var Rpage =VGRutaRiz+"controllers/registros/"

	doAjax(Rpage,url,'resp_registro_det','post','0','Ccargar');
}

function mostrar_detalle(nVta){
	cNro=document.getElementById(nVta).value
	url="modulo="+vGmodulo;
	url+="&tipo="+"l";
	url+="&condicion="+" and nrorem='"+cNro+"'"
	url+="&accion="+"detalle";
	url+="&codemp="+VGempresa;
	console.log(url);
	var Rpage =VGRutaRiz+"controllers/registros/"

	//doAjax(Rpage,url,'resp_registros_tmp','post','0','Ccargar');
	doAjax(Rpage,url,'resp_registro_det','post','0','Ccargar');//adicionado 23-11-2023
}

function resp_registros_tmp(ResTex) {
	console.log(ResTex);
	return 
	
	ResTex='{"Datos":'+ResTex+'}'
	
	vC="";
	var oJsonDatos = JSON.parse(ResTex);

	DetalleUl="";
	Detalle="";
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>8){
			Detalle+="<table id='customers'>";
			Detalle+="<tr>";
//			cad=oJsonDatos.Datos[0];
//			console.log(Object.keys(cad));
//			Detalle+="<th>Opciones</th>";
//			Object.keys(cad).forEach((valor)=>{
//				Detalle+="<th>"+valor+"</th>"
//			})
//			Detalle+="</tr>";
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			var cNrov="";
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cad=oJsonDatos.Datos[RowArray];	
				Detalle+="<tr>";
				tCampo=0;
				cCod=oJsonDatos.Datos[RowArray].Id;
				//Detalle+='<td><div class="btopciones"><a href="javascript:imodulo(\'' + tList + '\',\'' + tCampo + '\',\'' + cCod + '\',\'v\',\'' + vGtam + '\');"><div class="circulo_sup"><span class="icon-eye" ></span></div></a>'
				//	Detalle+='<a href="javascript:nmodulo(\'' + tList + '\',\'' + tCampo + '\',\'' + cCod + '\',\'e\',\'' + vGtam + '\');"><div class="circulo_sup"><span class="icon-edit" ></span></div></a>'
				//	Detalle+='<a href="javascript:imodulo(\'' + tList + '\',\'' + cCod + '\',\'d\');"><div class="circulo_sup"><span class="icon-erase" ></span></div></a>'				
				//Detalle+="</div></td>";
				
				for(d in cad){
					Detalle+="<td>"+cad[d]+"</td>";
					
					tCampo++;
				}
				DetalleUl=DetalleUl.replace("nnn",tCampo);
	
				Detalle+="</tr>";
			}
			Detalle+="</table>";
		}else{
			alert("sino");
	    	}
	  	
		//Detalle+="</div>";
		DetalleUl+="</ul>";  
	}
	if(Detalle==""){Detalle="<div> <p style='margin-left:5px'>No hay registros!</p></div>"}
	console.log(Detalle)
	console.log(nDiv)
	document.getElementById(nDiv).innerHTML=Detalle;
}

function resp_filtrar_div(ResTex) {
	console.log(ResTex);
	vC="";
	var oJsonDatos = JSON.parse(ResTex);
	Detalle="<div class='prueba'><div class='table-title' ><a href='#'>"+"Listado </a></div><div class='conte_table' >"
	DetalleUl="<ul>";
	if(oJsonDatos.Datos!="ERROR"){
	    if(ResTex.length>1){
			tAcc=""
			DetalleUl="";
			console.log(Detalle);
			Detalle+="<div class='div_registro'>";
			cad=oJsonDatos.Datos[0];
			JsonActividad=ResTex;
			var oJsonDatos = JSON.parse(JsonActividad);
	        var NJsonItem=oJsonDatos.Datos.length;
			for (RowArray=0;RowArray<NJsonItem; RowArray++){
				cad=oJsonDatos.Datos[RowArray];	
				console.log(cad);
				Detalle+="<div class='div_individual'>";
				tCampo=0;
				cId="";
				for(d in cad){
					nCp=d
					
					nPos=nCp.search('_')
					cTit=nCp
					console.log(nCp+nPos);
					vchk=nCp.search('chk')
					//alert(nCp+vchk)
					
					if(nPos>0){
						
						cTit=nCp.replace("_", " ");
						nCp=nCp.substring(0,nPos);
						cTit=cTit.substr(-(cTit.length-nPos));//temporal antes del 11-01-2023 
					}
					if(nCp=='nriper'){
						cId=cad[d]
					}
					Detalle+="<div class='conte_casilla'><p>"+cTit+"</p>";
					if(vTipo!="W"){
						
						if(cad[d]!="" && cad[d]!="0"){
							
							Detalle+="<input type='text' name='"+nCp+"' value='"+cad[d]+"' class='"+cId+"'>";
						}else{
							
							if(cad[d]=="" ){
								Detalle+="<textarea name='"+nCp+"'value='"+cad[d]+"' class='"+cId+"'></textarea>";
							}else{
								if(cad[d]=="0"){
									//alert(vchk)
									if(vchk>=0){
										Detalle+="<input type='checkbox' name='"+nCp+"' class='"+cId+"'>";
									}else{
										Detalle+="<input type='number' name='"+nCp+"'value='"+cad[d]+"' class='"+cId
										console.log(nCp.search('nota'))
										if(nCp.search('nota')>=0){
											Detalle+=" notdef' onblur='promedio(\"notdef\",\""+cId+"\")'>";
										}else{
											if(nCp.search('notdef')>=0){
												Detalle+="' id='"+cId+"'>";	
											}else{
												Detalle+="'>";
											}
										}
									}
								}
							}
						}
					}else{
						Detalle+="<p>"+cad[d]+"</p>";
					}
					Detalle+="</div>"
					//Revisar aqui ya que tiene que ver con las opciones de busqueda
					if(d=='nombre'){
						DetalleUl+="<li><div class='d_search'><a href='#'><i class='icon-magnifying-glass'></i>"+cad[d]+'</a><a href="javascript:nmodulo(\''+ tList+ '\',\'nnn\',\'' + cad['Id'] + '\',\'e\');"><span class="icon-edit"></span></a>';
						DetalleUl+='</a><a href="javascript:imodulo(\''+ tList+ '\',\'' + cad['Id'] + '\',\'d\');" class="a_search"><span class="icon-erase"></span></a>';
						DetalleUl+='</a><a href="javascript:imodulo(\''+ tList+ '\',\'nnn\',\'' + cad['Id'] + '\',\'v\');"><span class="icon-eye"></span></a>';
						DetalleUl+="</div></li>";
					}
					tCampo++;
				}
				DetalleUl=DetalleUl.replace("nnn",tCampo);
				cCod=oJsonDatos.Datos[RowArray].Id;
				if(vTipo!="W"){
					Detalle+='<div><a href="javascript:guardardet(\''+ vGmodulo+ '\',\'' + cId + '\',\'g\',\'' + vGcampoi + '\',\'' + vGcampof + '\');"><div class="circulo_sup"><span class="icon-save" ></span></div></a>'
				}
			
				Detalle+="</div>";
				Detalle+="</div>";
			}
			Detalle+="</div>";
		}else{
			alert("sino");
	    	}
	  	
	  
	}
	Detalle+="</div></div>";
	DetalleUl+="</ul>";
	console.log(Detalle);
	console.log(DetalleUl);
	//document.getElementById("div_tabla").style.height="50%";.-
	//document.getElementById("div_tabla").style.overflow="scroll";
	//document.getElementById("div_tabla").style.maxWidth="800px";
	
	Detalle=rpt_textos(Detalle);
	
	document.getElementById("div_tabla").innerHTML=Detalle;
	
	if(localStorage.getItem("rutab")!=""){
		buscar_res(localStorage.getItem("rutab",Detalle));
	}
	
}