var gal_uid = 0;

var pageGallery = new Class({
		
		Implements: [Options, Events],
		
		options: {
			scrollstep: 10
			},
        
		initialize: function(container,options) {
			this.setOptions(options);
			
			/*
			if (!($defined(container))) return false;
			if (!($defined($(container)))) return false;
			*/
			
			this.images=new Array();
			container.getElements('img').each(function(el) {
				this.images.push(el.get('src'));
				el.destroy();
				}.bind(this));
			
			this.container = new Element('div')
				.addClass('pagegallery_container')
				.inject($(container));
			this.leftarrow=new Element('div')
				.addClass('pagegallery_leftarrow')
				.inject(this.container);
			this.scroller = new Element('div')
				.addClass('pagegallery_scroller')
				.inject(this.container);
			this.rightarrow=new Element('div')
				.addClass('pagegallery_rightarrow')
				.inject(this.container);
			this.imgcontainer=new Element('div')
				.addClass('pagegallery_imgcontainer')
				.inject(this.scroller);			
						
			var imgcw = 0;
			var i=0;
			galid='gallery_'+galUid();
			this.images.each(function(el){
				var imglink=el.split('=')[1];
				var ib = new Element('a')
					.set('href',imglink)
					.set('rel','milkbox['+galid+']')
					.addClass('pagegallery_imgbox')
					.setStyle('background-image','url('+el+')')
					.inject(this.imgcontainer);
				imgcw=imgcw+ib.getCoordinates().width;
				}.bind(this));
			
			var sw=this.container.getCoordinates().width-this.leftarrow.getCoordinates().width-this.rightarrow.getCoordinates().width;
			this.scroller.setStyle('width',sw+'px');
			this.imgcontainer.setStyle('width',imgcw+'px');			
			
			this.rightarrow.addEvents({
				'mousedown': function(e) {
					rightscrolltimer = this.rightscroll.periodical(1, this, this); 
					}.bind(this),
				'mouseup': function(e) {
					window.clearInterval(rightscrolltimer);
					}
				});
				
			this.leftarrow.addEvents({
				'mousedown': function(e) {
					leftscrolltimer = this.leftscroll.periodical(1, this, this); 
					}.bind(this),
				'mouseup': function(e) {
					window.clearInterval(leftscrolltimer);
					}
				});			
			},
			
		rightscroll: function() {
			var m = this.imgcontainer.getStyle('margin-left').toInt()-this.options.scrollstep;
			var n = this.scroller.getStyle('width').toInt() - this.imgcontainer.getStyle('width').toInt();
			if ( m < n ) m = n;
			this.imgcontainer.setStyle('margin-left',m+'px');
			},
			
		leftscroll: function() {
			var m = this.imgcontainer.getStyle('margin-left').toInt()+this.options.scrollstep;
			if (m>0) m=0;
			this.imgcontainer.setStyle('margin-left',m+'px');
			}
			
	});
	
function galUid() {
	return gal_uid++;
	}
