function editar(tabla, titulo, id){
        var valorlabel = $("#"+titulo+tabla+id).text();
        var label = $("#"+titulo+tabla+id);
        var guia = $("#GuiadeEnvio"+tabla+id).text();
        label.removeAttr('ondblclick');
        $("#"+titulo+tabla+id).empty();//borramos el label que dice prueba
        if(titulo=="NuevoImei" || titulo=="cantidad"){
            var input="<input  type='number' min='0' max='15'  class='form-control' title='Ingrese el nuevo texto y presione enter' id='inp"+titulo+tabla+id+"' value='"+valorlabel+"'>";

        }else{

            var input="<input type='text' class='form-control' title='Ingrese el nuevo texto y presione enter' id='inp"+titulo+tabla+id+"' value='"+valorlabel+"'>";
             switch (titulo) {
                case 'FechaActIMEISERTEC':
                   input="<input  type='Date' min='0' max='15'  class='form-control' title='Ingrese el nuevo texto y presione enter' id='inp"+titulo+tabla+id+"' value='"+valorlabel+"'>";

                    break;
                case 'FechadeCompraSERTEC':
                   input="<input  type='Date' min='0' max='15'  class='form-control' title='Ingrese el nuevo texto y presione enter' id='inp"+titulo+tabla+id+"' value='"+valorlabel+"'>";

                    break;
            }
        }
        $("#"+titulo+tabla+id).prepend(input);//agrgamos lca caja
        
        var inputinsertado = $("#inp"+titulo+tabla+id);//obtenemos el input 
        inputinsertado.keydown(function(e){//evento
            var code= e.keyCode;//obtenemos el codigo del enter
                if (code==13  )
                {
                    //alert(valorlabel+" == "+inputinsertado.val());
                    if(inputinsertado.val() != valorlabel){
                        var valorlabelnuevo = inputinsertado.val();
                        //alert(valorlabelnuevo.length);
                        //alert("el valor nuevo es: "+valorlabelnuevo);
                        //var r = confirm("Seguro que desea cambiar el campo");
                        
                        var r = true;
                        if(titulo=="NuevoImei" &&  valorlabelnuevo.length !=15){
                            r = false;
                        }

                        if (r == true ) {
                                $.get("../core_update.php", {op:1,tabla:tabla,titulo:titulo,id:id,valorlabelnuevo:valorlabelnuevo}, function(respuesta){  
                                   
                                   respuesta2 = respuesta;

                                   
                                   if(respuesta =="1"){
                    $("#"+this.id).remove();//quitamos el cuadro
                                        label.text(valorlabelnuevo);//agregamos el valor
                                        label.attr("ondblclick","editar('"+tabla+"', '"+titulo+"', '"+id+"');");//asignams nuevamente la funcion
                            if (tabla=="puestos" && (titulo=="semxmes" || titulo=="maxnomsem" || titulo=="hrsxsem" )){
                                alert("valida costo por hora"+inputinsertado.val() );                            $("#maxxhr"+tabla+id).text(Math.round(parseFloat($("#maxnomsem"+tabla+id).text())/(parseFloat($("#hrsxsem"+tabla+id).text())*parseFloat($("#semxmes"+tabla+id).text()))*100)/100);
                                 $.get("../core_update.php", {op:1,tabla:tabla,titulo:'maxxhr',id:id,valorlabelnuevo:$("#maxxhr"+tabla+id).text()}, function(respuesta){ })
                            }
                                       
                                   }else{
                                        alert("Ocurrio un error:  " + respuesta);
                                        $("#"+this.id).remove();//quitamos el cuadro
                                        label.text(valorlabel);//agregamos el valor
                                        label.attr("ondblclick","editar('"+tabla+"', '"+titulo+"', '"+id+"');");//asignams nuevamente la funcion
                                   }
                                   //UPDATE  `clientes` SET  `nombre` =  'nombrepaterno ' WHERE  `id_clientes` =1;
                                });
                                //edicion CIM
                                var today = new Date();
                                var dd = today.getDate();
                                var mm = today.getMonth()+1; //January is 0!
                                var yyyy = today.getFullYear();

                                if(dd<10) {
                                    dd='0'+dd
                                } 

                                if(mm<10) {
                                    mm='0'+mm
                                } 

                                fechactual = mm+'/'+dd+'/'+yyyy+" "+today.getHours()+":"+today.getMinutes()+":"+today.getSeconds();

                                switch (titulo) {
                                    case 'FechadeCompraSERTEC':
                                        $.get("../core_update.php", {op:1,tabla:tabla,titulo:"FechadeRecepcionenCIMValidarensistemaDHL",id:id,valorlabelnuevo:fechactual}, function(respuesta){
                                            /*if(respuesta!="1"){
                                                alert(respuesta);
                                            }*/
                                        });

                                        break;
                                    case 'FechaActIMEISERTEC':
                                        $.get("../core_update.php", {op:1,tabla:tabla,titulo:"FechadeRecepcionenCIMValidarensistemaDHL",id:id,valorlabelnuevo:fechactual}, function(respuesta){
                                            /*if(respuesta!="1"){
                                                alert(respuesta);
                                            }*/
                                        });

                                        break;
                                    case 'NuevoImei':
                                        $.get("../core_update.php", {op:1,tabla:tabla,titulo:"FechadeEnvio2",id:id,valorlabelnuevo:fechactual}, function(respuesta){

                                        });

                                        break;
                                    case 'GuiadeEnvio':
                                        $.get("../core_update.php", {op:1,tabla:tabla,titulo:"FechadeEnvio2",id:id,valorlabelnuevo:fechactual}, function(respuesta){

                                        });
                                        break;
                                    case 'validaciondesertecalfinal':

                                        $.get("../core_update.php", {op:1,tabla:tabla,titulo:"joobsheet",id:id,valorlabelnuevo:fechactual}, function(respuesta){
                                        }); 
                                        //alert(guia);

                                        $.get("../core_update.php", {op:10,tabla:tabla,titulo:"joobsheet",id:id,valorlabelnuevo:fechactual,guia:guia}, function(respuesta){
                                        });
                                        break;

                                    case 'firmaderecepcion':
                                        //GuiadeEnvio
                                        $.get("../core_update.php", {op:1,tabla:tabla,titulo:"joobsheet",id:id,valorlabelnuevo:fechactual}, function(respuesta){
                                        }); 
                                        //alert(guia);

                                        $.get("../core_update.php", {op:10,tabla:tabla,titulo:"joobsheet",id:id,valorlabelnuevo:fechactual,guia:guia}, function(respuesta){
                                        });

                                        break;
                                    }
                                    //FIN  edicion CIM
                        }else{
                                $("#"+this.id).remove();//quitamos el cuadro
                                label.text(valorlabel);//agregamos el valor
                                label.attr("ondblclick","editar('"+tabla+"', '"+titulo+"', '"+id+"');");//asignams nuevamente la funcion
                                if(valorlabelnuevo.length !=15 && titulo=="NuevoImei" ){
                                    alert("El tamaño del Nuevo IMEI debe tener un tamaño de 15");
                                }
                        }

                        

                    }else{
                           
                           
                        //alert("es igual el valor");
                        $("#"+this.id).remove();//quitamos el cuadro
                        label.text(valorlabel);//agregamos el valor
                        label.attr("ondblclick","editar('"+tabla+"', '"+titulo+"', '"+id+"');");//asignams nuevamente la funcion
                    }
                }
            }
        );
}

function descargarExcelid(idtable){
        //Creamos un Elemento Temporal en forma de enlace
        var actual = new Date();
        
        var hora = actual.getHours();
        var minutos = actual.getMinutes();
        var segundos = actual.getSeconds();
        var tmpElemento = document.createElement('a');
        // obtenemos la información desde el div que lo contiene en el html
        // Obtenemos la información de la tabla
        var data_type = 'data:application/vnd.ms-excel';
        var tabla_div = document.getElementById('example'+idtable);
        var tabla_html = tabla_div.outerHTML.replace(/ /g, '%20');
        tmpElemento.href = data_type + ', ' + tabla_html;
        //Asignamos el nombre a nuestro EXCEL
        tmpElemento.download = 'Reporte_'+hora+"_"+minutos+"_"+segundos+'.xls';
        // Simulamos el click al elemento creado para descargarlo
        tmpElemento.click();
}

function descargarExcelidtable(idtable){
        //Creamos un Elemento Temporal en forma de enlace
        var actual = new Date();
        
        var hora = actual.getHours();
        var minutos = actual.getMinutes();
        var segundos = actual.getSeconds();
        var tmpElemento = document.createElement('a');
        // obtenemos la información desde el div que lo contiene en el html
        // Obtenemos la información de la tabla
        var data_type = 'data:application/vnd.ms-excel';
        var tabla_div = document.getElementById('example'+idtable);
        var tabla_html = tabla_div.outerHTML.replace(/ /g, '%20');
        tmpElemento.href = data_type + ', ' + tabla_html;
        //Asignamos el nombre a nuestro EXCEL
        tmpElemento.download = 'Reporte_'+hora+"_"+minutos+"_"+segundos+'.xls';
        // Simulamos el click al elemento creado para descargarlo
        tmpElemento.click();
}

/*function descargarExcelid2(idtable){
        //Creamos un Elemento Temporal en forma de enlace
        var actual = new Date();
        
        var hora = actual.getHours();
        var minutos = actual.getMinutes();
        var segundos = actual.getSeconds();
        var tmpElemento = document.createElement('a');
        // obtenemos la información desde el div que lo contiene en el html
        // Obtenemos la información de la tabla
        var data_type = 'data:application/vnd.ms-excel';
        var tabla_div = document.getElementById('example'+idtable);
        //var tabla_html = tabla_div.outerHTML.replace(/ /g, '%20');
        tmpElemento.href = data_type + ', ' + tabla_div;
        //Asignamos el nombre a nuestro EXCEL
        tmpElemento.download = 'Reporte_'+hora+"_"+minutos+"_"+segundos+'.xls';
        // Simulamos el click al elemento creado para descargarlo
        tmpElemento.click();
}*/

function descargarExcelid(idtable, tipo){
        //Creamos un Elemento Temporal en forma de enlace
        var actual = new Date();
        
        var hora = actual.getHours();
        var minutos = actual.getMinutes();
        var segundos = actual.getSeconds();
        var tmpElemento = document.createElement('a');
        // obtenemos la información desde el div que lo contiene en el html
        // Obtenemos la información de la tabla
        var data_type = 'data:application/vnd.ms-excel';
        var tabla_div = document.getElementById(tipo+'example'+idtable);
        var tabla_html = tabla_div.outerHTML.replace(/ /g, '%20');
        tmpElemento.href = data_type + ', ' + tabla_html;
        //Asignamos el nombre a nuestro EXCEL
        tmpElemento.download = 'Reporte_'+hora+"_"+minutos+"_"+segundos+'.xls';
        // Simulamos el click al elemento creado para descargarlo
        tmpElemento.click();
}

function agregarusuario(){
var nombre = $('#nombre').val();
var apellidos = $('#Apellidos').val();
var correo = $('#correo').val();
var Telefono = $('#Telefono').val();
var usuario = $('#usuario').val();
var contrasena = $('#contrasena').val();
var contrasena2 = $('#contrasena2').val();
var fecnac = $('#fecnac').val();
var tsueldo = $('#tsueldo').val();
var sueldo = $('#sueldo').val();
var estado = $('#estado').val();
var perfil = $('#perfil').val();
var puesto = $('#puesto').val();
var horas = $('#horas').val();
var costohoras = $('#costohoras').val();
var vdelete = '<button class="btn btn-round btn-info" type="submit" id="button" onclick="refresh()">Borrar</button>';
var puesto_text= $("#puesto option:selected").text();
var perfil_text= $("#perfil option:selected").text();
var estado_text= $("#estado option:selected").text();
sueldo= parseFloat(sueldo);
    if(contrasena==contrasena2){
        if((nombre !="") &&(Apellidos !="") &&(puesto !="") &&(correo !="") && (usuario !="") &&(contrasena !="") &&(contrasena2 !="") &&(fecnac !="") &&(tsueldo !="") &&(estado !="") &&(perfil_text !="")){
			$.get("../core_update.php", {op:43,idpuesto:puesto}, function(respuesta){
				if(sueldo <= respuesta){
					$.get("../core_update.php", {op:2,nombre:nombre, apellidos:apellidos, correo:correo, Telefono:Telefono, usuario:usuario, contrasena:contrasena, contrasena2:contrasena2, fecnac:fecnac, tsueldo:tsueldo, sueldo:sueldo, estado:estado, perfil:perfil, puesto:puesto, horas:horas, costohoras:costohoras}, function(respuesta){
						if(respuesta!="1"){
							alert("Verifque el tipo de dato");
							}else{
								var t = $('#example').DataTable();
								t.row.add( [
								nombre,
								apellidos,
								correo,
								Telefono,
								usuario,
								contrasena,
								estado_text,
								perfil,
								puesto_text,
								fecnac,
								tsueldo,
								horas,
								costohoras,
								sueldo,
								vdelete
								] ).draw( false );
								$("#limpiar").click();
								}
								});
								}else{
									alert("El sueldo no puede ser mayor a el configurado en el puesto");
					}
					});
					}else{
						alert("Debe llenar los campos requeridos");
						}
						}else{
							location.href ="#contrasena";
							alert("Las contraseñas deben coincidir");
							}
}

function armaniv1ed(folio){
    var t = $('#edniv1').DataTable();
    t.rows().remove().draw();
    var filas=[];
    
    $("input:checkbox:checked").each(function() {
                    document.getElementById("etapa_"+$(this).val()).checked = false;
                });
    $.get("../core_update.php", {op:52,folio:folio}, function(respuesta){
        sleep_ms(100);
        var option =  respuesta.split('&');
        var tottotc=0;
        if(option!=""){
            for (var i = 0; i<option.length; i++) {
            var valores =  option[i].split('*');
             if(valores!=""){
               filas[0]='<input id="etapa'+parseInt(valores[2])+'"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" readonly="readonly" value="'+ valores[7]+'">';
                 if (valores[3].trim()==""){
                filas[1]='<input  type="date" id="etapafi'+parseInt(valores[2])+'">';}
                 else{
                     filas[1]='<input  type="date" id="etapafi'+parseInt(valores[2])+'" value="'+valores[3].trim()+'" >'
                 }
                 if (valores[4].trim()==""){
                filas[2]='<input  type="date" id="etapaff'+parseInt(valores[2])+'">';}
                 else{
                     filas[2]='<input  type="date" id="etapaff'+parseInt(valores[2])+'" value="'+valores[4].trim()+'" >'
                 }
                 filas[3]='<input id="etapad'+parseInt(valores[2])+'"  type="text" style="width:100px" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" disabled value="'+ valores[5]+'" onchange="recalculaduracion('+parseInt(valores[2])+','+i+','+parseInt(valores[0])+')">'
                 filas[4]='<input id="totalcot'+parseInt(valores[2])+'" type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" readonly="readonly" value="$'+ number_format(valores[6],2, '.', ',')+'">'
                 //filas[5]='<button class="btn btn-round btn-info"  onclick="eliminarregistro('+valores[0]+', cotiza_etapas)" type="button" id="button">Borrar</button>'
   
                tottotc=tottotc+parseFloat(valores[6]);
 
                 
            }
               
                
                
                 t.row.add( filas ).draw( true );
                document.getElementById("etapa_"+parseInt(valores[2])).checked = true;
        
                //$('#etapa_'+parseInt(valores[2])).prop("checked", true);
            }
            filas=['Total','','','','<input id="totaltotalesc" type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" readonly="readonly" value="$'+ number_format(tottotc,2, '.', ',')+'">'];
                   t.row.add( filas ).draw( true );
                configuraNivel2ed(option);
                armafilniv3ed(option);
        }
        
    });
}

function recalculaduracion(idetapa,fila,iddetapa){
    var tablahrs = $('#tablahrs').DataTable();
    var duretapa=parseFloat($('#etapad'+idetapa).val());
    var opcion =confirm("Al cambiar la duracion de la etapa se recalcularan todos los datos, ¿desea continuar?");
    if(opcion==true){
        $.get("../core_update.php", {op:57,empresa:1}, function(respuesta1){
            sleep_ms(100);
            var horsemp= parseFloat(respuesta1);
            tablahrs.cell(0,(fila)).data(horsemp*duretapa).draw();
            
    //var t = $('#tablacaptura1').DataTable();
    //var t4 = $('#tablacaptura4').DataTable();
	var filas = $("#tablacapturaC	tbody tr").length;
    var y= $('#tablacapturaC').find('tr')[1].cells.length;
    //var filas=$('#tablacaptura1').DataTable().rows().count();
    //var y= $('#tablacaptura1').find('tr')[1].cells.length;
    for( var f=0;f< filas;f++){
        for(var x=2; x<=y+1; x++){
            if (x==2 || x==5 || x== 8 || x==11 || x==14 || x== 17 || x==20 || x== 23 || x==26 || x== 29 || x==32 || x== 35){
            calculatotmh('C',f,x);
            }
        }
    }
            $('#guardar1').click()
           /*$.get("../core_update.php", {op:58,folio:1}, function(respuesta){
            //t4.cell(0,fila).data(parseFloat(respuesta*horsemp*duretapa)).draw();
               $('#ind'+fila).val(parseFloat(respuesta*horsemp*duretapa));
               sleep_ms(100);
            
            calculamarkupnom('4');
            $('#guardar1').click();

            var sentencia2="";
        sentencia2="update detalle_cotiza_etapas set monto="+parseFloat(respuesta*horsemp*duretapa)+" where id_cotiza_etapas="+iddetapa+" and tipo=4";

        $.get("../core_update.php", {op:55,sentencia:sentencia2}, function(respuesta3){
            sleep_ms(100);
        });
            });*/
            
            var sentencia="";
        sentencia="update cotiza_etapas set etapad="+duretapa+" where etapa="+idetapa+" and id_cotiza="+$('#folio').val();
        $.get("../core_update.php", {op:55,sentencia:sentencia}, function(respuesta2){
            sleep_ms(100);
        });
            
            
            });
    }
    
}
function llenaniv3ed(){
    for(tab=1;tab<4;tab++){
		var tabT='';
		switch (tab) {
		case 1:
			tabT="C";
			break;
		case 2:
			tabT="E";
			break;
		case 3:
			tabT="O";
			break;
		case 4:
			tabT="I";
		}
    //var t = $('#tablacaptura'+tab).DataTable();
	var filas = $("#tablacaptura"+tabT+"	tbody tr").length;
    //var filas=$('#tablacaptura'+tab).DataTable().rows().count();
    var y= $('#tablacaptura'+tabT).find('tr')[1].cells.length;
    for( var f=0;f< filas;f++){
        for(var x=2; x<=y+1; x++){
            if(tab==1){
            if (x==2 || x==5 || x== 8 || x==11 || x==14 || x== 17 || x==20 || x== 23 || x==26 || x== 29 || x==32 || x== 35){
            calculatotmh(tabT,f,x);
            }
            }else{
                 if (x==2 || x==4 || x==6 || x==8 || x==10 || x== 12 || x==14 || x== 16 || x==18 || x== 20 || x==22 || x== 24){
            calculatotmh(tabT,f,x);
            }
            }
        }
    }
        
    }
    calculamarkupnom('I');
    if($('#status').val()==1){
        $('#cotizaetapas input').prop("disabled",true);
        $('#cotizaetapas select').prop("disabled",true);
        $('#cotizaetapas button').prop("disabled",true);
    }else{
$("input:checkbox:checked").each(function() {
    $('#etapad'+$(this).val()).prop("disabled",false);
});}
  location.href="#cotizanv2";  
}

function armafilniv3ed(option){
     var etapasid="";
       for (var i = 0; i<option.length; i++) {      
            var valores =  option[i].split('*');
                etapasid=etapasid + valores[0]+",";
                
            }
          var etapasidf=etapasid.substring(0, etapasid.length-1);
                 for(t=1;t<=4;t++) {
                     
                 
                 $.get("../core_update.php", {op:54,etapa:etapasidf,tipo:t}, function(respuesta){
                    var options =  respuesta.split('~');
                     
                    if(options!=""){
                        var nfilas= options.length/option.length;
                        var netapas=option.length;
                        var dfilas="";
                             var valoresf =  options[0].split('*');
                            for( var x=0;x<nfilas;x++){
                                var dfilas="";
                                for (var y=0;y< netapas ;y++){
                                    dfilas=dfilas+options[y*nfilas+x]+"*";
                                 
                                }
                                if(valoresf[8]==4){
                                    $('#markporcI').val(parseFloat(valoresf[7])) ;  
                                    var indt=0;
                                    for (var t=0;t<netapas;t++){
                                        var valoresf2 =  options[t].split('*');
                                    $('#ind'+t).val(parseFloat(valoresf2[4]));
                                        indt=indt+parseFloat(valoresf2[4]);
                                      }
                                    $('#ind'+t).val(indt);
                                }else{
									var Ntabla=0;
									Ntabla=parseFloat(valoresf[8]);
									switch (Ntabla) {
										case 1:
											NtablaT="C";
											break;
										case 2:
											NtablaT="E";
											break;
										case 3:
											NtablaT="O";
											break;
										case 4:
											NtablaT="I";
									}
                                dfilas=dfilas.substring(0, dfilas.length-1);
                            $('#markporc'+NtablaT).val(parseFloat(valoresf[7]));   
                            agregafilaed(parseInt(valoresf[8]),x,dfilas);
                                }
                        }
                    }
                });
                 }
}

