function Obra(){
    this.nombre = '';
    this.obra = ''
}

function Ambiente () {
    this.techoPlano = 0;
    this.techoInclinado = 0;
    this.paredSurAltura = 0;
    this.paredSurBase = 0;
    this.paredSurK = 0;
    this.paredSurTempInt = 0;
    this.paredSurTempExt=0
    this.paredNorteAltura = 0;
    this.paredNorteBase = 0;
    this.paredNorteK = 0;
    this.paredNorteTempInt = 0;
    this.paredNorteTempExt=0
    this.paredEsteAltura = 0;
    this.paredEsteBase = 0;
    this.paredEsteK = 0;
    this.paredEsteTempInt = 0;
    this.paredEsteTempExt=0
    this.paredOesteAltura = 0;
    this.paredOesteBase = 0;
    this.paredOesteK = 0;
    this.paredOesteTempInt = 0;
    this.paredOesteTempExt=0
    this.ventana1Altura = 0;
    this.ventana1Base = 0;
    this.ventana1Ubicacion = '';
    this.ventana1K=0;
    this.ventana1TempInt=0;
    this.ventana1TempExt=0;
    this.ventana2Altura = 0;
    this.ventana2Base = 0;
    this.ventana2Ubicacion = '';
    this.ventana2K=0;
    this.ventana2TempInt=0;
    this.ventana2TempExt=0;
    this.pisoAltura = 0;
    this.pisoBase = 0;
    this.pisoK=0;
    this.pisoTempInt = 0;
    this.pisoTempExt=0;
    this.techoAltura = 0;
    this.techoBase = 0;
    this.techoK=0;
    this.techoTempInt=0;
    this.techoTempExt=0;
    this.subtotalQ = 0;
    this.renovacionPorHora = 0;
    this.q = 0;
    this.ambiente = "";

}

function CalculoSimple(){
	this.tiroBalanceado = false;
	this.conveccion = false;
	this.vivienda = 0;
        this.gas = false;
	this.banoDormitorio = false;
        this.clima =false;
        this.ancho = 0;
        this.largo = 0;
        this.altura  = 0;
        this.setDimensiones=function(){
        $("#metros_ambiente input").each(function(){
            if(jQuery.trim($(this).val())==''){
                $(this).addClass("missed");
            }
        });
           if($("#metros_ambiente .missed").length>0 || $("#altura").val()<1 ||$("#altura").val()>99 || $("#ancho").val()<1 ||$("#ancho").val()>99 || $("#largo").val()<1 ||$("#largo").val()>99 ){
                showAlertMessage("Por favor complet&aacute; todas las medidas con n&uacute;meros no mayores a dos d&iacute;gitos.");
           }else{
           this.altura = $("#altura").val();
           this.ancho =  $("#ancho").val();
           this.largo =  $("#largo").val();
           var k = 0;
           //Calcular calorías
           //......Calculo aquí-----> k=formula
           v=this.altura*this.ancho*this.largo;
          // k = v*this.clima *1.75;
           //var numberObj = new Number(k);

           //gotoNextStep('_balance_termico_modo_simple_paso_7.php?k='+numberObj.toFixed(2)+'&con='+this.conveccion+'&tir='+this.tiroBalanceado+'&ac='+this.aireCalor+'&viv='+this.vivienda);
           gotoNextStep('_balance_termico_modo_simple_paso_7.php?v='+v+'&cli='+this.clima+'&con='+this.conveccion+'&tir='+this.tiroBalanceado+'&ac='+this.aireCalor+'&viv='+this.vivienda+'&gas='+this.gas);
        }
    };
}

function showEnviarCalculoSimple(totalK,tir,con,ac,gas){
         $.ajax({
            async: true,
            type: "POST",
            url: "_ajax_balance_termico.php",
            data: "opc=showSendSimpleForm&totalK="+totalK+"&tir="+tir+"&con="+con+"&ac="+ac+"&gas="+gas,
            success: function(data){
                MySimpleLightBox.loadHTML(data);
            }
        });
}

function enviarCalculoSimple(totalK,tir,con,ac,gas){
    if(checkFormFields('enviar_calculo_form', 1, 0, '#656565', '#FFFFFF')){
         $("#enviar_calculo_form").addAjaxLoader();
         $.ajax({
            async: true,
            type: "POST",
            url: "_ajax_balance_termico.php",
            data: "opc=sendSimpleForm&toEmail="+$("#toEmail").val()+"&fromName="+$("#fromName").val()+"&ambiente="+$("#ambiente").val()+"&recibir="+($("#chk_quiero_recibir_noticias:checked").length>0?1:0)+"&totalK="+totalK+"&tir="+tir+"&con="+con+"&ac="+ac+"&gas="+gas,
            success: function(data){
               $("#enviar_calculo_form").removeAjaxLoader();
               MySimpleLightBox.close("#enviar_calculo_form");
               MySimpleLightBox.loadHTML(data);
            }
        });
    }
}


var ambientes = [];
var obra = new Obra();
var calculoSimple = new CalculoSimple();
var last_k = "";
var last_temp_int = "";
var last_temp_ext = "";
var last_cerramiento_vertical = "";

function show_expert_grid(){
    
    $.ajax({
        async: true,
        type: "POST",
        url: "_ajax_balance_termico.php",
        data: "opc=grid",
        success: function(data){
           $("#container").html(data);
           loadExpertGrid();
        }
    });
}

