/*
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ---- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
   Navegacion de trabajos
   Namespace es.aquataller.dominio
   version:  d01-m02-a07
//  -- -- -- -- -- -- -- -- --
//  Mauricio F. Tolezano (www.acuataller.com)
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ---- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
// 
//
*/



es.aquataller.dominio.TrabajosNav = {	
	
	panel			: null,
	menuActivado	: false,
	animarElementos	: {imagenes:[], enlaces:[], animacion:null},
	cookieEstado	: 'AMT_estado',
	
	iniciar: function() 
	{	 		
		var u = new es.aquataller.utiles.Utiles();
		if(!document.getElementById	||!u.createElement) return false;		
		this.u = u;	
		// bandera para actiar estilos necesarios junto con la ejecucion Javascript
		this.u.setClaseBandera('dom'); 
		this.crearPanelHorizontal();
		this.animarActivarMenu(false,true);
	},	
	
	reajusteVentana: function() 
	{	
		this.panel.reajusteVentana()
	},
	
	activarMenu: function(activar,retardo) 
	{	
		// Retardo para ignorar los eventos que generan los elementos HTML contenidos.
		window.clearTimeout(this.retardoActivarMenu);
		this.retardoActivarMenu = null;
		
		if(activar)
		{
			if (this.menuActivado) return false;
			this.menuActivado = true;
			this.animarActivarMenu(true);
		}
		else if (this.menuActivado)
		{
			if(retardo){
				this.menuActivado = false;
				this.animarActivarMenu(false);
			}else{
				var _this = this;			
				this.retardoActivarMenu = window.setTimeout(function(){_this.activarMenu(false,true)}, 3000);	
			}
		}
	},	
	
	animarActivarMenu: function(activar, inicio) 
	{	
		if(!this.animarElementos.animacion){
			//this.animarElementos.animacion = Animator.apply(this.animarElementos.imagenes, 'opacity: 0.6;');
			this.animarElementos.animacion = new Animator().addSubject(
				new CSSStyleSubject(this.animarElementos.imagenes, 'opacity: 1.0;','opacity: 0.45;')
			);	
		}		
		this.animarElementos.animacion.options.duration = (inicio)?3000:(activar)?100:2500;
		this.animarElementos.animacion.seekTo(!activar);
	},
	
	crearPanelHorizontal: function() 
	{		
		// HTML
		var navTrabajos = document.getElementById('nav-otros-trabajos');	
		if(!navTrabajos) return false;		
		var navTrabajosMenu = navTrabajos.getElementsByTagName('ul');
		if(!navTrabajosMenu || !navTrabajosMenu[0]) return false;			
		navTrabajosMenu = navTrabajosMenu[0]; 
		
		var lkAnterior 		= this.u.createElement('a');
		lkAnterior.id 		= 'lk-nav-trabajos-anterior';
		lkAnterior.title 	= 'Anterior';
		lkAnterior.appendChild( this.u.createTextNode('Anterior') );		
		
		var lkSiguiente		= this.u.createElement('a');
		lkSiguiente.id 		= 'lk-nav-trabajos-siguiente';
		lkSiguiente.title	= 'Siguiente';
		lkSiguiente.appendChild( this.u.createTextNode('Siguiente') );
		
		navTrabajos.insertBefore(lkAnterior,navTrabajos.firstChild);
		navTrabajos.appendChild( lkSiguiente );	
		

		// Panel horizontal		
		this.panel = new es.aquataller.ui.PanelHorizontal 
		(	
		 	navTrabajos, navTrabajosMenu, 
			lkAnterior, lkSiguiente, 
			63, // Ver ancho de los botones Siguiente, Anterior en el CSS 
			15 	// Margen del menu con desplazamiento desactivado. Actualizar junto con el CSS
		);	
		
		this.panel.iniciar(this.estado());
			
		var _this = this;
		lkAnterior.onclick = function() {
			_this.panel.paneo();
		}
		lkSiguiente.onclick = function() {
			_this.panel.paneo(false);
		}	
		
		navTrabajos.onmouseover = function() {
			_this.activarMenu(true);
			return false;
		}	
		navTrabajos.onmouseout = function() {
			_this.activarMenu(false);
			return false;
		}			
		
		// Elementos que se animan al activar el menu.
		this.animarElementos.imagenes.push(navTrabajosMenu);
		
	},	
	
	guardarEstado: function() 
	{	
		this.u.guardarCookie(this.cookieEstado,this.panel.posicion(),0); 
	},
	
	estado: function() 
	{	
		return this.u.cookie(this.cookieEstado);
	}	
}


function addUnloadEvent(func) {
	var oldOnUnload = window.onunload;		
	if (typeof window.onunload != 'function') {
		window.onunload = func;
	} else {
		window.onunload = function() {
			oldOnUnload();
			func();
		}
	}
}
function AMT_guardarEstado() { 
	es.aquataller.dominio.TrabajosNav.guardarEstado();
}

addUnloadEvent( AMT_guardarEstado );

function addResizeEvent(func) {
	var oldOnResize = window.onresize;		
	if (typeof window.onresize != 'function') {
		window.onresize = func;
	} else {
		window.onresize = function() {
			oldOnResize();
			func();
		}
	}
}	
function AMT_activarDesplazamiento() { 
	es.aquataller.dominio.TrabajosNav.reajusteVentana();
}
addResizeEvent( AMT_activarDesplazamiento );// llama a funcion intermedia par recuperar el scope


ELO.functionsToCallOnload.push("es.aquataller.dominio.TrabajosNav.iniciar()");



