function __debug(str){
	if(console && $.isFunction(console.log)){
		console.log(str);
	}
}

/**
 * Global vars
 */
var mainpopup	= null;
var menumaincenter	= null;
var menumainright	= null;

var mainmenu	= null;

var mainmenus	= null;
var submenus	= null;
var subsubmenus	= null;

var currentmain	= null;
var currentsub	= null;
var currentsubsub = null;

var wrapper		= null;

function showPage(element, index){
	element	.find('.pagination li.current').removeClass('current').end()
			.find('.pagination li:eq('+index+')').addClass('current').end()
			.find('.products-content:visible, .book-page').hide();
	element.find('#page-'+index).show();
}

function closePopup(element, restorelast){
	if(typeof restorelast == 'undefined' || restorelast === null)
		restorelast = true;

	// Alix 23-09-2010

	///*
	element.hide();
	//*/

	//element.empty();
	
	if(restorelast){
		delete popups[currentpopup_index];
		currentpopup_index--;
		currentpopup.remove();



		if(popups[currentpopup_index]){
			currentpopup = $(popups[currentpopup_index]).show();
		}else{
			currentpopup = mainpopup.show();
		}
	}else{
		mainpopup.hide();
	}
	return false;
}

function openHistory(url, id){
	currentsubsub.removeClass('current').find('span').remove();
	currentsub.removeClass('current').find('span').remove();
	currentsub = $('#header-left #'+id).parent().addClass('current').find('a').append($('<span>').text('_')).end();
//	subsubmenus.hide();

//	var id = $(this).attr('id');
	current_cat = id;
	if(CACHED_IMAGES[id]){
		wrapper.css({'backgroundImage': 'url('+CACHED_IMAGES[id]+')'});
	}else{
		wrapper.css({'backgroundImage': ''});
	}

	// Alix 22-09-2010
	
	///*
	$('#menu-main-center').hide();
	$('#menu-main-right').hide();
	$('.operators-content').remove();
	//*/

	openPopup(url, true);
}

function openNews(url, id){
	
	$("#mainmenu li").removeClass('current').find('span').remove();
	currentsub = $('#header-left #'+id).parent().addClass('current').find('a').append($('<span>').text('_')).end();
	submenus.hide();
	subsubmenus.hide();

//	var id = $(this).attr('id');
	current_cat = id;
	if(CACHED_IMAGES[id]){
		wrapper.css({'backgroundImage': 'url('+CACHED_IMAGES[id]+')'});
	}else{
		wrapper.css({'backgroundImage': ''});
	}

	// Alix 22-09-2010
	
	///*
	$('#menu-main-center').hide();
	$('#menu-main-right').hide();
	$('.operators-content').remove();
	//*/

	openPopup(url, true);
}

var popups = [];
var currentpopup_index	= 0;
var currentpopup		= $([]);

function openPopup(url, ismain, wide){
	if(typeof ismain == 'undefined' || ismain === null)
		ismain = true;
    
  if(typeof wide == 'undefined' || wide === null)
		wide = false;

	var element = null;

	if(ismain){
		$('.popup').not('#popup').remove();

		mainpopup
			.find('.popup-header h2').text('A carregar').end()
			.find('.popup-body').empty().append( $('<h4 class="long-desc">').html('<p>A carregar, por favor aguarde...</p>')).end()
			.show();
		mainpopup.find('.popup-footer').remove();
		element = mainpopup;
	}else{
		$('.popup').hide();
//		mainpopup.hide();
		currentpopup_index++;
    if(!wide)
    {
      currentpopup = $('<div>').addClass('popup').attr('id', 'popup_'+(currentpopup_index)).appendTo($('#center-content'));
    }
    else
    {
      currentpopup = $('<div>').addClass('popup').addClass('wide').attr('id', 'popup_'+(currentpopup_index)).appendTo($('#center-content'));
    }
		popups[currentpopup_index] = currentpopup;
		element = currentpopup.show();
	}



	$.get(url, null, function(data){
		var html = $(data);

		if(ismain){
			// editorial has background ?
			var back = html.filter('img.editorial-background-img');
			if(back.length > 0){
				wrapper.css('background-image', 'url('+back.attr('src')+')');
			}else{
				if(CACHED_IMAGES[current_cat]){
					wrapper.css('background-image', 'url('+CACHED_IMAGES[current_cat]+')');
				}else{
					wrapper.css('background-image', '');
				}
			}
		}

		if(ismain){
			mainpopup.empty().html(html).show();
		}else{
			element.append(html);
		}
		bindPopupevents(element, ismain);
	});
}