function show_expert_form(idx){
    last_k = "";
    last_temp_int = "";
    last_temp_ext = "";
    last_cerramiento_vertical = "";
    $("#container").addAjaxLoader();
    idx=idx!=undefined?idx:-1;
    $.ajax({
        async: true,
        type: "POST",
        url: "_ajax_balance_termico.php",
        data: "opc=expert_form"+(idx!=-1?"&idx="+idx:""),
        success: function(data){
           $("#container").html(data);
           if(idx!=-1){
               loadExpertForm(idx);
           }
           else{
                $("#container").removeAjaxLoader();
           }
        }
    });
}

function loadExpertForm(idx){
    ambiente = ambientes[idx];
    $("#pared_n_base").val(ambiente.paredNorteBase);
    $("#pared_n_altura").val(ambiente.paredNorteAltura);
    $("#pared_s_base").val(ambiente.paredSurBase);
    $("#pared_s_altura").val(ambiente.paredSurAltura);
    $("#pared_e_base").val(ambiente.paredEsteBase);
    $("#pared_e_altura").val(ambiente.paredEsteAltura);
    $("#pared_o_base").val(ambiente.paredOesteBase);
    $("#pared_o_altura").val(ambiente.paredOesteAltura);
    $("#ventana_a_base").val(ambiente.ventana1Base);
    $("#ventana_a_altura").val(ambiente.ventana1Altura);
    $("#orientacion_ventana_a_valor").val(ambiente.ventana1Ubicacion);
    $("#ventana_b_base").val(ambiente.ventana2Base);
    $("#ventana_b_altura").val(ambiente.ventana2Altura);
    $("#orientacion_ventana_b_valor").val(ambiente.ventana2Ubicacion);
    $("#pared_n_k").html(ambiente.paredNorteK);
    $("#pared_n_temp_int").html(ambiente.paredNorteTempInt);
    $("#pared_n_temp_ext").html(ambiente.paredNorteTempExt);
    $("#pared_s_k").html(ambiente.paredSurK);
    $("#pared_s_temp_int").html(ambiente.paredSurTempInt);
    $("#pared_s_temp_ext").html(ambiente.paredSurTempExt);
    $("#pared_e_k").html(ambiente.paredEsteK);
    $("#pared_e_temp_int").html(ambiente.paredEsteTempInt);
    $("#pared_e_temp_ext").html(ambiente.paredEsteTempExt);
    $("#pared_o_k").html(ambiente.paredOesteK);
    $("#pared_o_temp_int").html(ambiente.paredOesteTempInt);
    $("#pared_o_temp_ext").html(ambiente.paredOesteTempExt);
    $("#ventana_a_k").html(ambiente.ventana1K);
    $("#ventana_a_temp_int").html(ambiente.ventana1TempInt);
    $("#ventana_a_temp_ext").html(ambiente.ventana1TempExt);
    $("#ventana_b_k").html(ambiente.ventana2K);
    $("#ventana_b_temp_int").html(ambiente.ventana2TempInt);
    $("#ventana_b_temp_ext").html(ambiente.ventana2TempExt);
    $("#piso_k").html(ambiente.pisoK);
    $("#piso_temp_int").html(ambiente.pisoTempInt);
    $("#piso_temp_ext").html(ambiente.pisoTempExt);
    $("#techo_a_k").html(ambiente.techoK);
    $("#techo_temp_int").html(ambiente.techoTempInt);
    $("#techo_temp_ext").html(ambiente.techoTempExt);
    $("#renovacion_x_hora").html(ambiente.renovacionPorHora);
    $("#ambiente").val(ambiente.ambiente);
    if(ambiente.techoPlano == true){
        $("#techo_plano").attr("checked",true);
    }
    else{
        $("#techo_inclinado").attr("checked",true);
        $("#pared_n_altura").attr('readonly',true);
        $("#pared_s_altura").attr('readonly',true);
        $("#pared_e_altura").attr('readonly',true);
        $("#pared_o_altura").attr('readonly',true);
        $("#img_tipo_techo").attr('src','images/bg/balance-termico-experto_tabla2_techo_inclinado_icono.jpg');
    }

    updateGrid();
    $("#container").removeAjaxLoader();

}

function altura_techo_plano(){
    $("#pared_n_altura").removeAttr('readonly');
    $("#pared_s_altura").removeAttr('readonly');
    $("#pared_e_altura").removeAttr('readonly');
    $("#pared_o_altura").removeAttr('readonly');
    $("#img_tipo_techo").attr("src", "images/bg/balance-termico-experto_tabla2_techo_plano_icono.jpg");
    MySimpleLightBox.close();
   
}


function altura_techo_inclinado(){
    $.ajax({
        async: true,
        type: "POST",
        url: "_ajax_balance_termico.php",
        data: "opc=altura_techo_inclinado",
        success: function(data){
            $("#img_tipo_techo").attr("src", "images/bg/balance-termico-experto_tabla2_techo_inclinado_icono.jpg");
            MySimpleLightBox.loadHTML(data);
            $("#pared_n_altura").attr('readonly',true);
            $("#pared_s_altura").attr('readonly',true);
            $("#pared_e_altura").attr('readonly',true);
            $("#pared_o_altura").attr('readonly',true);
            
        }
    });
}

