function loadTipoProyecto(tipo_pro, id_escuela) {
    if (!document.sending) {
        var data = {
            tipo: tipo_pro,
            id_escuela: id_escuela
        }
        document.sending = true;
        $.ajax({
            type: 'POST',
            url: WEB_PATH + 'app/ajax/load_proyecto_tipo.php',
            data: data,
            success: function(response) {
                document.sending = false;
                if (response.length > 0) {
                    $('#content_dialog_tipo_proyecto').html('');
                    msgbox_hide('dialog_crear_proyecto');
                    $('#content_dialog_tipo_proyecto').html(response);
                    msgbox_show('content_dialog_tipo_proyecto');
                }
            }
        });
    }
}

function loadProyecto(tipo_pro,id_proyecto){
    if (!document.sending) {
        var data = {
            tipo: tipo_pro,
            id_proyecto: id_proyecto
        }
        document.sending = true;
        $.ajax({
            type: 'POST',
            url: WEB_PATH + 'app/ajax/load_proyecto_tipo.php',
            data: data,
            success: function(response) {
                document.sending = false;
                if (response.length > 0) {
                    $('#content_dialog_tipo_proyecto').html('');
                    $('#content_dialog_tipo_proyecto').html(response);
                    msgbox_show('content_dialog_tipo_proyecto');
                }
            }
        });
    }
}

function cerrar_dialog()
{
    msgbox_hide('dialog_proyecto');
    parent.location.href = parent.location.href;
}

function validar_pestania(){
    var tipo_proyecto = $('#hidTipoProyecto').val();//1 - Quinta Frutal. 2 - Huerta Orgánica
    return add_edit_proyecto(tipo_proyecto);
}

function guardar(tipo){
    if (add_edit_proyecto(tipo))
        cerrar_dialog();
}

function eliminar_proyecto(id_proyecto){
    if(confirm('¿Está seguro que desea eliminar este pryecto?')) {
        document.sending = true;
        //$(pMensaje).html(MSG_SENDING);
        var data = {
            id: id_proyecto
        }
        $.ajax({
            type: 'POST',
            url: WEB_PATH + 'app/ajax/proyecto_del.php',
            data: data,
            async: false,
            success: function(response) {
                document.sending = false;
                if (response==1) {
                    var liproyecto = "#liProyecto_" + id_proyecto;
                    $(liproyecto).hide(200, function () {
                        $(liproyecto).remove();
                    });
                }
            }
        });
    }
}

function add_edit_proyecto(tipo){
    if (!document.sending) {
        //TAB DATOS BÁSICOS
        if ($('#tabDatosBasicos').is(".ui-state-active")) {
            return guardar_basicos(tipo);
        }

        //TAB Estados
        if ($('#tabEstado').is(".ui-state-active")) {
            return guardar_estado(tipo);
        }

        //TAB Caracteristicas
        if ($('#tabCaracteristicas').is(".ui-state-active")) {
            return guardar_caracteristicas(tipo);
        }

        //TAB Manejo
        if ($('#tabManejo').is(".ui-state-active")) {
            return guardar_manejo(tipo);
        }

        //TAB Danios
        if ($('#tabDanios').is(".ui-state-active")) {
            return guardar_danios(tipo);
        }

        //TAB Contactos
        if ($('#tabContactos').is(".ui-state-active")) {
            return guardar_contactos(tipo);
        }
    }
    return true;
}

function ids_checked(group_name){
    //var lala = "actividad_realizada";
    var ids = "";
    var group = $("input[name="+ group_name +"]:checked");
    //alert(actividades.length);
    var x;
    for(x = 0; x < group.length; x++) {
        //if(actividades[x].name.indexOf('rad_', 0) >= 0) {
        ids = ids + group[x].value + '~';
    //}
    }
    return ids;
}

function guardar_basicos(tipo){

    var ids_actividades = ids_checked('actividades_realizadas');
    var ids_mantenimiento_pasado = ids_checked('mantenimiento_pasado');
    var ids_mantenimiento_futuro = ids_checked('mantenimiento_futuro');

    var tipo_espacio = 0;
    if ($('#ddlTipoEspacio').val() != undefined) {
        tipo_espacio = $('#ddlTipoEspacio').val();
    }

    if (validar_basicos(tipo)){
        if($('#txtNombre').val().trim() != ""){
            var data = {
                nombre: $('#txtNombre').val().trim(),
                fecha_ingreso_dia: $('#txtFechaIngresoDia').val().trim(),
                fecha_ingreso_mes: $('#txtFechaIngresoMes').val().trim(),
                fecha_ingreso_anio: $('#txtFechaIngresoAnio').val().trim(),
                id_actividad: ids_actividades,
                observaciones_generales: $('#txtObservacionesActividades').val().trim(),
                id_tiempo_transcurrido: $('#ddlTiempoTranscurrido').val(),
                fecha_instalacion_dia: $('#txtFechaInstalacionDia').val().trim(),
                fecha_instalacion_mes: $('#txtFechaInstalacionMes').val().trim(),
                fecha_instalacion_anio: $('#txtFechaInstalacionAnio').val().trim(),
                id_evaluacion_verano_anterior: $('#ddlEvaluacionVeranoAnterior').val(),
                id_persona_mantenimiento_anterior: ids_mantenimiento_pasado,
                observaciones_mantenimiento: $('#txtObservacionesMantenimiento').val().trim(),
                id_persona_mantenimiento_futuro: ids_mantenimiento_futuro,
                id_tipo_espacio: tipo_espacio,
                tipo_proyecto: tipo,
                tab: "datos_basicos"
            }
            return guardar_proyecto(data);
        }else{
            return true;
        }
    }else{
        return false;
    }
}

