var FormBusqueda = {
    formulario: null, 
    operaciones: null,
    showSelectPeriodoSelect: null,
    showSelectsAlquileres: null,
    showSelectsVentas: null,
    selDesdeVenta: null,
    selHastaVenta: null,
    selDesdeAlquiler: null,
    selHastaAlquiler: null,
    idPropiedad: null, 
    valorPorDefectoBuscadorPorId: null, 
    iniciar: function (formulario, operaciones, showSelectPeriodoSelect, showSelectsAlquileres, showSelectsVentas, selDesdeVenta, selHastaVenta, selDesdeAlquiler, selHastaAlquiler, idPropiedad, valorPorDefectoBuscadorPorId) {
        this.formulario = formulario;
        this.operaciones = operaciones;
        this.showSelectPeriodoSelect = showSelectPeriodoSelect;
        this.showSelectsAlquileres = showSelectsAlquileres;
        this.showSelectsVentas = showSelectsVentas;
        this.selDesdeVenta = selDesdeVenta;
        this.selHastaVenta = selHastaVenta;
        this.selDesdeAlquiler = selDesdeAlquiler;
        this.selHastaAlquiler = selHastaAlquiler;
        this.idPropiedad = idPropiedad;
        this.valorPorDefectoBuscadorPorId = valorPorDefectoBuscadorPorId;

        this.formulario.bind('submit', function () { if (FormBusqueda.idPropiedad.val() == FormBusqueda.valorPorDefectoBuscadorPorId) {FormBusqueda.idPropiedad.val('');} });

        this.operaciones.bind('change', function () { FormBusqueda.cambiarClases(); });

        this.idPropiedad.val( this.valorPorDefectoBuscadorPorId )
                        .bind('focus', function () { if (FormBusqueda.idPropiedad.val() == FormBusqueda.valorPorDefectoBuscadorPorId) {FormBusqueda.idPropiedad.val('');} })
                        .bind('blur', function () { if (FormBusqueda.idPropiedad.val() == '') {FormBusqueda.idPropiedad.val( FormBusqueda.valorPorDefectoBuscadorPorId );} });

        this.cambiarClases();
    },
    cambiarClases: function () {
        if ( this.operaciones.val() == 2 ) {    // alquiler
            this.showSelectPeriodoSelect.removeClass('invisible');
            this.showSelectsAlquileres.removeClass('invisible');
            this.showSelectsVentas.addClass('invisible');

            this.selDesdeVenta.addClass('invisible').attr('disabled', true);
            this.selHastaVenta.addClass('invisible').attr('disabled', true);
            this.selDesdeAlquiler.removeClass('invisible').attr('disabled', false);
            this.selHastaAlquiler.removeClass('invisible').attr('disabled', false);
        } else {    // venta u otro
            this.showSelectPeriodoSelect.addClass('invisible');
            this.showSelectsAlquileres.addClass('invisible');
            this.showSelectsVentas.removeClass('invisible');

            this.selDesdeVenta.removeClass('invisible').attr('disabled', false);
            this.selHastaVenta.removeClass('invisible').attr('disabled', false);
            this.selDesdeAlquiler.addClass('invisible').attr('disabled', true);
            this.selHastaAlquiler.addClass('invisible').attr('disabled', true);
        }
    }
};

var FormNewsletter = {
    form: null,
    text: null,
    message: null,
    textDefault: 'Newsletter quincenal',
    iniciar: function (form, text, message, textDefault) {
        this.form = form;
        this.text = text;
        this.message = message;
        this.textDefault = textDefault || this.textDefault;

        this.form.bind('submit', function () { return FormNewsletter.validate(); });

        this.text.bind('focus', function () { FormNewsletter.resetValue('focus'); });
        this.text.bind('blur', function () { FormNewsletter.resetValue('blur'); });
        this.text.val(this.textDefault);
    },
    resetValue: function (event) {
        if (event == 'focus' && this.text.val() == this.textDefault) {
            this.text.val('');
        } else if (event == 'blur' && this.text.val() == '') {
            this.text.val(this.textDefault);
        }
    },
    validate: function () {
        var mail = this.text.val();
        if (mail != '' && mail != this.textDefault) {
            count = 0; pos = mail.indexOf("@"); while ( pos!= -1 ) { count++; pos = mail.indexOf("@",pos+1); }
            if (count == 1) {
                count = 0; pos = mail.indexOf("."); while ( pos!= -1 ) { count++; pos = mail.indexOf(".",pos+1); }
                if (count > 0) {
                    return true;
                }
            }
        }
        this.message.html('Debe ingresar una direccion de cuenta de correo valida.').fadeIn('slow');

        return false;
    }
};


$(window).load(function () {
    // marcar el formulario para luego limpiar
    FormBusqueda.iniciar(
        $('#formBusqueda'),
        $('#operaciones'),
        $('#showSelectPeriodoSelect'),
        $('#showSelectsAlquileres'),
        $('#showSelectsVentas'),
        $('#selDesdeVenta'),
        $('#selHastaVenta'),
        $('#selDesdeAlquiler'),
        $('#selHastaAlquiler'),
        $('#idPropiedad'),
        'Numero de referencia'
    );
});