function set_altura_techo_inclinado(){
    var error = false;
    $("#balance_termico_options").find(".required").each(function(){
        if($(this).val()==''){
            error = true;
            $(this).data('bg',$(this).css('background'));
            $(this).css('backgroundColor','red');
            $(this).keyup(function(){
                $(this).css('backgroundColor',$(this).data('bg'));
            });
        }
    });

    if(!error){
        var pared_n_altura_mayor = isNaN(parseFloat($("#pared_n_altura_mayor").val()))?0:parseFloat($("#pared_n_altura_mayor").val());
        var pared_n_altura_menor = isNaN(parseFloat($("#pared_n_altura_menor").val()))?0:parseFloat($("#pared_n_altura_menor").val());
        var pared_s_altura_mayor = isNaN(parseFloat($("#pared_s_altura_mayor").val()))?0:parseFloat($("#pared_s_altura_mayor").val());
        var pared_s_altura_menor = isNaN(parseFloat($("#pared_s_altura_menor").val()))?0:parseFloat($("#pared_s_altura_menor").val());
        var pared_e_altura_mayor = isNaN(parseFloat($("#pared_e_altura_mayor").val()))?0:parseFloat($("#pared_e_altura_mayor").val());
        var pared_e_altura_menor = isNaN(parseFloat($("#pared_e_altura_menor").val()))?0:parseFloat($("#pared_e_altura_menor").val());
        var pared_o_altura_mayor = isNaN(parseFloat($("#pared_o_altura_mayor").val()))?0:parseFloat($("#pared_o_altura_mayor").val());
        var pared_o_altura_menor = isNaN(parseFloat($("#pared_o_altura_menor").val()))?0:parseFloat($("#pared_o_altura_menor").val());



        var promedio_n = (pared_n_altura_mayor + pared_n_altura_menor) / 2;
        var promedio_s = (pared_s_altura_mayor + pared_s_altura_menor) / 2;
        var promedio_e = (pared_e_altura_mayor + pared_e_altura_menor) / 2;
        var promedio_o = (pared_o_altura_mayor + pared_o_altura_menor) / 2;

        var numberObj;
        numberObj = new Number(promedio_n)
        $("#pared_n_altura").val(promedio_n>0?numberObj.toFixed(2):"&nbsp;");
        numberObj = new Number(promedio_s)
        $("#pared_s_altura").val(promedio_s>0?numberObj.toFixed(2):"&nbsp;");
        numberObj = new Number(promedio_e);
        $("#pared_e_altura").val(promedio_e>0?numberObj.toFixed(2):"&nbsp;");
        numberObj = new Number(promedio_o);
        $("#pared_o_altura").val(promedio_o>0?numberObj.toFixed(2):"&nbsp;");
        
        MySimpleLightBox.close();
        updateGrid();
    }
}

function select_ventana_a(){
    if($("#orientacion_ventana_a_valor").val()!=''){
        if($("#orientacion_ventana_a_valor").val() == $("#orientacion_ventana_b_valor").val()){
            $("#orientacion_ventana_a_valor").val('');
        }
    }
    updateDescuentoVentanas();

}

function select_ventana_b(){
    if($("#orientacion_ventana_b_valor").val()!=''){
        if($("#orientacion_ventana_b_valor").val() == $("#orientacion_ventana_a_valor").val()){
            $("#orientacion_ventana_b_valor").val('');
        }
    }
    updateDescuentoVentanas();
}

function updateDescuentoVentanas(){
    $("#desc_pared_n").html("");
    $("#desc_pared_s").html("");
    $("#desc_pared_e").html("");
    $("#desc_pared_o").html("");

    var orientacion_a = $("#orientacion_ventana_a_valor").val();
    var orientacion_b = $("#orientacion_ventana_b_valor").val();
    var numberObj;

    if(orientacion_a!=''){
        var ventana_a_base = isNaN(parseFloat($("#ventana_a_base").val()))?0:parseFloat($("#ventana_a_base").val())
        var ventana_a_altura = isNaN(parseFloat($("#ventana_a_altura").val()))?0:parseFloat($("#ventana_a_altura").val())
        var ventana_a_desc = parseFloat((ventana_a_base*ventana_a_altura));
        numberObj = new Number(ventana_a_desc);
        $("#desc_pared_"+orientacion_a).html(ventana_a_desc>0?numberObj.toFixed(2):'&nbsp;');
    }

    if(orientacion_b!= ''){
        var ventana_b_base = isNaN(parseFloat($("#ventana_b_base").val()))?0:parseFloat($("#ventana_b_base").val())
        var ventana_b_altura = isNaN(parseFloat($("#ventana_b_altura").val()))?0:parseFloat($("#ventana_b_altura").val())
        var ventana_b_desc = parseFloat((ventana_b_base*ventana_b_altura));
        numberObj = new Number(ventana_b_desc)
        $("#desc_pared_"+orientacion_b).html(ventana_b_desc>0?numberObj.toFixed(2):'&nbsp;');
    }

}