function agregafilaed(Ntabla,f,dfilas){
    //var t = $('#tablacaptura'+Ntabla).DataTable();
    var filas=[];
    var totales=[];
    var listapuesto='';
    var menu='';
    var valoresf=dfilas.split('*');
	var NtablaT='';
	
    //var f= $('#tablacaptura'+Ntabla+' tr').length;
	switch (Ntabla) {
	case 1:
		NtablaT="C";
		break;
	case 2:
		NtablaT="E";
		break;
	case 3:
		NtablaT="O";
		break;
	case 4:
		NtablaT="I";
	}
    //t.columns().every( function () {
      //  alert(this.title());
    //});

    //var c=$('#tablatotalcolaboradores th').each(function () {
       // alert($(this).text());
   // });
    //alert($('#detallecotiza90').text());
    if(Ntabla==1){

            //filas[1]=valoresf[3];

        
        
    $.get("../core_update.php", {op:45,idpuesto:listapuesto}, function(respuesta){

        var option =  respuesta.split('-');
        if(option!=""){
            for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
                if (parseInt(valoresf[2])==parseInt(valores[0])){
                    menu=menu + '<option value="'+parseInt(valores[0])+'" selected>'+valores[1]+'</option>';
                }else{
                 menu=menu + '<option value="'+parseInt(valores[0])+'">'+valores[1]+'</option>';
                }
                
            }
        }
               
       var szz1='<tr>';           
	  szz1 = szz1+ '<td nowrap>' + '<select id="c0'+NtablaT+f+'"  required="required" onchange="caclulofilacotiz(\''+NtablaT+'\','+f+',0)" ondblclick="eliminafila(\''+NtablaT+'\','+f+')">'+menu+'</select></td>';

        
    var y= $('#tablacaptura'+NtablaT).find('tr')[1].cells.length;
	szz1 = szz1+ '<td nowrap>' + '$<input id="c1'+NtablaT+f+'"  style="width:100px"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" disabled  value="'+ parseFloat(valoresf[3]) +'"></td>';
    var aux=0;    
    for(var x=2; x<=y+2; x++){
        if (x==2 || x==5 || x== 8 || x==11 || x==14 || x== 17 || x==20 || x== 23 || x==26 || x== 29 || x==32 || x== 35){
            if(x==y+2){
				szz1 = szz1+ '<td nowrap>' + '$<input id="c'+x+NtablaT+f+'"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" onchange="calculatotmh(\''+NtablaT+','+f+','+x+'\')" disabled></td>';
            
            }else{
				szz1 = szz1+ '<td nowrap>' + '%'+'<input id="c'+x+NtablaT+f+'" style="width:100px"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" onchange="calculatotmh(\''+NtablaT+'\','+f+','+x+')" value="'+ valoresf[(aux*9)+5] +'"></td>';
                }
                aux=aux+1;
        }else{
            if (x==4 || x==7 || x== 10 || x==13 || x==16 || x== 19 || x==22 || x== 25 || x==28 || x== 31 || x==34){
				szz1 = szz1+ '<td nowrap>' + '$<input id="c'+x+NtablaT+f+'"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" disabled></td>';
            }else{
				szz1 = szz1+ '<td nowrap>' + '<input id="c'+x+NtablaT+f+'" style="width:100px"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" disabled></td>';
            }
        }
    }
    $('#tablacaptura'+NtablaT+' tbody').append(szz1 + "</tr>");    

});
    }
    else{
        $.get("../core_update.php", {op:48,idpuesto:listapuesto}, function(respuesta){
        var option =  respuesta.split('-');
        if(option!=""){
            for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
                if (parseInt(valoresf[2])==parseInt(valores[0])){
                    menu=menu + '<option value="'+parseInt(valores[0])+'" selected>'+valores[1]+'</option>';
                }else{
                 menu=menu + '<option value="'+parseInt(valores[0])+'">'+valores[1]+'</option>';
                }
            }
        }
                
		var szz1='<tr>';           
		szz1 = szz1+ '<td nowrap>' + '<select  id="c0'+NtablaT+f+'" required="required" ondblclick="eliminafila(\''+NtablaT+'\','+f+')">'+menu+'</select></td>';

  
        
		var y= $('#tablacaptura'+NtablaT).find('tr')[1].cells.length;
		szz1 = szz1+ '<td nowrap>' + '$<input id="c1'+NtablaT+f+'"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" value="'+ parseFloat(valoresf[3]) +'" onchange="cambiocantidaprov(\''+NtablaT+','+f+'\')"></td>';
         var aux1=0; 
    for(var x=2; x<=y+2; x++){
            if (x==2 || x==4 || x==6 || x==8 || x==10 || x== 12 || x==14 || x== 16 || x==18 || x== 20 || x==22 || x== 24){
                if(x==y+2){
					szz1 = szz1+ '<td nowrap>' + '$<input id="c'+x+NtablaT+f+'" type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" onchange="calculatotmh(\''+NtablaT+'\','+f+','+x+')" disabled></td>';
            }else{
				szz1 = szz1+ '<td nowrap>' + '%<input id="c'+x+NtablaT+f+'" style="width:100px"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" onchange="calculatotmh(\''+NtablaT+'\','+f+','+x+')" value="'+ valoresf[(aux1*9)+5] +'"></td>';
            }
                aux1=aux1+1;
        }else{
			szz1 = szz1+ '<td nowrap>' + '$<input id="c'+x+NtablaT+f+'"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" disabled )"></td>';
        }

    }
	$('#tablacaptura'+NtablaT+' tbody').append(szz1 + "</tr>");


});
    }
}

function agregafila(Ntabla){
    //var t = $('#tablacaptura'+Ntabla).DataTable();
    var filas=[];
    var totales=[];
    var listapuesto='';
    var menu='';
	var f = $("#tablacaptura"+Ntabla+"	tbody tr").length;
    //var f=$("#tablacaptura"+Ntabla).DataTable().rows().count();
    //var f= $('#tablacaptura'+Ntabla+' tr').length;

    //t.columns().every( function () {
      //  alert(this.title());
    //});
    
    //var c=$('#tablatotalcolaboradores th').each(function () {
       // alert($(this).text());
   // });
    //alert($('#detallecotiza90').text());
    if(Ntabla=='C'){
    $.get("../core_update.php", {op:45,idpuesto:listapuesto}, function(respuesta){
        var option =  respuesta.split('-');
        if(option!=""){
            for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
                 menu=menu + '<option value="'+parseInt(valores[0])+'">'+valores[1]+'</option>';
                
            }
        }
     var szz1='<tr>';           
	  szz1 = szz1+ '<td nowrap>' + '<select id="c0'+Ntabla+f+'"  required="required" onchange="caclulofilacotiz(\''+Ntabla+'\','+f+',0)" ondblclick="eliminafila(\''+Ntabla+'\','+f+')">'+menu+'</select></td>';
        
       

        
    var y= $('#tablacaptura'+Ntabla).find('tr')[1].cells.length;
		szz1 = szz1+ '<td nowrap>' + '$<input id="c1'+Ntabla+f+'"  style="width:100px"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" readonly="readonly"></td>';
    
    for(var x=2; x<=y+2; x++){
        if (x==2 || x==5 || x== 8 || x==11 || x==14 || x== 17 || x==20 || x== 23 || x==26 || x== 29 || x==32 || x== 35){
            if(x==y+2){
				szz1 = szz1+ '<td nowrap>' + '$<input id="c'+x+Ntabla+f+'"type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" onchange="calculatotmh(\''+Ntabla+'\','+f+','+x+')" max="100" disabled></td>';
            }else{
				szz1 = szz1+ '<td nowrap>' + '%<input id="c'+x+Ntabla+f+'" style="width:100px"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" onchange="calculatotmh(\''+Ntabla+'\','+f+','+x+')" max="100"></td>';
            }
        }else{
            if (x==4 || x==7 || x== 10 || x==13 || x==16 || x== 19 || x==22 || x== 25 || x==28 || x== 31 || x==34){
				szz1 = szz1+ '<td nowrap>' + '$<input id="c'+x+Ntabla+f+'"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" disabled></td>';
            }else{
				szz1 = szz1+ '<td nowrap>' + '<input id="c'+x+Ntabla+f+'"  style="width:100px"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" disabled></td>';
            }
        }
    }
 
	$('#tablacaptura'+Ntabla+' tbody').append(szz1 + "</tr>");
  
});
    }
    else{
        $.get("../core_update.php", {op:48,idpuesto:listapuesto}, function(respuesta){
        var option =  respuesta.split('-');
        if(option!=""){
            for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
                 menu=menu + '<option value="'+valores[0]+'">'+valores[1]+'</option>';
                
            }
        }
         var szz1='<tr>';
		 szz1 = szz1+ '<td nowrap>' + '<select  id="c0'+Ntabla+f+'" required="required" ondblclick="eliminafila(\''+Ntabla+'\','+f+')">'+menu+'</select></td>';
       
       
    
  
        
    var y= $('#tablacaptura'+Ntabla).find('tr')[1].cells.length;
    szz1 = szz1+ '<td nowrap>' + '$<input id="c1'+Ntabla+f+'"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" onchange="cambiocantidaprov(\''+Ntabla+'\','+f+')" ></td>';
        
    for(var x=2; x<=y+2; x++){
        if (x==2 || x==4 || x==6 || x==8 || x==10 || x== 12 || x==14 || x== 16 || x==18 || x== 20 || x==22 || x== 24){
            if(x==y+2){
				szz1 = szz1+ '<td nowrap>' + '$<input id="c'+x+Ntabla+f+'"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" onchange="calculatotmh(\''+Ntabla+'\','+f+','+x+')" disabled></td>';
            }else{
            szz1 = szz1+ '<td nowrap>' + '%<input id="c'+x+Ntabla+f+'" style="width:100px"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" onchange="calculatotmh(\''+Ntabla+'\','+f+','+x+')" max="100"></td>';
            }
        }else{
			szz1 = szz1+ '<td nowrap>' + '$<input id="c'+x+Ntabla+f+'"  type="text" onkeypress="return NumCheck(event, this)" name="fecnac" required="required" disabled ></td>';
        }

    }
    $('#tablacaptura'+Ntabla+' tbody').append(szz1 + "</tr>");


});
    }
}



function eliminafila(Ntabla,f){
    //var t = $('#tablacaptura'+Ntabla).DataTable();
    var opcion =confirm("¿Desea eliminar esta fila?");
    if(opcion==true){
         //t.row(f).remove( ).draw( true );
		 $('#tablacaptura'+Ntabla+' tr:last-child').remove(); 
    actualizaniv2();
        calculamarkupnom(Ntabla);
    }
}

function caclulofilacotiz(Ntabla,f,ed){
    var puesto = $('#c0'+Ntabla+f).val();
    //var t = $('#tablacaptura1').DataTable();
    var y= $('#tablacaptura'+Ntabla).find('tr')[1].cells.length;
   $.get("../core_update.php", {op:49,puesto:puesto}, function(respuesta){
       //t.cell(f,1).data(respuesta).draw();
       $('#c1'+Ntabla+f).val(respuesta);
    });
    if(ed==0){
    for (var x=2;x<y+2;x=x+3){
    $('#c'+x+Ntabla+f).val(0);
    //t.cell(f,x+1).data(0).draw();
    $('#c'+(x+1)+Ntabla+f).val(0);    
    //t.cell(f,x+2).data(0).draw();
    $('#c'+(x+2)+Ntabla+f).val(0);    
    }
    //t.cell(f,y+2).data(0).draw();
    $('#c'+(y+2)+Ntabla+f).val(0);
    }
	calculamarkupnom(Ntabla);
}
function cambiocantidaprov(Ntabla,f){
    var obra = $('#c3'+Ntabla+f).val();
    //var t = $('#tablacaptura2').DataTable();
    var y= $('#tablacaptura'+Ntabla).find('tr')[1].cells.length;


    for (var x=2;x<y+2;x=x+2){
    $('#c'+x+Ntabla+f).val(0);
    //t.cell(f,x+1).data(0).draw();
    $('#c'+(x+1)+Ntabla+f).val(0);    
    //t.cell(f,x+2).data(0).draw();
    $('#c'+(x+2)+Ntabla+f).val(0);    
    }
    //t.cell(f,y+2).data(0).draw();
    $('#c'+(y+2)+Ntabla+f).val(0);
	calculamarkupnom(Ntabla);

}
function calculatotmh(Ntabla,f,x){
    var porc = $('#c'+x+Ntabla+f).val();
    //var t = $('#tablacaptura'+Ntabla).DataTable();
    var tablahrs = $('#tablahrs').DataTable();
    var hrs = tablahrs.cell(0,((x+1)/3)-1).data();
    var costoxh= $('#c1'+Ntabla+f).val();
	var filas = $("#tablacaptura"+Ntabla +" tbody tr").length;
    //var filas=$('#tablacaptura'+Ntabla).DataTable().rows().count();
    var y= $('#tablacaptura'+Ntabla).find('tr')[1].cells.length;
    var offs1=3;
    var offs2=2;
    var sumaporc=0;
    if (Ntabla=='C'){
        offs1=4;
        offs2=3;
    for (var j=0;j<filas;j++){
        if (parseFloat($('#c'+x+Ntabla+j).val())>0){
        sumaporc=sumaporc+ parseFloat($('#c'+x+Ntabla+j).val());
        }

    }
        if(porc>100){
            alert("El porcentaje de ocupación no puede superar el 100% ")
            $('#c'+x+Ntabla+f).val(100);
        porc=100;  
        }
    /*if (sumaporc>100 && Ntabla==1){
        alert("El porcentaje de ocupacion no puede superar el 100% por etapa")
        $('#c'+x+Ntabla+f).val(0);
        porc=0;      
    }*/

    //t.cell(f,x+1).data(porc*hrs/100).draw();
       $('#c'+(x+1)+Ntabla+f).val(Math.round10(porc*hrs/100,-2));  
    //t.cell(f,x+2).data(porc*hrs*costoxh/100).draw();
        $('#c'+(x+2)+Ntabla+f).val(Math.round10(porc*hrs*costoxh/100,-2));
    }else{
        for (var h=2;h<y+2;h=h+2){
            if (parseFloat($('#c'+h+Ntabla+f).val())>0){
            sumaporc=sumaporc+ parseFloat($('#c'+h+Ntabla+f).val());
            }
        }
        if (sumaporc>100){
            alert("El porcentaje de ocupacion no puede superar el 100% en el todas las etapas")
            $('#c'+x+Ntabla+f).val(0);
            porc=0;      
        }
               //t.cell(f,x+1).data(porc*(parseFloat($('#c'+1+Ntabla+f).val()))/100).draw();
                 $('#c'+(x+1)+Ntabla+f).val(Math.round10(porc*(parseFloat($('#c'+1+Ntabla+f).val()))/100,-2));    
    }
    var totales=0;
    for (var z= offs1;z<y+2;z=z+offs2){
        /*if (t.cell(f,z).data()>0){
        totales=totales+ t.cell(f,z).data();
        }*/
        if ($('#c'+z+Ntabla+f).val()>0){
        totales=totales+ parseFloat($('#c'+z+Ntabla+f).val());
        }
    }
    totales=Math.round10(totales,-2);
    //t.cell(f,y+2).data(totales).draw();
    $('#c'+(y+2)+Ntabla+f).val(totales);
    var markp=$('#markporc'+Ntabla).val();
    var mark=$('#mark'+Ntabla).val();
    var totmk=$('#totmk'+Ntabla).val();
    var totaltotales=0;
    var markupcalc=0;
    for (var i=0;i<filas;i++){
        /*if (t.cell(i,y+2).data()>0){
        totaltotales=totaltotales+ t.cell(i,y+2).data();
        }*/
        if ($('#c'+(y+2)+Ntabla+i).val()>0){
        totaltotales=totaltotales+ parseFloat($('#c'+(y+2)+Ntabla+i).val());
            
        }
        
    }
    totaltotales=Math.round10(totaltotales,-2);
    markupcalc=totaltotales*markp/100;
     markupcalc=Math.round10(markupcalc,-2);
    $('#totcot'+Ntabla).val("$ "+number_format(totaltotales,2, '.', ','));
        $('#mark'+Ntabla).val("$ "+number_format(markupcalc,2, '.', ','));
    $('#totmk'+Ntabla).val("$ "+number_format(totaltotales+markupcalc,2, '.', ','));
    actualizaniv2();
}

function calculamarkupnom(Ntabla){
	
     var markp=$('#markporc'+Ntabla).val();
    var mark=$('#mark'+Ntabla).val();
    var totmk=$('#totmk'+Ntabla).val();
	var filas = $("#tablacaptura"+Ntabla +" tbody tr").length;
    //var filas=$('#tablacaptura'+Ntabla).DataTable().rows().count();
    //var t = $('#tablacaptura'+Ntabla).DataTable();
    var y= $('#tablacaptura'+Ntabla).find('tr')[1].cells.length;

    var totaltotales=0;
    var markupcalc=0;
if (Ntabla=='I'){
        //totaltotales=parseFloat(t.cell(i,y-1).data());
        totaltotales=parseFloat($('#ind'+(y-1)).val());
     $('#totcot'+Ntabla).val("$ "+number_format(totaltotales,2, '.', ','));
    }
else{
    for (var i=0;i<filas;i++){
        /*if (t.cell(i,y+2).data()>0){
        totaltotales=totaltotales+ t.cell(i,y+2).data();
        }*/
        if (parseFloat($('#c'+(y+2)+Ntabla+i).val())>0){
        totaltotales=totaltotales+ parseFloat($('#c'+(y+2)+Ntabla+i).val());
		
        }

    }
	$('#totcot'+Ntabla).val("$ "+number_format(totaltotales,2, '.', ','));
}
    markupcalc=totaltotales*markp/100;
        $('#mark'+Ntabla).val("$ "+number_format(markupcalc,2, '.', ','));
    $('#totmk'+Ntabla).val("$ "+number_format(totaltotales+markupcalc,2, '.', ','));
    actualizaniv2();
}
function guardadetallecotiza(idsetapas,Ntabla){
	var ntablaT='';
	switch (Ntabla) {
	case '1':
		ntablaT="C";
		break;
	case '2':
		ntablaT="E";
		break;
	case '3':
		ntablaT="O";
		break;
	case '4':
		ntablaT="I";
	}
    var ids=idsetapas.split("~");
    //var t = $('#tablacaptura'+Ntabla).DataTable();
	var filas = $("#tablacaptura"+ntablaT +" tbody tr").length;
    //var filas=$('#tablacaptura'+Ntabla).DataTable().rows().count();
    var y= $('#tablacaptura'+ntablaT).find('tr')[1].cells.length;
    var producto = 0;
    var monto=0;
    var ocupacion=0;
    var hrs=0;
    var mark=parseFloat(mark=$('#markporc'+ntablaT).val());
    var tipo=Ntabla;
    var err=0;
    var ofst1=3;
    var ofst2=2;
    var ofst3=2;
    var base=0;
    var regcero=0;
    
    if (Ntabla==1){
        ofst1=4;
        ofst2=3;
        ofst3=2;
    }
    for (var x=0;x<ids.length-1;x++){
        //$.get("../core_update.php", {op:50,idpuesto:listapuesto}, function(respuesta){
        //});
        $.get("../core_update.php", {op:50,iduser:ids[x],tablereg:"detalle_cotiza_etapas", campo:"id_cotiza_etapas", tipo:Ntabla}, function(respuesta){
            });
         sleep_ms(500);
        if(Ntabla==4){
            producto=0
            //monto=t.cell(0,x).data();
            monto=parseFloat($('#ind'+x).val());    
            ocupacion=0;
            hrs=0;
            base=0;
                         
            var sArray = ['""',
                      "'"+ids[x]+"'",
                      "'"+producto+"'",
                        "'"+base+"'",
                      "'"+monto+"'",
                      "'"+ocupacion+"'",
                      "'"+hrs+"'",
                      "'"+mark+"'",
                      "'"+tipo+"'"];
            $.get("../core_update.php", {op:6,tcliente:"detalle_cotiza_etapas", sArray:sArray}, function(respuesta){
                if(respuesta.trim()!="1"){
                    err=1;
            
                }
            }); 
              sleep_ms(500);

        }else{
        for (var i=0;i<filas;i++){
        producto=$('#c0'+ntablaT+i).val();
        //monto=t.cell(i,(x*ofst2)+ofst1).data();
        monto=parseFloat($('#c'+((x*ofst2)+ofst1)+ntablaT+i).val());    
        ocupacion=parseFloat($('#c'+((x*ofst2)+ofst3)+ntablaT+i).val());
            base=$('#c1'+ntablaT+i).val()
            if (Ntabla==1){
        //hrs=t.cell(i,(x*3)+3).data();
                hrs=parseFloat($('#c'+((x*3)+3)+ntablaT+i).val())
                //base=t.cell(i,1).data();
            }else{
                hrs=0;
                 //base=$('#c1'+Ntabla+i).val()
            }
        var sArray = ['""',
                      "'"+ids[x]+"'",
                      "'"+producto+"'",
                      "'"+base+"'",
                      "'"+monto+"'",
                      "'"+ocupacion+"'",
                      "'"+hrs+"'",
                      "'"+mark+"'",
                      "'"+tipo+"'"];

          if (monto>0 || ocupacion>0 || hrs> 0){
               //setTimeout(function(){
                               
            $.get("../core_update.php", {op:6,tcliente:"detalle_cotiza_etapas", sArray:sArray}, function(respuesta){
                if(respuesta.trim()!="1"){
                    err=1;
            
                }
            }); 
              sleep_ms(500);
             //                        }, 1000);
          }else{
            //  setTimeout(function(){
              $.get("../core_update.php", {op:6,tcliente:"detalle_cotiza_etapas", sArray:sArray}, function(respuesta){
                if(respuesta.trim()!="1"){
                    err=1;
                }
            });
              sleep_ms(500);
                //    }, 1000);
            //alert("Se Guardado un registro con valores en 0");
              regcero=regcero+1;
          }
        }
        }
    }
    if (err==0){
        alert("Guardado correctamente")
        if(Ntabla==1){
            calculaindcotiza()
        }
        if(regcero>0){
            alert("Se Guardado "+regcero +" registro(s) con valores en 0");
        }
    }else{
        alert("No se guardado correctamente, valide que todo este capturado correctamente");
    }
}
function calculaindcotiza(){
    var y= $('#tablacapturaI').find('tr')[1].cells.length;
	var filas = $("#tablacapturaC tbody tr").length;
    //var filas=$('#tablacaptura1').DataTable().rows().count();
    $.get("../core_update.php", {op:58,folio:1}, function(respuesta){
            //t4.cell(0,fila).data(parseFloat(respuesta*horsemp*duretapa)).draw();
        var indt=0;
        for (var x=0;x<y-1;x++){
            var horast=0;
            for (var z=0;z<filas;z++){
             horast=horast+parseFloat($('#c'+(3+(x*3))+'C'+z).val());
            }
            $('#ind'+x).val(Math.round10(parseFloat(respuesta*horast),-2));
            indt=indt+parseFloat(respuesta*horast);
            indt=Math.round10(indt,-2);
        }
            $('#ind'+x).val(indt);
            calculamarkupnom('I');
            $('#guardarI').click();
            });
    


}
function  pruebaborrar(){
        sleep_ms(5000);
    alert ("prueba");
}
function agregarproveedores(){
var rsocial = $('#rsocial').val();
var contacto = $('#contacto').val();
var correo = $('#correo').val();
var telefono = $('#telefono').val();
var lnegocio = $('#lnegocio').val();
var lnegocioo = $('#lnegocioo').val();
var rfcdato = $('#rfcdato').val();

var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();

var negocio="";
var vdelete = '<button class="btn btn-round btn-info" type="submit" id="button" onclick="refresh()">Borrar</button>';
    if(lnegocio=="otro"){
        negocio=lnegocioo;
        
    }else{
        negocio=lnegocio;

    }
var sArray = ['""',
 "'1'",
"'"+rfcdato+"'",
 "'"+rsocial+"'",
 "'"+contacto+"'",
 "'"+correo+"'",
 "'"+telefono+"'",
 "'"+negocio+"'",
  "'"+fechaactual2 + " " + horacompleta+"'"];

        if((rsocial !="") && (lnegocio !="")){
            $.get("../core_update.php", {op:6,tcliente:"proveedores", sArray:sArray}, function(respuesta){
                if(respuesta.trim()!="1"){
                   alert("Verifque el tipo de dato");
                }else{
                    var t = $('#example').DataTable();
                    t.row.add( [
                        rsocial,
                        rfcdato,
                        contacto,
                        correo,
                        telefono,
                        vdelete
                    ] ).draw( false );
                    $("#limpiar").click();
                }
            });
        }else{
            alert("Debe llenar los campos requeridos");
        }
    
}

