var myscrollerMoo = new Class({
    initialize: function(element, options) {
		this.setOptions({
			steps: 3, 
			containerId: 'div#gallery_container',
			galleryItem: 'div.gallery_item'			
	    }, options);
	    this.currentPos = 0;
	    this.scrollerItems = null;
	    this.scrollerElement = element;
	    this.wrapperDiv = element.getElement(this.options.containerId);
	    this.scrollEff = new Fx.Scroll(this.wrapperDiv, {wait: false,duration: 1000,offset: {'x': -3, 'y': 0},transition: Fx.Transitions.Quad.easeInOut
                        });
	    this.initScrollerMoo();

		this.prevBtn=document.getElementById('gallery_prev');
		this.nextBtn=document.getElementById('gallery_next');
		
		this.prevFadeFx = new Fx.Style(this.prevBtn, 'opacity', {wait: false}).set(0.1);
		this.nextFadeFx = new Fx.Style(this.nextBtn, 'opacity', {wait: false}).set(1);
	    
	},
	initScrollerMoo: function() {
	    var ele = this.scrollerElement;
		var options = this.options;
		this.scrollerItems = this.wrapperDiv.getElements(options.galleryItem);	
		
	},
	scrollToItem: function(dir) {
        var move = dir * this.options.steps;
        var index = (this.scrollerItems[this.currentPos+move]) ? this.currentPos+move : ((this.currentPos+move) > 0) ? this.scrollerItems.length-1 : 0;

        if(((index + 1) >= this.scrollerItems.length) && (index % this.options.steps) != 0) return;
		
        this.scrollEff.toElement(this.scrollerItems[index]);
        this.currentPos = index;
		
		if(index==0) this.prevFadeFx.start(0.1);
		else this.prevFadeFx.start(1);
		
		if( (index+1) >= this.scrollerItems.length) this.nextFadeFx.start(0.1);
		else this.nextFadeFx.start(1);
	}
	
});
myscrollerMoo.implement(new Options);

var myscroller;
var lock=false;

function initScrollerMoo(_target){
	var target='gallery_1';
	
	if(document.getElementById(target)) document.getElementById(target).style.visibility='visible';
	else return;
	
	delete myscoller;
	myscroller = new myscrollerMoo($(target));
	myscroller.initialize($(target));
}

function prev(){
	myscroller.scrollToItem(-1);
}

function next(){
	myscroller.scrollToItem(1);
}

function showDetail(target){
	lock=false;

	var img = document.getElementById('image_detail');

	new Asset.images(target.rel, {
			onProgress: function(i) {
				if(lock==true) return;
				//alert(i);
				img.src="images/spacer.gif";
			},
			onComplete: function() {
				lock=true;
				//alert("complete");
				
				$(img).setStyle('opacity', 0);
				img.src=target.rel;

				$(img).effect('opacity',{
					duration: 2000,
					transition: Fx.Transitions.Cubic.easeInOut
				}).start(0.001,1);


			}
		});

}


function refreshCaptcha(target){

	var img = document.getElementById('captcha');
	img.src='engine/captcha_code.php?fname='+target+'&rchek='+Math.random();
;

}

window.onDomReady(initScrollerMoo);