function updateValorReal(){

    var pared_n_base = isNaN(parseFloat($("#pared_n_base").val()))?0:parseFloat($("#pared_n_base").val());
    var pared_n_altura = isNaN(parseFloat($("#pared_n_altura").val()))?0:parseFloat($("#pared_n_altura").val());
    var pared_n = pared_n_base * pared_n_altura;

    var pared_s_base = isNaN(parseFloat($("#pared_s_base").val()))?0:parseFloat($("#pared_s_base").val());
    var pared_s_altura = isNaN(parseFloat($("#pared_s_altura").val()))?0:parseFloat($("#pared_s_altura").val());
    var pared_s = pared_s_base * pared_s_altura;

    var pared_e_base = isNaN($("#pared_e_base").val()) || $("#pared_e_base").val() == ''?0:parseFloat($("#pared_e_base").val());
    var pared_e_altura = isNaN($("#pared_e_altura").val()) || $("#pared_e_altura").val() == ''?0:parseFloat($("#pared_e_altura").val());
    var pared_e = pared_e_base * pared_e_altura;

    var pared_o_base = isNaN(parseFloat($("#pared_o_base").val()))?0:parseFloat($("#pared_o_base").val());
    var pared_o_altura = isNaN(parseFloat($("#pared_o_altura").val()))?0:parseFloat($("#pared_o_altura").val());
    var pared_o = pared_o_base * pared_o_altura;

    var ventana_a_base = isNaN(parseFloat($("#ventana_a_base").val()))?0:parseFloat($("#ventana_a_base").val());
    var ventana_a_altura = isNaN(parseFloat($("#ventana_a_altura").val())) ?0:parseFloat($("#ventana_a_altura").val());
    var ventana_a = ventana_a_base * ventana_a_altura;

    var ventana_b_base = isNaN(parseFloat($("#ventana_b_base").val()))?0:parseFloat($("#ventana_b_base").val());
    var ventana_b_altura = isNaN(parseFloat($("#ventana_b_altura").val()))?0:parseFloat($("#ventana_b_altura").val());
    var ventana_b = ventana_b_base * ventana_b_altura;

    var piso_lado_a = isNaN($("#piso_lado_a").html()) || $("#piso_lado_a").html() == ''?0:parseFloat($("#piso_lado_a").html());
    var piso_lado_b = isNaN($("#piso_lado_b").html()) || $("#piso_lado_b").html() == 'p'?0:parseFloat($("#piso_lado_b").html());
    var piso = piso_lado_a  * piso_lado_b;
    
    var techo_lado_a = isNaN(parseFloat($("#techo_lado_a").html()))?0:parseFloat($("#techo_lado_a").html());
    var techo_lado_b = isNaN(parseFloat($("#techo_lado_b").html()))?0:parseFloat($("#techo_lado_b").html());
    var techo = techo_lado_a  * techo_lado_b;


    var desc_pared_n = isNaN(parseFloat($("#desc_pared_n").html()))?0:parseFloat($("#desc_pared_n").html());
    var desc_pared_s = isNaN(parseFloat($("#desc_pared_s").html()))?0:parseFloat($("#desc_pared_s").html());
    var desc_pared_o = isNaN(parseFloat($("#desc_pared_o").html()))?0:parseFloat($("#desc_pared_o").html());
    var desc_pared_e = isNaN(parseFloat($("#desc_pared_e").html()))?0:parseFloat($("#desc_pared_e").html());


    var pared_n_sup_real = pared_n - desc_pared_n;
    var pared_s_sup_real = pared_s - desc_pared_s;
    var pared_e_sup_real = pared_e - desc_pared_e;
    var pared_o_sup_real = pared_o - desc_pared_o;

    var numberObj;

    numberObj = new Number(pared_n_sup_real);
    $("#pared_n_sup_real").html(pared_n_sup_real>0?numberObj.toFixed(2):"&nbsp;");

    numberObj = new Number(pared_s_sup_real);
    $("#pared_s_sup_real").html(pared_s_sup_real>0?numberObj.toFixed(2):"&nbsp;");

    numberObj = new Number(pared_e_sup_real);
    $("#pared_e_sup_real").html(pared_e_sup_real>0?numberObj.toFixed(2):"&nbsp;");
    
    numberObj = new Number(pared_o_sup_real);
    $("#pared_o_sup_real").html(pared_o_sup_real>0?numberObj.toFixed(2):"&nbsp;");
    
    numberObj = new Number(ventana_a);
    $("#ventana_a_sup_real").html(ventana_a>0?numberObj.toFixed(2):"&nbsp;");

    numberObj = new Number(ventana_b);
    $("#ventana_b_sup_real").html(ventana_b>0?numberObj.toFixed(2):"&nbsp;");

    numberObj = new Number(piso);
    $("#piso_sup_real").html(piso>0?numberObj.toFixed(2):"&nbsp;");

    numberObj = new Number(techo);
    $("#techo_sup_real").html(techo>0?numberObj.toFixed(2):"&nbsp;");
    

}


function set_piso_techo_base(){

    var base = 0;

    var pared_n_base = isNaN(parseFloat($("#pared_n_base").val()))?0:parseFloat($("#pared_n_base").val());
    var pared_s_base = isNaN(parseFloat($("#pared_s_base").val()))?0:parseFloat($("#pared_s_base").val());
    base = parseFloat((pared_n_base + pared_s_base)/2);
    var numberObj = new Number(base);
    $("#piso_lado_a").html(base>0?numberObj.toFixed(2):"&nbsp;");
    $("#techo_lado_a").html(base>0?numberObj.toFixed(2):"&nbsp;");
  
}

function set_piso_techo_altura(){
    var  altura = 0;
    var pared_e_base = isNaN($("#pared_e_base").val()) || $("#pared_e_base").val() == ''?0:parseFloat($("#pared_e_base").val());
    var pared_o_base = isNaN($("#pared_o_base").val()) || $("#pared_o_base").val() == ''?0:parseFloat($("#pared_o_base").val());

    altura = parseFloat((pared_e_base + pared_o_base)/2);
    var numberObj = new Number(altura);
    $("#piso_lado_b").html(altura>0?numberObj.toFixed(2):"&nbsp;");
    $("#techo_lado_b").html(altura>0?numberObj.toFixed(2):"&nbsp;");
}