function bindPopupevents(element, ismain){
	element.find('img').each(function(){fixPNG($(this)[0]);});
	element.find('.lightbox').lightBox({fixedNavigation:true});
	element.find('.close-popup a').click( function(){
		closePopup(element, !ismain);
		return false;
	});
	
//	if(ismain){

		element.find('.tooltip').tooltip({
			track: true,
			bodyHandler: function() {
				return $(this).parent().next().html();
			},
			showURL: false
		});

		$('#image-container a').lightBox({fixedNavigation:true, imageBtnPrev: 'images/lightbox-btn-prev.png', imageBtnNext: 'images/lightbox-btn-next.png', txtImage: 'Foto',	txtOf: 'de'});
		element.find('a.images').click(function(){
			$('#image-container a:first').click();
			return false;
		});

//debugger;
		element.find('a.youtube').click(function(){
			

//			var footer			= popupcontainer.find('#popup-footer').hide();
			var showthispage	= $('div.products-content:visible').hide();
			var video			= $('#video-container').show();

			element.find('.pagination .current').removeClass('current');

			element.find('.close-popup a').unbind().click(function(){
				video.hide();
				showthispage.show();
//				footer.show();
				
				$(this).unbind().click( function(){
					closePopup(element, !ismain);
					return false;
				});

				return false;
			});

			return false;
		});

		element.find('a.relatededitorials').click(function(){ 
			var oid = parseOid($(this));

			var url = '';
			if($(this).is('.direct')){
				url = 'ajax_get.ud121?trigger_pre_event_0=editorial&oid=' + oid;
			}else{
				url = 'ajax_get.ud121?trigger_pre_event_0=editorialprojects&oid=' + oid;
			}
			openPopup(url, false);
			return false;
		});

//	}
	
	bindPaginationEvents(element);
}

function bindPaginationEvents(element){
	var paginationlis = element.find('.popup-footer .pagination li').find('a').click(function(){
	var li				= $(this).parent();
	var li_index		= paginationlis.index(li);
	var current_index	= paginationlis.index(paginationlis.filter('.current'));

	if(li.is('.prev')){
		if(current_index > 1){
			current_index--;
		}else{
			current_index = 1;
		}
		showPage(element, current_index);
	}else if(li.is('.next')){
		if(current_index > 0 && current_index < paginationlis.length-2){
			current_index++;
		}else{
			current_index = paginationlis.length-2;
		}
		showPage(element, current_index);
	}else if(li.is('.next, .prev') == false){
		showPage(element, li_index);
	}
	return false;
}).end();
}

function openSubMenu(url){
	$.get(url, null, function(data){
		if($.trim(data) == '')
			return;

		var html = $(data);

		mainpopup.hide();

		menumainright.find('ul').remove().end().append(html).show();

		html.find('a').click(function(){
			lastsublink.removeClass('current').find('span').remove();
			lastsublink = $(this).parent().addClass('current').find('a').append($('<span>').text('_')).end();

			var url = $(this).attr('href').replace(/editorials.ud121/, 'ajax_get.ud121')
										  .replace(/trigger_event_0/, 'trigger_pre_event_0');;

			openPopup(url);
			return false;
		});
	});
}

function parseOid(text){
	if(typeof text == 'object' && typeof text.attr == 'function'){
		text = text.attr('id');
	}
	if(typeof text == 'string'){
		var pos = text.search("_");
		if(pos > 0){
			var oid = text.slice(pos+1);
			return oid;
		}
	}
	return null;
}

