var Galerie= Class.create();


Galerie.prototype = {
	initialize: function(id,options)
	{
		this.gal_realids = new Array();
		this.id=id;
		this.vizitat=0;
		this.options=options;
		this.object_foto_gallery_cnt=null;//$('foto_gallery_cnt_'+id);
	},
// JavaScript Document
	gal_generate: function()
	{
		this.object_foto_gallery_cnt=$('foto_gallery_cnt_'+this.id);
		gal_left = 0;
		j = 0;
		for(i=-2;i<3;i++)
		{
			
			my_i = (this.options.total+i)%this.options.total;
						
			this.galimg = document.createElement('img');
			
			this.galimg.setAttribute('id','galimg_'+this.id+'_'+my_i);
			
			this.galimg.setAttribute('poz',my_i);
			this.galimg.setAttribute('link',this.options.links[my_i]);
			
			this.galimg.setAttribute('real_id',this.gal_realids[my_i]);
			
			this.galimg.src = this.options.imgs[my_i];
			this.galimg.style.width = this.options.dims[j+1]+'px';
			this.galimg.style.height = this.options.dims[j+1]+'px';
			this.galimg.style.top = ((this.options.dims[3]-this.options.dims[j+1])/2)+'px';
			this.galimg.style.left = gal_left+'px';
			gal_left = this.options.dims[j+1]+gal_left+this.options.extra_left;
			this.object_foto_gallery_cnt.appendChild(this.galimg);
			
			Event.observe(this.galimg,'click',function(e){
				this.gal_jump(e);
				
			}.bind(this))
			j++;
		}
		this.options.curent = (this.options.total-2)%this.options.total;
//		$('foto_detalii').innerHTML = gal_texts[0];
	},

	gal_write: function (a,b)
	{
		this.options.queue++;
		if((this.options.queue>1 && b==1) || this.options.queue==1)
		{
			this.options.status = 1;
			effects_ar = new Array();
			effects_i = 0;
			if(a>0)
			{
				this.object_foto_gallery_cnt.lastChild.setAttribute('id','gal_to_delete_'+this.id);
				if(this.options.curent==0) next_id = this.options.total-1;
				else next_id = this.options.curent-1;
				this.galimg = document.createElement('img');
				this.galimg.setAttribute('id','galimg_'+this.id+'_'+next_id);
				this.galimg.setAttribute('poz',next_id);
				this.galimg.setAttribute('link',this.options.links[next_id]);
				this.galimg.setAttribute('real_id',this.gal_realids[next_id]);
				this.galimg.src = this.options.imgs[next_id];
				this.galimg.style.width = '1px';
				this.galimg.style.height = '1px';
				this.galimg.style.top = (this.options.dims[3]/2)+'px';
				this.galimg.style.left = '0px';
					this.object_foto_gallery_cnt.insertBefore(this.galimg,this.object_foto_gallery_cnt.firstChild);
				Event.observe(this.galimg,'click',function(e){
					this.gal_jump(e);
				})
				for(i=0;i<=5;i++)
				{
					//if(i==4) continue;
					if(i==5)
					{
						effects_ar[effects_i++] = new Effect.Scale('galimg_'+this.id+'_'+(this.options.curent!=0?this.options.curent-1:this.options.total-1), 100*this.options.dims[1],{sync: true,scaleFromCenter:true,scaleContent:false});
						effects_ar[effects_i++] = new Effect.Move('galimg_'+this.id+'_'+(this.options.curent!=0?this.options.curent-1:this.options.total-1), { x: 0, y:1-this.options.dims[1]/2, mode: 'relative',sync: true});
					}
					else if(i==4)
					{
						style_top_cur = parseInt($('gal_to_delete_'+this.id).style.top);
						style_top_next = (this.options.dims[3]-this.options.dims[i+2])/2;
						effects_ar[effects_i++] = new Effect.Scale('gal_to_delete_'+this.id, 100*this.options.dims[i+2]/this.options.dims[i+1],{sync: true,scaleFromCenter:true,scaleContent:false});
						effects_ar[effects_i++] = new Effect.Move('gal_to_delete_'+this.id, { x: this.options.dims[i+1]+this.options.extra_left, y:1+style_top_next-style_top_cur, mode: 'relative',sync: true});
					}
					else
					{
						style_top_cur = parseInt($('galimg_'+this.id+'_'+((this.options.curent+i)%this.options.total)).style.top);
						style_top_next = (this.options.dims[3]-this.options.dims[i+2])/2;
						effects_ar[effects_i++] = new Effect.Scale('galimg_'+this.id+'_'+((this.options.curent+i)%this.options.total), 100*this.options.dims[i+2]/this.options.dims[i+1],{sync: true,scaleFromCenter:true,scaleContent:false});
						effects_ar[effects_i++] = new Effect.Move('galimg_'+this.id+'_'+((this.options.curent+i)%this.options.total), { x: this.options.dims[i+1]+this.options.extra_left, y:1+style_top_next-style_top_cur, mode: 'relative',sync: true});
					}
				}
			}
			else
			{
				this.object_foto_gallery_cnt.firstChild.setAttribute('id','gal_to_delete_'+this.id);
				next_id = (this.options.curent+5)%this.options.total;
				this.galimg = document.createElement('img');
				this.galimg.setAttribute('id','galimg_'+this.id+'_'+next_id);
				this.galimg.setAttribute('poz',next_id);
				this.galimg.setAttribute('link',this.options.links[next_id]);
				this.galimg.setAttribute('real_id',this.gal_realids[next_id]);
				this.galimg.src = this.options.imgs[next_id];
				this.galimg.style.width = '1px';
				this.galimg.style.height = '1px';
				this.galimg.style.top = (this.options.dims[3]/2)+'px';
				this.galimg.style.left = this.options.dims[1]+this.options.dims[2]+this.options.dims[3]+this.options.dims[4]+this.options.dims[5]+(this.options.extra_left*4)+'px'; 
				this.object_foto_gallery_cnt.appendChild(this.galimg);
				Event.observe(this.galimg,'click',function(e){
					this.gal_jump(e);
				}.bind(this))
				for(i=0;i<=5;i++)
				{
					if(i==5)
					{
						effects_ar[effects_i++] = new Effect.Scale('galimg_'+this.id+'_'+(this.options.curent+5)%this.options.total, 100*this.options.dims[1],{sync: true,scaleFromCenter:true,scaleContent:false});
						effects_ar[effects_i++] = new Effect.Move('galimg_'+this.id+'_'+(this.options.curent+5)%this.options.total, { x: 1-this.options.dims[5], y:1-this.options.dims[1]/2, mode: 'relative',sync: true});
					}
					else if(i==0)
					{
						style_top_cur = parseInt($('gal_to_delete_'+this.id).style.top);
						style_top_next = (this.options.dims[3]-this.options.dims[i])/2;
						effects_ar[effects_i++] = new Effect.Scale('gal_to_delete_'+this.id, 100*this.options.dims[i]/this.options.dims[i+1],{sync: true,scaleFromCenter:true,scaleContent:false});
						effects_ar[effects_i++] = new Effect.Move('gal_to_delete_'+this.id, { x: 1-this.options.dims[i]-this.options.extra_left, y:1+style_top_next-style_top_cur, mode: 'relative',sync: true});
					}				
					else
					{
						style_top_cur = parseInt($('galimg_'+this.id+'_'+((this.options.curent+i)%this.options.total)).style.top);
						style_top_next = (this.options.dims[3]-this.options.dims[i])/2;
						effects_ar[effects_i++] = new Effect.Scale('galimg_'+this.id+'_'+((this.options.curent+i)%this.options.total), 100*this.options.dims[i]/this.options.dims[i+1],{sync: true,scaleFromCenter:true,scaleContent:false});
						effects_ar[effects_i++] = new Effect.Move('galimg_'+this.id+'_'+((this.options.curent+i)%this.options.total), { x: 1-this.options.dims[i]-this.options.extra_left, y:1+style_top_next-style_top_cur, mode: 'relative',sync: true});
					}
				}
			}
//			effects_ar[effects_i++] = Effect.Fade('foto_detalii');
			new Effect.Parallel(effects_ar, { 
				duration: 0.6,
				delay: 0,
				queue: {position:'end', scope:'galerie'},
				afterFinish:function(){
					this.object_foto_gallery_cnt.removeChild($('gal_to_delete_'+this.id));
					if(a<0)
					{
						this.options.curent = this.options.curent+1;
					}
					else if(a>0)
					{
						this.options.curent = this.options.curent-1;
					}
					if(this.options.curent<0) this.options.curent = this.options.total-1;
					else if(this.options.curent==this.options.total) this.options.curent = 0;
//					$('foto_detalii').innerHTML = gal_texts[(this.options.curent+2)%this.options.total];
//					Effect.Appear('foto_detalii', {duration: 0.3, queue: {position:'end', scope:'galerie_appear'}});
					this.options.queue--;
					if(this.options.queue>0)
					{
						this.options.queue--;
						this.gal_write(a,1);
					}
				}.bind(this)
			});
		}
	},
	
	
	gal_jump:function(e)
	{
		if(this.options.queue>0) return;
		poz = parseInt(e.target.getAttribute('poz'));
		if(poz!=((this.options.curent+2)%this.options.total))
		{
			poz_dif = poz-((this.options.curent+2)%this.options.total);
			if(poz_dif>2) poz_dif = poz-this.options.total-((this.options.curent+2)%this.options.total);
			else if(poz_dif<-2) poz_dif = poz+this.options.total-((this.options.curent+2)%this.options.total);
			this.options.queue = Math.abs(poz_dif)-1;
			this.gal_write(0-poz_dif,1);
		}
		else
		{	
	//		alert($("gal_"+e.target.getAttribute('poz')));
			galerie_callback_function.call(this,e);
			if(this.vizitat==0){
				new Ajax.Request('/multimedia/view.html', 	
				{
					method:'post',
					parameters:{articol_id:this.id},
					onSuccess: function(transport){
						//	
					}
				});
			}
			this.vizitat = 1;
			
		}
	}
}

function galerie_lightbox(e) {
	if($("this.galimg_"+e.target.getAttribute('poz'))!=undefined)
	{
		my_lightbox.start($("gal_"+e.target.getAttribute('poz'))); 
	}
	else
	{
		window.location = e.target.getAttribute('link');
	}
}
function galerie_lightwindow(e) {
	
	
	gid = e.target.getAttribute('real_id');
	//alert(gid);
	
	if(gid>0 && gid !='undefined') populatePhotos(gid);
	
}
