var CambioImagen = {
	modo: {
        scroll: 1,
        fade: 2
	},
    modoCambio: null,
	time: null,
    intervalo: 6000,
	imagenes: null,
	contenedorImagenes: null,
    numeroImagenes: 0,
    numeroImagenSeleccionada: 0,
    iniciar: function (imagenes, modo, intervalo) {
        this.imagenes = imagenes;
        this.intervalo = intervalo;
        this.numeroImagenes = this.imagenes.size();
        if (this.numeroImagenes > 0) {
            var primerImagen = $(this.imagenes[0]);

            this.contenedorImagenes = primerImagen.parent().parent();
/*
            this.contenedorImagenes.prepend('<div class="ctrBanners"><a href="#" class="anterior">&laquo;</a><a href="#" class="siguiente">&raquo;</a></div>')

            $('.anterior').bind('click', function () {
                CambioImagen.finalizarMovimiento();
                CambioImagen.anterior();
                return false;
            });
            $('.siguiente').bind('click', function () {
                CambioImagen.finalizarMovimiento();
                CambioImagen.siguiente();
                return false;
            });
*/
            this.iniciarMovimiento();

            this.modoCambio = modo || this.modo.scroll;
            if (this.modoCambio != this.modo.scroll) {
                this.imagenes.hide();
                primerImagen.show();
            }
        }
    },
    siguiente: function () {
        if ( this.modoCambio == this.modo.scroll ) {
        	this.numeroImagenSeleccionada++;
            this.numeroImagenSeleccionada = (this.numeroImagenSeleccionada >= this.numeroImagenes) ? 0 : this.numeroImagenSeleccionada;

            this.contenedorImagenes.scrollTo(this.imagenes[this.numeroImagenSeleccionada], 1000);
        } else if ( this.modoCambio == this.modo.fade ) {
            var imgActual = $(this.imagenes[this.numeroImagenSeleccionada]);

        	this.numeroImagenSeleccionada++;
            this.numeroImagenSeleccionada = (this.numeroImagenSeleccionada >= this.numeroImagenes) ? 0 : this.numeroImagenSeleccionada;

            imgActual.fadeOut('slow', function () {
                $(CambioImagen.imagenes[CambioImagen.numeroImagenSeleccionada]).fadeIn('slow');
            });
        }
    },
    anterior: function () {
        if ( this.modoCambio == this.modo.scroll ) {
        	this.numeroImagenSeleccionada--;
            this.numeroImagenSeleccionada = (this.numeroImagenSeleccionada < 0) ? this.numeroImagenes-1 : this.numeroImagenSeleccionada;

            this.contenedorImagenes.scrollTo(this.imagenes[this.numeroImagenSeleccionada], 1000);
        } else if ( this.modoCambio == this.modo.fade ) {
            var imgActual = $(this.imagenes[this.numeroImagenSeleccionada]);

        	this.numeroImagenSeleccionada--;
            this.numeroImagenSeleccionada = (this.numeroImagenSeleccionada < 0) ? this.numeroImagenes-1 : this.numeroImagenSeleccionada;

            imgActual.fadeOut('slow', function () {
                $(CambioImagen.imagenes[CambioImagen.numeroImagenSeleccionada]).fadeIn('slow');
            });
        }
    },
    iniciarMovimiento: function (intervalo) {
        this.time = window.setInterval(function () {
            CambioImagen.siguiente();
        }, (intervalo || this.intervalo || 6000));
    },
    finalizarMovimiento: function () {
    	if (this.time != null) {
    		window.clearInterval( this.time );
            this.time = null;
    	}
    }
};
$(window).load(function () {
    CambioImagen.iniciar($('.banner'), CambioImagen.modo.scroll, 5000);
});