function showSelector(el,tipo){

    var procced = true;
    var message = '';
    switch(tipo){
        case 'verticales':
        case 'ventanas':
        case 'pisos':
        case 'techos':
            $(el).parents("tr").find("[id$='base'],[id$='altura'],[id$='lado_a'],[id$='lado_b']").each(function(){
                if($(this)[0].tagName.toLowerCase() == 'input'){
                    if(isNaN(parseFloat($(this).val()))){
                        procced = false;
                    }
                }
                else{
                    if(isNaN(parseFloat($(this).html()))){
                        procced = false;
                    }
                }
            });
            if(!procced)message = "Por favor, ingrese primero las dimensiones";
            break;
        case 'interior':
            if(isNaN(parseFloat($(el).parents("tr").find("[id$='_k']:first").html()))){
                procced = false;
                message = "Por falvor, ingrese primero K(kcal/m&sup2;h&deg;C)";
            }
            break;
        case 'exterior':
            if(isNaN(parseFloat($(el).parents("tr").find("[id$='_temp_int']:first").html()))){
                procced = false;
                message = "Por falvor, ingrese primero la temperatura interior";
            }
            break;
    }

    if(procced){
         $.ajax({
            async: true,
            type: "POST",
            url: "_ajax_balance_termico.php",
            data: "opc=show_table_selector&tipo="+tipo+"&id="+$(el).attr('id'),
            success: function(data){
                MySimpleLightBox.loadHTML(data);
            }
        });
    }
    else{
        showAlertMessage(message);
    }

}

function checkWindowOrientation(el,evt){
    if($(el).parents("tr").find("select:first").val()==''){
        $(el).val("");
        showAlertMessage("Seleccione primero la orientaci&oacute;n de la ventana");
        cancelEvent(evt);
    }
    else{
        onlyMoneyInputAllowed(evt);
    }
}

function setCellValue(value,target_id){
    value = isNaN(parseFloat(value))?0:parseFloat(value);
    var numberObj = new Number(value);
    $("#"+target_id).html(value>0?numberObj.toFixed(2):"&nbsp;");
    updateGrid();
    MySimpleLightBox.close();
}

function setDeltaTemperature(){
    var numberObj;
    $(".temp_int").each(function(){

        var temp_int = isNaN($(this).html()) || jQuery.trim($(this).html())==''?0:parseFloat($(this).html());
        var temp_ext = isNaN($(this).parents('tr').find('.temp_ext').html()) || jQuery.trim($(this).parents('tr').find('.temp_ext').html())==''?0:parseFloat($(this).parents('tr').find('.temp_ext').html());
        if(!isNaN(parseFloat($(this).html())) && !isNaN($(this).parents('tr').find('.temp_ext').html()) ){
            var delta = parseFloat(temp_int - temp_ext);
            numberObj = new Number(delta);
            $(this).parents('tr').find('.temp').html(numberObj.toFixed(2)>0?numberObj.toFixed(2):'&nbsp;');
        }
        
    });
}

function updateQ(){
    var total = 0;
    var numberObj;


    $(".q").each(function(){
        var sup = isNaN($(this).parents("tr").find(".sup_real").html()) || jQuery.trim($(this).parents("tr").find(".sup_real").html())==''?0:parseFloat($(this).parents("tr").find(".sup_real").html());
        var k = isNaN($(this).parents("tr").find(".k").html()) || jQuery.trim($(this).parents("tr").find(".k").html())==''?0:parseFloat($(this).parents("tr").find(".k").html());
        var temp = isNaN($(this).parents("tr").find(".temp").html()) || jQuery.trim($(this).parents("tr").find(".temp").html())==''?0:parseFloat($(this).parents("tr").find(".temp").html());
        if(sup>0 && k > 0 & temp >0){
            var q = sup * k * temp;
            numberObj = new Number(q);
            $(this).parents("tr").find(".q").html(q>0?numberObj.toFixed(2):"&nbsp;");
            total += q;
        }
    });
    numberObj = new Number(total);
    $("#resultado_tabla_2a").html(total>0?numberObj.toFixed(2):"&nbsp;");

}

function updateFinalQ(){

   var numberObj;

   var pared_n_base = isNaN(parseFloat($("#pared_n_base").val()))?0:parseFloat($("#pared_n_base").val());
   var pared_s_base = isNaN(parseFloat($("#pared_s_base").val()))?0:parseFloat($("#pared_s_base").val());
   var pared_e_base = isNaN(parseFloat($("#pared_e_base").val()))?0:parseFloat($("#pared_e_base").val());
   var pared_o_base = isNaN(parseFloat($("#pared_o_base").val()))?0:parseFloat($("#pared_o_base").val());

   var pared_n_altura = isNaN(parseFloat($("#pared_n_altura").val()))?0:parseFloat($("#pared_n_altura").val());
   var pared_s_altura = isNaN(parseFloat($("#pared_s_altura").val()))?0:parseFloat($("#pared_s_altura").val());
   var pared_e_altura = isNaN(parseFloat($("#pared_e_altura").val()))?0:parseFloat($("#pared_e_altura").val());
   var pared_o_altura = isNaN(parseFloat($("#pared_o_altura").val()))?0:parseFloat($("#pared_o_altura").val());

   var temp_int = isNaN(parseFloat($("#temperatura_interna").html()))?0:parseFloat($("#temperatura_interna").html());
   var renovacion = isNaN(parseFloat($("#renovacion_x_hora").html()))?0:parseFloat($("#renovacion_x_hora").html());
   var constante = 0.3;
   var superficie = ((pared_n_base + pared_s_base) * (pared_e_base + pared_o_base)) / 4;
   var volumen = superficie * (pared_n_altura + pared_s_altura + pared_e_altura + pared_o_altura)/4;
   var q = renovacion * volumen * temp_int * constante;
  

   numberObj = new Number(volumen);
   $("#volumen").html(volumen>0?numberObj.toFixed(2):"&nbsp;");
   
   numberObj = new Number(q);
   $("#resultado_tabla_2b").html(q>0?numberObj.toFixed(2):"&nbsp;");


}