function guardar_estado(tipo){
    var causas = ids_checked('causas_estado');
    
    if (validar_estado()){
        if ($('#ddlEtapa').val() != 0) {
            var data = {
                id_etapa: $('#ddlEtapa').val(),
                id_estado_etapa: $('#ddlEstadoEtapa').val(),
                id_causa_etapa: causas,
                observaciones_estado_situacion: $('#txtEstadoSituacionProyecto').val().trim(),
                observaciones_sugerencias: $('#txtSugerenciasRecomendaciones').val().trim(),
                observaciones_comentarios_necesidades: $('#txtObservacionesComentarios').val().trim(),
                tipo_proyecto: tipo,
                tab: "estado"
            }
            return guardar_proyecto(data);
        }else{
            return true;
        }
    }else{
        return false;
    }
}

function guardar_caracteristicas(tipo){
    var riego = ids_checked('estructura_riego');
    var causas_riego = ids_checked('causas_riego');
    var abono_uso = ids_checked('abono_uso');

    if (validar_caracteristicas(tipo)){
        if (riego != "") {
            if (tipo == 1) {
                var data = {
                    //id_tipo_espacio: $('#ddlTipoEspacio').val(),
                    ancho_espacio: $('#txtEspacioTrabajoAncho').val().trim(),
                    largo_espacio: $('#txtEspacioTrabajoLargo').val().trim(),
                    espacio_entre_filas: $('#txtEspacioTrabajoEspacioFilas').val().trim(),
                    espacio_plantas: $('#txtEspacioTrabajoEspacioPlantas').val().trim(),
                    observaciones_espacio: $('#txtEspacioTrabajoObservaciones').val().trim(),
                    id_estructura_riego: riego,//$('#ddlEstructuraRiego').val(),
                    id_estado_estructura_riego: $('#ddlEstadoEstructuraRiego').val(),
                    id_causas_estructura_riego: causas_riego,//$('#ddlCausasEstructuraRiego').val(),
                    id_tipo_abono_utilizacion: abono_uso,//$('#ddlTipoAbono').val(),
                    observaciones_abono_utilizacion: $('#txtObservacionesAbono').val().trim(),
                    tipo_proyecto: tipo,
                    tab: "caracteristicas"
                }
            }
            else
            {
                var proteccion = ids_checked('estructura_proteccion');
                var causas_proteccion = ids_checked('causas_proteccion');
                var polietileno = ids_checked('polietilenos');
                var causas_polietileno = ids_checked('causas_polietilenos');
                var malla = ids_checked('malla_sombra');
                var causas_malla = ids_checked('causas_malla');
                data = {
                    //id_tipo_espacio: $('#ddlTipoEspacio').val(),
                    ancho_espacio: $('#txtEspacioTrabajoAncho').val().trim(),
                    largo_espacio: $('#txtEspacioTrabajoLargo').val().trim(),
                    //espacio_entre_filas: $('#txtEspacioTrabajoEspacioFilas').val().trim(),
                    //espacio_plantas: $('#txtEspacioTrabajoEspacioPlantas').val().trim(),
                    observaciones_espacio: $('#txtEspacioTrabajoObservaciones').val().trim(),
                    id_estructura_riego: riego, //$('#ddlEstructuraRiego').val(),
                    id_estado_estructura_riego: $('#ddlEstadoEstructuraRiego').val(),
                    id_causas_estructura_riego: causas_riego,//$('#ddlCausasEstructuraRiego').val(),
                    id_tipo_abono_utilizacion: abono_uso,//$('#ddlTipoAbono').val(),
                    observaciones_abono_utilizacion: $('#txtObservacionesAbono').val().trim(),
                    id_estructura_proteccion: proteccion,//$('#ddlEstructuraProteccion').val(),
                    id_estado_estructura_proteccion: $('#ddlEstadoEstructuraProteccion').val(),
                    id_causas_estructura_proteccion: causas_proteccion,//$('#ddlCausasEstructuraProteccion').val(),
                    id_polietileno: polietileno,//$('#ddlPolietileno').val(),
                    id_estado_polietileno: $('#ddlEstadoPolietileno').val(),
                    id_causas_polietileno: causas_polietileno,//$('#ddlCausasPolietileno').val(),
                    id_malla: malla,//$('#ddlMallaSombra').val(),
                    id_estado_malla: $('#ddlEstadoMallaSombra').val(),
                    id_causas_malla: causas_malla,//$('#ddlCausasMallaSombra').val(),
                    observaciones_estructura: $('#txtObservacionesEstructura').val(),
                    tipo_proyecto: tipo,
                    tab: "caracteristicas"
                }
            }
            return guardar_proyecto(data);
        }
        else{
            return true;
        }
    }else{
        return false;
    }
}