$(document).ready(function(){

	mainpopup	= $('#popup');
	popups[currentpopup_index] = mainpopup;
	menumaincenter	= $('#menu-main-center');
	menumainright	= $('#menu-main-right');

	mainmenu	= $('#menu-main');

	mainmenus	= $('.mainmenu',	mainmenu);
	submenus	= $('.submenu',		mainmenu);
	subsubmenus	= $('.subsubmenu',	mainmenu);

	currentmain	= $('li.current',	mainmenus);
	currentsub	= $('li.current',	submenus);
	currentsubsub = $('li.current',	subsubmenus);

	lastlink	= $('li.current', menumaincenter);
	lastsublink = $('li.current', menumainright);

	wrapper = $('#wrapper');

	mainpopup.find('.close-popup.close a').click( function(){
		closePopup(mainpopup, true);
		return false;
	});

	/*******************************************
	 * HISTORY
	 */
	$.address.change(function(e) {
		var action = $.address.parameter('action');
		switch(action){
			case 'menucontent':
				var from	= $.address.parameter('from');
				var cat		= $.address.parameter('cat');
				current_cat = cat;
				switch(from){
					case 'mainmenu':
						// Remove current
						$('.submenu, .subsubmenu').hide().find('li.current').removeClass('current').find('span').remove();
						$('#mainmenu').find('li.current').removeClass('current').find('span').remove();

						$('a#'+cat).parent().addClass('current').find('a').append($('<span>').text('_'));
						$('#sub_'+cat).show();
						break;
					case 'submenu':
						// Remove current
						$('#mainmenu').find('li.current').removeClass('current').find('span').remove();
						$('.submenu').find('li.current').removeClass('current').find('span').remove();
						$('.subsubmenu').hide().find('li.current').removeClass('current').find('span').remove();

						var p_oid = $('a#'+cat).parent().addClass('current').find('a').append($('<span>').text('_')).parents('ul:first').show().attr('id');
						p_oid = parseOid(p_oid);
						$('#subsub_'+cat).show();

						$('#'+p_oid).parent().addClass('current').find('a').append($('<span>').text('_'));

						break;
					case 'subsubmenu':
						break;
				}
				break;
			case 'bookcat':
				var oid	= $.address.parameter('oid');
				var url = 'ajax_get.ud121?trigger_pre_event_0=bookcat&oid='+oid;
				lastlink.removeClass('current').find('span').remove();
				lastlink = $('#'+oid).parent().addClass('current').find('a').append($('<span>').text('_')).end();
				openPopup(url);
				break;
			case 'editorial':
				var oid	= $.address.parameter('oid');
				var url = 'ajax_get.ud121?trigger_pre_event_0=editorial&oid='+oid;
				lastlink.removeClass('current').find('span').remove();
				lastlink = $('#'+oid).parent().addClass('current').find('a').append($('<span>').text('_')).end();
				openPopup(url);
				break;
			case 'leftmenuextend':
				var cat	= $.address.parameter('cat');

				if(CACHED_IMAGES[cat]){
					wrapper.css({'backgroundImage': 'url('+CACHED_IMAGES[cat]+')'});
				}

				var url = 'ajax_get.ud121?trigger_pre_event_0=catcontents&expandcat='+cat;
				current_cat = cat;
				lastlink.removeClass('current').find('span').remove();
				lastlink = $('#'+cat).parent().addClass('current').find('a').append($('<span>').text('_')).end();
				openSubMenu(url);
				break;
		}
	});

	$('#mainmenu li.haschilds a').click(function(e){
//		e.stopPropagation();
		$('#popup, #menu-main-center, #menu-main-right, #frase-homepage').hide();

		var id = $(this).attr('id');
		if(CACHED_IMAGES[id]){
			wrapper.css({'backgroundImage': 'url("'+CACHED_IMAGES[id]+'")'});
		}else{
			wrapper.css({'backgroundImage': ''});
		}

		$.address.value('?action=menucontent&from=mainmenu&cat='+$(this).attr('id'));
		return false;
	});

	$('.submenu li.haschilds a').click(function(e){
//		e.stopPropagation();

		$('#popup, #menu-main-center, #menu-main-right, #frase-homepage').hide();

		var id = $(this).attr('id');
		if(CACHED_IMAGES[id]){
			wrapper.css({'backgroundImage': 'url("'+CACHED_IMAGES[id]+'")'});
		}else{
			wrapper.css({'backgroundImage': ''});
		}
		$.address.value('?action=menucontent&from=submenu&cat='+$(this).attr('id'));
		return false;
	});

	$('a', menumaincenter).click(function(e){
		
		if ($(this).hasClass("isHistory")) return;
		
		e.stopPropagation();

		// Alix 23-09-2010
		
		///*
		$('#popup').toggle();
		$('#menu-main-right').hide();
		//*/

		//$('#popup, #menu-main-right').hide();

		if($(this).parent().is('.bookcat')){
			$.address.value('?action=bookcat&oid='+$(this).attr('id'));
		}else if(!$(this).parent().is('.opensub')){
			$.address.value('?action=editorial&oid='+$(this).attr('id'));
		}else{



			$.address.value('?action=leftmenuextend&cat='+$(this).attr('id'));
		}
		return false;
	});




	/*******************************************
	 * CACHE IMAGES
	 */
	var images_container = $('<div>').hide().appendTo($('body'));
	for(var i in CACHED_IMAGES){
		$('<img />').attr('src', CACHED_IMAGES[i]).appendTo(images_container);
	}

});