function updateTemperaturaInterna(){
   $('.k').each(function(){
        if(!isNaN(parseFloat($(this).html())) &&  isNaN(parseFloat($(this).parents("tr").find(".temp_int").html())) ){
            $(this).parents("tr").find(".temp_int").html(last_temp_int);
            $(this).parents("tr").find(".temp_int").removeClass("missed");
        }
   });
   var temp_int_n = isNaN(parseFloat($("#pared_n_temp_int").html()))?0:parseFloat($("#pared_n_temp_int").html());
   var temp_int_s = isNaN(parseFloat($("#pared_s_temp_int").html()))?0:parseFloat($("#pared_s_temp_int").html());
   var temp_int_e = isNaN(parseFloat($("#pared_e_temp_int").html()))?0:parseFloat($("#pared_e_temp_int").html());
   var temp_int_o = isNaN(parseFloat($("#pared_o_temp_int").html()))?0:parseFloat($("#pared_o_temp_int").html());
   var temp_int_ventana_a = isNaN(parseFloat($("#ventana_a_temp_int").html()))?0:parseFloat($("#ventana_a_temp_int").html());
   var temp_int_ventana_b = isNaN(parseFloat($("#ventana_b_temp_int").html()))?0:parseFloat($("#ventana_b_temp_int").html());
   var temp_int_piso = isNaN(parseFloat($("#piso_temp_int").html()))?0:parseFloat($("#piso_temp_int").html());
   var temp_int_techo = isNaN(parseFloat($("#techo_temp_int").html()))?0:parseFloat($("#techo_temp_int").html());
   var temp_sum = temp_int_n + temp_int_s + temp_int_e + temp_int_o + temp_int_piso + temp_int_techo;
   var divisor = 6;
   
   if($("#orientacion_ventana_a_valor").val()!=''){
       temp_sum+= temp_int_ventana_a;
       divisor++;
   }
   if($("#orientacion_ventana_b_valor").val()!=''){
       temp_sum+= temp_int_ventana_b;
       divisor++;
   }

   var temp_promedio = temp_sum / divisor;
   var number = new Number(temp_promedio);
   $("#temperatura_interna").html(number.toFixed(2)>0?number.toFixed(2):"&nbsp;");
}

function setTemperaturaInterior(value,target_id){
    var show = true;
    if(isNaN(parseFloat(value))){
        show = false;
    }
    value = isNaN(parseFloat(value))?0:parseFloat(value);
    var numberObj = new Number(value);
    setCellValue(value,target_id);
    last_temp_int = show?numberObj.toFixed(2):'&nbsp;';
    updateGrid();
}

function setTemperaturaExterior(value,target_id){
    var show = true;
    if(isNaN(parseFloat(value))){
        show = false;
    }
    value = isNaN(parseFloat(value))?0:parseFloat(value);
    var numberObj = new Number(value);
    $("#"+target_id).html(show?numberObj.toFixed(2):'&nbsp;');
    last_temp_ext = show?numberObj.toFixed(2):'&nbsp;';
    if($("#orientacion_ventana_a_valor").val() == ''){
        $("#ventana_a_temp_ext").html("&nbsp;");
    }
    if($("#orientacion_ventana_b_valor").val() == ''){
        $("#ventana_b_temp_ext").html("&nbsp;");
    }
    $("#"+target_id).removeClass("missed");
    MySimpleLightBox.close();
    updateGrid();
}

function updateTemperaturaExterior(){
    $('.temp_int').each(function(){
        if(!isNaN(parseFloat($(this).html())) &&  isNaN(parseFloat($(this).parents("tr").find(".temp_ext").html())) ){
            $(this).parents("tr").find(".temp_ext").html(last_temp_ext);
            $(this).parents("tr").find(".temp_ext").removeClass("missed");
        }
    });
}

function updateCerramientosVerticales(){
    $('.sup_real').each(function(){
        if(!isNaN(parseFloat($(this).html())) &&  isNaN(parseFloat($(this).parents("tr").find(".k").html())) ){
            $(this).parents("tr").find(".k").html(last_cerramiento_vertical);
            $(this).parents("tr").find(".k").removeClass("missed");
        }
    });
}

function setCerramientoVertical(value,target_id){
    var show = true;
    if(isNaN(parseFloat(value))){
        show = false;
    }
    value = isNaN(parseFloat(value))?0:parseFloat(value);
    var numberObj = new Number(value);
    setCellValue(value,target_id);
    last_cerramiento_vertical = show?numberObj.toFixed(2):'&nbsp;';
    updateGrid();
}

function updateGrid(){
    set_piso_techo_base();
    set_piso_techo_altura();
    updateDescuentoVentanas();
    updateValorReal();
    updateCerramientosVerticales();
    updateTemperaturaInterna();
    updateTemperaturaExterior();
    setDeltaTemperature();
    updateQ();
    updateFinalQ();
}