function guardar_manejo(tipo){
    var asociacion = ids_checked('asociacion_cultivos');
    var cobertura_suelo = ids_checked('cobertura_suelo');
    var produccion_plantines = ids_checked('produccion_plantines');
    var abono = ids_checked('abonos_produccion');
    
    if (validar_manejo()){
        if (asociacion != "") {
            var data = {
                asociacion_cultivos: $("#radAsociacionSi").is(":checked"),
                id_tipo_asociacion: asociacion,//$('#ddlAsociacion').val(),
                observaciones_asociacion_cultivos: $('#txtObservacionesAsociacion').val().trim(),
                cobertura_suelo: cobertura_suelo,//$("#radCoberturaSi").is(":checked"),
                material_cobertura_suelo: $('#txtMaterialCobertura').val().trim(),
                id_forma_produccion_almacigos: produccion_plantines,//$('#ddlFormaProduccionAlmacigo').val(),
                observaciones_produccion_almacigos: $('#txtObservacionAlmacigo').val().trim(),
                abono_produccion: $("#radProduccionAbonoSi").is(":checked"),
                id_tipo_abono_produccion: abono,//$('#ddlProduccionTipoAbono').val(),
                observaciones_abono_produccion: $('#txtObservacionProduccionAbono').val().trim(),
                tipo_proyecto: tipo,
                tab: "manejo"
            }
            return guardar_proyecto(data);
        }else{
            return true;
        }
    }else{
        return false;
    }
}

function guardar_danios(tipo){

    var plaga = ids_checked('plagas');
    var enfermedad = ids_checked('enfermedades');
    var otra_causa_danio = ids_checked('causas_otras');

    if (validar_danios()){
        if (plaga != "") {
            var data = {
                id_plaga: plaga,//$('#ddlPlagas').val(),
                observaciones_plaga: $('#txtObservacionPlagas').val().trim(),
                id_enfermedad: enfermedad,//$('#ddlEnfermedades').val(),
                observaciones_enfermedad: $('#txtObservacionEnfermedades').val().trim(),
                id_otra_causa_danio: otra_causa_danio,//$('#ddlOtrosDanios').val(),
                observaciones_otra_causa_danio: $('#txtObservacionOtrosDanios').val().trim(),
                tipo_proyecto: tipo,
                tab: "danios"
            }
            return guardar_proyecto(data);
        }else{
            return true;
        }
    }else{
        return false;
    }
}

function guardar_contactos(tipo){
    if (validar_contactos()){
        var data = {
            fecha_contacto_visita_dia: $('#txtFechaContactoVisitaDia').val().trim(),
            fecha_contacto_visita_mes: $('#txtFechaContactoVisitaMes').val().trim(),
            fecha_contacto_visita_anio: $('#txtFechaContactoVisitaAnio').val().trim(),
            fecha_contacto_telefonico_dia: $('#txtFechaContactoTelefonicoDia').val().trim(),
            fecha_contacto_telefonico_mes: $('#txtFechaContactoTelefonicoMes').val().trim(),
            fecha_contacto_telefonico_anio: $('#txtFechaContactoTelefonicoAnio').val().trim(),
            otro_contacto: $('#txtContactoOtro').val().trim(),
            fecha_contacto_otro_dia: $('#txtFechaContactoOtroDia').val().trim(),
            fecha_contacto_otro_mes: $('#txtFechaContactoOtroMes').val().trim(),
            fecha_contacto_otro_anio: $('#txtFechaContactoOtroAnio').val().trim(),
            observaciones_contacto: $('#txtObservacionesContacto').val().trim(),
            tipo_proyecto: tipo,
            tab: "contactos"
        }
        return guardar_proyecto(data);
        
    }else{
        return false;
    }
}

function guardar_proyecto(data){
    document.sending = true;
    $(".pErrorProyecto").html(MSG_SENDING);
    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/ajax/proyecto_add.php',
        data: data,
        async: false,
        success: function(response) {
            document.sending = false;
            //si devuelve 2 es porque no tiene permisos para guardar
            if (response==2) {
                $(".pErrorProyecto").html('No tienes permisos para guardar.');
                return true;
            }else if (response==1) {
                $(".pErrorProyecto").html('Datos guardados con éxito.');
                return true;
            } else {
                $(".pErrorProyecto").html('Error al guardar los datos del proyecto. Por favor, intentalo de nuevo');
                return false;
            }
        }
    });
}

function guardar_cultivo(){

    $('.pErrorProyecto').html('');

    if(validar_cultivo()) {
        document.sending = true;
        $('pProyectoErrorCultivos').html(MSG_SENDING);
        var data = {
            especie_cultivo: $('#ddlEspecieVariedadCultivo').val(),
            lugar_cultivo: $('#ddlLugarCultivo').val(),
            espacio_cultivado: $('#txtEspacioCultivado').val().trim(),
            tab: "cultivos"
        }
        $.ajax({
            type: 'POST',
            url: WEB_PATH + 'app/ajax/cultivo_add.php',
            data: data,
            async: false,
            success: function(response) {
                document.sending = false;
                if (response==1) {
                    $('#pProyectoErrorCultivos').html('Datos guardados con éxito.');
                    get_cultivos();
                    $('#txtEspacioCultivado').val('0.00');
                    $('.pErrorProyecto').html('');
                    return true;
                }else if(response==2){
                    $('#pProyectoErrorCultivos').html('No tienes permisos para guardar un cultivo.');
                    return true;
                } else {
                    $('#pProyectoErrorCultivos').html('Error al guardar los datos del proyecto. Por favor, intentalo de nuevo');
                    return false;
                }
            }
        });
    }
}

function get_cultivos() {
    document.sending = true;
    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/ajax/cultivo_get.php',
        success: function(response) {
            document.sending = false;
            $('#grid_cultivos').html(response);
        }
    });
}

