/**
 * @author mauricio
 */
(function() {

    YAHOO.namespace("FORMMADRE");
    var FORMMADRE = YAHOO.FORMMADRE;
    TABFRWK.TABWEB.FORMMADRE = YAHOO.FORMMADRE;

    TABFRWK.TABWEB.FORMMADRE.setIniUser = function() {
    // TABFRWK.TABWEB.FORMMADRE.ADDRECORD(div_id,'CREATE',0);
    }

    TABFRWK.TABWEB.FORMMADRE.getComboRegiones = function(div_id){
        
        var myDataSourceRegion = new YAHOO.util.XHRDataSource('hook_process.php?action=regiones');
        myDataSourceRegion.responseType = YAHOO.util.DataSource.TYPE_JSON;
        myDataSourceRegion.responseSchema = {
            fields: ["id","nombre","numero"],
            resultsList: "datosset"
        };

        var RETURN_OBJECT = new inputEx.DSSelectField({
            label : '',
            datasource: myDataSourceRegion,
            valueKey: "id",
            labelKey: "nombre",
            parentEl: div_id
        });

        return RETURN_OBJECT;
    }

    TABFRWK.TABWEB.FORMMADRE.getComboComunas = function(div_id,idRegion){
        
        var myDataSourceComuna = new YAHOO.util.XHRDataSource('hook_process.php?action=comunas&data='+idRegion);
        myDataSourceComuna.responseType = YAHOO.util.DataSource.TYPE_JSON;
        myDataSourceComuna.responseSchema = {
            fields: ["id","nombre","region"],
            resultsList: "datosset"
        };

        var RETURN_OBJECT = new inputEx.DSSelectField({
            label : '',
            datasource: myDataSourceComuna,
            valueKey: "id",
            labelKey: "nombre",
            parentEl: div_id
        });

        return RETURN_OBJECT;
    }

    TABFRWK.TABWEB.FORMMADRE.ADDRECORD = function(div_id, vt_action,
        record_key, data_recover) {

        TABFRWK.TABWEB.FORMMADRE.FORM_ACTION = vt_action;

        var MADRE_CHECKBOX = new inputEx.CheckBox({
            rightLabel: '',
            parentEl: 'field_checkbox',
            sentValues: ['YES', 'NO'],
            value: ''
        });

        var MADRE_RUT = new inputEx.StringField( {
            label : '',
            value : '',
            size : 20,
            parentEl : 'field_rut'
        });

        var MADRE_NOMBRES_UNO = new inputEx.StringField( {
            label : '',
            value : '',
            size : 40,
            parentEl : 'field_nombre_uno'
        });

        var MADRE_NOMBRES_DOS = new inputEx.StringField( {
            label : '',
            value : '',
            size : 40,
            parentEl : 'field_nombre_dos'
        });

        var MADRE_APELLIDOS_UNO = new inputEx.StringField( {
            label : '',
            value : '',
            size : 40,
            parentEl : 'field_apellido_uno'
        });

        var MADRE_APELLIDOS_DOS = new inputEx.StringField( {
            label : '',
            value : '',
            size : 40,
            parentEl : 'field_apellido_dos'
        });

        var FECHA_DIA = new inputEx.StringField( {
            label : 'D',
            value : '',
            size : 2,
            parentEl : 'field_day'
        });

        var FECHA_MES = new inputEx.StringField( {
            label : 'M',
            value : '',
            size : 2,
            parentEl : 'field_month'
        });

        var FECHA_ANO = new inputEx.StringField( {
            label : 'A',
            value : '',
            size : 4,
            parentEl : 'field_year'
        });       

        div_combo_region = 'field_regiones';
        div_combo_comuna = 'field_comunas';

        var REGION = TABFRWK.TABWEB.FORMMADRE.getComboRegiones(div_combo_region);
        idRegion = 0;
        var CIUDAD_COMUNA = TABFRWK.TABWEB.FORMMADRE.getComboComunas(div_combo_comuna,idRegion);

        REGION.updatedEvt.subscribe(function(){
            idRegionValue = REGION.getValue();
            TABFRWK.DomDraw.deleteContentDOM(div_combo_comuna);
            CIUDAD_COMUNA = TABFRWK.TABWEB.FORMMADRE.getComboComunas(div_combo_comuna,idRegionValue);
        });

        var MADRE_DIRECCION = new inputEx.StringField( {
            label : '',
            value : '',
            size : 40,            
            parentEl : 'field_direccion'
        });

        var MADRE_FONO_PARTICULAR_CODIGO = new inputEx.StringField( {
            label : '',
            value : '',
            size : 2,
            value:'02',
            parentEl : 'field_fono_part_cod'
        });

        var MADRE_FONO_PARTICULAR = new inputEx.StringField( {
            label : '',
            value : '',
            size : 15,
            parentEl : 'field_fono_part'
        });

        var MADRE_FONO_OFICINA_CODIGO = new inputEx.StringField( {
            label : '',
            value : '',
            size : 2,
            value:'02',
            parentEl : 'field_fono_off_cod'
        });

        var MADRE_FONO_OFICINA = new inputEx.StringField( {
            label : '',
            value : '',
            size : 15,
            parentEl : 'field_fono_off'
        });

        var MADRE_FONO_MOVIL = new inputEx.StringField( {
            label : '',
            value : '',
            size : 15,
            parentEl : 'field_fono_movil'
        });

        var MADRE_EMAIL = new inputEx.EmailField( {
            label : '',
            value : '',
            size : 15,
            parentEl : 'field_email'
        });

        var myDataSourcePrevision = new YAHOO.util.XHRDataSource('hook_process.php?action=previsiones');
        myDataSourcePrevision.responseType = YAHOO.util.DataSource.TYPE_JSON;
        myDataSourcePrevision.responseSchema = {
            fields: ["prevision","valor"],
            resultsList: "datosset"
        };

        var PREVISION = new inputEx.DSSelectField({
            label : '',
            datasource: myDataSourcePrevision,
            valueKey: "valor",
            labelKey: "prevision",
            parentEl: 'field_previsiones'
        });

        var MADRE_ACTIVIDAD = new inputEx.StringField( {
            label : '',
            value : '',
            size : 20,
            parentEl : 'field_actividad'
        });

        var MADRE_SEMANAS_GESTACION = new inputEx.StringField( {
            label : '',
            value : '',
            size : 2,
            parentEl : 'field_semanas_gestacion'
        });

        var MADRE_MEDICO_TRATANTE = new inputEx.StringField( {
            label : '',
            value : '',
            size : 20,
            parentEl : 'field_medico'
        });

        var div = YAHOO.util.Dom.get('send_button');

        var buttonCreate = new YAHOO.widget.Button( {
            label : "Guardar",
            id : "buttonCreate",
            container : div
        });

        var sendFormData = function() {

            vb_CheckBox = MADRE_CHECKBOX.getValue();
            vt_rutValue = MADRE_RUT.getValue();

            vbSaveData = 'YES';
            if(vbSaveData=='YES'){
                if(vb_CheckBox=='NO'){
                    vbStateReturn = getValidateRut(vt_rutValue);
                    if(vbStateReturn=='ERROR'){
                        alert('Su rut es incorrecto por favor digítelo correctamente, gracias');
                    }
                }
                if(vb_CheckBox=='YES'){
                    vbStateReturn = 'OK';
                }
                           
                if(vbStateReturn=='OK'){
                    rut = 'rut=' + vt_rutValue;
                    n1 = '&n1=' + MADRE_NOMBRES_UNO.getValue();
                    n2 = '&n2=' + MADRE_NOMBRES_DOS.getValue();
                    ap1 = '&ap1=' + MADRE_APELLIDOS_UNO.getValue();
                    ap2 = '&ap2=' + MADRE_APELLIDOS_DOS.getValue();
                    y_fn = '&y_fn=' + FECHA_ANO.getValue();
                    m_fn = '&m_fn=' + FECHA_MES.getValue();
                    d_fn = '&d_fn=' + FECHA_DIA.getValue();
                    region = '&region=' + REGION.getValue();
                    comuna = '&comuna=' + CIUDAD_COMUNA.getValue();
                    direccion = '&direccion=' + MADRE_DIRECCION.getValue();
                    fono_part_cod = '&fono_part_cod=' + MADRE_FONO_PARTICULAR_CODIGO.getValue();
                    fono_part = '&fono_part=' + MADRE_FONO_PARTICULAR.getValue();
                    fono_of_cod = '&fono_of_cod=' + MADRE_FONO_OFICINA_CODIGO.getValue();
                    fono_of = '&fono_of=' + MADRE_FONO_OFICINA.getValue();
                    fono_movil = '&fono_movil=' + MADRE_FONO_MOVIL.getValue();
                    email = '&email=' + MADRE_EMAIL.getValue();
                    prevision = '&prevision=' + PREVISION.getValue();
                    actividad = '&actividad=' + MADRE_ACTIVIDAD.getValue();
                    semanas_gest = '&semanas_gest=' + MADRE_SEMANAS_GESTACION.getValue();
                    medico = '&medico=' + MADRE_MEDICO_TRATANTE.getValue();

                    vt_concat_data = rut + n1 + n2 + ap1 + ap2 + y_fn + m_fn + d_fn + region + comuna + direccion+ fono_part_cod;
                    vt_concat_data += fono_part + fono_of_cod+ fono_of + fono_movil + email;
                    vt_concat_data += prevision + actividad+ semanas_gest + medico;

                    var callback = {
                        success : function(o) {
                            var vt_response = o.responseText;

                            if(vt_response=='ERROR'){
                                alert('El rut ya se encuentra ingresado en el sistema, por favór verifíquelo, gracias!');
                            }else{
                                window.open('confirmacion_madre.php','_self');
                            }
                        },
                        failure : function(o) {
                        }
                    }
                    vt_uri = TABFRWK.WEB_CONNECT_PATH+ 'save_madre.php?'+vt_concat_data;
                    YAHOO.util.Connect.asyncRequest('GET', vt_uri,callback);
                }
            }else{
                
        }
        }
        buttonCreate.on("click", sendFormData);
    }

})();
