// FUNCIONES

// función que rota las imagenes
function rotator() {

	var parent = this;

	parent.images = {};
	parent.actualImage = 1;
	parent.imagesCount = 0;
	parent.timer = 0;
	parent.speed = 5000;


	parent.clear = function() {
		parent.actualImage = 1;
		clearTimeout(parent.timer);
		delete image;
			//console.log('cleared!');
	}


	parent.rotate = function(speed){

		// limpio el timeout
		clearTimeout(parent.timer);
		
		// cargo imagen
		var image = new Image();

		$(image).bind('load', function() {

            // parche url
            var linkStartValue = '';
            var linkEndValue = '';
            if(parent.imagesUrl[parent.actualImage] != undefined && parent.imagesUrl[parent.actualImage] != ''){
                if(parent.imagesNewWindow[parent.actualImage] != undefined && parent.imagesNewWindow[parent.actualImage] == '1'){
                    linkStartValue = '<a href="'+parent.imagesUrl[parent.actualImage]+'" target="_blank">';    
                }else{
                    linkStartValue = '<a href="'+parent.imagesUrl[parent.actualImage]+'">';
                }
                linkEndValue = '</a>';
            }
            // end parche url
            
			// cargo la imagen  
			$('#' + parent.container_id + " .wrap").prepend('<div class="loaded">'+linkStartValue+'<img src="' + parent.images[parent.actualImage] + '" />'+linkEndValue+'</div>');
			
			$('#' + parent.container_id + " .loaded").fadeIn( 1500, function() {
				$('#' + parent.container_id + " .actual").remove();
				$(this).removeClass('loaded').addClass('actual');

				// si hay más de una imagen inicia el rotador
				if ( parent.imagesCount > 1 ) {
					parent.timer = setTimeout( parent.rotate, parent.speed);
				}

				// si no es la última imagen incremento, si no reseteo el contador para que comience de nuevo
				if ( parent.actualImage < parent.imagesCount ) {
					parent.actualImage++;
				} else {
					parent.actualImage = 1;
				}
				
			});

		});

		image.src = parent.images[parent.actualImage];
			// console.log('parent.actualImage: ' + parent.actualImage);
	}
	

	parent.init = function( container, images, imagesCount, speed, imagesUrl, imagesNewWindow ) {
		
		parent.container = $('#' + container);
		parent.container_id = '#' + container;
		parent.images = images;
		parent.imagesCount = imagesCount;
		parent.imagesUrl = imagesUrl;
		parent.imagesNewWindow = imagesNewWindow;
			// console.log('cant de imagenes:' + imagesCount );
		parent.speed = speed;

		// seteo activa la 1er imagen
		//$('img', parent.container).attr('src', 'arxius/imatgescontinguts/' + parent.images[ parent.actualImage] );
			// console.log( 'imagen inicial:' + parent.images[ parent.actualImage] );
		
		// limpio e inicio la rotación
		parent.clear();
		parent.rotate();
	}

}

// función que realiza la carga de contenidos
function loadAjaxContents (linkElement) {
	
	if ( $(linkElement).attr('rel') != undefined ) { 
		relValues = $(linkElement).attr('rel').split('-');
		id_item = relValues[0];
		id_level = relValues[1];

//console.log('id_item: ' + id_item);
//console.log('id_level: ' + id_level);
		

		if ( id_level == 1 ) {
	
			// si no es el actualmente seleccionado...
			if ( ! $('#content_submenu_' + id_item ).hasClass('expanded') ) {
				// si hay otros elementos desplegados los colapsa
				$('.submenu.expanded').slideUp('fast');
				$('.submenu.expanded').removeClass('expanded');
	
				// despliega u oculta el seleccionado
				$('#content_submenu_' + id_item ).slideToggle('fast');
				$('#content_submenu_' + id_item ).addClass('expanded');
			}
		}

		// carga las imagenes de la sección..
		if ( id_item && id_level ) {
			$.get( 'index.php?fuseaction=get-images&level=' + id_level + '&id=' + id_item, function(data){
				
//console.log( data );
				
				eval(data); // hace el eval del objeto images
				// si hay alguna imagen inicia el rotador
				if ( imagesCount > 0 ) {
					rotacion_banner_derecho.init('banner_right', images, imagesCount, 4000, {}, {});
				} else {
					rotacion_banner_derecho.clear();
					$('#banner_right .wrap .actual img').remove();
				}
	
			});
		}
		
		// si se están cargando las noticias
		if ( $(linkElement).attr('rel') == 'news' ) {
			$.get( 'index.php?fuseaction=get-images-news', function(data){

//console.log( data );

				eval(data); // hace el eval del objeto images
				// si hay alguna imagen inicia el rotador
				if ( imagesCount > 0 ) {
					rotacion_banner_derecho.init('banner_right', imagesNews, imagesNewsCount, 4000, {}, {});
				} else {
					rotacion_banner_derecho.clear();
					$('#banner_right .wrap .actual img').remove();
				}

			});
		}		
		
	}

	// carga el contenido de la sección
	//		quita el contenido actual y coloca el preloader
	$('#main_content').empty();
	$('#main_content').addClass('loading');

//console.log( $(linkElement).attr('href') + '&ajax=1' );
	$('#main_content').load( $(linkElement).attr('href') + '&ajax=1', false, function() { $('#main_content').removeClass('loading'); } );
	
	return false;

}