function guardar_cosecha(){
    $('.pErrorProyecto').html('');

    if(validar_cosecha()) {
        document.sending = true;
        $('#pProyectoErrorCosechas').html(MSG_SENDING);
        var data = {
            id_especie_cosecha: $('#ddlEspecieVariedadCosecha').val(),
            //id_lugar_cosecha: $('#ddlLugarCosecha').val(),
            cantidad_cosecha: $('#txtCosechaCantidad').val().trim(),
            tab: 'cosechas'
        }
        $.ajax({
            type: 'POST',
            url: WEB_PATH + 'app/ajax/cosecha_add.php',
            data: data,
            async: false,
            success: function(response) {
                document.sending = false;
                if (response==1) {
                    $('#pProyectoErrorCosechas').html('Datos guardados con éxito.');
                    get_cosechas();
                    cargar_combo_destinos();
                    $('#txtCosechaCantidad').val('0.00');
                    $('.pErrorProyecto').html('');
                    return true;
                }else if(response==2){
                    $('#pProyectoErrorCosechas').html('No tienes permisos para guardar una cosecha.');
                    return true;
                } else {
                    $('#pProyectoErrorCosechas').html('Error al guardar los datos del proyecto. Por favor, intentalo de nuevo');
                    return false;
                }
            }
        });
    }
}

function get_cosechas() {
    //Lista de cosechas
    document.sending = true;
    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/ajax/cosecha_get.php',
        success: function(response) {
            document.sending = false;
            $('#grid_cosechas').html(response);
            $('#grid_destinos').html(response);
        }
    });

}

function cargar_combo_destinos(){
    //Combo para los destinos de la cosecha
    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/ajax/destino_combo_get.php',
        success: function(response) {
            document.sending = false;
            $('#ddlEspecieVariedadDestino').html(response);
        }
    });
}

function guardar_destino(){
    $('.pErrorProyecto').html('');

    if (validar_destinos()){
        document.sending = true;
        $('#pProyectoErrorDestinos').html(MSG_SENDING);
        var data = {
            id_especie_cosecha:  $('#ddlEspecieVariedadDestino').val(),
            consumo_comedor: $('#txtConsumoComedor').val().trim(),
            venta_cosecha: $('#txtVentaCosecha').val().trim(),
            entrega_familias: $('#txtEntregaFamilias').val().trim(),
            otro_destino: $('#txtDestinoOtros').val().trim(),
            tab: 'destinos'
        }
        $.ajax({
            type: 'POST',
            url: WEB_PATH + 'app/ajax/destino_cosecha.php',
            data: data,
            async: false,
            success: function(response) {
                document.sending = false;
                if (response==1) {
                    $('#pProyectoErrorDestinos').html('Datos guardados con éxito.');
                    get_cosechas();
                    limpiarDestino();
                    $('.pErrorProyecto').html('');
                    return true;
                }else if(response==2){
                    $('#pProyectoErrorDestinos').html('No tienes permisos para guardar una cosecha.');
                    return true;
                } else if (response == 3){
                    $('#pProyectoErrorDestinos').html('La cantidad en destinos no puede superar a la cantidad cosechada. Verifícalo');
                    return false;
                } else {
                    $('#pProyectoErrorDestinos').html('Error al guardar los datos del proyecto. Por favor, intentalo de nuevo');
                    return false;
                }
            }
        });
    }
}

function limpiarDestino() {
    $('#txtConsumoComedor').val('0.00');
    $('#txtVentaCosecha').val('0.00');
    $('#txtEntregaFamilias').val('0.00');
    $('#txtDestinoOtros').val('0.00');
    $('#pProyectoErrorDestinos').html('');
}

function validar_basicos(tipo){
    $('.pErrorProyecto').html('');

    var valid = true;

    var id_actividad = ids_checked('actividades_realizadas');
    var id_persona_mantenimiento_anterior = ids_checked('mantenimiento_pasado');
    var id_persona_mantenimiento_futuro = ids_checked('mantenimiento_futuro');

    var id_tipo_espacio = 0;
    if ($('#ddlTipoEspacio').val() != undefined) {
        id_tipo_espacio = $('#ddlTipoEspacio').val();
    }
    var nombre = $('#txtNombre').val().trim();
    //var id_actividad = $('#ddlActividadesRealizadas').val();
    var fecha_ingreso_dia = $('#txtFechaIngresoDia').val().trim();
    var fecha_ingreso_mes = $('#txtFechaIngresoMes').val().trim();
    var fecha_ingreso_anio = $('#txtFechaIngresoAnio').val().trim();
    var observaciones_generales = $('#txtObservacionesActividades').val().trim();
    var id_tiempo_transcurrido = $('#ddlTiempoTranscurrido').val();
    var fecha_instalacion_dia = $('#txtFechaInstalacionDia').val().trim();
    var fecha_instalacion_mes = $('#txtFechaInstalacionMes').val().trim();
    var fecha_instalacion_anio = $('#txtFechaInstalacionAnio').val().trim();
    var id_evaluacion_verano_anterior = $('#ddlEvaluacionVeranoAnterior').val();
    //var id_persona_mantenimiento_anterior = $('#ddlResponsableMantenimiento').val();
    var observaciones_mantenimiento = $('#txtObservacionesMantenimiento').val().trim();
    //var id_persona_mantenimiento_futuro = $('#ddlResponsableVerano').val();

    //si no están todos vacíos
    if (id_tipo_espacio != 0 || nombre != "" || id_actividad != "" || id_tiempo_transcurrido != 0 || observaciones_generales != "" || id_evaluacion_verano_anterior != 0
        || fecha_ingreso_anio != "" || fecha_ingreso_mes != "" || fecha_ingreso_dia != ""
        || fecha_instalacion_anio != "" || fecha_instalacion_mes != "" || fecha_instalacion_dia != ""
        || observaciones_mantenimiento != "" || id_persona_mantenimiento_anterior != "" || id_persona_mantenimiento_futuro != "") {

        if (tipo == 2 && id_tipo_espacio == 0) {
            valid = false;
            $('#pProyectoErrorBasicos').html('Debe ingresar el área de trabajo del proyecto.');
        }
        if (nombre == "") {
            valid = false;
            $('#pProyectoErrorBasicos').html('Debe ingresar un nombre para el proyecto.');
        }
        else if (id_actividad == 0) {
            valid = false;
            $('#pProyectoErrorBasicos').html('Debe indicar una actividad realizada para el proyecto.');
        }
        else if (id_tiempo_transcurrido == 0) {
            valid = false;
            $('#pProyectoErrorBasicos').html('Debe indicar el tiempo transcurrido para el proyecto.');
        }
        else if (observaciones_generales == "" || observaciones_mantenimiento == "") {
            valid = false;
            $('#pProyectoErrorBasicos').html('Debe indicar observaciones.');
        }
        else if (id_evaluacion_verano_anterior == 0) {
            valid = false;
            $('#pProyectoErrorBasicos').html('Debe indicar una evaluación del verano anterior.');
        }/*
        else if (id_persona_mantenimiento_anterior == 0) {
            valid = false;
            $('#pProyectoErrorBasicos').html('Debe indicar un responsable del mantenimiento del verano anterior.');
        }*/
        else if (!validateDate(fecha_ingreso_dia + "/" + fecha_ingreso_mes + "/" + fecha_ingreso_anio)) {
            valid = false;
            $('#pProyectoErrorBasicos').html('Debe ingresar la fecha de ingreso del proyecto válida.');
        }else if (!validateDate(fecha_instalacion_dia + "/" + fecha_instalacion_mes + "/" + fecha_instalacion_anio)) {
            valid = false;
            $('#pProyectoErrorBasicos').html('Debe ingresar la fecha de instalación del proyecto válida.');
        }
    }
    else {
        $('#pProyectoErrorBasicos').html('');
    }

    return valid;
    
}

