/* ver 0.1a */

var photogallery = {
	//----- спец.эффекты смены картинок ----------------------------
  normal: function(large,preview) { jQuery(large).show(); },
	
	show: function(current_img) {
		var src = current_img.parentNode.href;
		var effect = this.normal;
		jQuery(this.cfg.small_image).removeClass("current_preview");
		jQuery(current_img).addClass("visited_preview current_preview");
		effect( jQuery(this.cfg.large_image).attr({"src":src,"alt":src}) , current_img );
		current_img.blur();
		return false;
	},
  
	//----- служебные функции --------------------------------------
	init: function(config) {
		this.cfg = config;
		this.List = jQuery(this.cfg.preview_all);					// все превью изображения
		if (this.List.length > 0) this.show(jQuery(".preview",this.List)[0]);	// выбор первой картинки
		jQuery(this.cfg.small_image).click(function(){ return photogallery.show(this); });
		jQuery(this.cfg.large_image).click(function(){ return photogallery.next(); });
  },
  
	prev: function() {
		var src = jQuery(this.cfg.large_image)[0].src;
		for(var i=0; i < this.List.length; i++) if ( this.List[i].href == src ) {
	    if ( i == 0 ) i = this.List.length; // в конец...
	    return this.show(jQuery(".preview",this.List)[i-1]);
		}
		return false;
	},
  
	next: function() {
		var src = jQuery(this.cfg.large_image)[0].src;
		for(var i=0; i < this.List.length; i++) if ( this.List[i].href == src ) {
	    if ( i+1 >= this.List.length ) i = -1; // в начало...
	    return this.show(jQuery(".preview",this.List)[i+1]);
		}
		return false;
	},
	
	slideshow: function(callback) { // вкл./выкл. режима слайд-шоу
		if (this.slideshow_id) {
			window.clearInterval(this.slideshow_id);
			this.slideshow_id = null;
		  if (callback) callback(false);
		} else if (this.cfg.interval) {
		  this.next();
		  this.slideshow_id = window.setInterval(function(){photogallery.next()},this.cfg.interval);
		  if (callback) callback(true);
		}
		return false;
 	}
}