function calcular(id, name){
var etapaff = $('#etapaff_'+id).val();
var etapafi = $('#etapafi_'+id).val();
var fecha1 = moment(etapafi);
var fecha2 = moment(etapaff);

var diasdif = fecha2.diff(fecha1, 'days');
var contadordia=0;

fecha1 = new Date(etapafi);
fechaactual = new Date(etapafi);
var fechasuma ="";
for(var x=0; x<=diasdif; x++){


fecha1.setDate(fecha1.getDate() + 1);
var mm = fecha1.getMonth()+1; //January is 0!
fechaactual = fecha1.getFullYear() + '-' + (mm<10 ? '0' : '') + mm + '-' + (fecha1.getDate()<10 ? '0' : '') + fecha1.getDate();
    fechasuma = new Date(fechaactual);
    if(fechasuma.getUTCDay() != 6 && fechasuma.getUTCDay()!=0){
        contadordia++;
        //alert(" núm día: "+fechasuma.getUTCDay());
    }




/*var yyyy = fecha1.getFullYear();
var fechaactual = mm+'/'+dd+'/'+yyyy;*/

//sArrayfechas[x]="'"+fechaactual+"'";
}

contadordia = contadordia/5;
$('#etapad_'+id).val(contadordia);
}

function agregarclientes(){
var rsocial = $('#rsocial').val();
var contacto = $('#contacto').val();
var correo = $('#correo').val();
var telefono = $('#telefono').val();
var lnegocio = $('#lnegocio').val();
var lnegocioo = $('#lnegocioo').val();
var rfcdato = $('#rfcdato').val();
var tcliente ="clientes";
var negocio="";
var vdelete = '<button class="btn btn-danger" type="submit" id="button" onclick="refresh()">Borrar</button>';
    if(lnegocio=="otro"){
        negocio=lnegocioo;
        
    }else{
        negocio=lnegocio;
    }

var sArray = ['""',
 "'1'",
"'"+rfcdato+"'",
 "'"+rsocial+"'",
 "'"+contacto+"'",
 "'"+correo+"'",
 "'"+telefono+"'",
 "'"+negocio+"'",
  "fecha"];

        if((rsocial !="") && (lnegocio !="")){
            $.get("../core_update.php", {op:6,tcliente:tcliente, sArray:sArray}, function(respuesta){
                if(respuesta.trim()!="1"){
                   alert("Verifque el tipo de dato");
                }else{
                    var t = $('#example').DataTable();
                    t.row.add( [
                        rsocial,
                        rfcdato,
                        contacto,
                        correo,
                        telefono,
                        vdelete
                    ] ).draw( false );
                    $("#limpiar").click();
                }
            });
        }else{
            alert("Debe llenar los campos requeridos");
        }
    
}

function eliminarregistro(iduser, tablereg){
var table = $('#example').DataTable();
var r = confirm("¿Seguro que desea eliminar el registro seleccionado?");
    if (r == true) {
        $.get("../core_update.php", {op:37,id:iduser, tabla:tablereg}, function(respuesta){
        if(respuesta=="true"){
            table.row('.selected').remove().draw( false );
            $.get("../core_update.php", {op:3,iduser:iduser, tablereg:tablereg}, function(respuesta){
                if(respuesta.trim()=="1"){
                    if(tablereg=="gastos"){
                        deletecelda3();
                        deletecelda2();
                        deletecelda();
                    }else{
                        deletecelda();
                        deletecelda2();
                        deletecelda3();
                    }
                }else{
                    alert("Verifique la selección ó contacte con el proveedor");
                }
            });
        }else{
            alert("El dato no puede ser eliminado, tiene registros relacionados");
        }
    });
    }
}

function validaelimina(id, tabla) {
    
    // body...
}


function eliminarregistropress(idtabla, iduser, tablereg, tipo){
var table = $('#'+tipo+'example'+idtabla).DataTable();
var r = confirm("¿Seguro que desea eliminar el registro seleccionado?");
    if (r == true) {
        table.row('.selected').remove().draw( false );
        $.get("../core_update.php", {op:3,iduser:iduser, tablereg:tablereg}, function(respuesta){
            if(respuesta.trim()=="1"){
                if(tablereg=="gastos"){
                    deletecelda3();
                    deletecelda2();
                    deletecelda();
                }else{
                    deletecelda();
                    deletecelda2();
                    deletecelda3();
                }
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
    }
}

function refresh(){
    location.reload(true);
}

function deletecelda(){
var table = $('#example').DataTable();
table.row('.selected').remove().draw( false );
}

function deletecelda2(){
var table = $('#example2').DataTable();
table.row('.selected').remove().draw( false );
}

function deletecelda3(){
var table = $('#example3').DataTable();
table.row('.selected').remove().draw( false );
}

function agregaregresos(){
var negreso =$('#negreso').val();
var tegreso =$('#tegreso').val();
var vdelete = '<button class="btn btn-danger" type="submit" id="button" onclick="refresh()">Borrar</button>';
  if( (negreso!="") && (tegreso!="")){
        $.get("../core_update.php", {op:4,negreso:negreso,tegreso:tegreso}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example').DataTable();
                    t.row.add( [
                        negreso,
                        tegreso,
                        vdelete
                    ] ).draw( false );
                    $("#limpiaregresos").click();
            }else{
                
                alert("Verifique la selección ó contacte con el proveedor");

            }
        });
  }else{
    alert("Debe asignar nombre y tipo de egreso");
  }

}

function agregargastos(){
var ndegasto =$('#ndegasto').val();
var tdegasto =$('#tdegasto').val();
var vdelete = '<button class="btn btn-danger" type="submit" id="button" onclick="refresh()">Borrar</button>';
  if( (ndegasto!="") && (tdegasto!="")){
         $.get("../core_update.php", {op:5,ndegasto:ndegasto,tdegasto:tdegasto}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example2').DataTable();
                    t.row.add( [
                        ndegasto,
                        tdegasto,
                        vdelete
                    ] ).draw( false );
                    $("#limpiargastos").click();
            }else{
                
                alert("Verifique la selección ó contacte con el proveedor");

            }
        });    
  }else{
    alert("Debe asignar nombre y tipo de gasto");
  }

}

function agregarlineadn(){
var nlineadn =$('#nlineadn').val();
var tegreso =$('#tegreso').val();
var vdelete = '<button class="btn btn-danger" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var sArray = ['""',
 "'"+nlineadn+"'",
"'"+fechaactual2+" : "+horacompleta+"'"];
  if(nlineadn!=""){
        $.get("../core_update.php", {op:6,tcliente:"datosmaestros",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example').DataTable();
                    t.row.add( [
                        nlineadn,
                        fechaactual2+" : "+horacompleta,
                        vdelete
                    ] ).draw( false );
                    $("#limpiaregresos").click();
            }else{
                
                alert("Verifique la selección ó contacte con el proveedor");

            }
        });
  }else{
    alert("Debe asignar nombre y tipo de egreso");
  }
}

function cambionegocio(){
var lnegocio = $('#lnegocio').val();
    if(lnegocio=="otro"){
        $("#lnegocioo").prop('disabled', false);
    }else{
        $("#lnegocioo").prop('disabled', true);
    }
}

function agregarcc(){
var nombrecc =$('#nombrecc').val();
var idcliente =$('#idcliente').val();
//var idclientetext =$('#idcliente').text();
var idlnegocio =$('#idlnegocio').val();
var tipologia =$('#tipologia').val();
//var idlnegociotext =$('#idlnegocio').text();

var idclientetext = $("#idcliente option:selected").text();
var idlnegociotext = $("#idlnegocio option:selected").text();
var tipologia_text = $("#tipologia option:selected").text();

var vdelete = '<button class="btn btn-danger" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var sArray = ['""',
 "'"+nombrecc+"'",
 "'"+idcliente+"'",
 "'"+idlnegocio+"'",
 "'"+tipologia+"'",
 "'"+fechaactual2+" : "+horacompleta+"'"];
  if(nombrecc!=""){
        $.get("../core_update.php", {op:6,tcliente:"cc",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example2').DataTable();
                    t.row.add( [
                        nombrecc,
                        idclientetext,
                        idlnegociotext,
                        tipologia_text,
                        fechaactual2+" : "+horacompleta,
                        vdelete
                    ] ).draw( false );
                    $("#limpiargastos").click();
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
  }else{
    alert("Debe asignar nombre del centro costos");
  }
}

function agregainfocc(){
var proyname =$('#proyname').val();
var tnomina =$('#tnomina').val();
var tespecialista =$('#tespecialista').val();
var totros =$('#totros').val();
var tindirectos =$('#tindirectos').val();
var ingresototal =$('#ingresototal').val();

var proynamename = $("#proyname option:selected").text();


var vdelete = '<button class="btn btn-danger" type="submit" id="button" onclick="refresh()">Borrar</button>';

var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();

var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();

var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var egresostotales = parseFloat(tnomina) + parseFloat(tespecialista) + parseFloat(totros) + parseFloat(tindirectos);
var sArray = ['""',
 "'"+proyname+"'",
 "'"+tnomina+"'",
 "'"+tespecialista+"'",
 "'"+totros+"'",
 "'"+tindirectos+"'",
 "'"+ingresototal+"'",
"'"+fechaactual2+" : "+horacompleta+"'"];
var saldoalcierre = parseFloat(ingresototal) - parseFloat(egresostotales);

ingresototal = parseFloat(ingresototal);
tnomina = number_format(tnomina, 2);
tespecialista = number_format(tespecialista, 2);
totros = number_format(totros, 2);
tindirectos = number_format(tindirectos, 2);
egresostotales = number_format(egresostotales, 2);
ingresototal = number_format(ingresototal, 2);
saldoalcierre = number_format(saldoalcierre, 2);

  if(proyname != ""){
        $.get("../core_update.php", {op:6,tcliente:"cc_info",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example').DataTable();
                    t.row.add( [
                        proynamename,
                        "$"+tnomina,
                        "$"+tespecialista,
                        "$"+totros,
                        "$"+tindirectos,
                        "$"+egresostotales,
                        "$"+ingresototal,
                        "$"+saldoalcierre,
                        fechaactual2+" : "+horacompleta,
                        vdelete
                    ] ).draw( false );
                    $("#limpiargastos").click();
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
  }else{
    alert("Debe llenar los campos");
  }
}

function agregarpress(){
var proyname =$('#proyname').val();
var tnomina =$('#tnomina').val();
var tespecialista =$('#tespecialista').val();
var totros =$('#totros').val();
var tindirectos =$('#tindirectos').val();
var markup =$('#markup').val();
var impuestos =$('#impuestos').val();
var ingresototal =$('#ingresototal').val();
var proynamename = $("#proyname option:selected").text();
var vdelete = '<button class="btn btn-danger" type="submit" id="button" onclick="refresh()">Borrar</button>';

var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();

var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();

var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var egresostotales = parseFloat(tnomina) + parseFloat(tespecialista) + parseFloat(totros) + parseFloat(tindirectos);

var sArray = ['""',
 "'"+proyname+"'",
 "'"+tnomina+"'",
 "'"+tespecialista+"'",
 "'"+totros+"'",
 "'"+tindirectos+"'",
 "'"+markup+"'",
 "'"+impuestos+"'",
 "'"+ingresototal+"'",
"'"+fechaactual2+" : "+horacompleta+"'"];
var saldoalcierre = parseFloat(ingresototal) - parseFloat(egresostotales);
ingresototal = parseFloat(ingresototal);
tnomina = number_format(tnomina, 2);
tespecialista = number_format(tespecialista, 2);
totros = number_format(totros, 2);
tindirectos = number_format(tindirectos, 2);
markup = number_format(markup, 2);
impuestos = number_format(impuestos, 2);
egresostotales = number_format(egresostotales, 2);
ingresototal = number_format(ingresototal, 2);
saldoalcierre = number_format(saldoalcierre, 2);

  if(proyname != ""){
        $.get("../core_update.php", {op:6,tcliente:"cc_pres",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                location.reload();
                /*var t = $('#example2').DataTable();
                    t.row.add( [
                        proynamename,
                        "$"+tnomina,
                        "$"+tespecialista,
                        "$"+totros,
                        "$"+tindirectos,
                        "$"+markup,
                        "$"+impuestos,
                        "$"+egresostotales,
                        "$"+ingresototal,
                        "$"+saldoalcierre,
                        fechaactual2+" : "+horacompleta,
                        vdelete
                    ] ).draw( false );*/
                    $("#limpiargastos").click();
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
  }else{
    alert("Debe llenar los campos");
  }
}

function agregarpressrep(cc,folio){
    
var proyname =cc;



var tmarkup=0;
var impuestos =0;
var ingresototal =0;    
    
     
    $.get("../core_update.php", {op:92,folio:folio}, function(respuesta){
        var option =  respuesta.split('/');
        var totales=[];
        var markup =0;
        if(option!=""){
            
            for (var i = 0; i<option.length; i++) {
            var valores =  option[i].split('*');
                
             if(valores!=""){
                 totales[i]=valores[0];
                 markup=markup+(totales[i]*valores[1]/100);
             }
            }
        }
        
        
        if(isNaN(parseFloat(totales[0]))){
            totales[0] = 0;
        }                                                                 
        
        if(isNaN(parseFloat(totales[1]))){
            totales[1] = 0;
        }
                                                                         
        if(isNaN(parseFloat(totales[2]))){
            totales[2] = 0;
        }
                                                                         
        if(isNaN(parseFloat(totales[3]))){
            totales[3] = 0;
        }
        
        
       if ($('#impuesto').val()==1){
           impuestos=(parseFloat(totales[0])+parseFloat(totales[1])+parseFloat(totales[2])+parseFloat(totales[3])+parseFloat(markup))*0.16;
       } 
        ingresototal=parseFloat(totales[0])+parseFloat(totales[1])+parseFloat(totales[2])+parseFloat(totales[3])+parseFloat(markup)+parseFloat(impuestos);
        
        
        var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();

var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();

var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();

var sArray = ['""',
 "'"+proyname+"'",
 "'"+parseFloat(totales[0])+"'",
 "'"+parseFloat(totales[1])+"'",
 "'"+parseFloat(totales[2])+"'",
 "'"+parseFloat(totales[3])+"'",
 "'"+markup+"'",
 "'"+impuestos+"'",
 "'"+ingresototal+"'",
"'"+fechaactual2+" : "+horacompleta+"'"];


  if(proyname != ""){
        $.get("../core_update.php", {op:6,tcliente:"cc_pres",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
  }else{
    alert("Debe llenar los campos");
  }

    });
 


}


function agregarcuentas(){
var nlineadn =$('#ncuenta').val();
var tegreso =$('#tegreso').val();
var vdelete = '<button class="btn btn-round btn-info" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var sArray = ['""',
 "'"+nlineadn+"'",
"'"+fechaactual2+" : "+horacompleta+"'"];
  if(nlineadn!=""){
        $.get("../core_update.php", {op:6,tcliente:"cuentas",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example').DataTable();
                    t.row.add( [
                        nlineadn,
                        fechaactual2+" : "+horacompleta,
                        vdelete
                    ] ).draw( false );
                    $("#limpiaregresos").click();
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
  }else{
    alert("Debe asignar nombre y tipo de egreso");
  }
}

function agregarmoving(){
var movingresos =$('#movingresos').val();
var vdelete = '<button class="btn btn-round btn-info" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var sArray = ['""',
 "'"+movingresos+"'",
"'"+fechaactual2+" : "+horacompleta+"'"];

  if(movingresos!=""){
        $.get("../core_update.php", {op:6,tcliente:"movingresos",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example3').DataTable();
                    t.row.add( [
                        movingresos,
                        fechaactual2+" : "+horacompleta,
                        vdelete
                    ] ).draw( false );
                    $("#limpirmovingresos").click();
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
  }else{
    alert("Debe llenar los campos");
  }  
}

function NumCheck(e, field) {
  key = e.keyCode ? e.keyCode : e.which
  // backspace
  if (key == 8) return true
  // 0-9
  if (key > 47 && key < 58) {
    if (field.value == "") return true
    regexp = /.[0-9]{9}$/
    return !(regexp.test(field.value))
  }
  // .
  if (key == 46) {
    if (field.value == "") return false
    regexp = /^[0-9]+$/
    return regexp.test(field.value)
  }
  // other key
  return false
 
}

function agregaringreso(){//cambiar
var fechahoy =$("#fechahoy").val();
var centrodecostos =$("#centrodecostos").val();
var formadeingreso =$("#formadeingreso").val();
var tipodemov =$("#tipodemov").val();
var comentariosing =$("#comentariosing").val();
var montoreal =$("#montoreal").val();
var montoproy =$("#montoproy").val();

var comprobable  = $("#comprobable").val();

var fechamontoreal =$("#fechamontoreal").val();
var fechamontoproy =$("#fechamontoproy").val();


//listo
var centrodecostos_text = $("#centrodecostos option:selected").text();
var formadeingreso_text = $("#formadeingreso option:selected").text();
var comprobable_text  = $("#comprobable option:selected").text()

//var tipodemov_text = $("#tipodemov option:selected").text();


//texto javascript

var vdelete = '<button class="btn btn-round btn-info" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var sArray = ['""',
 "'"+id_session+"'",
 "'"+fechahoy+" "+horacompleta+"'",
 "'"+centrodecostos+"'",
 "'"+formadeingreso+"'",
 "'"+comprobable+"'",
 "'"+comentariosing+"'",
 "'"+montoreal+"'",
 "'"+fechamontoreal+"'",
 "'"+montoproy+"'",
 "'"+fechamontoproy+"'"];

   if((fechahoy !="")&&(centrodecostos !="")&&(comprobable !="")&&(formadeingreso !="")&&(montoreal !="")){
        $.get("../core_update.php", {op:7,tcliente:"ingresos",sArray:sArray}, function(respuesta){
            if(respuesta.trim()!=""){
                var t = $('#example2').DataTable();
                var id_reg = respuesta;
                $.get("../core_update.php", {op:11,id:respuesta}, function(respuestajson){
                    var respuesta = JSON.parse(respuestajson);
                    var cliente = respuesta.nombrecliente;
                    var linedenegocio = respuesta.nombrelineanegocio;
                    if(linedenegocio==null){
                        linedenegocio ="";
                     }
                    var sArraydatos = ['""',
                                 "'"+id_reg+"'",
                                 "'"+id_session+"'",
                                 "'"+fechahoy+" "+horacompleta+"'",
                                 "'"+centrodecostos_text+"'",
                                 "'"+cliente+"'",
                                 "'"+formadeingreso_text+"'",
                                 "'"+comprobable_text+"'",
                                 "'"+comentariosing+"'",
                                 "'"+linedenegocio+"'",
                                 "'"+montoreal+"'",
                                 "'"+fechamontoreal+"'",
                                 "'"+montoproy+"'",
                                 "'"+fechamontoproy+"'"];
                                 $.get("../core_update.php", {op:7,tcliente:"ingresos_datos",sArray:sArraydatos}, function(respuesta){

                                 });

                     montoproy = number_format(montoproy, 2);
                     montoreal = number_format(montoreal, 2);
                     if(linedenegocio=="null"){
                        linedenegocio ="";
                     }
                    t.row.add( [
                        fechahoy+" "+horacompleta,
                        centrodecostos_text,
                        cliente,
                        formadeingreso_text,
                        comprobable_text,
                        comentariosing,
                        linedenegocio,
                        fechamontoproy,
                        "$ "+montoproy,
                        fechamontoreal,
                        "$ "+montoreal,
                        vdelete
                    ] ).draw( false );
                    $("#limpiargastos").click();
                    
                });
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
  }else{
    alert("Debe llenar los campos");
  }   
}

function agregartraspasos(){//cambiar
var fechamov =$("#fechamov").val();
var fechahoy =$("#fechahoy").val();
var cuentaegreso =$("#cuentaegreso").val();
var montotras =$("#montotras").val();
var moedatras =$("#moedatras").val();
var tipocuentatrasp =$("#tipocuentatrasp").val();
var cuentaingresatras =$("#cuentaingresatras").val();
//listo
var cuentaegreso_text = $("#cuentaegreso option:selected").text();
var cuentaingresatras_text = $("#cuentaingresatras option:selected").text();
//texto javascript
var vdelete = '<button class="btn btn-round btn-info" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var sArray = ['""',
 "'"+id_session+"'",
 "'"+cuentaegreso+"'",
 "'"+montotras+"'",
 "'"+moedatras+"'",
 "'"+tipocuentatrasp+"'",
 "'"+cuentaingresatras+"'",
 "'"+fechahoy+" "+horacompleta+"'",
 "'"+fechamov+"'"];

  if((cuentaegreso !="")&&(montotras !="")&&(moedatras !="")&&(tipocuentatrasp !="")&&(cuentaingresatras !="")){
        $.get("../core_update.php", {op:7,tcliente:"traspasos",sArray:sArray}, function(respuesta){
            if(respuesta.trim()!=""){
                var t = $('#example2').DataTable();
                var id_reg = respuesta;
                var sArraydatos = ['""',
                         "'"+id_reg+"'",
                         "'"+cuentaegreso_text+"'",
                         "'"+montotras+"'",
                         "'"+moedatras+"'",
                         "'"+tipocuentatrasp+"'",
                         "'"+cuentaingresatras_text+"'",
                         "'"+fechahoy+" "+horacompleta+"'",
                         "'"+fechamov+"'"];
                         $.get("../core_update.php", {op:7,tcliente:"traspasos_datos",sArray:sArraydatos}, function(respuesta){
                            if(respuesta){
                                location.reload();
                            }
                         });
                     /*var totaltras = parseFloat(tipocuentatrasp)* parseFloat(montotras);

                     montotras = number_format(montotras, 2);
                     totaltras = number_format(totaltras, 2);
                     
                    t.row.add( [
                        fechahoy + " " + horacompleta,
                        cuentaegreso_text,
                        "$ " + montotras,
                        tipocuentatrasp,
                        "$" + totaltras,
                        cuentaingresatras_text,
                        vdelete
                    ] ).draw( false );
                    $("#limpiargastos").click();*/
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
  }else{
    alert("Debe llenar los campos");
  }   
}

function asignartipoproveedor(){
var idproveedor =$('#idproveedor').val();
var tipoprovee =$('#tipoprovee').val();
var especialista =$('#especialista').val();


var idproveedor_text = $("#idproveedor option:selected").text();
var tipoprovee_text = $("#tipoprovee option:selected").text();
var especialista_text = $("#especialista option:selected").text();

var vdelete = '<button class="btn btn-round btn-info" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var sArray = ['""',
 "'"+idproveedor+"'",
 "'"+tipoprovee+"'",
 "'"+especialista+"'",
 "'"+fechaactual2+" : "+horacompleta+"'"];
  if(idproveedor!="" && tipoprovee!=""){
        $.get("../core_update.php", {op:6,tcliente:"tipo_proveedorrelacion",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example2').DataTable();
                    t.row.add( [
                        idproveedor_text,
                        tipoprovee_text,
                        especialista_text,
                        vdelete
                    ] ).draw( false );
                    $("#limpiatipoprovv").click();
                alert("Asignado correctamente");
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
  }else{
    alert("Debe asignar nombre y tipo de egreso");
  }
}

function agregartipolog(){
var idproveedor =$('#nombretipologia').val();
var tipoprovee =$('#lineadenegocio').val();


//var nombretipologia_text = $("#nombretipologia option:selected").text();
var lineadenegocio_text = $("#lineadenegocio option:selected").text();

var vdelete = '<button class="btn btn-round btn-info" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var sArray = ['""',
 "'"+tipoprovee+"'",
 "'"+idproveedor+"'",
"'"+fechaactual2+" : "+horacompleta+"'"];
  if(idproveedor!="" && tipoprovee!=""){
        $.get("../core_update.php", {op:6,tcliente:"tipologias",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example2').DataTable();
                    t.row.add( [
                        lineadenegocio_text,
                        idproveedor,
                        vdelete
                    ] ).draw( false );
                    $("#limpiargastos").click();
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
  }else{
    alert("Debe asignar Tipología y linea de negocio");
  }
}

function calculacostoxhora(){
var fsemxmes =$('#semxmes').val();
var fdiaslabxsem =$('#diaslabxsem').val();
var fhrsxsem =$('#hrsxsem').val();
var fmaxnomsem =$('#maxnomsem').val();
    if (fsemxmes!="" && fdiaslabxsem!="" && fhrsxsem!="" && fmaxnomsem!=""){
        $('#maxxhr').val(Math.round((fmaxnomsem/(fhrsxsem*fsemxmes))*100)/100);
    }
}


 function calculaHorasXSemana(){
        $('#hrsxsem').val($('#diaslabxsem').val()*8);
     calculacostoxhora();
    }
function agregarpuesto(){
var fnombrepuesto =$('#nombrepuesto').val();
var fArea =$('#Area').val();
var fsemxmes =$('#semxmes').val();
var fdiaslabxsem =$('#diaslabxsem').val();
var fhrsxsem =$('#hrsxsem').val();
var fmaxnomsem =$('#maxnomsem').val();
var fmaxxhr =$('#maxxhr').val();
var fcostxhrpres =$('#costxhrpres').val();


//var nombretipologia_text = $("#nombretipologia option:selected").text();
//var fArea_text = $("#Area option:selected").text();

var vdelete = '<button class="btn btn-round btn-info" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var sArray = ['""',
 "'"+fnombrepuesto+"'",
 "'"+fArea+"'",
 "'"+fsemxmes+"'",
 "'"+fdiaslabxsem+"'",
 "'"+fhrsxsem+"'",
 "'"+fmaxnomsem+"'",
 "'"+fmaxxhr+"'",
 "'"+fcostxhrpres+"'"];
  if(fnombrepuesto!="" && fhrsxsem!="" && fcostxhrpres!="" && fArea!="" && fmaxnomsem!="" && fmaxxhr!="" && fsemxmes!=""){
        $.get("../core_update.php", {op:6,tcliente:"puestos",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example2').DataTable();
                    t.row.add( [
                        fnombrepuesto,
                        fArea,
                        fsemxmes,
                        fdiaslabxsem,
                        fhrsxsem,
						fmaxnomsem,
                        fmaxxhr,
                        fcostxhrpres,
                        vdelete
                    ] ).draw( false );
                    $("#limpiargastos").click();
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
  }else{
    alert("Debe capturar todos los campos");
  }
}
function actualizaconcepto(){
    
var tdegasto =$('#tdegasto').val();
var tdegasto_text = $("#tdegasto option:selected").text();


     $.get("../core_update.php", {op:12,gasto:tdegasto}, function(respuesta){
        $('#conceptogasto option').remove();
        $('#conceptogasto')
                    .append($("<option></option>")
                               .attr("value","")
                               .text("Seleccione concepto")); 
        $('#conceptogasto')
                    .append($("<option></option>")
                               .attr("value","Impuestos")
                               .text("Impuestos")); 
        $('#conceptogasto')
                    .append($("<option></option>")
                               .attr("value","Nómina")
                               .text("Nómina"));

        var option =  respuesta.split('~');
        if(option!=""){
            for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
             if(valores!=""){
                $('#conceptogasto')
                     .append($("<option></option>")
                                .attr("value",valores[0])
                                .text(valores[1]));
              
            }
            }
                 
        }
        });
}

function muestramonto(id){
var idespecialista =  $("#EspecialistaRecurso"+id).val();
$.get("../core_update.php", {op:35,idespecialista:idespecialista}, function(respuesta){
$("#nuestramonto"+id).html(respuesta);
});

}

function muestramontootrosdirect(id){
var OtrosDirectosRecurso347 =  $("#OtrosDirectosRecurso"+id).val();
$.get("../core_update.php", {op:36,idespecialista:OtrosDirectosRecurso347}, function(respuesta){
$("#nuestramontootrosdirect"+id).html(respuesta);
});

}

function actualizasubconcepto(){
var conceptogasto =$('#conceptogasto').val();
var conceptogasto_text = $("#conceptogasto option:selected").text();

    if((conceptogasto_text.indexOf('NOMINA') != -1) || (conceptogasto_text.indexOf('NÓMINA') != -1) || (conceptogasto_text.indexOf('Nómina') != -1) || (conceptogasto_text.indexOf('Nomina') != -1)){
        $.get("../core_update.php", {op:13}, function(respuesta){
        $('#subconceptonom option').remove();
        $('#subconceptonom')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("Seleccione Empleado")); 
        $('#subconceptonom')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("Nómina Externa"));
        var option =  respuesta.split('-');
        if(option!=""){
            for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
             if(valores!=""){
                $('#subconceptonom')
                     .append($("<option></option>")
                                .attr("value",valores[0])
                                .text(valores[1])); 
            }
            }
                 
        }
        });
        $("#subconceptonom").prop('disabled', false);
    }else{
        $("#subconceptonom").prop('disabled', true);
        $('#subconceptonom option').remove();


    }
}
function actualizatipologia(){
var idlnegocio =$('#idlnegocio').val();
var idlnegocio_text = $("#idlnegocio option:selected").text();
    if(idlnegocio != ""){
        $.get("../core_update.php", {op:16,lineg:idlnegocio}, function(respuesta){
        $('#idtipologia option').remove();
        $('#idtipologia')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("Seleccione tipología")); 
        var option =  respuesta.split('-');
        if(option!=""){
            for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
             if(valores!=""){
                $('#idtipologia')
                     .append($("<option></option>")
                                .attr("value",valores[0])
                                .text(valores[1])); 
            }
            }
                 
        }
        });
        $("#tipologia").prop('disabled', false);
    }else{
        $("#tipologia").prop('disabled', true);
        $('#tipologia option').remove();
        $('#tipologia')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("Agregue tipologías en datos maestros")); 
        
    }
}

function actualizacotizacion(){
    var idproyecto=$('#nombredeproyectos2').val();
    
    if(idproyecto != ""){
        $.get("../core_update.php", {op:51,proy:idproyecto}, function(respuesta){
        $('#folio option').remove();
        $('#folio')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("Seleccione proyecto")); 
        var option =  respuesta.split('-');
        if(option!=""){
            for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
             if(valores!=""){
                $('#folio')
                     .append($("<option></option>")
                                .attr("value",valores[0])
                                .text(valores[1])); 
            }
            }
                 
        }
        });
        $("#folio").prop('disabled', false);
    }else{
        $("#folio").prop('disabled', true);
        $('#folio option').remove();
        $('#folio')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("No existen cotizaciones")); 
    }
}


function actualizaproyecto(){
var idcliente =$('#idcliente').val();
var idcliente_text = $("#idcliente option:selected").text();
    if(idcliente != ""){
        $.get("../core_update.php", {op:44,cliente:idcliente}, function(respuesta){
        $('#nombredeproyectos option').remove();
        $('#nombredeproyectos')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("Seleccione proyecto")); 
        var option =  respuesta.split('-');
        if(option!=""){
            for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
             if(valores!=""){
                $('#nombredeproyectos')
                     .append($("<option></option>")
                                .attr("value",valores[0])
                                .text(valores[1])); 
            }
            }
                 
        }
        });
        $("#nombredeproyectos").prop('disabled', false);
    }else{
        $("#nombredeproyectos").prop('disabled', true);
        $('#nombredeproyectos option').remove();
        $('#nombredeproyectos')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("No existen proyectos")); 
    }
}
function actualizaproyecto2(){
var idcliente =$('#idclienteed').val();
var idcliente_text = $("#idclienteed option:selected").text();
    if(idcliente != ""){
        $.get("../core_update.php", {op:44,cliente:idcliente}, function(respuesta){
        $('#nombredeproyectos2 option').remove();
        $('#nombredeproyectos2')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("Seleccione proyecto")); 
        var option =  respuesta.split('-');
        if(option!=""){
            for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
             if(valores!=""){
                $('#nombredeproyectos2')
                     .append($("<option></option>")
                                .attr("value",valores[0])
                                .text(valores[1])); 
                 $("#folio").prop('disabled', true);
        $('#folio option').remove();
        $('#folio')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("No existen cotizaciones")); 
            }
            }
                 
        }
        });
        $("#nombredeproyectos2").prop('disabled', false);
    }else{
        $("#nombredeproyectos2").prop('disabled', true);
        $('#nombredeproyectos2 option').remove();
        $('#nombredeproyectos2')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("No existen proyectos")); 
        $("#folio").prop('disabled', true);
        $('#folio option').remove();
        $('#folio')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("No existen cotizaciones")); 
    }
}