function validar_estado (){
    $('.pErrorProyecto').html('');
    
    var valid = true;

    var id_etapa = $('#ddlEtapa').val();
    var id_estado_etapa = $('#ddlEstadoEtapa').val();
    //var id_causa_etapa = $('#ddlCausasEtapa').val();
    var id_causa_etapa = ids_checked('causas_estado');
    var observaciones_estado_situacion = $('#txtEstadoSituacionProyecto').val().trim();
    var observaciones_sugerencias = $('#txtSugerenciasRecomendaciones').val();
    var observaciones_comentarios_necesidades = $('#txtObservacionesComentarios').val().trim();
    //si están todos vacíos
    if (id_etapa != 0 || id_estado_etapa != 0 || id_causa_etapa != "" || observaciones_estado_situacion != ""
        || observaciones_sugerencias != "" || observaciones_comentarios_necesidades != "") {

        if (id_etapa == 0) {
            valid = false;
            $('#pProyectoErrorEstado').html('Debe indicar una etapa para el proyecto.');
        }
        else if (id_estado_etapa == 0) {
            valid = false;
            $('#pProyectoErrorEstado').html('Debe indicar un estado para la etapa del proyecto.');
            
        }//si el estado no es bien y la causa está vacía
        else if (id_estado_etapa != 1 && id_causa_etapa == "") {
            valid = false;
            $('#pProyectoErrorEstado').html('Debe indicar una causa para el estado de la etapa del proyecto');
        }
    }
    else {
        $('#pProyectoErrorEstado').html('');
    }

    return valid;
}