function aceptarCalculoBalanceTermico(index){

    index = index==undefined?-1:index;

    $("[name$='_altura'],[name$='_base']").each(function(){
        if($(this).attr("name").indexOf('ventana')!=-1){
            if($(this).parents("tr").find("select").val()!=''){
                if(isNaN(parseFloat($(this).val())) || parseFloat($(this).val()) == 0){
                    $(this).addClass("missed");
                }
            }
        }
        else{
            if( isNaN(parseFloat($(this).val())) || parseFloat($(this).val()) == 0){
                $(this).addClass("missed");
            }
        }
        
    });

    $("[id$='_k'],[id$='_temp_int'],[id$='_temp_ext'],[id='renovacion_x_hora']").each(function(){
         if($(this).attr("id").indexOf('ventana')!=-1){
            if($(this).parents("tr").find("select").val()!=''){
                if(isNaN(parseFloat($(this).html())) || parseFloat($(this).html()) == 0){
                    $(this).addClass("missed");
                }
            }
        }
        else{
            if( isNaN(parseFloat($(this).html())) || parseFloat($(this).html()) == 0){
                $(this).addClass("missed");
            }
        }
        
    });

    $("[id='ambiente']").each(function(){
        if(jQuery.trim($(this).val())==''){
            $(this).addClass("missed");
        }
    });

    if($(".missed").length>0){
        showAlertMessage("Por favor, complete los campos requeridos","error");
    }
    else{
        var ambiente = new Ambiente();
        ambiente.paredNorteAltura = $("#pared_n_altura").val();
        ambiente.paredNorteBase = $("#pared_n_base").val()
        ambiente.paredNorteK = $("#pared_n_k").html();
        ambiente.paredNorteTempInt = $("#pared_n_temp_int").html();
        ambiente.paredNorteTempExt = $("#pared_n_temp_ext").html();
        ambiente.paredSurAltura = $("#pared_s_altura").val();
        ambiente.paredSurBase = $("#pared_s_base").val()
        ambiente.paredSurK = $("#pared_s_k").html();
        ambiente.paredSurTempInt = $("#pared_s_temp_int").html();
        ambiente.paredSurTempExt = $("#pared_s_temp_ext").html();
        ambiente.paredEsteAltura = $("#pared_e_altura").val();
        ambiente.paredEsteBase = $("#pared_e_base").val()
        ambiente.paredEsteK = $("#pared_e_k").html();
        ambiente.paredEsteTempInt = $("#pared_e_temp_int").html();
        ambiente.paredEsteTempExt = $("#pared_e_temp_ext").html();
        ambiente.paredOesteAltura = $("#pared_o_altura").val();
        ambiente.paredOesteBase = $("#pared_o_base").val()
        ambiente.paredOesteK = $("#pared_o_k").html();
        ambiente.paredOesteTempInt = $("#pared_o_temp_int").html();
        ambiente.paredOesteTempExt = $("#pared_o_temp_ext").html();
        ambiente.ventana1Altura = $("#ventana_a_altura").val();
        ambiente.ventana1Base = $("#ventana_a_base").val();
        ambiente.ventana1Ubicacion = $("#orientacion_ventana_a_valor").val();
        ambiente.ventana1K = $("#ventana_a_k").html();
        ambiente.ventana1TempInt = $("#ventana_a_temp_int").html();
        ambiente.ventana1TempExt = $("#ventana_a_temp_ext").html();
        ambiente.ventana2Altura = $("#ventana_b_altura").val();
        ambiente.ventana2Base = $("#ventana_b_base").val();
        ambiente.ventana2Ubicacion = $("#orientacion_ventana_b_valor").val();
        ambiente.ventana2K = $("#ventana_b_k").html();
        ambiente.ventana2TempInt = $("#ventana_b_temp_int").html();
        ambiente.ventana2TempExt = $("#ventana_b_temp_ext").html();
        ambiente.pisoK = $("#piso_k").html();
        ambiente.pisoTempInt = $("#piso_temp_int").html();
        ambiente.pisoTempExt = $("#piso_temp_ext").html();
        ambiente.techoK = $("#techo_a_k").html();
        ambiente.techoTempInt = $("#techo_temp_int").html();
        ambiente.techoTempExt = $("#techo_temp_ext").html();
        ambiente.qTransmision = $("#resultado_tabla_2a").html();
        ambiente.renovacionPorHora = $("#renovacion_x_hora").html();
        ambiente.qInfiltracion = $("#resultado_tabla_2b").html();
        ambiente.superficie = ((parseFloat(ambiente.paredNorteBase) + parseFloat(ambiente.paredSurBase) )  *  (parseFloat(ambiente.paredEsteBase) + parseFloat(ambiente.paredOesteBase) )) / 4
        ambiente.volumen = $("#volumen").html();
        ambiente.ambiente = $("#ambiente").val();
        ambiente.techoPlano = $("#techo_plano").attr("checked")==true?true:false;
        ambiente.techoInclinado = $("#techo_inclinado").attr("checked")==true?true:false;

        ambientes[index!=-1?index:ambientes.length] = ambiente;
        show_expert_grid();
        loadExpertGrid();
    }

}

function loadExpertGrid(){
   
    if(ambientes.length>0){
        $("#container").addAjaxLoader();
        $(".tabla_expertos").find(".row_ambiente").remove();
        var qtotal=0;
        var list_ambientes = '';
        var list_k = '';
        for(var i = 0; i<ambientes.length;i++){
            var ambiente = ambientes[i].ambiente;
            var superficie = parseFloat(ambientes[i].superficie);
            var volumen = parseFloat(ambientes[i].volumen);
            var qTransmision = parseFloat(ambientes[i].qTransmision);
            var qInfiltracion = parseFloat(ambientes[i].qInfiltracion);
            var qSubtotal = qTransmision + qInfiltracion;
            var html = '<tr class="row_ambiente">';
                html+= '<td class="acciones"><img src="images/bg/clear-icon.gif" alt="Borrar ambiente" onclick="clearExpertGridItem('+i+');"></td>';
                html+= '<td class="ambiente pointer left" onclick="show_expert_form('+i+')">'+ambiente+'</td>';
                html+= '<td class="superficie right">'+superficie+' m2</td>';
                html+= '<td class="volumen right">'+volumen+' m3</td>';
                html+= '<td class="q_transmision right">'+qTransmision+' (Kcal/h)</td>';
                html+= '<td class="q_infiltracion right">'+qInfiltracion+' (Kcal/h)</td>';
                var subtotal = new Number(qSubtotal);
                html+= '<td class="q_cantidad_de_calor right">'+(subtotal.toFixed(2))+'(Kcal/h)</td>';
                html+= '</tr>';
                qtotal+=(qSubtotal);
                $("#addItem").before(html);
                list_ambientes+=(list_ambientes!=''?',':'')+ambiente;
                list_k+=(list_k!=''?',':'')+subtotal.toFixed(2);

        }
        var numberObj = new Number(qtotal);
        $("#q_total").html(qtotal>0?numberObj.toFixed(2):"&nbsp;");

        $(".experto_paso_uno").find("#nombre").val(obra.nombre);
        $(".experto_paso_uno").find("#obra").val(obra.obra);

        if(qtotal>0){
            //showProductsByKaloriesList(list_k,list_ambientes);
            $("#container").removeAjaxLoader();
        }
        else{
            $("#container").removeAjaxLoader();
        }
    }
    else{
        show_expert_form();
    }
}