function gettipoproveedor(){
var conceptogasto =$('#proveedor').val();
var conceptogasto_text = $("#proveedor option:selected").text();
    if(conceptogasto != ""){
        $.get("../core_update.php", {op:14,provee:conceptogasto}, function(respuesta){
        $('#tipoproveedor option').remove();
        $('#tipoproveedor')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("Seleccione tipo de proveedor")); 
        var option =  respuesta.split('-');
        if(option!=""){
            for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
             if(valores!=""){
                $('#tipoproveedor')
                     .append($("<option></option>")
                                .attr("value",valores[0])
                                .text(valores[1])); 
            }
            }
                 
        }
        });
        $("#tipoproveedor").prop('disabled', false);
    }else{
        $("#tipoproveedor").prop('disabled', true);
        $('#tipoproveedor option').remove();
        $('#tipoproveedor')
                     .append($("<option></option>")
                                .attr("value","")
                                .text("Agregue tipo de proveedor en proveedores")); 
    }
}

function agregartipoproveedor(){
var tipoprovv =$('#tipoprovv').val();
var descripciontp =$('#descripciontp').val();
var vdelete = '<button class="btn btn-round btn-info" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var sArray = ['""',
 "'"+tipoprovv+"'",
 "'"+descripciontp+"'",
"'"+fechaactual2+" : "+horacompleta+"'"];
  if(tipoprovv!=""){
        $.get("../core_update.php", {op:6,tcliente:"tipo_proveedor",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example').DataTable();
                    t.row.add( [
                        tipoprovv ,
                        descripciontp ,
                        fechaactual2+" : "+horacompleta,
                        vdelete
                    ] ).draw( false );
                    $("#limpiaregresos").click();
            }else{
                
                alert("Verifique la selección ó contacte con el proveedor");

            }
        });
  }else{
    alert("Debe asignar nombre y tipo de egreso");
  }
}


function number_format(amount, decimals) {

    amount += ''; // por si pasan un numero en vez de un string
    amount = parseFloat(amount.replace(/[^0-9\.]/g, '')); // elimino cualquier cosa que no sea numero o punto

    decimals = decimals || 0; // por si la variable no fue fue pasada

    // si no es un numero o es igual a cero retorno el mismo cero
    if (isNaN(amount) || amount === 0) 
        return parseFloat(0).toFixed(decimals);

    // si es mayor o menor que cero retorno el valor formateado como numero
    amount = '' + amount.toFixed(decimals);

    var amount_parts = amount.split('.'),
        regexp = /(\d+)(\d{3})/;

    while (regexp.test(amount_parts[0]))
        amount_parts[0] = amount_parts[0].replace(regexp, '$1' + ',' + '$2');

    return amount_parts.join('.');
}

function buscarreporte(){
var tiporeporte = $('#tiporeporte').val();
var centrodecostos = $('#centrodecostos').val();
var cliente = $('#cliente').val();
var proveedores = $('#proveedores').val();
var lineaneg = $('#lineaneg').val();
var tipologia = $('#tipologia').val();

var fechainicio = $('#fechainicio').val();
var fechafin = $('#fechafin').val();
var seleccion="";
if(tiporeporte==""){
    alert("DEBE SELECCIONAR UN TIPO DE REPORTE");
    location.href ="#tiporeporte";
}else{
    if((tiporeporte!="")||(centrodecostos!="")||(cliente!="")||(proveedores!="")||(lineaneg!="")||(tipologia!="")){
        $("input[name=4]").each(function (index) {  
           if($(this).is(':checked')){
              //alert($(this).id());
              
              seleccion = $(this).val();
           }
        });
            if(seleccion!=""){
                $.get("../core_update.php", {op:17, fechainicio:fechainicio,fechafin:fechafin,seleccion:seleccion,tiporeporte:tiporeporte,centrodecostos:centrodecostos,cliente:cliente,proveedores:proveedores,lineaneg:lineaneg,tipologia:tipologia}, function(respuesthtml){
                    $('#resultado').html(respuesthtml);
                });
            }
    }else{
        alert("Debe seleccionar un valor");
    }
}

}

function agregaregreso(){
var fechahoy = $('#fechahoy').val();
var centrodecostos = $('#centrodecostos').val();
var clasificacionegreso = $('#clasificacionegreso').val();
var tdegasto = $('#tdegasto').val();
var conceptogasto = $('#conceptogasto').val();
var subconceptonom = $('#subconceptonom').val();
var getcuenta = $('#getcuenta').val();
var comprobable = $('#comprobable').val();
var provssesp = $('#provssesp').val();
var proveedor = $('#proveedor').val();
var tipoproveedor = $('#tipoproveedor').val();
var numFac = $('#numFac').val();
var comentariosegre = $('#comentariosegre').val();
var comentariosegre2 = $('#comentariosegre2').val();
var fechamontoproy = $('#fechamontoproy').val();
var subproy = $('#subproy').val();
var impproy = $('#impproy').val();
var fechamontoreal = $('#fechamontoreal').val();
var subreal = $('#subreal').val();
var impreal = $('#impreal').val();
if(subconceptonom == null){
    subconceptonom="";
}
//listo
var centrodecostos_text = $("#centrodecostos option:selected").text();
var conceptogasto_text = $("#conceptogasto option:selected").text();
var subconceptonom_text = $("#subconceptonom option:selected").text();
var getcuenta_text = $("#getcuenta option:selected").text();
var proveedor_text = $("#proveedor option:selected").text();
var tipoproveedor_text = $("#tipoproveedor option:selected").text();
//var tipodemov_text = $("#tipodemov option:selected").text();
//texto javascript
var vdelete = '<button class="btn btn-round btn-info" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var sArray = ['""',
 "'"+fechahoy+" "+horacompleta+"'",
 "'"+centrodecostos+"'",
 "'"+clasificacionegreso+"'",
 "'"+tdegasto+"'",
 "'"+conceptogasto+"'",
 "'"+subconceptonom+"'",
 "'"+getcuenta+"'",
 "'"+comprobable+"'",
 "'"+provssesp+"'",
 "'"+proveedor+"'",
 "'"+tipoproveedor+"'",
 "'"+numFac+"'",
 "'"+comentariosegre+"'",
 "'"+comentariosegre2+"'",
 "'"+fechamontoproy+"'",
 "'"+subproy+"'",
 "'"+impproy+"'",
 "'"+fechamontoreal+"'",
 "'"+subreal+"'",
 "'"+impreal+"'"];

 //montoproy = number_format(montoproy, 2);
 //montoreal = number_format(montoreal, 2);

  if((clasificacionegreso !="")&&(centrodecostos !="")&&(tdegasto !="")&&(conceptogasto !="")&&(getcuenta !="") && (comprobable!="") && (proveedor!="") && (comentariosegre!="") && (fechamontoreal!="") && (subreal!="") && (impreal!="")){
        $.get("../core_update.php", {op:7,tcliente:"egreso",sArray:sArray}, function(respuesta){
            if(respuesta.trim()!=""){
                var t = $('#example2').DataTable();
                var id_reg = respuesta;
                $.get("../core_update.php", {op:15,id:respuesta}, function(respuestajson){
                    var respuesta = JSON.parse(respuestajson);
                    var clienterfc = respuesta.clienterfc;
                    var clienterazonsocial = respuesta.clienterazonsocial;
                    var nombrelineanegocio = respuesta.nombrelineanegocio;
                    var nombretipologia = respuesta.nombretipologia;

                    var nombrecuenta = respuesta.nombrecuenta;

                    var proveedorrazonsocial = respuesta.proveedorrazonsocial;
                    var proveedorrfc = respuesta.proveedorrfc;
                    
                    if(nombrelineanegocio==null){
                        nombrelineanegocio ="";
                     }
                    var sArraydatos = ['""',
                                 "'"+id_reg+"'",
                                 "'"+fechahoy+" "+horacompleta+"'",
                                 "'"+centrodecostos_text+"'",
                                 "'"+nombrelineanegocio+"'",
                                 "'"+nombretipologia+"'",
                                 "'"+clienterazonsocial+"'",
                                 "'"+clienterfc+"'",
                                 "'"+clasificacionegreso+"'",
                                 "'"+tdegasto+"'",
                                 "'"+conceptogasto_text+"'",
                                 "'"+subconceptonom_text+"'",
                                 "'"+getcuenta_text+"'",
                                 "'"+comprobable+"'",
                                 "'"+comentariosegre+"'",
                                 "'"+comentariosegre2+"'",
                                 "'"+provssesp+"'",
                                 "'"+proveedorrfc+"'",
                                 "'"+proveedorrazonsocial+"'",
                                 "'"+tipoproveedor_text+"'",
                                 "'"+numFac+"'",
                                 "'"+fechamontoproy+"'",
                                 "'"+subproy+"'",
                                 "'"+impproy+"'",
                                 "'"+fechamontoreal+"'",
                                 "'"+subreal+"'",
                                 "'"+impreal+"'"];
                                 $.get("../core_update.php", {op:7,tcliente:"egreso_datos",sArray:sArraydatos}, function(respuesta){

                                 });
                    var totalproy = parseFloat(subproy) + parseFloat(impproy);
                    var totalreal = parseFloat(subreal) + parseFloat(impreal);
                    subproy = number_format(subproy, 2);
                    impproy = number_format(impproy, 2);
                    subreal = number_format(subreal, 2);
                    impreal = number_format(impreal, 2);
                    totalproy = number_format(totalproy, 2);
                    totalreal = number_format(totalreal, 2);


                     //montoproy = number_format(montoproy, 2);
                     //montoreal = number_format(montoreal, 2);
                     if(nombrelineanegocio=="null"){
                        nombrelineanegocio ="";
                     }
                    t.row.add( [
                         fechahoy+" "+horacompleta,
                         centrodecostos_text,
                         nombrelineanegocio,
                         nombretipologia,
                         clienterazonsocial,
                         clienterfc,
                         clasificacionegreso,
                         tdegasto,
                         conceptogasto_text,
                         subconceptonom_text,
                         getcuenta_text,
                         comprobable,
                         comentariosegre,
                         comentariosegre2,
                         provssesp,
                         proveedorrfc,
                         proveedorrazonsocial,
                         tipoproveedor_text,
                         numFac,
                         fechamontoproy,
                         "$ " + subproy,
                         "$ " + impproy,
                         "$ " + totalproy,
                         fechamontoreal,
                         "$ " + subreal,
                         "$ " + impreal,
                         "$ " + totalreal,
                         vdelete
                    ] ).draw( false );
                    $("#limpiargastos").click();
                    
                });
            }else{
                alert("Verifique la selección ó contacte con el proveedor");
            }
        });
  }else{
    alert("Debe llenar los campos");
  }   
}