function validar_caracteristicas(tipo_proyecto) {
    //tipo_proyecto: 1 - Quinta Frutal. 2 - Huerta Orgánica


    $('.pErrorProyecto').html('');

    var valid = true;
    
    var ingreso_texto = false;
    
    var ancho_espacio = $('#txtEspacioTrabajoAncho').val().trim();
    var largo_espacio = $('#txtEspacioTrabajoLargo').val().trim();

    var id_estructura_riego = ids_checked('estructura_riego');
    var id_estado_estructura_riego = $('#ddlEstadoEstructuraRiego').val();
    var id_causa_estructura_riego = ids_checked('causas_riego');
    var id_tipo_abono_utilizacion = ids_checked('abono_uso');

    //si están todos vacíos

    if (ancho_espacio!=0 || largo_espacio!=0 || id_estructura_riego!=0 || id_estado_estructura_riego!=0 ||
        id_causa_estructura_riego!=0 || id_tipo_abono_utilizacion!=0) {
        ingreso_texto = true;
        if (ancho_espacio == 0 || isNaN(ancho_espacio)) {
            $('#pProyectoErrorCaracteristicas').html('Debe indicar un ancho para el espacio del proyecto.');
            return  false;
        }
        if (largo_espacio == 0 || isNaN(largo_espacio)) {
            $('#pProyectoErrorCaracteristicas').html('Debe indicar un largo para el espacio del proyecto.');
            return  false;
        }
        if (id_estructura_riego == "") {
            $('#pProyectoErrorCaracteristicas').html('Debe indicar si hay estructura de riego.');
            return  false;
        }
        if (id_estado_estructura_riego == 0) {
            $('#pProyectoErrorCaracteristicas').html('Debe indicar el estado de la estructura de riego.');
            return  false;
        }
        if (id_estado_estructura_riego != 1 && id_causa_estructura_riego == "") {
            $('#pProyectoErrorCaracteristicas').html('Debe indicar la causa del estado de la estructura de riego.');
            return  false;
        }
        if (id_tipo_abono_utilizacion == "") {
            $('#pProyectoErrorCaracteristicas').html('Debe indicar algún tipo de abono utilizado en el proyecto.');
            return  false;
        }

    }
    if (tipo_proyecto == 1) {
        var espacio_filas = $('#txtEspacioTrabajoEspacioFilas').val().trim();
        var espacio_plantas = $('#txtEspacioTrabajoEspacioPlantas').val().trim();
        if (espacio_filas != "" || espacio_plantas != "" || ingreso_texto)  {
            ingreso_texto = true;
            if (espacio_filas == '') {
                $('#pProyectoErrorCaracteristicas').html('Debe indicar un espacio entre las filas.');
                return  false;
            }
            if (espacio_plantas == '') {
                $('#pProyectoErrorCaracteristicas').html('Debe indicar un espacio entre las plantas.');
                return  false;
            }
        }
    }

    if (tipo_proyecto == 2){
        var id_estructura_proteccion = ids_checked('estructura_proteccion');
        var id_estado_estructura_proteccion = $('#ddlEstadoEstructuraProteccion').val();
        var id_causa_estructura_proteccion = ids_checked('causas_proteccion');
        var id_polietileno = ids_checked('polietilenos');
        var id_estado_polietileno = $('#ddlEstadoPolietileno').val();
        var id_causa_polietileno = ids_checked('causas_polietilenos');
        var id_malla = ids_checked('malla_sombra');
        var id_estado_malla = $('#ddlEstadoMallaSombra').val();
        var id_causa_malla = ids_checked('causas_malla');

        var tipo_espacio = $('#ddlTipoEspacio').val();
        
        if (tipo_espacio == 2 && (id_estructura_proteccion != "" || id_estado_estructura_proteccion != 0 ||
            id_causa_estructura_proteccion != "" || id_polietileno != "" || id_estado_polietileno != 0 ||
            id_causa_polietileno != "" || id_malla != "" || id_estado_malla != 0 || id_causa_malla != ""
            || ingreso_texto)) {
            if (id_estructura_proteccion == "") {
                $('#pProyectoErrorCaracteristicas').html('Debe indicar un tipo de estructura de protección.');
                return  false;
            }
            if (id_estado_estructura_proteccion == 0) {
                $('#pProyectoErrorCaracteristicas').html('Debe indicar el estado de la estructura de protección.');
                return  false;
            }
            if (id_estado_estructura_proteccion != 1 && id_causa_estructura_proteccion == "") {
                $('#pProyectoErrorCaracteristicas').html('Debe indicar una causa del estado de la estructura de protección.');
                return  false;
            }
            if (id_polietileno == "") {
                $('#pProyectoErrorCaracteristicas').html('Debe indicar si tiene algún tipo de polietileno.');
                return  false;
            }
            if (id_estado_polietileno == 0) {
                $('#pProyectoErrorCaracteristicas').html('Debe indicar el estado del polietileno.');
                return  false;
            }
            if (id_estado_polietileno != 1 && id_causa_polietileno == "") {
                $('#pProyectoErrorCaracteristicas').html('Debe indicar la causa del estado del polietileno.');
                return  false;
            }
            if (id_malla == "") {
                $('#pProyectoErrorCaracteristicas').html('Debe indicar si hay malla de sombra.');
                return  false;
            }
            if (id_estado_malla == 0) {
                $('#pProyectoErrorCaracteristicas').html('Debe indicar el estado de la malla de sombra.');
                return  false;
            }
            if (id_estado_malla != 1 && id_causa_malla == "") {
                $('#pProyectoErrorCaracteristicas').html('Debe indicar la causa del estado de la malla de sombra.');
                return  false;
            }
        }
    }
    
    $('#pProyectoErrorEstado').html('');
    
    return valid;
}

function validar_manejo(){
    $('.pErrorProyecto').html('');

    var valid = true;

    var id_tipo_asociacion = ids_checked('asociacion_cultivos');
    var observaciones_asociacion_cultivos = $('#txtObservacionesAsociacion').val().trim();
    var cobertura_suelo = ids_checked('cobertura_suelo');
    var material_cobertura_suelo = $('#txtMaterialCobertura').val().trim();
    var id_forma_produccion_almacigos = ids_checked('produccion_plantines');
    var observaciones_produccion_almacigos = $('#txtObservacionAlmacigo').val().trim();
    var id_tipo_abono_produccion = ids_checked('abonos_produccion');
    var observaciones_abono_produccion = $('#txtObservacionProduccionAbono').val().trim();

    //si están todos vacíos
    if (id_tipo_asociacion != "" || id_forma_produccion_almacigos != "" || id_tipo_abono_produccion != "" || observaciones_asociacion_cultivos != ""
        || material_cobertura_suelo != "" || observaciones_produccion_almacigos != "" || observaciones_abono_produccion != "") {

        if (cobertura_suelo == "") {
            valid = false;
            $('#pProyectoErrorManejo').html('Debe indicar material de cobertura del suelo.');
        }
        else if (id_forma_produccion_almacigos == "") {
            valid = false;
            $('#pProyectoErrorManejo').html('Debe indicar una forma de producción para los almacigos.');
        }
        else if (id_tipo_abono_produccion == "") {
            valid = false;
            $('#pProyectoErrorManejo').html('Debe indicar una forma de producción de abono.');
        }
        else if (observaciones_abono_produccion == "" || observaciones_asociacion_cultivos == "" || observaciones_produccion_almacigos == "") {
            valid = false;
            $('#pProyectoErrorManejo').html('Debe indicar las observaciones.');
        }
    }
    else {
        $('#pProyectoErrorManejo').html('');
    }
    return valid;

}