function showProductsByKaloriesList(list_k,list_ambientes){

    $.ajax({
        async: true,
        type: "POST",
        url: "_ajax_balance_termico.php",
        data: "opc=show_products&list_k="+list_k+"&list_ambientes="+list_ambientes,
        success: function(data){
            $(".total.products").html(data);
            $("#container").removeAjaxLoader();
        }
    });
}

function clearExpertGridItem(index){
    ambientes.splice(index,1);
     $(".tabla_expertos").find(".row_ambiente:eq("+index+")").remove();
}


function enviarCalculoExpertoForm(){
    if(jQuery.trim(obra.nombre) == '' || jQuery.trim(obra.obra)==''){
        showAlertMessage("Por favor complete los campos nombre y obra.", "info");
    }
    else{
        if(ambientes.length==0){
            showAlertMessage("Debe configurar al menos un ambiente.", "info");
        }
        else{
             $.ajax({
                async: true,
                type: "POST",
                url: "_ajax_balance_termico.php",
                data: "opc=showSendExpertForm",
                success: function(data){
                    MySimpleLightBox.loadHTML(data);
                }
            });
        }
    }
}

function enviarCalculoExperto(){
    if(checkFormFields('frmCalculoBalanceTermico', 1, 0, '#656565', '#FFFFFF')){
    	createMailTable();
         $("#frmCalculoBalanceTermico").addAjaxLoader();
         $.ajax({
            async: true,
            type: "POST",
            url: "_ajax_balance_termico.php",
            data: "opc=sendExpertForm&toEmail="+$("#enviarEmail").val()+"&fromName="+obra.nombre+"&obra="+obra.obra+"&html="+$("#mail_content").html(),
            success: function(data){
                MySimpleLightBox.close();
                MySimpleLightBox.loadHTML(data);
                $("#mail_content table").html('');
            }
        });
    }
}

function createMailTable(){
	$("#mail_content table").html(jQuery(".tabla_expertos").html());

	$("#mail_content th").each(function() { 
        var name = $('#mail_content th img').attr('alt');
        $(this).html(name);
    });
    $("#mail_content td.acciones").each(function() { 
        $(this).remove();           
    });
    $("#mail_content .remove").each(function() { 
        $(this).remove();           
    });
    $("#mail_content td,#mail_content tr,#mail_content th").removeAttr('class');
    $("#mail_content td").removeAttr('onclick');
    $("#mail_content #addItem").after($("#resultado_final"));
    $("#mail_content #addItem").html('<td>nbsp</td><td>nbsp</td><td>nbsp</td><td>nbsp</td><td>nbsp</td><td>nbsp</td>');
    $("#mail_content #addItem").after("<tr><td>nbsp</td><td>nbsp</td><td>nbsp</td><td>nbsp</td><td>Q total (Kcal/h)</td><td>"+$("#q_total").html()+"</td></tr>");
}

function printExpertForm(){
    if(jQuery.trim(obra.nombre) == '' || jQuery.trim(obra.obra)==''){
         showAlertMessage("Por favor complete los campos nombre y obra.", "info");
         return false;
    }
    else{
        var win = window.open("print_expert_form.php","printExpertGrid","toolbar=no,status=no,location=no,menubar=no,resizable=yes,left=9000");
        if (win) {
                win.focus();
                //win.print();
                //win.close();
        }

        return false;
         
    }
  
}

function numbersdecimal(e, decimal,id) {
		var key;
		var keychar;
		var perimetro;

		if(id == 1){
			perimetro = $("#ancho").val();
		}        
		if(id == 2){
			perimetro = $("#largo").val();
		}
		if(id == 3){
			perimetro = $("#altura").val();
		}


                $('input').keypress(function(e){ 
                    if(e.which == 13){ 
                      return false; 
                    } 
                  }); 
        
		if (window.event) { 
		   key = window.event.keyCode;
		
		}
		else if (e) { 
		   key = e.which;
		}
		else { 
		   return true;
		}
		
		keychar = String.fromCharCode(key);

		if(perimetro){
		          if(/^[0-9]{1,2}(\.[0-9]{0,1})?$/.test(perimetro)){
				dec = String(perimetro).split(".");
				decimales = dec.pop(); 
				//document.forms.metros_ambiente.perimetro.value = decimales;
				if(decimales.length > 1 )//largo de caracteres
				{
					if(key == 46 || key == 8 || key == 0){
						return true;
					}else{
						return false;
					}
				}
				return true;				
			}else{ 
				if(key == 8 || key == 0){
					return true;
				}else{
					return false;			
     			     	}	
			    }			
		}else{
			if(keychar >= 1 && keychar <=9){
				return true;
			}else{
				return false;			
     			     }
		     }
				

		
}