function agregarhoras(){
var idnumerohoras =$('#idnumerohoras').val();
var idusuario =$('#idusuario').val();
var idproyecto =$('#idproyecto').val();
var idetapa =$('#idetapa').val();
var idusuarionombre =$('#idusuarionombre').val();
var fechahoras =$('#fechahoras').val();

var idproyectotext =$('#idproyecto option:selected').text();
var idetapatext =$('#idetapa option:selected').text();
//idusuarionombre

var vdelete = '<button class="btn btn-round btn-info" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();

var sArray = ['""',
 "'"+idusuario+"'",
 "'"+idproyecto+"'",
 "'"+idetapa+"'",
 "'"+idnumerohoras+"'",
"'"+fechahoras+"'"];
  if(idnumerohoras!="" &&  idproyecto!="" &&  idetapa!="" &&  fechahoras!=""){
        $.get("../core_update.php", {op:6,tcliente:"horas",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example3').DataTable();
                    t.row.add( [
                        idusuarionombre,
                        idproyectotext,
                        idetapatext,
                        idnumerohoras,
                        fechahoras,
                        vdelete
                    ] ).draw( false );
                    $("#limpiahoras").click();
            }else{
                
                alert("Verifique la selección ó contacte con el proveedor");

            }
        });
  }else{
    alert("Debe llenar todos los campos");
  }
}


function agregraretapa(){
var nlineadn =$('#etapaid').val();
var tegreso =$('#tegreso').val();
var vdelete = '<button class="btn btn-danger" type="submit" id="button" onclick="refresh()">Borrar</button>';
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var hora = actual.getHours();
var minutos = actual.getMinutes();
var segundos = actual.getSeconds();
var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
var sArray = ['""',
 "'"+nlineadn+"'",
"'"+fechaactual2+" : "+horacompleta+"'"];
  if(nlineadn!=""){
        $.get("../core_update.php", {op:6,tcliente:"etapas",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                var t = $('#example3').DataTable();
                    t.row.add( [
                        nlineadn,
                        fechaactual2+" : "+horacompleta,
                        vdelete
                    ] ).draw( false );
                    $("#limpiaetapas").click();
            }else{
                
                alert("Verifique la selección ó contacte con el proveedor");

            }
        });
  }else{
    alert("Debe asignar nombre y tipo de egreso");
  }
}

function generafechacalc(){
var fechainicio = $('#fechainicio').val();
var fechafin = $('#fechafin').val();
 $.get("../core_update.php", {op:20,fechainicio:fechainicio,fechafin:fechafin}, function(respuestajson){
    alert(respuestajson);
 });
}
function generagrafica(){
var hfv =6584;
var fechainicio = $('#fechainicio').val();
var fechafin = $('#fechafin').val();
var centrodecostosid = $('#centrodecostos').val();
var centrodecostos_text = $("#centrodecostos option:selected").text();

$("#respuestatable").html('<div id="resizable" style="height: 370px;border:1px solid gray;"><div id="chartContainer1" style="height: 100%; width: 100%;"></div></div>');

 $.get("../core_update.php", {op:22,centrodecostos:centrodecostos_text, centrodecostosid:centrodecostosid,fechainicio:fechainicio,fechafin:fechafin}, function(respuestajson){
    //alert(respuestajson);
    var respuestajsons = respuestajson.split('~');
    //number_format
    //parseFloat(Math.round(num3 * 100) / 100).toFixed(2);

    respuestajsons[0] = parseFloat(respuestajsons[0]);
    respuestajsons[1] = parseFloat(respuestajsons[1]);
    respuestajsons[2] = parseFloat(respuestajsons[2]);
    respuestajsons[3] = parseFloat(respuestajsons[3]);
    respuestajsons[4] = parseFloat(respuestajsons[4]);
    respuestajsons[5] = parseFloat(respuestajsons[5]);
    respuestajsons[6] = parseFloat(respuestajsons[6]);
    respuestajsons[7] = parseFloat(respuestajsons[7]);
    respuestajsons[8] = parseFloat(respuestajsons[8]);
    respuestajsons[9] = parseFloat(respuestajsons[9]);
    respuestajsons[10] = parseFloat(respuestajsons[10]);
    respuestajsons[11] = parseFloat(respuestajsons[11]);
    respuestajsons[12] = parseFloat(respuestajsons[12]);
    respuestajsons[13] = parseFloat(respuestajsons[13]);
    respuestajsons[14] = parseFloat(respuestajsons[14]);
    respuestajsons[15] = parseFloat(respuestajsons[15]);
    respuestajsons[16] = parseFloat(respuestajsons[16]);
      respuestajsons[17] = parseFloat(respuestajsons[17]);

    var grafmanobr = respuestajsons[0];
    var grafprovv = respuestajsons[1];
    var grafdire = respuestajsons[2];
    var grafindirec = respuestajsons[3];
    var grafmark = respuestajsons[4];
    var grafimpst = respuestajsons[5];


    /*var totmanodeobra = respuestajsons[11] + respuestajsons[7];
    var totprovee = respuestajsons[12] + respuestajsons[8];
    var tototrosdirec = respuestajsons[13] + respuestajsons[9];
    var totindirect = respuestajsons[14] + respuestajsons[10];*/
    
    var totmanodeobra = respuestajsons[11] ;
    var totprovee = respuestajsons[12] ;
    var tototrosdirec = respuestajsons[13] ;
    var totindirect = respuestajsons[14];
    
    var sumpass = respuestajsons[7] + respuestajsons[8] + respuestajsons[9] +respuestajsons[10];
   // var totcot = respuestajsons[15] + sumpass;
     
    var totcot = respuestajsons[15]; 
    var markuptot = respuestajsons[16] - totcot - respuestajsons[17];
    

    var costototal = respuestajsons[0] + respuestajsons[1] + respuestajsons[2] + respuestajsons[3];

    var totalproyect = costototal +respuestajsons[4] + respuestajsons[5];

    var tottot = respuestajsons[17] + totcot + markuptot;

    var diffmano = respuestajsons[0] - totmanodeobra;
    var diffprov = respuestajsons[1] - totprovee;
    var diffotrodir = respuestajsons[2] - tototrosdirec;
    var diffindirec = respuestajsons[3] - totindirect;
    var diffcosto =costototal - totcot;

    var diffmarkup = markuptot - respuestajsons[4];
    var diffimpst = respuestajsons[5] - respuestajsons[17];
    var difftot  = totalproyect - tottot;
    
    var grafsecondmanobr = totmanodeobra;
    var grafsecondprovv = totprovee;
    var grafseconddire = tototrosdirec;
    var grafsecondindirec = totindirect;
    var grafsecondmark = markuptot;
    var grafsecondimpst = respuestajsons[17];
    

    respuestajsons[0] = Math.round10(respuestajsons[0], -2);
    respuestajsons[1] = Math.round10(respuestajsons[1],-2);
    respuestajsons[2] = Math.round10(respuestajsons[2], -2);
    respuestajsons[3] = Math.round10(respuestajsons[3], -2);
    respuestajsons[4] = Math.round10(respuestajsons[4], -2);
    respuestajsons[5] = Math.round10(respuestajsons[5], -2);
    respuestajsons[6] = Math.round10(respuestajsons[6],-2);
    respuestajsons[7] =  Math.round10(respuestajsons[7],-2);
    respuestajsons[8] =  Math.round10(respuestajsons[8],-2);
    respuestajsons[9] =  Math.round10(respuestajsons[9], -2);
    respuestajsons[10] =  Math.round10(respuestajsons[10],-2);
    respuestajsons[11] =  Math.round10(respuestajsons[11],-2);
    respuestajsons[12] =  Math.round10(respuestajsons[12], -2);
    respuestajsons[13] =  Math.round10(respuestajsons[13],-2);
    respuestajsons[14] =  Math.round10(respuestajsons[14],-2);
    respuestajsons[15] =  Math.round10(respuestajsons[15], -2);
    respuestajsons[16] =  Math.round10(respuestajsons[16],-2);
    respuestajsons[17] =  Math.round10(respuestajsons[17],-2);

    /*totmanodeobra = number_format(totmanodeobra, 2);
    totprovee = number_format(totprovee, 2);
    tototrosdirec = number_format(tototrosdirec, 2);
    totindirect = number_format(totindirect, 2);
    totcot = number_format(totcot, 2);
    sumpass = number_format(sumpass, 2);
    costototal = number_format(costototal, 2);
    //respuestajsons[11] = number_format(respuestajsons[11]);
    totalproyect = number_format(totalproyect, 2);
    markuptot = number_format(markuptot, 2);
    
    tottot = number_format(tottot, 2);*/
     
     totmanodeobra = Math.round10(totmanodeobra, -2);
    totprovee = Math.round10(totprovee, -2);
    tototrosdirec = Math.round10(tototrosdirec, -2);
    totindirect = Math.round10(totindirect, -2);
    totcot = Math.round10(totcot, -2);
    sumpass = Math.round10(sumpass, -2);
    costototal = Math.round10(costototal, -2);
    totalproyect = Math.round10(totalproyect, -2);

    markuptot = Math.round10(markuptot, -2);
    tottot = Math.round10(tottot, -2);

    /*diffmano = number_format(diffmano, 2);
    diffprov = number_format(diffprov, 2);
    diffotrodir = number_format(diffotrodir, 2);
    diffindirec = number_format(diffindirec, 2);
    diffcosto = number_format(diffcosto, 2);

    diffmarkup = number_format(diffmarkup, 2);
    diffimpst = number_format(diffimpst, 2);
    difftot = number_format(difftot, 2);*/
    /*var diffmano  = Math.round(diffmano * 100) / 100;
    var diffprov  = Math.round(diffprov * 100) / 100;
    var diffotrodir  = Math.round(diffotrodir * 100) / 100;
    var diffindirec  = Math.round(diffindirec * 100) / 100;
    var diffcosto  = Math.round(diffcosto * 100) / 100;

    var diffmarkup  = Math.round(diffmarkup * 100) / 100;
    var diffimpst  = Math.round(diffimpst * 100) / 100;
    var difftot  = Math.round(difftot * 100) / 100;*/
     
    var diffmano  = Math.round10(diffmano ,-2);
    var diffprov  = Math.round10(diffprov,-2);
    var diffotrodir  = Math.round10(diffotrodir,-2);
    var diffindirec  = Math.round10(diffindirec,-2);
    var diffcosto  = Math.round10(diffcosto ,-2);

    var diffmarkup  = Math.round10(diffmarkup,-2);
    var diffimpst  = Math.round10(diffimpst ,-2);
    var difftot  = Math.round10(difftot ,-2);



    var mamnoobratext = "$ "+respuestajsons[0];
    var proveedorestext = "$ "+respuestajsons[1];
    var otrosdirectostext = "$ "+respuestajsons[2];
    var indirectostext = "$ "+respuestajsons[3];

    var markuptext = "$ "+respuestajsons[4];
    var impuestostext = "$ "+respuestajsons[5];
    
    var mamnoobra = respuestajsons[0];
    var proveedores = respuestajsons[1];
    var otrosdirectos = respuestajsons[2];
    var indirectos = respuestajsons[3];
    var markup = respuestajsons[4];
    var impuestos = respuestajsons[5];

    var mamnoobrareal = respuestajsons[7];
    var proveedoresreal = respuestajsons[8];
    var otrosdirectoreal = respuestajsons[9];
    var indirectosreal = respuestajsons[10];
    var markupreal = respuestajsons[4];
    var impuestosreal = respuestajsons[5];
    

    $('#tmanoobra').text("$ "+respuestajsons[0]);
    $('#totprovepres').text("$ "+respuestajsons[1]);
    $('#otrosdirectpres').text("$ "+respuestajsons[2]);
    $('#indirectpress').text("$ "+respuestajsons[3]);
    $('#costototpress').text("$ "+costototal);

    $('#markuppress').text("$ "+respuestajsons[4]);
    $('#impuestospress').text("$ "+respuestajsons[5]);
    $('#proyectopress').text("$ "+ totalproyect);

   /* $('#tmanoobrainfanoact').text("$"+respuestajsons[11]);
    $('#totproveinfoanoact').text("$"+respuestajsons[12]);
    $('#otrosdirectinfoanoact').text("$"+respuestajsons[13]);
    $('#indirectinfoanoact').text("$"+respuestajsons[14]);
    $('#costototinfoanoact').text("$"+respuestajsons[15]);



    $('#tmanoobrainfanopas').text("$ "+respuestajsons[7]);
    $('#totproveinfoanopass').text("$ "+respuestajsons[8]);
    $('#otrosdirectinfoanopass').text("$ "+respuestajsons[9]);
    $('#indirectinfoanopas').text("$ "+respuestajsons[10]);
    $('#costototinfoanopass').text("$ "+sumpass);*/

    

    $('#tmanoobrainftot').text("$"+totmanodeobra);
    $('#totprovetotal').text("$" + totprovee);
    $('#otrosdirecttotal').text("$" + tototrosdirec);
    $('#indirecttotal').text("$" + totindirect);
    $('#costotottotal').text("$" + totcot);

    $('#markuptotal').text("$"+markuptot);
    $('#impuestostotal').text("$ "+respuestajsons[17]);
    $('#proyectototal').text("$"+tottot);

    


    $('#tmanoobradif').text("$" + diffmano);
    $('#totprovediff').text("$" + diffprov);
    $('#otrosdirectdiff').text("$" + diffotrodir);
    $('#indirectdiff').text("$" + diffindirec);
    $('#costototdiff').text("$" + diffcosto);
    
    $('#markupdiff').text("$" + diffmarkup);
    $('#impuestosdiff').text("$" + diffimpst);
    $('#proyectodiff').text("$" + difftot);

    //universo del grafico

    /*
    grafmanobr
    grafprovv
    grafdire
    grafindirec
    grafmark
    grafimpst

    grafsecondmanobr
    grafsecondprovv
    grafseconddire
    grafsecondindirec
    grafsecondmark
    grafsecondimpst
    */
    var uniuno = 0;
    var unidos = 0;
    var unitres = 0;
    var unicuatro = 0;
    var unicinco = 0;
    var unisies = 0;

    if(grafmanobr < grafsecondmanobr){ uniuno = grafsecondmanobr; }else{ uniuno = grafmanobr;}
    if(grafprovv < grafsecondprovv){ unidos = grafsecondprovv; }else{ unidos = grafprovv;}
    if(grafdire < grafseconddire){ unitres =  grafseconddire; }else{ unitres = grafdire;}
    if(grafindirec < grafsecondindirec){unicuatro = grafsecondindirec; }else{unicuatro = grafindirec; }
    if(grafmark < grafsecondmark){ unicinco = grafsecondmark; }else{ unicinco = grafmark;}
    if(grafimpst < grafsecondimpst){unisies = grafsecondimpst; }else{ unisies = grafimpst;}
    

    uniuno = parseInt(uniuno);
    unidos = parseInt(unidos);
    unitres = parseInt(unitres);
    unicuatro = parseInt(unicuatro);
    unicinco = parseInt(unicinco);
    unisies = parseInt(unisies);

    if(uniuno < 0){ uniuno =0;}
    if(unidos < 0){ unidos =0;}
    if(unitres < 0){ unitres =0;}
    if(unicuatro < 0){ unicuatro =0;}
    if(unicinco < 0){ unicinco =0;}
    if(unisies < 0){ unisies =0;}



    if(grafmanobr < 0){ grafmanobr =0;}
    if(grafprovv < 0){ grafprovv =0;}
    if(grafdire < 0){ grafdire =0;}
    if(grafindirec < 0){ grafindirec =0;}
    if(grafmark < 0){ grafmark =0;}
    if(grafimpst < 0){ grafimpst =0;}


    if(grafsecondmanobr < 0){ grafsecondmanobr =0;}
    if(grafsecondprovv < 0){ grafsecondprovv =0;}
    if(grafseconddire < 0){ grafseconddire =0;}
    if(grafsecondindirec < 0){ grafsecondindirec =0;}
    if(grafsecondmark < 0){ grafsecondmark =0;}
    if(grafsecondimpst < 0){ grafsecondimpst =0;}

    uniuno = uniuno + 1000;
    unidos = unidos + 1000;
    unitres = unitres + 1000;
    unicuatro = unicuatro + 1000;
    unicinco = unicinco + 1000;
    unisies = unisies + 1000;

    
    
    //mamnoobratext = mamnoobratext.bold();
    //proveedorestext = proveedorestext.bold();
    //otrosdirectostext = otrosdirectostext.bold();
    //indirectostext = indirectostext.bold();
    //markuptext = markuptext.bold();
    //impuestostext = impuestostext.bold();
    /*
    var dom = document.getElementById("container");
    var myChart = echarts.init(dom);
    var app = {};
    option = null;
    option = {
        title: {
            text: 'PRES VS REAL'
        },
        tooltip: {},
        legend: {
            data: ['PRESUPUESTO', 'REAL']
        },
        radar: {
            // shape: 'circle',
            name: {
                textStyle: {
                    color: '#000',
                    backgroundColor: '#f00',
                    borderRadius: 3,
                    padding: [3, 5]
               }
            },
            indicator: [
               { name: "MANO DE OBRA\n"+"$"+uniuno, max: uniuno},
               { name: "PROVEEDORES\n"+"$"+unidos, max: unidos},
               { name: "IMPUESTOS\n"+"$"+unitres, max: unitres},
               { name: "MARK UP\n"+"$"+unicuatro, max: unicuatro},
               { name: "INDIRECTOS\n"+"$"+unicinco, max: unicinco},
               { name: "OTROS DIRECTOS\n"+"$"+unisies, max: unisies}
            ]
        },
        series: [{
            name: 'PRESUPUESTO VS REAL',
            type: 'radar',
             areaStyle: {normal: {}},
            data : [
                {
                    value : [grafmanobr, grafprovv, grafdire, grafindirec, grafmark, grafimpst],
                    name : 'PRESUPUESTO'
                },
                 {
                    value : [grafsecondmanobr, grafsecondprovv, grafseconddire, grafsecondindirec, grafsecondmark, grafsecondimpst],
                    name : 'REAL'
                }
            ]
        }]
    };
    if (option && typeof option === "object") {
        myChart.setOption(option, true);
    }*/
    var options1 = {
  animationEnabled: true,
  title: {
    text: "Presupuesto vs Real"
  },
  axisY: {
    title: "MXN",
    suffix: "$",
    includeZero: true
  },
  axisX: {
    title: ""
  },
  data: [{
    type: "column", //change it to line, area, bar, pie, etc
    legendText: "Presupuesto",
    showInLegend: true,
    color:"#f19c99",
    dataPoints: [
      { color:"#f19c99", label: "Mano de Obra",y: grafmanobr },
      { color:"#f19c99", label: "Proveedores",y: grafprovv },
      { color:"#f19c99", label: "Otros directos",y: grafdire },
      { color:"#f19c99", label: "Indirectos",y: grafindirec },
      
      { color:"#f19c99", label: "Markup",y: grafmark },
      { color:"#f19c99", label: "Impuestos",y: grafimpst }
      ]
    },
    {
    type: "column", //change it to line, area, bar, pie, etc
    legendText: "Real",
    showInLegend: true,
    color:"#a3bbce",
    dataPoints: [
      { color:"#a3bbce", label: "Mano de Obra",y: grafsecondmanobr },
      { color:"#a3bbce", label: "Proveedores",y: grafsecondprovv },
      { color:"#a3bbce", label: "Otros directos",y: grafseconddire },
      { color:"#a3bbce", label: "Indirectos",y: grafsecondindirec },
      { color:"#a3bbce", label: "Markup",y:  grafsecondmark },
      { color:"#a3bbce", label: "Impuestos",y: grafsecondimpst }

      ]
    }]
};

$("#resizable").resizable({
  create: function (event, ui) {
    //Create chart.
    $("#chartContainer1").CanvasJSChart(options1);
  },
  resize: function (event, ui) {
    //Update chart size according to its container size.
    $("#chartContainer1").CanvasJSChart().render();
  }
});
 });



}

function descargarExcel(){
        //Creamos un Elemento Temporal en forma de enlace
        var actual = new Date();
        
        var hora = actual.getHours();
        var minutos = actual.getMinutes();
        var segundos = actual.getSeconds();
        var tmpElemento = document.createElement('a');
        // obtenemos la información desde el div que lo contiene en el html
        // Obtenemos la información de la tabla
        var data_type = 'data:application/vnd.ms-excel';
        var tabla_div = document.getElementById('example3');
        var tabla_html = tabla_div.outerHTML.replace(/ /g, '%20');
        tmpElemento.href = data_type + ', ' + tabla_html;
        //Asignamos el nombre a nuestro EXCEL
        tmpElemento.download = 'Reporte_'+hora+"_"+minutos+"_"+segundos+'.xls';
        // Simulamos el click al elemento creado para descargarlo
        tmpElemento.click();
}