// función que realiza la carga de contenidos de aviso legal
function loadAjaxContentsLegal (linkElement) {
	
	// carga el contenido de la sección
	//		quita el contenido actual y coloca el preloader
	$('#main_content').empty();
	$('#main_content').addClass('loading');

//console.log( $(linkElement).attr('href') + '&ajax=1' );
	$('#main_content').load( $(linkElement).attr('href') + '&ajax=1', false, function() { $('#main_content').removeClass('loading'); } );
	
	return false;

}




$(document).ready(function(){
   	
   	rotacion_banner_derecho = new rotator();
   	rotacion_banner_izquierdo = new rotator();

	// MENU
	// oculto los submenues
   	$('#menu .submenu').hide();
   	
   	// quito la propiedad overflow
   	$('#main_menu').css('overflow', 'hidden');
   	$('#main_menu').css('height', 'auto');
   	
	// click en los links del menu
	$('#menu a.menu, #menu a.submenu-link').click( function() {
		loadAjaxContents(this);
		return false;
	});
	
	// click en los links del contenido
	$('#main_content .html h1 a').live("click", function(){
		loadAjaxContents(this);
		return false;
	});

	// click en los links de avisos legal
	$('.avis-legal a').live("click", function(){
		loadAjaxContentsLegal(this);
		return false;
	});


	// carga las imagenes del fondo del menu
	if ( imagesMenuCount > 0 ) {
		//console.log(imagesMenu);
		rotacion_banner_izquierdo.init('banner_left', imagesMenu, imagesMenuCount, 10000, {}, {});
	}

	// carga las imagenes de las novedades
	if ( imagesNewsCount > 0 ) {
		rotacion_banner_derecho.init('banner_right', imagesNews, imagesNewsCount, 4000, imagesUrl, imagesNewWindow);
	}
	
	// click en los links de novedades
	$('#btns-news-links a').click( function() {
		// cargo el contenido
		loadAjaxContents(this);
		return false;
	});
	

	// abrir ventana de susbscripción tipo lightbox
	$('.fixedAjaxDOMWindow').openDOMWindow({
		width: 200,
		height: 350,
		borderSize: 0,
		positionType: 'centered',
		overlayColor: '#000',
		overlayOpacity: '85',
		windowBGColor: '#ed2024',
		windowPadding: 0,
		eventType:'click',
		loader: 1,
		loaderImagePath:'img/loader_dark.gif',
		loaderHeight:16,
		loaderWidth:17,
		windowSource:'ajax'
	});
	
	
	// capturo botón del formulario para hacer requerimiento ajax
	$('#submitButton').live("click", function(){
		// serializo el contenido
		data = $(".subscription-form form").serialize() + '&ajax=1';
		$.post("index.php?fuseaction=subscription-ajax", data, function( response ) {
			$('.form-container').html(response);
		});
		return false;
	});

	
	// vuelve a mostrar el formulario con ajax
	$('a.show-form-link').live("click", function() {
		// serializo el contenido
		data = '&ajax=1&show-form=1&submitted=1&lang=' + $(this).attr('rel');
		$.post("index.php?fuseaction=subscription-ajax", data, function( response ) {
			$('.form-container').html(response);
		});
		return false;
	});


	// botón que cierra el lightbox
	$('#closeButton').live("click", function(){
		$.closeDOMWindow();
	});
	

});