/**
 * @author Nikolay Borisov (nikolay@borisov.me | http://nikolay.borisov.me/)
 * @copyright Notamedia (http://notamedia.ru/)
 * @version 0.3
 * @required jQuery
 * @date 2009-11-13
 */

var PosteresClass = function(_navegante){

	var self = this;

	var navegante = _navegante;

	var $mapa = $('#mapa');
	var $posteresCont = $('#posteres');
	var $posteres = $('#posteres > li');
	var $posteresDescr = $('.descr', $posteres);
	var $punto = $('#tileIzquierda .punto');
	var $puntoNum = $('i', $punto);
	var $puntoDescr = $('.descr', $punto);
	var $cerrarElPosterBoton = $('#cerrarElPosterBoton');

	var $posterHoja = $('#posterHoja');
	//var $splash = $('> .splash', $posterHoja);
	var $prev = $('> .prev', $posterHoja);
	var $next = $('> .next', $posterHoja);
	var $posteresGrande = $('#posteresGrande');
	var $posteresGrandeItem = $('> li', $posteresGrande);

	var height;

	var coordenadas = new Array();
	coordenadas[0] = { left:-2005, top:-300 };
	coordenadas[1] = { left:-1909, top:-178 };
	coordenadas[2] = { left:-1819, top:-111 };
	coordenadas[3] = { left:-1672, top:-242 };
	coordenadas[4] = { left:-1682, top:-216 };
	coordenadas[5] = { left:-1712, top:-125 };
	coordenadas[6] = { left:-1857, top:-144 };
	coordenadas[7] = { left:-1669, top:-450 };

	var timeoutId;
	
	var grande = false;

	var gotoMapa = function(i){
		$mapa.stop().animate({ left:coordenadas[i].left, top:coordenadas[i].top }, 1000);
		$puntoDescr.html($posteresDescr.eq(i).html());
		$puntoNum.html(i+1);
		$punto.show();
	}

	$posteres.each(function(i){
		var k = i;
		var $this = $(this);
		var top = $this.position().top;
		var left = $this.position().left;

		$this.hover(function(){
			grande = false;
			clearTimeout(timeoutId);
			timeoutId = setTimeout(function(){
				gotoMapa(k);
			}, 300);
		}, function(){
			if(grande) return;
			clearTimeout(timeoutId);
			timeoutId = setTimeout(function(){
				$mapa.stop().animate({ left:0, top:0 }, 2000);
				$punto.hide();
			}, 800);
		}).click(function(){
			grande = true;
			$posteresGrande.hide();
			$next.hide();
			$prev.hide();
			//$splash.css({ 'left':left, 'top':top, 'width':220, 'height':195 });
			$posterHoja.show();
			//$splash.animate({ 'left':0, 'top':0, 'width':940, 'height':600 }, 300, function(){
				$posteresCont.hide();
				if(k < 7 ){
					$next.show();
				}
				if(k > 1){
					$prev.show();
				}
				$posteresGrande.css({ 'left':-k*940 }).show();
			//});

			navegante.setHeight(1300);
			navegante.scrollTo(144);
		});
	});

	$next.click(function(){
		var k = -parseInt($posteresGrande.css('left'))/940;
		if(k < 7){
			$next.hide();
			$prev.hide();
			$posteresGrande.animate({ 'left':'-=940' }, 300, function(){
				gotoMapa(k+1);
				if(k < 6) $next.show();
				$prev.show();
			});
		}
	});
	
	$prev.click(function(){
		var k = -parseInt($posteresGrande.css('left'))/940;
		if(k > 0){
			$next.hide();
			$prev.hide();
			$posteresGrande.animate({ 'left':'+=940' }, 300, function(){
				gotoMapa(k-1);
				$next.show();
				if(k > 1) $prev.show();
			});
		}
	});

	$cerrarElPosterBoton.click(function(){
		navegante.setHeight(height);
		$posteresCont.show();
		$posterHoja.hide();
	});


	this.load = function(){
		if(!height){
			height = navegante.getHeight();
			$posteresGrandeItem.each(function(i){
				var k = i+1;
				$(this).html('<img src="/static/i/posteres/'+k+'.jpg" alt="" />');
			});
		}
	}

	this.unload = function(){
		clearTimeout(timeoutId);
		$mapa.stop().animate({ left:0, top:0 }, 2000);
		$punto.hide();
	}

}