function generaestadoresult(){
var fechahoy = $('#fechahoy').val();
var reporte = $('#reporte').val();
var centrodecostos = $('#centrodecostos').val();
var fechainicio = $('#fechainicio').val();
var fechafin = $('#fechafin').val();
var seleccion="";;
$("input[name=4]").each(function (index) {  
   if($(this).is(':checked')){
      //alert($(this).id());
      seleccion = $(this).val();
   }
});

seleccion=1;
switch(seleccion) {
    case "1":
        if($('#reporte').val()!=""){
            bandera = $('#reporte').val();
        }else{
            bandera = "";
        }
        break;
    case "2":
        if($('#centrodecostos').val()!=""){
            bandera = $('#centrodecostos').val();
        }else{
            bandera = "";
        }
        break;
    default:
        bandera = "";
}
if((seleccion!="")&&(fechainicio!="")&&(fechafin!="")){
    alert("Espere mientras se generan los resultados.");
    $.get("../core_update.php", {op:18, fechahoy:fechahoy,fechainicio:fechainicio,fechafin:fechafin,seleccion:seleccion}, function(respuestajson){
                    var respuestajsons = respuestajson.split('~');
                    
                    var ingresost =  Number(respuestajsons[0]);

                    var dvgadmon =  Number(respuestajsons[1]);
                    var dfijoadmon =  Number(respuestajsons[2]);
                    var indvargastadmon =  Number(respuestajsons[3]);
                    var indfijosgadmon =  Number(respuestajsons[4]);

                    var dvariablesop =  Number(respuestajsons[5]);
                    var dfijosop =  Number(respuestajsons[6]);
                    var ivgoperativos =  Number(respuestajsons[7]);
                    var ifgoerativos =  Number(respuestajsons[8]);

                    var dvgfinancieros =  Number(respuestajsons[9]);
                    var dfgfinancieros =  Number(respuestajsons[10]);
                    var ivgfinancieros =  Number(respuestajsons[11]);
                    var ifgfinancieros =  Number(respuestajsons[12]);

                    var dvgventas =  Number(respuestajsons[13]);
                    var directosvargventas =  Number(respuestajsons[14]);//directos fijos gas ventas
                    var ivgventas =  Number(respuestajsons[15]);
                    var ifgventas =  Number(respuestajsons[16]);
                    
                    var dfgadmonimp =  Number(respuestajsons[17]);
                    var dvgadmonimp =  Number(respuestajsons[18]);
                    var ifgadmonimp =  Number(respuestajsons[19]);
                    var ivgadmonimp =  Number(respuestajsons[20]);
                    
                    var margenbruto =  ingresost - ( dfijosop + dvariablesop );
                    var resultadooperativo =  margenbruto - ( dvgadmon + dfijoadmon + indvargastadmon + indfijosgadmon + dvgventas + directosvargventas + ivgventas + ifgventas + indvargastadmon + indfijosgadmon + ivgoperativos + ifgoerativos );
                    var resultadofinancieroaimp = resultadooperativo - ( dvgfinancieros + dfgfinancieros + ivgfinancieros + ifgfinancieros);
                    var resultadoneto =  resultadofinancieroaimp - ( dfgadmonimp + dvgadmonimp + ifgadmonimp + ivgadmonimp);
                    
                    /*ingresost = "$ "+number_format(ingresost, 2);
                    dfijosop = "$ "+number_format(dfijosop, 2);
                    dvariablesop = "$ "+number_format(dvariablesop, 2);
                    margenbruto = "$ "+number_format(margenbruto, 2);
                    dfijoadmon = "$ "+number_format(dfijoadmon, 2);
                    dvgadmon = "$ "+number_format(dvgadmon, 2);
                    indfijosgadmon = "$ "+number_format(indfijosgadmon, 2);
                    indvargastadmon = "$ "+number_format(indvargastadmon, 2);
                    directosvargventas = "$ "+number_format(directosvargventas, 2);
                    dvgventas = "$ "+number_format(dvgventas, 2);
                    ifgventas = "$ "+number_format(ifgventas, 2);
                    ivgventas = "$ "+number_format(ivgventas, 2);
                    ifgoerativos = "$ "+number_format(ifgoerativos, 2);
                    ivgoperativos = "$ "+number_format(ivgoperativos, 2);
                    resultadooperativo = "$ "+number_format(resultadooperativo, 2);
                    dfgfinancieros = "$ "+number_format(dfgfinancieros, 2);
                    dvgfinancieros = "$ "+number_format(dvgfinancieros, 2);
                    ifgfinancieros = "$ "+number_format(ifgfinancieros, 2);
                    ivgfinancieros = "$ "+number_format(ivgfinancieros, 2);
                    resultadofinancieroaimp = "$ "+number_format(resultadofinancieroaimp, 2);
                    dfgadmonimp = "$ "+number_format(dfgadmonimp, 2);
                    dvgadmonimp = "$ "+number_format(dvgadmonimp, 2);
                    ifgadmonimp = "$ "+number_format(ifgadmonimp, 2);
                    ivgadmonimp = "$ "+number_format(ivgadmonimp, 2);
                    resultadoneto = "$ "+number_format(resultadoneto, 2);*/

                    ingresost = "$ "+ ingresost;
                    dfijosop = "$ "+ dfijosop;
                    dvariablesop = "$ "+ dvariablesop;
                    margenbruto = "$ "+ margenbruto;
                    dfijoadmon = "$ "+ dfijoadmon;
                    dvgadmon = "$ "+ dvgadmon;
                    indfijosgadmon = "$ "+ indfijosgadmon;
                    indvargastadmon = "$ "+ indvargastadmon;
                    directosvargventas = "$ "+ directosvargventas;
                    dvgventas = "$ "+ dvgventas;
                    ifgventas = "$ "+ ifgventas;
                    ivgventas = "$ "+ ivgventas;
                    ifgoerativos = "$ "+ ifgoerativos;
                    ivgoperativos = "$ "+ ivgoperativos;
                    resultadooperativo = "$ "+ resultadooperativo;
                    dfgfinancieros = "$ "+ dfgfinancieros;
                    dvgfinancieros = "$ "+ dvgfinancieros;
                    ifgfinancieros = "$ "+ ifgfinancieros;
                    ivgfinancieros = "$ "+ ivgfinancieros;
                    resultadofinancieroaimp = "$ "+ resultadofinancieroaimp;
                    dfgadmonimp = "$ "+ dfgadmonimp;
                    dvgadmonimp = "$ "+ dvgadmonimp;
                    ifgadmonimp = "$ "+ ifgadmonimp;
                    ivgadmonimp = "$ "+ ivgadmonimp;
                    resultadoneto = "$ "+ resultadoneto;

                    $('#ingresost').text( ingresost);
                    $('#dfijosop').text( dfijosop);
                    $('#dvariablesop').text( dvariablesop);
                    $('#margenbruto').text( margenbruto);
                    $('#dfijoadmon').text( dfijoadmon);
                    $('#dvgadmon').text( dvgadmon);
                    $('#indfijosgadmon').text( indfijosgadmon);
                    $('#indvargastadmon').text( indvargastadmon);
                    $('#directosvargventas').text( directosvargventas);
                    $('#dvgventas').text( dvgventas);
                    $('#ifgventas').text( ifgventas);
                    $('#ivgventas').text( ivgventas);
                    $('#ifgoerativos').text( ifgoerativos);
                    $('#ivgoperativos').text( ivgoperativos);
                    $('#resultadooperativo').text( resultadooperativo);
                    $('#dfgfinancieros').text( dfgfinancieros);
                    $('#dvgfinancieros').text( dvgfinancieros);
                    $('#ifgfinancieros').text( ifgfinancieros);
                    $('#ivgfinancieros').text( ivgfinancieros);
                    $('#resultadofinancieroaimp').text( resultadofinancieroaimp);
                    $('#dfgadmonimp').text( dfgadmonimp);
                    $('#dvgadmonimp').text( dvgadmonimp);
                    $('#ifgadmonimp').text( ifgadmonimp);
                    $('#ivgadmonimp').text( ivgadmonimp);
                    $('#resultadoneto').text( resultadoneto);
                });
}else{
    alert("Debe seleccionar una opción");
}
/*ingresost
dfijosop
dvariablesop
margenbruto
dfijoadmon
dvgadmon
indfijosgadmon
indvargastadmon
directosvargventas
dvgventas
ifgventas
ivgventas
ifgoerativos
ivgoperativos
resultadooperativo
dfgfinancieros
dvgfinancieros
ivgfinancieros
ivgfinancieros
resuktadofinanciero
dfgadmonimp
dvgadmonimp
ifgadmonimp
ivgadmonimp
resultadoneto*/

}


function consultacuenta(){
var getcuentaid = $('#getcuenta').val();
var getcuenta = $("#getcuenta option:selected").text();
var fechainicio = $('#fechainicio').val();
var fechafin = $('#fechafin').val();
$.get("../core_update.php", {op:21, getcuentaid:getcuentaid, getcuenta:getcuenta,fechainicio:fechainicio,fechafin:fechafin}, function(respuestajson){
    $('#respuestatable').html(respuestajson);
});


}

function consultareportehoras(){
var fechainicio = $("#fechainicio").val();
var fechafin = $("#fechafin").val();
if(fechainicio!="" && fechafin!=""){
    if(validate_fechaMayorQue(fechainicio,fechafin)){
        $.get("../core_update.php", {op:23,fechainicio:fechainicio,fechafin:fechafin}, function(respuestajson){
            $('#respuestatable').html(respuestajson);
        });
    }else{
        alert("La primera fecha debe ser menor");
    }
}else{
    alert("Debe seleccionar fechas, verifique que la fecha sea correcta");
}

}

function consultarflujo(){
var centrodecostos = $("#centrodecostos").val();


var fechainicio = $("#fechainicio").val();
var fechafin = $("#fechafin").val();
if(fechainicio!="" && fechafin!=""){
    if(validate_fechaMayorQue(fechainicio,fechafin)){
        $.get("../core_update.php", {op:28,centrodecostos:centrodecostos,fechainicio:fechainicio,fechafin:fechafin}, function(respuestajson){
            $('#respuestatable').html(respuestajson);
        });
    }else{
        alert("La primera fecha debe ser menor");
    }
}else{
    alert("Debe seleccionar fechas, verifique que la fecha sea correcta");
}    
}

function consultareporteflujo(){
var fechainicio = $("#fechainicio").val();
var fechafin = $("#fechafin").val();
if(fechainicio!="" && fechafin!=""){
    if(validate_fechaMayorQue(fechainicio,fechafin)){
        $.get("../core_update.php", {op:25,fechainicio:fechainicio,fechafin:fechafin}, function(respuestajson){
            $('#respuestatable').html(respuestajson);
        });
    }else{
        alert("La primera fecha debe ser menor");
    }
}else{
    alert("Debe seleccionar fechas, verifique que la fecha sea correcta");
}

}

function consultareportehorastot(){
var fechainicio = $("#fechainicio").val();
var fechafin = $("#fechafin").val();
if(fechainicio!="" && fechafin!=""){
    if(validate_fechaMayorQue(fechainicio,fechafin)){
        $.get("../core_update.php", {op:24,fechainicio:fechainicio,fechafin:fechafin}, function(respuestajson){
            $('#respuestatable').html(respuestajson);
        });
    }else{
        alert("La primera fecha debe ser menor");
    }
}else{
    alert("Debe seleccionar fechas, verifique que la fecha sea correcta");
}

}

function validate_fechaMayorQue(fechaInicial,fechaFinal)
        {
            valuesStart=fechaInicial.split("-");
            valuesEnd=fechaFinal.split("-");
            if(fechaInicial == fechaFinal){
                return 1;
            }
            // Verificamos que la fecha no sea posterior a la actual
            var dateStart=new Date(valuesStart[2],(valuesStart[1]-1),valuesStart[0]);
            var dateEnd=new Date(valuesEnd[2],(valuesEnd[1]-1),valuesEnd[0]);
            if(dateStart>=dateEnd)
            {
                return 0;
            }
            return 1;
        }

function validacampos(){
var centrodecostos = $('#centrodecostos').val();
var cliente = $('#cliente').val();
var proveedores = $('#proveedores').val();
var lineaneg = $('#lineaneg').val();
var tipologia = $('#tipologia').val();
var tiporeporte =$('#tiporeporte').val();

if(tiporeporte==1){
    $("#proveedores").prop('disabled', true);
    $('#cliente').prop('disabled', false);
    $('#centrodecostos').prop('disabled', false);
    $('#lineaneg').prop('disabled', false);
    $('#tipologia').prop('disabled', false);
    $('#cliente').prop('disabled', false);
}else{
    $('#cliente').prop('disabled', true);
    //$('#centrodecostos').prop('disabled', true);
    $('#proveedores').prop('disabled', false);
    //$('#lineaneg').prop('disabled', true);
    //$('#tipologia').prop('disabled', true);
    //$('#cliente').prop('disabled', true);
    
}

}

function consultarpresupuest(id){
    $.get("../core_update.php", {op:31,id:id}, function(datoscotiza){
        var datos = datoscotiza.split("~");
        var id = datos[0];
        var cliente = datos[1];
        var nombre = datos[2];
        var idm2 = datos[3];
        var lineaneg = datos[4];
        var tipologia = datos[5];

        $("#ndegasto").val(id);
        $("#idcliente").val(cliente);
        $("#nombreproyectos").val(nombre);
        $("#idm2").val(idm2);
        $("#idlnegocio").val(lineaneg);
        actualizatipologia();
        $("#tipologia").val(tipologia);
        armacotizadormodifica(id);

    });
}

function agregarproyecto(){
    var idcliente = $('#idcliente').val();
    var nombreproyectos = $('#nombreproyectos').val();
    var idlineadenegocio = $('#idlnegocio').val();
    var idtipologia = $('#idtipologia').val();
    var m2proyecto = $('#m2proyecto').val();
    var actual = new Date();
    var monthactual2 = actual.getUTCMonth()+1;
    var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
    var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
    idusuario;
    var sArray = ['""',
                  "'"+ nombreproyectos +"'",
                  "'"+ m2proyecto +"'",
                  "'"+ idcliente +"'",
                  "'"+ idlineadenegocio +"'",
                  "'"+ idtipologia +"'",
				  "'"+ 0 +"'",
                  "'"+ idusuario +"'",
                  "'"+ fechaactual2 +"'"];
    if(idcliente!="" && nombreproyectos!=""){
        $.get("../core_update.php", {op:6,tcliente:"proyectos",sArray:sArray}, function(respuesta){
            if(respuesta.trim()=="1"){
                alert("Proyecto creado correctamente")
                    $("#limpiargastos").click();
            }else{
                alert("El proyecto ya existe");
            }
        });
  }else{
    alert("Debe capturar todos los campos");
  }
    
}

function habilitacotizacion(){
    document.getElementById('editarcotiz').disabled=true;
    $('#cotizacion').html('<div class="form-group"><label for="middle-name" class="control-label col-md-3 col-sm-3 col-xs-12">Proyecto:</label><div class="col-md-2 col-sm-2 col-xs-12"><input id="ndegasto" class="form-control col-md-7 col-xs-12" type="text" name="ndegasto" required="required" disabled></div></div><br />'+$('#cotizacion').html());
}
function actualizaniv2(){
    var totnv1=[];
    var totnv1M=[];
    var totaltotalescot=0;
    var x=0;
     var contador2=0;
    $("input:checkbox").each(function() {
        contador2++;
    });
    
    $("input:checkbox:checked").each(function() {
        totnv1[x]=0;
        totnv1M[x]=0;

        for(var ntabla=1;ntabla<=4;ntabla++){
			var ntablaT='';
			switch (ntabla) {
			case 1:
				ntablaT="C";
				break;
			case 2:
				ntablaT="E";
				break;
			case 3:
				ntablaT="O";
				break;
			case 4:
				ntablaT="I";
			}
			var filas = $("#tablacaptura"+ntablaT +" tbody tr").length;
            //var filas=$('#tablacaptura'+ntabla).DataTable().rows().count();
            //var t = $('#tablacaptura'+ntabla).DataTable();
            var y= $('#tablacaptura'+ntablaT).find('tr')[1].cells.length;
            var markp=$('#markporc'+ntablaT).val();
            var totales=0;
            var totaletap=0;
            var totaletapM=0;
            var offs1=2;
            var offs2=3;
             
            if(ntabla==1){
                offs1=3;
                offs2=4;
            }
            if(ntabla==4){
                if ($('#ind'+(y-1)).val()>0){
                    totales=totales+ parseFloat( $('#ind'+(y-1)).val());
                   
                }
                if ($('#ind'+x).val()>0){
                    totaletap=totaletap+ parseFloat($('#ind'+x).val());
                    //alert(markp);
                    totaletapM=totaletapM+ (parseFloat($('#ind'+x).val())+( parseFloat($('#ind'+x).val())*markp/100));
                }
                
            }
            else{
                for(var f=0;f<filas;f++){
                   /* if (t.cell(f,y+2).data()>0){
                        totales=totales+ t.cell(f,y+2).data();
                    }*/
                    if (parseFloat($('#c'+(y+2)+ntablaT+f).val())>0){
                        totales=totales+ parseFloat($('#c'+(y+2)+ntablaT+f).val());
                                                    
                }
                }
                    for (var f=0;f<filas;f++){
                            /* if (t.cell(f,(x*offs1)+offs2).data()>0){
                            totaletap=totaletap+ t.cell(f,(x*offs1)+offs2).data();
                        }*/
                        if (parseFloat($('#c'+((x*offs1)+offs2)+ntablaT+f).val())>0){
                            totaletap=totaletap+ parseFloat($('#c'+((x*offs1)+offs2)+ntablaT+f).val());
                            totaletapM=totaletapM+ (parseFloat($('#c'+((x*offs1)+offs2)+ntablaT+f).val())+(parseFloat($('#c'+((x*offs1)+offs2)+ntablaT+f).val())*markp/100));
                    }
                    }
                    

                
            }
            
            $('#ef_'+(ntabla-1)+'_'+$(this).val()).val("$ "+number_format(totaletap,2, '.', ','));            
            
            $('#ct_'+(ntabla-1)).val("$ "+number_format(totales,2, '.', ','));
            $('#mu_'+(ntabla-1)).val( $('#mark'+ntablaT).val());
            $('#tc_'+(ntabla-1)).val( $('#totmk'+ntablaT).val()); 
            totnv1[x]=totnv1[x]+totaletap;
            totnv1M[x]=totnv1M[x]+totaletapM;
            
            

        }
        
        if ($('#fechacotiza').val()!=""){
            $('#totalcot'+$(this).val()).val("$ "+number_format(totnv1M[x],2, '.', ','));
        }else{
            $('#etapaCot_'+$(this).val()).val("$ "+number_format(totnv1M[x],2, '.', ','));
        }
         $('#ef_4_'+$(this).val()).val("$ "+number_format(totnv1[x],2, '.', ','));  
        x++;
    });
            for (var q=0;q<totnv1M.length;q++){
                //alert(totnv1M[q]);
                totaltotalescot=totnv1M[q]+totaltotalescot;
            }
    if ($('#fechacotiza').val()!=""){
            //$('#totalcot'+$(this).val()).val("$ "+number_format(totnv1M[x],2, '.', ','));
        $('#totaltotalesc').val("$ "+number_format(totaltotalescot,2, '.', ','));
        }else{
           
            
        }
    
    }

function configuraNivel2ed(option){

    $('#tablaNivel2 tbody').empty();
    $('#tablaNivel2 thead').empty();
    
    $('#tablaNivel2 thead').append("" +
    "<th></th>"
    );
    
    for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
             if(valores!=""){
               $('#tablaNivel2 thead').append("" +
                "<th>" + valores[7] + "</th>");
             }
    }
    
    var fases=['Colaboradores','Proveedores especialistas','Otros Directos','Indirectos','Totales'];
    for(var i = 0; i<5 ; i++){
        var szz="<tr><th>" + fases[i]+ "</th>";
        
        for (var j = 0; option.length > j; j++) {
            var valores =  option[j].split('*');
             if(valores!=""){
               szz = szz+ "<td nowrap>" + "<input  type='text' readonly='readonly' id='ef_" + i +"_" +  parseInt(valores[2]) + "'></td>";
             }
        }
        if(i==4){
            
        }else{
        szz = szz+ "<td nowrap>" + "<input ' type='text' readonly='readonly' id='ct_" + i +"'></td>";
        szz = szz+ "<td nowrap>" + "<input  type='text' readonly='readonly' id='mu_" + i +"'></td>";
        szz = szz+ "<td nowrap>" + "<input  type='text' readonly='readonly' id='tc_" + i +"'></td>";
        
            szz = szz+ "<td nowrap>" + "<button type='button' class='btn btn-success btn-xs' onclick='detallenv3("+(i+1)+")'>Detalle</button>" + "</td>";
        }
        $('#tablaNivel2 tbody').append(szz + "</tr>");
    }
        
    $('#tablaNivel2 thead').append("" +
    "<th>Costo Total</th>" +
    "<th>Mark Up</th>" +
    "<th>Total Cotizado</th>"
    );
}

function configuraNivel2(){

    $('#tablaNivel2 tbody').empty();
    $('#tablaNivel2 thead').empty();
    
    $('#tablaNivel2 thead').append("" +
    "<th></th>"
    );
    
     $("input:checkbox:checked").each(function() {
          var checkElement = document.getElementById("etapa_"+$(this).val());
        $('#tablaNivel2 thead').append("" +
                "<th>" + checkElement.name + "</th>"
            );
    });
    
   /* for(var j=1; j< contador2+1; j++){
        var checkElement = document.getElementById("etapa_"+j);
        if(checkElement.checked == true){
            $('#tablaNivel2 thead').append("" +
                "<th>" + checkElement.name + "</th>"
            );
        }
    }*/
    
    var fases=['Colaboradores','Proveedores especialistas','Otros Directos','Indirectos','Totales'];
    for(var i = 0; i<5 ; i++){
        var szz="<tr><th>" + fases[i]+ "</th>";
        $("input:checkbox:checked").each(function() {
            var checkElement = document.getElementById("etapa_"+$(this).val());
            
            if(checkElement.checked == true){
                szz = szz+ "<td>" + "<input class='form-control col-md-3 col-xs-3' type='text' readonly='readonly' id='ef_" + i +"_" + $(this).val() + "'></td>";
            }
        });
        if(i==4){
            
        }else{
        szz = szz+ "<td>" + "<input class='form-control col-md-3 col-xs-3' type='text' readonly='readonly' id='ct_" + i +"'></td>";
        szz = szz+ "<td>" + "<input class='form-control col-md-3 col-xs-3' type='text' readonly='readonly' id='mu_" + i +"'></td>";
        szz = szz+ "<td>" + "<input class='form-control col-md-3 col-xs-3' type='text' readonly='readonly' id='tc_" + i +"'></td>";
        
            szz = szz+ "<td>" + "<button type='button' class='btn btn-success btn-xs' onclick='detallenv3("+(i+1)+")'>Detalle</button>" + "</td>";
        }
        $('#tablaNivel2 tbody').append(szz + "</tr>");
    }
        
    $('#tablaNivel2 thead').append("" +
    "<th>Costo Total</th>" +
    "<th>Mark Up</th>" +
    "<th>Total Cotizado</th>"
    );
}

function detallenv3(tab){
   
    $('#myTab a[href="#tab_content'+tab+'"]').tab('show');
    location.href="#cotizaetapas";
    
}

function agregarcotizacion(){
var idcliente = $('#idcliente').val();
var nombreproyectos = $('#nombredeproyectos').val();
idusuario;
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
var bandera;
var sArray = ['""',
 "'"+ nombreproyectos +"'",
 "'"+ idusuario +"'",
 "'"+ fechaactual2 +"'",
 "'"+ 0 +"'",             
 "'"+ 0 +"'"];

var contador =0;
var contador2 =0;

    

if(validarfechas()){
$.get("../core_update.php", {op:7,tcliente:"cotiza",sArray:sArray}, function(respuesta){

    if(/INSERT/.test(respuesta)){
        alert("El nombre del proyecto ya existe");
    }else{
        $("#ndegasto").val(respuesta);
        $("input:checkbox:checked").each(function() {
            contador2++;
        });
        configuraNivel2();
        $("input:checkbox:checked").each(function() {
            sleep(1500);
            var etapa = $('#etapa_' + $(this).val()).val();
            var etapafi = $('#etapafi_' + $(this).val()).val();
            var etapaff = $('#etapaff_' + $(this).val()).val();
            var etapad = $('#etapad_' + $(this).val()).val();

            var sArrayetapa = ['""',
                     "'" + respuesta +"'",
                     "'" + etapa +"'",
                     "'" + etapafi +"'",
                     "'" + etapaff +"'",
                     "'" + etapad +"'"];//markup
                $.get("../core_update.php", {op:7,tcliente:"cotiza_etapas",sArray:sArrayetapa}, function(respuesta2){
                    $.get("../core_update.php", {op:33,respuesta2:respuesta2}, function(nombreetapa){
                        contador++;
                    
                            $("#idtableoculta").hide();
                            if(contador==contador2){
                                $('#idcliente').prop("disabled", true);
                                $('#nombredeproyectos').prop("disabled", true);
                                $('#idlnegocio').prop("disabled", true);
                                $('#idtipologia').prop("disabled", true);
                               
                                    armacotizador(respuesta);
                                
                                 setTimeout(function(){
                                location.href="#cotizaetapas";
                                     }, 1000);
                                /*location.reload();
                                alert("Proyecto Guardado");*/
                            }
                    });
                });
        });
        
        
}
});
}else{
    alert("Verifique las Fehas en las etapas\n La Fecha inicio debe ser menor a la Fecha fin.\n ó verifique que la Referencia de Duración no este vacia");
}
}

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