function validar_danios(){
    $('.pErrorProyecto').html('');
    //ids_checked('produccion_plantines');
    var valid = true;

    var id_plaga = ids_checked('plagas');
    var observaciones_plaga = $('#txtObservacionPlagas').val().trim();
    var id_enfermedad = ids_checked('enfermedades');
    var observaciones_enfermedad = $('#txtObservacionEnfermedades').val().trim();
    var id_otra_causa_danio = ids_checked('causas_otras');
    var observaciones_otra_causa_danio = $('#txtObservacionOtrosDanios').val().trim();

    //si se cambió algún dato
    if (id_plaga != "" || observaciones_plaga != "" || id_enfermedad != "" || observaciones_enfermedad != ""
        || id_otra_causa_danio != "" || observaciones_otra_causa_danio!="") {
        if (id_plaga == "") {
            valid = false;
            $('#pProyectoErrorDanios').html('Debe indicar una plaga.');
        }else if (id_enfermedad == "") {
            valid = false;
            $('#pProyectoErrorDanios').html('Debe indicar una enfermedad.');
        }else if (id_otra_causa_danio == "") {
            valid = false;
            $('#pProyectoErrorDanios').html('Debe indicar otra causa de da&ntilde;o.');
        }
        else if (observaciones_plaga == "" || observaciones_enfermedad == "" || observaciones_otra_causa_danio == "") {
            valid = false;
            $('#pProyectoErrorDanios').html('Debe ingresar observaciones.');
        }
    }

    return valid;
}

function validar_contactos(){
    $('.pErrorProyecto').html('');

    var valid = true;


    //validateDate: matches DD/MM/Y or DD/MM/YYYY or D/M/Y or DD/M/YYYY Leap years treated.
    var fecha_contacto_visita_dia = $('#txtFechaContactoVisitaDia').val().trim();
    var fecha_contacto_visita_mes = $('#txtFechaContactoVisitaMes').val().trim()
    var fecha_contacto_visita_anio = $('#txtFechaContactoVisitaAnio').val().trim();
    var fecha_contacto_telefonico_dia = $('#txtFechaContactoTelefonicoDia').val().trim();
    var fecha_contacto_telefonico_mes = $('#txtFechaContactoTelefonicoMes').val().trim();
    var fecha_contacto_telefonico_anio = $('#txtFechaContactoTelefonicoAnio').val().trim();
    var fecha_contacto_otro_dia =  $('#txtFechaContactoOtroDia').val().trim();
    var fecha_contacto_otro_mes =  $('#txtFechaContactoOtroMes').val().trim();
    var fecha_contacto_otro_anio =  $('#txtFechaContactoOtroAnio').val().trim();

    if (fecha_contacto_visita_dia != "" || fecha_contacto_visita_mes != "" || fecha_contacto_visita_anio != "")
    {
        if (!validateDate(fecha_contacto_visita_dia + "/" + fecha_contacto_visita_mes + "/" + fecha_contacto_visita_anio)) {
            valid = false;
            $('#pProyectoErrorContactos').html('Debe indicar una fecha válida de visita.');
        }
    }
    if (fecha_contacto_telefonico_dia != "" || fecha_contacto_telefonico_mes != "" || fecha_contacto_telefonico_anio != ""){
        if (!validateDate(fecha_contacto_telefonico_dia + "/" + fecha_contacto_telefonico_mes + "/" + fecha_contacto_telefonico_anio)) {
            valid = false;
            $('#pProyectoErrorContactos').html('Debe indicar una fecha válida de contacto telefónico.');
        }
    }
    if (fecha_contacto_otro_dia != "" || fecha_contacto_otro_mes != "" || fecha_contacto_otro_anio != ""){
        if (!validateDate(fecha_contacto_otro_dia + "/" + fecha_contacto_otro_mes + "/" + fecha_contacto_otro_anio)) {
            valid = false;
            $('#pProyectoErrorContactos').html('Debe indicar una fecha válida de otro contacto.');
        }

    }
    return valid;
}

function validar_cultivo(){
    $('.pErrorProyecto').html('');

    var valid = true;

    var id_especie_cultivo =  $('#ddlEspecieVariedadCultivo').val();
    var id_lugar_cultivo =  $('#ddlLugarCultivo').val();
    var espacio_cultivado = $('#txtEspacioCultivado').val().trim();

    if(id_especie_cultivo != 0 || id_lugar_cultivo != 0 || espacio_cultivado != '') {
        if (id_especie_cultivo == 0) {
            valid = false;
            $('#pProyectoErrorCultivos').html('Debe indicar una especie de cultivo.');
        }else if (id_lugar_cultivo == 0) {
            valid = false;
            $('#pProyectoErrorCultivos').html('Debe indicar un lugar de cultivo.');
        }else if (!validate_decimal(espacio_cultivado)) {
            valid = false;
            $('#pProyectoErrorCultivos').html('Debe indicar un espacio cultivado.');
        }
    }
    else {
        valid = false;
        $('#pProyectoErrorCultivos').html('Debe completar todos los datos para guardar un cultivo.');
    }


    return valid;
}

