// JavaScript Document

function galery_init()
{
	var image = null;
	var image_w = 0;
	var image_h = 0;

	var my_slider = null;
	var timer = null;

	var image_onload_callback = function()
	{
		var position = 0;
		var position_step = 2;

		//
		// clean previous resources
		//

		if (my_slider)
		{
			delete my_slider;
		}
		
		if (timer)
		{
			$clear(timer);
		}

		//
		// get image dimensions
		//
		
		image_w = image.width;
		image_h = image.height;
		
		//alert('image "' + this.src + " loaded : " + this.width + "px x " + this.height + "px");
		/*
		console.info('%a', image);
		console.info('image loaded : %d %d', image_w, image_h);
		*/
		$('slide').setStyle('background-image', "url(" + this.src + ")");

		//
		// create slider
		//
		
		my_slider = new Slider
		(
			$('slider'), $('knob'),
			{
				steps: image_w - 700,
				onChange: function(step)
				{
					position = step;
					$('galery')._setPosition(-step);
				}
			}
		).set(0);
					
		//
		// autoscroll
		//
		
		$('slider')._start = function()
		{
			if (timer)
			{
				$clear(timer);
			}
			
			timer = (function()
			{
				position += position_step;
				
				if ((position > image_w - 700) || (position <= 0))
				{
					position_step = -position_step;
				}
				
				my_slider.set(position);
			}).periodical(50);
		};
		
		$('slider')._stop = function()
		{
			$clear(timer);
		};
				
		$('slider').addEvents({
		
			'mouseover' : function() { this._stop(); },
			'mouseout' : function() { this._start(); }

		});
		
		//
		// auto start
		//
		
		(function() {$('slider')._start(); }).delay(2000);
	};

	//
	// IE PNG FIX
	//
	
	if (navigator.appName == 'Microsoft Internet Explorer')
	{
		$('slide').src = 'spacer.png';
		$('slide').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="cadre.png", sizingMethod="scale")';
	}

	//
	//
	//
	
	$('galery')._setCollection = function(url, title)
	{
		if (image)
		{
			delete image;
		}
		
		var title_ar = title.split(' : ');
		
		$('galery-title').innerHTML = title_ar[0] + ' <small>' + title_ar[1] + '</small>';

		image = new Asset.image(url,
		{
			onload: image_onload_callback
		});
	};
	
	$('galery')._setPosition = function(pos)
	{
		$('slide').setStyle('background-position', pos + "px 0px");
	}
	
	//
	// auto init
	//
	
	var links = $('catalog').getElementsByTagName('a');
	
	for (i = 0 ; i < links.length ; i++)
	{
		l = links[i];
		
		img = l.firstChild;
		img._fx = new Fx.Style(img, 'opacity', { duration: 125 });
		img._fx.set(0.5);
		
		$(img).onmouseover = function()
		{
			this._fx.stop();
			this._fx.start(1);
		};
		
		$(img).onmouseout = function()
		{
			this._fx.stop();
			this._fx.start(0.5);
		};
		
		l.onclick = function()
		{
			$('galery')._setCollection(this.href, this.title);
			
			return false;
		};
	}
	
	$('galery')._setCollection(links[0].href, links[0].title);
}

window.addEvent('domready', galery_init);