function sleep_ms(millisecs) {
    var initiation = new Date().getTime();
    while ((new Date().getTime() - initiation) < millisecs);
}

function verificaporc(id){
   var ndegasto = $("#ndegasto").val();
      $.get("../core_update.php", {op:34,ndegasto:ndegasto, tipo:"directo"}, function(nombreetapa){
        var datos = nombreetapa.split("~");
        var sumador=0;
        for(var x=0; x<datos.length; x++){

            var datoporetapa = $("#OtrosDirectosocupacion"+datos[x]).val();
            if(datoporetapa == ""){
                datoporetapa = 0;
            }

            sumador += parseFloat(datoporetapa, 2);

        }
        if(sumador>100){
            sumador =  sumador - parseFloat($("#OtrosDirectosocupacion"+id).val(), 2);
            alert("No puede pasar el 100%");
        }else{
            alert("lleva %"+sumador);
            for(var y=0; y<datos.length; y++){
                $("#porcentmuestra_OtrosDirectosocupacion"+datos[y]).html(sumador+"%");
            }
        }
      });
}

function verificaporcesp(id){
   var ndegasto = $("#ndegasto").val();
      $.get("../core_update.php", {op:34,ndegasto:ndegasto, tipo:"espe"}, function(nombreetapa){
        var datos = nombreetapa.split("~");
        var sumador=0;
        for(var x=0; x<datos.length; x++){
            var datoporetapa = $("#Especialistaocupacion"+datos[x]).val();
            if(datoporetapa == ""){
                datoporetapa = 0;
            }
            sumador += parseFloat(datoporetapa, 2);

        }
        if(sumador>100){
            sumador =  sumador - parseFloat($("#Especialistaocupacion"+id).val(), 2);
            alert("No puede pasar el 100%");
        }else{
            
            alert("lleva %"+sumador);
            for(var y=0; y<datos.length; y++){
                $("#porcentmuestra_Especialistaocupacion"+datos[y]).html(sumador+"%");
            }
        }
      });
}

function actualizatotales(id){
var totalNomina = parseFloat($('#totalNomina'+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));
var totalEspecialista = parseFloat($('#totalEspecialista'+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));
var totalOtrosDirectos = parseFloat($('#totalOtrosDirectos'+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));
var totalIndirectos = parseFloat($('#totalIndirectos'+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));





var Nominatotalmarkup = parseFloat($("#Nominatotalmarkup"+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));
var Especialistatotalmarkup = parseFloat($("#Especialistatotalmarkup"+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));
var OtrosDirectostotalmarkup = parseFloat($("#OtrosDirectostotalmarkup"+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));
var Indirectostotalmarkup = parseFloat($("#Indirectostotalmarkup"+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));

if(isNaN(Nominatotalmarkup)){
	Nominatotalmarkup = 0;
}
if(isNaN(Especialistatotalmarkup)){
	Especialistatotalmarkup = 0;
}
if(isNaN(OtrosDirectostotalmarkup)){
	OtrosDirectostotalmarkup = 0;
}
if(isNaN(Indirectostotalmarkup)){
	Indirectostotalmarkup = 0;
}

totalmarkup = "$"+number_format(Nominatotalmarkup + Especialistatotalmarkup + OtrosDirectostotalmarkup + Indirectostotalmarkup, 2);
$('#totalmarkup'+id).val(totalmarkup);

var totalmarkup = parseFloat($('#totalmarkup'+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));
var totalimpuestos = parseFloat($('#totalimpuestos'+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));



if(isNaN(totalNomina)){
totalNomina=0;
}
if(isNaN(totalEspecialista)){
totalEspecialista=0;
}
if(isNaN(totalOtrosDirectos)){
totalOtrosDirectos=0;
}
if(isNaN(totalIndirectos)){
totalIndirectos=0;
}
if(isNaN(totalmarkup)){
totalmarkup=0;
}
if(isNaN(totalimpuestos)){
totalimpuestos=0;
}

var totaletapa = "$"+number_format(totalNomina + totalEspecialista + totalOtrosDirectos + totalIndirectos + totalmarkup + totalimpuestos, 2);
totalmarkup = "$"+number_format(Nominatotalmarkup + Especialistatotalmarkup + OtrosDirectostotalmarkup + Indirectostotalmarkup);
$('#totaletapa'+id).val(totaletapa);


}

function Guardar(){
var ndegasto = $("#ndegasto").val();
$.get("../core_update.php", {op:30,ndegasto:ndegasto}, function(idetapas){
	var etapasid = idetapas.split("~");

	for(var x=0; x<etapasid.length; x++){
		var id = etapasid[x];
		var Nominatotalmarkup = parseFloat($("#Nominatotalmarkup"+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));
		var Especialistatotalmarkup = parseFloat($("#Especialistatotalmarkup"+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));
		var OtrosDirectostotalmarkup = parseFloat($("#OtrosDirectostotalmarkup"+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));
		var Indirectostotalmarkup = parseFloat($("#Indirectostotalmarkup"+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));
		
		//var totalimpuestos = parseFloat($('#totalimpuestos'+id).val().replace("$","").replace(",","").replace(",","").replace(",",""));
		//considerar impuestos

		if(isNaN(Nominatotalmarkup)){
			Nominatotalmarkup = 0;
		}
		if(isNaN(Especialistatotalmarkup)){
			Especialistatotalmarkup = 0;
		}
		if(isNaN(OtrosDirectostotalmarkup)){
			OtrosDirectostotalmarkup = 0;
		}
		if(isNaN(Indirectostotalmarkup)){
			Indirectostotalmarkup = 0;
		}

			$.get("../core_update.php", {op:1,tabla:"cotiza_etapas",titulo:"markup",id:etapasid[x],valorlabelnuevo:Nominatotalmarkup}, function(respuesta){
            }); 
            $.get("../core_update.php", {op:1,tabla:"cotiza_etapas",titulo:"markupe",id:etapasid[x],valorlabelnuevo:Especialistatotalmarkup}, function(respuesta){
            }); 
            $.get("../core_update.php", {op:1,tabla:"cotiza_etapas",titulo:"markupod",id:etapasid[x],valorlabelnuevo:OtrosDirectostotalmarkup}, function(respuesta){
            }); 
            $.get("../core_update.php", {op:1,tabla:"cotiza_etapas",titulo:"markupi",id:etapasid[x],valorlabelnuevo:Indirectostotalmarkup}, function(respuesta){
            }); 
	}
	location.reload();
});

}

async function agregarproductocotiza(id, tipo){
var tabla = "detalle_cotiza_etapas";
var Recurso = $('#'+tipo+'Recurso'+id).val();
var Recurso_text = $('#'+tipo+'Recurso'+id+' option:selected').text();
var ocupacion = $('#'+tipo+'ocupacion'+id).val();
var horasdur = $('#'+tipo+'horasdur'+id).val();

    if(Recurso!="" && ocupacion!="" && horasdur!=""){
    	actualizatotales(id);

     switch(tipo){
        case 'Nomina':{
            
            $.get("../core_update.php", {op:27,id:Recurso}, function(costhora){
            	var datos = costhora.split("~");
            	datos[0] = parseFloat(datos[0]);//costoporhora
                datos[1] = parseFloat(datos[1]);
            	datos[2] = parseFloat(datos[2]);
                var semanas = parseFloat(horasdur, 2);
                var totaldehoras = parseFloat( datos[1] * datos[2] * semanas, 2);//total de horas
                var horasalasemana = parseFloat( datos[1] * datos[2], 2);//horas a la semana
                var ocupacioncent = parseFloat(ocupacion / 100);
                var horaslaboradas = totaldehoras * ocupacioncent;
                var Toalcostocienporc = parseFloat(datos[0] * totaldehoras);
                
                Toalcostocienporc =  Toalcostocienporc * ocupacioncent;
                var textresult = number_format(Toalcostocienporc, 2);
                var sArray = ['""',
                         "'"+id+"'",
                         "'"+Recurso+"'",
                         "'"+datos[0]+"'",
                         "'"+ocupacion+"'",
                         "'"+totaldehoras+"'",
                         "'"+tipo+"'"];

                    $.get("../core_update.php", {op:7,tcliente:"detalle_cotiza_etapas",sArray:sArray}, function(respuesta){
                        if(respuesta.indexOf('INSERT') == -1){
                        	var horaslaboradasind = parseFloat(horaslaboradas, 2);
                        	var totaldehorasind = parseFloat(totaldehoras, 2);
                        	
                        	var Indirectoshorasporetapa = parseFloat($('#Indirectoshorasporetapa'+id).val(), 2);
							var Indirectoshorascaptotal = parseFloat($('#Indirectoshorascaptotal'+id).val(), 2);
							if(isNaN(Indirectoshorasporetapa)){
								Indirectoshorasporetapa = 0;
							}
							if(isNaN(Indirectoshorascaptotal)){
								Indirectoshorascaptotal = 0;
							}

                        	$('#Indirectoshorasporetapa'+id).val( Indirectoshorasporetapa + horaslaboradasind);
							$('#Indirectoshorascaptotal'+id).val( Indirectoshorascaptotal + totaldehorasind);

							var rest = ($('#Indirectoshorasporetapa'+id).val() / $('#Indirectoshorascaptotal'+id).val()) * 100;
							rest = parseFloat(rest, 2);
							$('#IndirectosRecurso'+id).val(rest);
							
							$.get("../core_update.php", {op:40}, function(respuesta2){
								var gastos = respuesta2.split("~");
								var gastosvar = parseFloat((($('#Indirectoshorasporetapa'+id).val() / $('#Indirectoshorascaptotal'+id).val())/4) * gastos[0]);
								var gastosfijos = parseFloat((($('#Indirectoshorasporetapa'+id).val() / $('#Indirectoshorascaptotal'+id).val())/4) * gastos[1]);

								$('#Indirectossubtotal'+id).val(gastosvar + gastosfijos);

								gastosvar = number_format(gastosvar , 2);
								gastosfijos = number_format(gastosfijos , 2);
								$('#IndirectosRecursoVariables'+id).val("$ "+gastosvar);
								$('#IndirectosRecursoFijos'+id).val("$ "+gastosfijos);

								//$('#Indirectosexample'+id)
								var tableindirectos = $('#Indirectosexample'+id).DataTable();
 
								var rows = tableindirectos
								    .rows()
								    .remove()
								    .draw();
								var gastovariable = "$ "+number_format(gastos[0] /4);
								var gastofijoooo = "$ "+number_format(gastos[1] /4);

                                tableindirectos.row.add( [
                                    "Indirectos Variables",
                                    ($('#Indirectoshorasporetapa'+id).val() / $('#Indirectoshorascaptotal'+id).val()) * 100,
                                    gastovariable,
                                    "$ "+gastosvar
                                ]).draw( false );

                                tableindirectos.row.add([
                                    "Indirectos Fijos",
                                    ($('#Indirectoshorasporetapa'+id).val() / $('#Indirectoshorascaptotal'+id).val()) * 100,
                                    gastofijoooo,
                                    "$ "+gastosfijos
                                ]).draw( false );
							});


                            var eliminar = '<button class="btn btn-round btn-info" onclick="eliminarregistropress('+"'"+id+"', '"+respuesta+"'"+','+"'"+tabla+"'"+','+"'"+tipo+"'"+')" type="button" id="button">Borrar</button>';
                            var t = $('#'+tipo+'example'+id).DataTable();
                                t.row.add( [
                                    Recurso_text,
                                    ocupacion,
                                    horaslaboradas,
                                    textresult,
                                    datos[0],
                                    eliminar
                                ] ).draw( false );
                                $("#"+tipo+"limpia"+id).click();
                                
                                calculatotalconmarkup(id, tipo);
                                calculatotalconmarkup(id, "Indirectos");
                        }else{

                        }
                    });
            });

        }break;
        case 'Especialista':{
            //var montoest  = $("#montoest").val();
            //var montoest = $('#'+tipo+'montoest'+id).val();
            var montoest = $("#nuestramonto"+id).html();
            
            
            var idcotizacion = $("#ndegasto").val();
            var bandera= false;
                $.get("../core_update.php", {op:34,ndegasto:idcotizacion, tipo:"espe", Recurso:Recurso}, function(porcentaje){
                   porcentaje = parseFloat(porcentaje);
                   porcentaje = porcentaje + parseFloat(ocupacion,2);
                if(porcentaje <= 100){

                
	                var semanas = parseFloat(horasdur, 2);
	                var totaldehoras = parseFloat( 40 * semanas, 2);//total de horas
	                var ocupacioncent = parseFloat(ocupacion / 100);
	                var horaslaboradas = totaldehoras * ocupacioncent;
	                //var Toalcostocienporc = parseFloat(montoest * horasdur);
	                var ocupacioncent = parseFloat(ocupacion / 100);
	                Toalcostocienporc =  montoest * horaslaboradas;
	                var textresult = number_format(Toalcostocienporc, 2);

	                var sArray = ['""',
	                         "'"+id+"'",
	                         "'"+Recurso+"'",
	                         "'"+montoest+"'",
	                         "'"+ocupacion+"'",
	                         "'"+horaslaboradas+"'",
	                         "'"+tipo+"'"];

	                montoest = number_format(montoest, 2);


                    $.get("../core_update.php", {op:7,tcliente:"detalle_cotiza_etapas",sArray:sArray}, function(respuesta){
                        if(respuesta.indexOf('INSERT') == -1){
                            var eliminar = '<button class="btn btn-round btn-info" onclick="eliminarregistropress('+"'"+id+"', '"+respuesta+"'"+','+"'"+tabla+"'"+','+"'"+tipo+"'"+')" type="button" id="button">Borrar</button>';
                            var t = $('#'+tipo+'example'+id).DataTable();
                                t.row.add( [
                                    Recurso_text,
                                    ocupacion,
                                    horaslaboradas,
                                    "$"+textresult,
                                    eliminar
                                ] ).draw( false );
                                $("#"+tipo+"limpia"+id).click();

                                $("#EspecialistaRecurso"+id).val('');
                                $("#nuestramonto"+id).html('');
                                calculatotalconmarkup(id, tipo);
                        }else{

                        }
                    });
                
            }else{
                var resto = 100 - porcentaje +parseFloat(ocupacion,2);
                alert("No puede sobrepasar el 100 por ciento restan:" + resto + " para el concepto: "+ Recurso_text);
            }
            });
        }break;
        case 'OtrosDirectos':{
            //var montoest = $('#'+tipo+'montoest'+id).val();
            var montoest = $("#nuestramontootrosdirect"+id).html();
            var idcotizacion = $("#ndegasto").val();
            var bandera= false;
                $.get("../core_update.php", {op:34,ndegasto:idcotizacion, tipo:"OtrosDirectos", Recurso:Recurso}, function(porcentaje){
                   porcentaje = parseFloat(porcentaje);
                   porcentaje = porcentaje + parseFloat(ocupacion,2);
                if(porcentaje <= 100){

            var sArray = ['""',
                         "'"+id+"'",
                         "'"+Recurso+"'",
                         "'"+montoest+"'",
                         "'"+ocupacion+"'",
                         "'"+horasdur+"'",
                         "'"+tipo+"'"];
            
                //var Toalcostocienporc = parseFloat(montoest * horasdur);
                var ocupacioncent = parseFloat(ocupacion / 100);
                Toalcostocienporc =  montoest * ocupacioncent;
                var textresult = number_format(Toalcostocienporc, 2);

                    $.get("../core_update.php", {op:7,tcliente:"detalle_cotiza_etapas",sArray:sArray}, function(respuesta){
                        if(respuesta.indexOf('INSERT') == -1){
                            var eliminar = '<button class="btn btn-round btn-info" onclick="eliminarregistropress('+"'"+id+"', '"+respuesta+"'"+','+"'"+tabla+"'"+','+"'"+tipo+"'"+')" type="button" id="button">Borrar</button>';
                            var t = $('#'+tipo+'example'+id).DataTable();
                                t.row.add( [
                                    Recurso_text,
                                    ocupacion,
                                    montoest,
                                    "$"+textresult,
                                    eliminar
                                ] ).draw( false );
                                $("#"+tipo+"limpia"+id).click();
                                calculatotalconmarkup(id, tipo);
                        }else{

                        }
                    });
                }else{
	                var resto = 100 - porcentaje +parseFloat(ocupacion,2);
	                alert("No puede sobrepasar el 100 por ciento restan:" + resto + " para el concepto: "+ Recurso_text);
	            }
         	});

        }break;
        case 'Indirectos':{
            var montoest = $('#'+tipo+'montoest'+id).val();

            var sArray = ['""',
                         "'"+id+"'",
                         "'"+Recurso+"'",
                         "'"+ocupacion+"'",
                         "'"+montoest+"'",
                         "'"+horasdur+"'",
                         "'"+tipo+"'"];
            
                //var Toalcostocienporc = parseFloat(montoest * horasdur);
                var ocupacioncent = parseFloat(ocupacion / 100);
                Toalcostocienporc =  montoest * ocupacioncent;
                var textresult = number_format(Toalcostocienporc, 2);

                    $.get("../core_update.php", {op:7,tcliente:"detalle_cotiza_etapas",sArray:sArray}, function(respuesta){
                        if(respuesta.indexOf('INSERT') == -1){
                            var eliminar = '<button class="btn btn-round btn-info" onclick="eliminarregistropress('+"'"+id+"', '"+respuesta+"'"+','+"'"+tabla+"'"+','+"'"+tipo+"'"+')" type="button" id="button">Borrar</button>';
                            var t = $('#'+tipo+'example'+id).DataTable();
                                t.row.add( [
                                    Recurso_text,
                                    ocupacion,
                                    montoest,
                                    "$"+textresult,
                                    eliminar
                                ] ).draw( false );
                                $("#"+tipo+"limpia"+id).click();
                                calculatotalconmarkup(id, tipo);
                        }else{

                        }
                    });

        }break;
     }

    
    }else{
        alert("Faltan campos requeridos");
    }
}

function validaporcentaje(id, tipo, Recurso, ocupacion){
var idcotizacion = $("#ndegasto").val();
var bandera= false;
    $.get("../core_update.php", {op:34,ndegasto:idcotizacion, tipo:"espe", Recurso:Recurso}, function(porcentaje){
        porcentaje;
        if(porcentaje > 100){
            return false;
        }else{
            return true;
        }
    });
}

async function validaporcentajescd(id, tipo, Recurso, ocupacion){
var idcotizacion = $("#ndegasto").val();
var bandera= false;
    $.get("../core_update.php", {op:34,ndegasto:idcotizacion, tipo:"espe"}, function(nombreetapa){
        var datos = nombreetapa.split("~");//tendremos el array de los id de cada etapa
        var sumador=0;
        for(var x=0; x<datos.length; x++){
            var sumador = 0;
            $("#"+tipo+"example" + id + " tbody tr").each(function (index) {
                //alert(index);
                $(this).children("td").each(function (index2) {
                    var datovar = $(this).text();
                    if(Recurso == $(this).text()){
                                bandera = true;
                    }
                    if(bandera && index2==1){                    
                        sumador += parseFloat($(this).text().replace("%", "").replace(",", "").replace(",", "").replace(",", "").replace(",", ""));    
                        bandera=false;
                    }

                    /*switch (index2) {
                        case 0:
                        case 1:
                        break;
                    }*/
                });
            });
            
        //var datoporetapa = $("#Especialistaocupacion"+datos[x]).val();//dato que va introducir por etapa 
        }
        alert("estas ingresando "+ocupacion+" y llevas: "+sumador);
        var total = parseFloat( ocupacion, 2) + parseFloat(sumador, 2);
        if(total > 100){
            var disponible = 100 - sumador;
            alert("Sobre pasa el 100%: Sólo puedes ingresar: " + disponible + " para el concepto: "+Recurso);
            return false;
            break;
        }else{
            
            return true;

        }
    });
}

function calculatotalconmarkup(id, tipo){
var sumador = 0;
$("#"+tipo+"example" + id + " tbody tr").each(function (index) {
$(this).children("td").each(function (index2) {
switch (index2) {
case 3:
//alert($(this).text());
sumador += parseFloat($(this).text().replace("$", "").replace(",", "").replace(",", "").replace(",", "").replace(",", ""));
break;}
});
});
var sumatot = number_format(sumador);
$('#'+tipo+'subtotal'+id).val("$"+sumatot);
$('#total'+tipo+id).val("$"+sumatot);

var markup = $('#'+tipo+'markup'+id).val();
if(markup==""){
markup = 0;
}
markup = markup / 100;
var totalmarkup = parseFloat( markup * sumador);
var totmasmarkup = totalmarkup + sumador;

totalmarkup = "$" + number_format(totalmarkup, 2);
totmasmarkup = "$" + number_format(totmasmarkup, 2);
$('#'+tipo+'totalmarkup'+id).val(totalmarkup);
$('#'+tipo+'totmasmarkup'+id).val(totmasmarkup);

/*$.get("../core_update.php", {op:1,tabla:"cotiza_etapas",titulo:"markup",id:id,valorlabelnuevo:markup}, function(respuesta){  
    if(respuesta =="1"){
        
    }else{
        alert("Ocurrio un error");
    }
});
*/
}

function validarfechas(){
var boolean = true;
    $("input:checkbox:checked").each(function() {
        //var etapafi = $('#etapafi_' + $(this).val()).val();
        //var etapaff = $('#etapaff_' + $(this).val()).val();
        var fecha1 = new Date($('#etapafi_' + $(this).val()).val());
        var fecha2 = new Date($('#etapaff_' + $(this).val()).val());
        var etapad = $('#etapad_' + $(this).val()).val();
        if(fecha1 > fecha2){
            //alert("es menor la fecha 1");
            //return false;
            boolean = false;
        }
        if(etapad==""){
            boolean = false;
        }
        /*else{
            alert("es mayor la fecha 1");}
        if(etapaff<etapafi){
            return false;
        }*/
    });

    return boolean;
}