function validar_cosecha(){
    $('.pErrorProyecto').html('');
    var valid = true;

    var id_especie_cosecha =  $('#ddlEspecieVariedadCosecha').val();
    //var id_lugar_cosecha =  $('#ddlLugarCosecha').val();
    var cantidad_cosecha = $('#txtCosechaCantidad').val().trim();

    if(id_especie_cosecha != 0 || cantidad_cosecha != '') {
        if (id_especie_cosecha == 0) {
            valid = false;
            $('#pProyectoErrorCosechas').html('Debe indicar una especie de cosecha.');
        }else if (!validate_decimal(cantidad_cosecha)) {
            valid = false;
            $('#pProyectoErrorCosechas').html('Debe indicar una cantidad cosechada.');
        }
    }
    else {
        valid = false;
        $('#pProyectoErrorCosechas').html('Debe completar todos los datos para guardar una cosecha.');
    }
    return valid;
}

function validar_destinos(){

    $('.pErrorProyecto').html('');

    var valid = true;

    var id_especie_cosecha =  $('#ddlEspecieVariedadDestino').val();
    var consumo_comedor = $('#txtConsumoComedor').val().trim();
    var venta_cosecha = $('#txtVentaCosecha').val().trim();
    var entrega_familias = $('#txtEntregaFamilias').val().trim();
    var otro_destino = $('#txtDestinoOtros').val().trim();

    ///^[-+]?[0-9]+(\.[0-9]+)?$/.test(str);


    if(id_especie_cosecha != 0) {
        if (!validate_decimal(consumo_comedor)) {
            valid = false;
            $('#pProyectoErrorDestinos').html('Debe indicar cantidad destinada al consumo del comedor.');
        }else if (!validate_decimal(venta_cosecha)) {
            valid = false;
            $('#pProyectoErrorDestinos').html('Debe indicar cantidad destinada a la venta.');
        }else if (!validate_decimal(entrega_familias)) {
            valid = false;
            $('#pProyectoErrorDestinos').html('Debe indicar cantidad destinada a las familias.');
        }else if (!validate_decimal(otro_destino)) {
            valid = false;
            $('#pProyectoErrorDestinos').html('Debe indicar cantidad destinada a otros.');
        }
    }
    else {
        valid = false;
        $('#pProyectoErrorDestinos').html('Debe seleccionar una cosecha de la lista de cosechas.');
    }
    return valid;
}

function cargar_caracteristicas_huerta_protegida(){
    var tipo_espacio = $('#ddlTipoEspacio').val();
    if (tipo_espacio == 2) {
        document.sending = true;
        $.ajax({
            type: 'POST',
            url: WEB_PATH + 'app/ajax/huerta_protegida_get.php',
            success: function(response) {
                document.sending = false;
                $('#divHuertaProtegida').html(response);
            //Custom.clear();
            //Custom.init();
            }
        });
    }else{
        $('#divHuertaProtegida').html('');
    }
}

function deshabilitar_causas(ddl_estado, class_input_causas){
    //alert("aaaaaaaaaaahhhhhhhhhhhhhhh");
    var id_estado_etapa = $('#' + ddl_estado).val();

    if (id_estado_etapa == 1)  {
        $("." + class_input_causas).attr('style', 'visibility: hidden');//style="visibility: hidden"
    }else{
        $("." + class_input_causas).attr('style', 'visibility: visible');
    }
}

function inicializar_spans(){
    deshabilitar_causas('ddlEstadoEtapa','causas_estado');
    deshabilitar_causas('ddlEstadoEstructuraRiego','causas_riego');
    deshabilitar_causas('ddlEstadoEstructuraProteccion','causas_proteccion');
    deshabilitar_causas('ddlEstadoPolietileno','causas_polietilenos');
    deshabilitar_causas('ddlEstadoMallaSombra','causas_malla');
}

function validateDate( strValue ) {
    /************************************************
DESCRIPTION: Validates that a string contains only
    valid dates with 2 digit month, 2 digit day,
    4 digit year. Date separator can be ., -, or /.
    Uses combination of regular expressions and
    string parsing to validate date.
    Ex. mm/dd/yyyy or mm-dd-yyyy or mm.dd.yyyy

PARAMETERS:
   strValue - String to be tested for validity

RETURNS:
   True if valid, otherwise false.

REMARKS:
   Avoids some of the limitations of the Date.parse()
   method such as the date separator character.
*************************************************/
    var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/

    //check to see if in correct format
    if(!objRegExp.test(strValue))
        return false; //doesn't match pattern, bad date
    else{
        var strSeparator = strValue.substring(2,3)
        var arrayDate = strValue.split(strSeparator);
        //create a lookup for months not equal to Feb.
        var arrayLookup = {
            '01' : 31,
            '03' : 31,
            '04' : 30,
            '05' : 31,
            '06' : 30,
            '07' : 31,
            '08' : 31,
            '09' : 30,
            '10' : 31,
            '11' : 30,
            '12' : 31
        }
        var intDay = parseInt(arrayDate[0],10);

        //check if month value and day value agree
        if(arrayLookup[arrayDate[1]] != null) {
            if(intDay <= arrayLookup[arrayDate[1]] && intDay != 0)
                return true; //found in lookup table, good date
        }

        //check for February
        var intMonth = parseInt(arrayDate[1],10);
        if (intMonth == 2) {
            var intYear = parseInt(arrayDate[2]);
            if (intDay > 0 && intDay < 29) {
                return true;
            }
            else if (intDay == 29) {
                if ((intYear % 4 == 0) && (intYear % 100 != 0) ||
                    (intYear % 400 == 0)) {
                    // year div by 4 and ((not div by 100) or div by 400) ->ok
                    return true;
                }
            }
        }
    }
    return false; //any other values, bad date
}

function validate_decimal(str_decimal){
    var reg_ex = /^[-+]?[0-9]+(\.[0-9]+)?$/;
    return reg_ex.test(str_decimal);
}