function validarfechased(){
var boolean = true;
    
     $("input:checkbox:checked").each(function() {
        //var etapafi = $('#etapafi_' + $(this).val()).val();
        //var etapaff = $('#etapaff_' + $(this).val()).val();
        var fecha1 = new Date($('#etapafi' + $(this).val()).val());
        var fecha2 = new Date($('#etapaff' +$(this).val()).val());
         
        if((fecha1 >= fecha2)|| fecha1=='Invalid Date' || fecha2=='Invalid Date' ){
            //return false;
            boolean = false;
        }
        /*else{
            alert("es mayor la fecha 1");}
        if(etapaff<etapafi){
            return false;
        }*/
    });

    return boolean;
}



function cargacotizacion(){
    armacotizador( $('#folio').val());
    //location.href="#cotizaetapas";
    armaniv1ed( $('#folio').val());
    $.get("../core_update.php", {op:53,cotiza:$('#folio').val()}, function(respuesta){
        sleep_ms(100);
        var option =  respuesta.split('/');
        if(option!=""){
            for (var i = 0; option.length > i; i++) {
            var valores =  option[i].split('*');
             if(valores!=""){
                 //alert(valores[3]);
                $('#status').val(parseInt(valores[3]));
                 $('#fechacotiza').val(valores[2]);
                 $('#impuesto').val(parseInt(valores[4]));
                 if(parseInt(valores[3])==1){
                     $('#status').prop("disabled",true);
                     deshabilitaed();
                     $('#impuesto').prop("disabled",true);
                     
                 }else{
                     $('#status').prop("disabled",false);
                     $('#impuesto').prop("disabled",false);
                 }
            }
            }
                 
        }
        });
    $.get("../core_update.php", {op:56,proy:$('#nombredeproyectos2').val()}, function(respuesta1){
        sleep_ms(100);
        var options=respuesta1.split("*");
            if (parseInt(options[6])==0){
            $('#cc').val(0);
            }else{
                $('#cc').val(parseInt(options[6]));
            }
        });
}

function deshabilitaed(){
    $('#edniv1 input').prop("disabled",true);
    $('#tablacaptura1 input').prop("disabled",true);
}

function estatuscotiza(){
    var opcion =confirm("Al cambiar el estatus a aprobada creara un CC para el proyecto y no podra ser modificada, asegurece de marcar correctamente la opción de impuestos, ¿desea continuar?");
    if(opcion==true){
    if( validarfechased()){
       alert("fechas validas");
       guardafechascot();
       var sentencia="";
        sentencia="update cotiza set estado=1, impuesto="+$('#impuesto').val() +" where id_cotiza="+$('#folio').val();
        $.get("../core_update.php", {op:55,sentencia:sentencia}, function(respuesta2){
            sleep_ms(100);
        });
        $.get("../core_update.php", {op:56,proy:$('#nombredeproyectos2').val()}, function(respuesta){
            sleep_ms(100);
            //alert(respuesta);
            var option=respuesta.split("*");
            if (parseInt(option[6])==0){
                var actual = new Date();
                var monthactual2 = actual.getUTCMonth()+1;
                var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();
                var horacompleta = (actual.getHours()<10 ? '0' : '') + actual.getHours() + ":" + (actual.getMinutes()<10 ? '0' : '') + actual.getMinutes() + ":" + (actual.getSeconds()<10 ? '0' : '') + actual.getSeconds();
                
                var sArray = ['""',
                              "'"+ option[1] +"'",
                              "'"+ option[3] +"'",
                              "'"+ option[4] +"'",
                              "'"+ option[5] +"'",                            
                              "'"+fechaactual2+" : "+horacompleta+"'"];
                
                
                $.get("../core_update.php", {op:7,tcliente:"cc",sArray:sArray}, function(respuesta1){
                    sleep_ms(100);
                    //alert(respuesta1);
                    $('#cc').val(respuesta1);
                    agregarpressrep(respuesta1,$('#folio').val());
                    var sentencia2="";
        sentencia2="update proyectos set cc="+ respuesta1+ " where id_proyectos="+$('#nombredeproyectos2').val();
        $.get("../core_update.php", {op:55,sentencia:sentencia2}, function(respuesta2){
            sleep_ms(100);
        });
                    
                    });
            }else{
                agregarpressrep(option[6],$('#folio').val());
            }
        });
        $('#status').prop("disabled", true)
        
        
   }else{
   alert("Revise las fechas capturadas")
       $('#status').val(0);
       //$('#status').prop("disabled", true)
   }
            }
}
function guardafechascot(){

    var cotiza=$('#folio').val();
    $("input:checkbox:checked").each(function() {
        var sentencia="";
        sentencia="update cotiza_etapas set etapafi='"+$('#etapafi'+$(this).val()).val()+"',etapaff='"+$('#etapaff'+$(this).val()).val()+"' where etapa="+$(this).val()+ " and id_cotiza="+cotiza;
$.get("../core_update.php", {op:55,sentencia:sentencia}, function(respuesta2){//consulta la cotización y las etapas de cada uno para 
sleep_ms(100);
});
  
        
        });
        
}
function armacotizador(id_cotizacion){
    $("input:checkbox").each(function() {
        $(this).prop("disabled", true);
        $('#etapafi_'+$(this).val()).prop("disabled", true);
        $('#etapaff_'+$(this).val()).prop("disabled", true);
        $('#etapad_'+$(this).val()).prop("disabled", true);
    });
    $('#aplicar').prop("disabled",true);
    $('#limpiargastos').prop("disabled",true);
$.get("../core_update.php", {op:26,id_cotizacion:id_cotizacion}, function(respuesta2){//consulta la cotización y las etapas de cada uno para poder llenar de productos
    $('#cotizaetapas').html(respuesta2);
});

}

function armacotizadormodifica(id_cotizacion){
    $("input:checkbox").each(function() {

        $(this).prop("disabled", true);
        $('#etapafi_'+$(this).val()).prop("disabled", true);
        $('#etapaff_'+$(this).val()).prop("disabled", true);
        $('#etapad_'+$(this).val()).prop("disabled", true);

    });
$.get("../core_update.php", {op:32,id_cotizacion:id_cotizacion}, function(respuesta2){//consulta la cotización y las etapas de cada uno para poder llenar de productos
    $('#cotizaetapas').html(respuesta2);
});

}
/*function agregarproductocotiza(id){
var nombreprod = $('#nombreprod').val();
var puestoprod = $('#puestoprod').val();
var sueldoprod = $('#sueldoprod').val();



}*/
function agregarespecialista(){
var nombreprod = $('#nombreprod').val();
var monto = $('#monto').val();
var descripcion = $('#descripcion').val();

var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();

var sArray = ['""',
 "'"+ nombreprod +"'",
 "'"+ monto +"'",
 "'"+ descripcion +"'",
 "'"+ fechaactual2 +"'"];
 $.get("../core_update.php", {op:7,tcliente:"Especialistas",sArray:sArray}, function(respuesta){
    if(respuesta.length > 1 ){
        
    }else{
        location.reload();
    }
    });
}

function agregarotrosdirect(){
var nombreprod = $('#nombreprod').val();
var monto = $('#monto').val();
var descripcion = $('#descripcion').val();

var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();

var sArray = ['""',
 "'"+ nombreprod +"'",
 "'"+ monto +"'",
 "'"+ descripcion +"'",
 "'"+ fechaactual2 +"'"];
 $.get("../core_update.php", {op:7,tcliente:"directos",sArray:sArray}, function(respuesta){
    if(respuesta.length > 1 ){
        
    }else{
        location.reload();
    }
    });
}

function agregarindirectos(){
var nombreprod = $('#nombreprod').val();
var monto = $('#monto').val();
var descripcion = $('#descripcion').val();

var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();

var sArray = ['""',
 "'"+ nombreprod +"'",
 "'"+ monto +"'",
 "'"+ descripcion +"'",
 "'"+ fechaactual2 +"'"];
 $.get("../core_update.php", {op:7,tcliente:"Indirectos",sArray:sArray}, function(respuesta){
    if(respuesta.length > 1 ){
        
    }else{
        location.reload();
    }
    });
}

function agregarproducto(){
var nombreprod = $('#nombreprod').val();
var puestoprod = $('#puestoprod').val();
var sueldoprod = $('#sueldoprod').val();
var costohora = $('#costohora').val();
var tiempohoras = $('#tiempohoras').val();
var tiempodiassemana = $('#tiempodiassemana').val();
var actual = new Date();
var monthactual2 = actual.getUTCMonth()+1;
var dia = (actual.getDate()<10 ? '0' : '') + actual.getDate();
var fechaactual2 = actual.getFullYear() + '-' + (monthactual2<10 ? '0' : '') + monthactual2 + '-' + (actual.getDate()<10 ? '0' : '') + actual.getDate();

var sArray = ['""',
 "'"+ nombreprod +"'",
 "'"+ puestoprod +"'",
 "'"+ sueldoprod +"'",
 "'"+ costohora +"'",
 "'"+ tiempohoras +"'",
 "'"+ tiempodiassemana +"'",
 "'"+ fechaactual2 +"'"];
 $.get("../core_update.php", {op:7,tcliente:"catproduct",sArray:sArray}, function(respuesta){
    if(respuesta.length > 1 ){
        
    }else{
        location.reload();
    }
    });
}

function actualizaempresa(empresa, Hrslab, id_empresa){
    var valor  = $("#horas").val();
    $.get("../core_update.php", {op:1,tabla:empresa,titulo:Hrslab,id:id_empresa,valorlabelnuevo:valor}, function(respuesta){
        respuesta;
    }); 
     alert("Se actualziaron las horas laborables");
}


function editarhabilitado(usuarios, habilitado, id_usuarios){
    var valor  = $("#"+habilitado+usuarios+id_usuarios).val();
    $.get("../core_update.php", {op:1,tabla:usuarios,titulo:habilitado,id:id_usuarios,valorlabelnuevo:valor}, function(respuesta){
        respuesta;
    }); 
}
function editarpuesto(usuarios, puesto,id_usuarios ){
    var valor  = $("#"+puesto+usuarios+id_usuarios).val();
    var sueldo = parseFloat($('#Salariousuarios'+id_usuarios).text());
    $.get("../core_update.php", {op:43,idpuesto:valor}, function(respuesta){
				if(sueldo <= respuesta){
					    $.get("../core_update.php", {op:1,tabla:usuarios,titulo:puesto,id:id_usuarios,valorlabelnuevo:valor}, function(respuesta){
                            respuesta;
                        }); 
                }else{
                    alert("El sueldo no puede ser mayor a el configurado en el puesto");
                }
    });
}
function editarSalario(tabla, titulo,id){
    var valorlabel = $("#"+titulo+tabla+id).text();
    var label = $("#"+titulo+tabla+id);
    var guia = $("#GuiadeEnvio"+tabla+id).text();
    label.removeAttr('ondblclick');
    $("#"+titulo+tabla+id).empty();//borramos el label que dice prueba

    var input="<input type='text' class='form-control' title='Ingrese el nuevo texto y presione enter' id='inp"+titulo+tabla+id+"' value='"+valorlabel+"'>";
    
    $("#"+titulo+tabla+id).prepend(input);//agrgamos lca caja
        
    var inputinsertado = $("#inp"+titulo+tabla+id);//obtenemos el input 
    inputinsertado.keydown(function(e){//evento
    var code= e.keyCode;//obtenemos el codigo del enter
    
    if (code==13  ){
        if(inputinsertado.val() != valorlabel){
            var valorlabelnuevo = parseFloat(inputinsertado.val());
            
            
            var p =  $("#"+"Puestousuarios"+id+" option:selected").text();
        
            $.get("../core_update.php", {op:46,puesto:p}, function(respuesta){
                //alert(respuesta);
                if(valorlabelnuevo <= respuesta){
				    $.get("../core_update.php", {op:1,tabla:tabla,titulo:titulo,id:id,valorlabelnuevo:valorlabelnuevo}, function(respuesta){
                        respuesta;
                    
                    if(respuesta =="1"){
                        $("#"+this.id).remove();//quitamos el cuadro
                        label.text(valorlabelnuevo);//agregamos el valor
                        label.attr("ondblclick","editarSalario('"+tabla+"', '"+titulo+"', '"+id+"');");//asignams nuevamente la funcion
                    }else{
                        alert("Ocurrio un error:  " + respuesta);
                        $("#"+this.id).remove();//quitamos el cuadro
                        label.text(valorlabel);//agregamos el valor
                        label.attr("ondblclick","editarSalario('"+tabla+"', '"+titulo+"', '"+id+"');");//asignams nuevamente la funcion
                    }
                        
                    
                    }); 
                }else{
                    alert("El sueldo no puede ser mayor al configurado en el puesto");
                    $("#"+this.id).remove();//quitamos el cuadro
                    label.text(valorlabel);//agregamos el valor
                    label.attr("ondblclick","editarSalario('"+tabla+"', '"+titulo+"', '"+id+"');");
                }
            });
                                
        }else{
            $("#"+this.id).remove();//quitamos el cuadro
            label.text(valorlabel);//agregamos el valor
            label.attr("ondblclick","editarSalario('"+tabla+"', '"+titulo+"', '"+id+"');");//asignams nuevamente la funcion
        }
    }
    });
    
}

function editarCostoHora(tabla, titulo,id){
    var valorlabel = $("#"+titulo+tabla+id).text();
    var label = $("#"+titulo+tabla+id);
    var guia = $("#GuiadeEnvio"+tabla+id).text();
    label.removeAttr('ondblclick');
    $("#"+titulo+tabla+id).empty();//borramos el label que dice prueba

    var input="<input type='text' class='form-control' title='Ingrese el nuevo texto y presione enter' id='inp"+titulo+tabla+id+"' value='"+valorlabel+"'>";
    
    $("#"+titulo+tabla+id).prepend(input);//agrgamos lca caja
        
    var inputinsertado = $("#inp"+titulo+tabla+id);//obtenemos el input 
    inputinsertado.keydown(function(e){//evento
    var code= e.keyCode;//obtenemos el codigo del enter
    
    if (code==13  ){
        if(inputinsertado.val() != valorlabel){
            var valorlabelnuevo = parseFloat(inputinsertado.val());
            
            
            var p =  $("#"+"Puestousuarios"+id+" option:selected").text();
        
            $.get("../core_update.php", {op:47,puesto:p}, function(respuesta){
                //alert(respuesta);
                if(valorlabelnuevo <= respuesta){
				    $.get("../core_update.php", {op:1,tabla:tabla,titulo:titulo,id:id,valorlabelnuevo:valorlabelnuevo}, function(respuesta){
                        respuesta;
                    
                    if(respuesta =="1"){
                        $("#"+this.id).remove();//quitamos el cuadro
                        label.text(valorlabelnuevo);//agregamos el valor
                        label.attr("ondblclick","editarCostoHora('"+tabla+"', '"+titulo+"', '"+id+"');");//asignams nuevamente la funcion
                    }else{
                        alert("Ocurrio un error:  " + respuesta);
                        $("#"+this.id).remove();//quitamos el cuadro
                        label.text(valorlabel);//agregamos el valor
                        label.attr("ondblclick","editarCostoHora('"+tabla+"', '"+titulo+"', '"+id+"');");//asignams nuevamente la funcion
                    }
                        
                    
                    }); 
                }else{
                    alert("El costo por hora no puede ser mayor al configurado en el puesto");
                    $("#"+this.id).remove();//quitamos el cuadro
                    label.text(valorlabel);//agregamos el valor
                    label.attr("ondblclick","editarCostoHora('"+tabla+"', '"+titulo+"', '"+id+"');");
                }
            });
                                
        }else{
            $("#"+this.id).remove();//quitamos el cuadro
            label.text(valorlabel);//agregamos el valor
            label.attr("ondblclick","editarCostoHora('"+tabla+"', '"+titulo+"', '"+id+"');");//asignams nuevamente la funcion
        }
    }
    });
    
}




function validacien(id){
var nominaocupacion = $('#Nominaocupacion'+id).val();
var Nominahorasdur = $('#Nominahorasdur'+id).val();
var NominaRecurso = $('#NominaRecurso'+id).val();
//Nominahorasdur
//Nominaocupacion
//Nominahorasdur

	$.get("../core_update.php", {op:39,NominaRecurso:NominaRecurso}, function(respuesta){
    //respuesta;
    nominaocupacion = nominaocupacion / 100;
    respuesta = respuesta * Nominahorasdur;
	nominaocupacion = parseFloat(nominaocupacion, 2);
	Nominahorasdur = parseFloat(Nominahorasdur, 2);
	if(respuesta!=""){
		var resultado = nominaocupacion * parseFloat(respuesta);
		$('#horasrecurso'+id).html(resultado + " Hrs.");	
	}else{
		$('#horasrecurso'+id).html("");
	}
	
	    if(nominaocupacion>100){
	        $('#Nominaocupacion'+id).val(0);
			$('#horasrecurso'+id).html("");

	        alert("La ocupación no puede mayor a 100 %");
	    }
    });
}

function getdetallepresscc(id, t){
    $.get("../core_update.php", {op:38,id:id}, function(respuesta){
        $('#tablapressdetalle').html(respuesta);
    });
}

function actualizacheckeimp(ids){
	var idsarray = ids.split("~");
	var aNominamarkup = [];
	var aEspecialistamarkup = [];
	var aOtrosDirectosmarkup = [];
	var aIndirectosmarkup = [];
	var aTotalimpuestos = [];
	var aid =[];

	var nomina= 0;//totalNomina
	var especialistas= 0;//totalEspecialista
	var otrosodirectos= 0;//totalOtrosDirectos
	var indirectos= 0;//totalIndirectos
	var markup= 0;//totalmarkup
	var impuestos= 0;//totalimpuestos


	for (var i = 0; i < idsarray.length-1; i++) {
		var id = idsarray[i]; 
		//alert(idsarray[i]);
		aid[i]=id;

		aNominamarkup[i] = $("#Nominamarkup"+id).val();
		aEspecialistamarkup[i] = $("#Especialistamarkup"+id).val();
		aOtrosDirectosmarkup[i] = $("#OtrosDirectosmarkup"+id).val();
		aIndirectosmarkup[i] = $("#Indirectosmarkup"+id).val();
		aTotalimpuestos[i] = $("#totalimpuestos"+id).val();

		nomina += parseFloat($("#totalNomina"+id).val().replace("$","").replace(",","").replace(",","")); 
		especialistas += parseFloat($("#totalEspecialista"+id).val().replace("$","").replace(",","").replace(",","")); 
		otrosodirectos += parseFloat($("#totalOtrosDirectos"+id).val().replace("$","").replace(",","").replace(",","")); 
		indirectos += parseFloat($("#totalIndirectos"+id).val().replace("$","").replace(",","").replace(",","")); 
		markup += parseFloat($("#totalmarkup"+id).val().replace("$","").replace(",","").replace(",","")); 
		impuestos += parseFloat($("#totalimpuestos"+id).val().replace("$","").replace(",","").replace(",","")); 


		

		/*$.get("../core_update.php", {op:1,tabla:"cotiza_etapas",titulo:"markup",id:id,valorlabelnuevo:Nominamarkup}, function(respuesta1){
			$.get("../core_update.php", {op:1,tabla:"cotiza_etapas",titulo:"markupe",id:id,valorlabelnuevo:Especialistamarkup}, function(respuesta2){
				$.get("../core_update.php", {op:1,tabla:"cotiza_etapas",titulo:"markupod",id:id,valorlabelnuevo:OtrosDirectosmarkup}, function(respuesta3){
					$.get("../core_update.php", {op:1,tabla:"cotiza_etapas",titulo:"markupi",id:id,valorlabelnuevo:Indirectosmarkup}, function(respuesta4){
						$.get("../core_update.php", {op:1,tabla:"cotiza_etapas",titulo:"impuestos",id:id,valorlabelnuevo:Indirectosmarkup}, function(respuesta5){
							if(respuesta1 && respuesta2 && respuesta3 && respuesta4 && respuesta5){
								alert(respuesta1+" :\n "+respuesta2+" :\n "+respuesta3+" :\n "+respuesta4+" :\n "+respuesta5);
							}
						});
					});
				});
			});
		});*/


	}
	
	var totaldemontos = nomina + especialistas + otrosodirectos + indirectos + markup + impuestos;


	var t = $('#totalesmontos').DataTable();
            t.row.add( [
                nomina,
                especialistas,
                otrosodirectos,
                indirectos,
                markup,
                impuestos,
                totaldemontos
            ] ).draw( false );
            $("#idtableoculta").show();
            $("#idgeneratotalesbotongurdar").disabled(true);
            location.href="#idtableoculta";
	
	$.get("../core_update.php", {op:42,id:aid,markup:aNominamarkup,markupe:aEspecialistamarkup,markupod:aOtrosDirectosmarkup,markupi:aIndirectosmarkup,impuestos:aTotalimpuestos}, function(respuesta){
		//alert(respuesta);
	});
}
(function() {
  /**
   * Ajuste decimal de un número.
   *
   * @param {String}  tipo  El tipo de ajuste.
   * @param {Number}  valor El numero.
   * @param {Integer} exp   El exponente (el logaritmo 10 del ajuste base).
   * @returns {Number} El valor ajustado.
   */
  function decimalAdjust(type, value, exp) {
    // Si el exp no está definido o es cero...
    if (typeof exp === 'undefined' || +exp === 0) {
      return Math[type](value);
    }
    value = +value;
    exp = +exp;
    // Si el valor no es un número o el exp no es un entero...
    if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
      return NaN;
    }
    // Shift
    value = value.toString().split('e');
    value = Math[type](+(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp)));
    // Shift back
    value = value.toString().split('e');
    return +(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp));
  }

  // Decimal round
  if (!Math.round10) {
    Math.round10 = function(value, exp) {
      return decimalAdjust('round', value, exp);
    };
  }
  // Decimal floor
  if (!Math.floor10) {
    Math.floor10 = function(value, exp) {
      return decimalAdjust('floor', value, exp);
    };
  }
  // Decimal ceil
  if (!Math.ceil10) {
    Math.ceil10 = function(value, exp) {
      return decimalAdjust('ceil', value, exp);
    };
  }
})();
