var pnb = 1;
var signet_z_index = 100;
var preloadedImages = new Array();
var loadStatus = 'wait';
var historyStart = history.length;
// lighbox //
var lbImages = new Array();
var lbStatus = 'wait'; // wait build display
var lbActive;
var lbActiveSrc;
var lbMode; // multi single / intra extra cross
var tdm = new Array();
var intraNavTotal;
var intraNavActive;
var display_error = 0;
//
var ancestorID, parentID, mediaID;

// signets
function initSignets () {
	signets = $('#signets>div');
	s = signets.length;
	inc_v = 5;
	inc_h = 80;
	zi = 100;
	position = new Array('gauche', 'droite');
	i = 0;
	signets.not('.Selection').addClass('gauche').attr('h', 11);
	signets.filter('.Selection').each( function(){
		hi = i*inc_h;
		vi = i*inc_v;
		t = -6 - vi;
		l = 485 + hi;
		h = 11 + vi;
		z = zi - i;
		$(this).attr('h', h).addClass('droite').css({'top':t, 'left':l, 'height':h, 'z-index':z});
		i++;
	});
	signets.mouseover(function() {
		signetFront(this);
//		signetOver(this);
	});
	/*
	signets.mouseout(function() {
//		signetOut(this);
	});
	*/
	signets.click(function() {
		signetClic(this);
	});	
	signets.filter('.Selection').find('a').click(function(){
		c = $(this).parent().attr('class');
		$('#ancestor_navigation li.active').removeClass('active');
		$('#ancestor_navigation li.'+c).addClass('active');
		displayAncestorLinks();
	});
}

function slideUpSignets () {
	$('#signets>div').each( function() {
		signet = $(this);
		h = signet.attr('h');
		$(this).children('.content').slideUp('fast', function(){
			signet.addClass('minimize').css({'z-index': signet_z_index-10, 'height': h+'px'});
		});
	});
	$('#signets>div.Website').css({'z-index': signet_z_index++});
}
function signetFront (signet) {
	$(signet).css({'z-index':signet_z_index++});	
}

function signetOver (signet) {
	$(signet).addClass('over').removeClass('minimize').css({'height':'auto', 'z-index':signet_z_index++});	
}
function signetOut (signet) {
	$(signet).removeClass('over');
	if ($(signet).hasClass('active') == false) {		
		h = $(signet).attr('h');
		$(signet).addClass('minimize').css({'z-index': signet_z_index-10, 'height': h+'px'});
	}
}
function signetClic (signet) {
	mh = $(signet).attr('h');
	$(signet).toggleClass('minimize');
	if( $(signet).hasClass('active') ){
		$(signet).css({'height': mh}).children('.content').hide();
	} else {
		$(signet).css({'height':'auto'}).children('.content').show();
	}	
	$(signet).toggleClass('active');
}
//
function preloadImages(images) {
	j = preloadedImages.length
	for(i=0; i<images.length; i++) {
		preloadedImages[j]=new Image;
		preloadedImages[j++].src=images[i].src;
	}
}

function toggleGrid (a) {
	if ($('#container').hasClass('grid')) {
		$('#carton div').fadeOut();
		$('#container').removeClass('grid');
	} else {
		$('#carton div').fadeIn('slow', function(){
			$('#container').addClass('grid');
		});
	}
	a.children('span').toggle();
}
function elementToColumnByHeight (element, w, hM) {
	e = $(element);
	e.css({height: 'auto'}).children().css({position: 'static'});
	y = 0;
	x = 0;
	c = 0;
	e.children().each( function(){
		i = $(this);
		h = $(this).prev();
		if (h.length == 0) {
			pH = 0;
			pY = 0;
		} else {
			pY = h.position().top;			
			pH = h.outerHeight();
		}
		ny = pY + pH;
		if (ny + i.outerHeight() <= hM) {
			y = ny;
		} else {
			y = 0;
			x += w;
			c+=1;
		}
		i.css({position:'absolute', top:y, left:x});
	});
	return c;
}
function parseLink (link) {
	link = link.replace(/^.*#/, '');
	l = link.split('__');
	s = l[0];
	params = '';
	for (var i=1; i < l.length; i++) {
		params+= l[i]+"&";			
	};
	return {'script': s, 'params':params};
}
function numerotePage () {
	pnb = tdm.length;
	if ( pnb < 0 ) {pnb=0;};
	$('#leftpagenb>.nb').text(pnb*2 - 1);
	$('#rightpagenb>.nb').text(pnb*2);
}
function placeTableContent () {
	base = $('#leftpage').offset().top;
	mh = 460 + base;
	x = 0;
	y = $('#leftpage ul.tdm li:eq(0)').position().top;
	li = $('#leftpage ul.tdm li');
	p = 0;
	for (var i=0; i < li.length; i++) {
		e = li.eq(i);
		if (y === 0) {
			e.prev().css({"top":y, "left":x});
			y = y +e.prev().outerHeight();
		};
		e.css({"top":y, "left":x});
		eh = e.outerHeight();
		y = y +eh;
		nh = e.offset().top;
		if (nh > mh) {
			y = - $('#leftpage ul.tdm').position().top;
			x += 431;
			p += 1;
		}
	};
	pages = Math.ceil(p/2);
	buildIntraNavigationTableContent(pages);
}
function placeKeywords () {
	y_inc = 14;
	mh = 495;
	x = 0;
	y = 0;
	li = $('#leftpage ul li');
	c = 0;
	$('#leftpage ul li').each( function() {
		e = $(this);
		if (e.hasClass('entree_de_lettre') && y > 0) {
			y+=y_inc;
		} else if (y === 0 && e.hasClass('entree_de_lettre') == false) {
			e.prev().css({"top":y, "left":x});
			y = y +e.prev().outerHeight();
		};
		e.css({"top":y, "left":x});
		eh = e.outerHeight();
		y = y +eh;
		nh = y + e.next().outerHeight();
		if (nh > mh) {
			if (e.prev().hasClass('entree_de_lettre') == true) {
				x += 170;
				y = y_inc;
				if (x == 340 || x == 1111) {
					x+=91;
				};
				e.prev().css({left:x, top:0});
				e.css({"top":y, "left":x});
				y+=y_inc;				
			} else {
				c += 1;
				y = 0;
				x += 170;
				if (x == 340 || x == 1111) {
					x+=91;
				};
			}
		}
	});
	pages = Math.ceil(c/4);
	buildIntraNavigationKWords(pages);
}
function buildIntraNavigation (pages, type) {
	iN = '<ul class="intraNav">';
	for (var i=1; i <= pages; i++) {
		c = '';
		if (i == 1) {c = ' class= "active"';};
		iN += '<li><a onclick="intraNavigation'+type+'(this, '+i+');"'+c+'>'+i+'</li>';
	};
	iN += '</ul>';
	$('#lefttitle').append(iN);
}
function buildIntraNavigationTableContent (pages) {
	intraNavActive = 1;
	intraNavTotal = pages;
	$('#leftpagenb>a').click( function(){
		intraNavigationTableContent(this, -1);
	}).removeAttr('href');
	$('#rightpagenb>a').click( function(){
		intraNavigationTableContent(this, 1);
	}).removeAttr('href');
	activeIntraTableContentLinks();	
}
function buildIntraNavigationKWords(pages){
	intraNavActive = 1;
	intraNavTotal = pages;
	$('#leftpagenb>a').click( function(){
		intraNavigationKWords(this, -1);
	}).removeAttr('href');
	$('#rightpagenb>a').click( function(){
		intraNavigationKWords(this, 1);
	}).removeAttr('href');
	activeIntraNavKWordsLinks();
};
function activeIntraTableContentLinks () {
	if (intraNavActive == 1) {
		$('#leftpagenb>a').hide();
		$('#rightpagenb>a').show();
	} else if(intraNavActive == intraNavTotal) {
		$('#leftpagenb>a').show();
		$('#rightpagenb>a').show();
	} else {
		$('#leftpagenb>a').show();
		$('#rightpagenb>a').hide();
	}
}
function activeIntraNavKWordsLinks () {
	if (intraNavActive == 1) {
		$('#leftpagenb>a').hide();
		$('#rightpagenb>a').show();
	} else if(intraNavActive == intraNavTotal) {
		$('#leftpagenb>a').show();
		$('#rightpagenb>a').show();
	} else {
		$('#leftpagenb>a').show();
		$('#rightpagenb>a').hide();
	}
}

function intraNavigationTableContent (e, sens) {
	if ( $('body.TableContent').length > 0) {
		intraNavActive += sens;
		y = (intraNavActive * -862) + 862;
		$('#leftpage>ul').css({left:y});
		if (intraNavActive > 1) {
			$('#leftpage .BODY').css({'visibility':'hidden'});
		} else {
			$('#leftpage .BODY').css({'visibility':'visible'});
		}
		activeIntraTableContentLinks();
	};
}

function intraNavigationKWords (e, sens) {
	if ( $('body.Keywords').length > 0) {
		intraNavActive += sens;
		y = (intraNavActive * -771) + 771;
		$('#leftpage>ul').css({left:y});
		activeIntraNavKWordsLinks();
	};
}

function intraNavigationThumbs (e, page) {
	$('ul.intraNav .active').removeClass('active');
	$(e).addClass('active');
	y = (page * -336) + 336;
	//check
	$('#leftpage>.images_container>.images').css({left:y});
}

function loadContent(link) {
	l = parseLink(link);
	s = l.script+'.php';
	p = l.params+'ajax=1&old_ancestor='+ancestorID;
	lbImages.length = 0;	
	// ajoute dans le titre ce qui vient d'être cliqué (page de gauche)
	// et enlever le contenu page de droite
	$.get(s, p, function(data){
		$('#leftpage').removeClass('loading');
		$('body').attr('class', l.script);
		try {
			r = $.parseJSON( data );
		}
		catch(e) {
			err = e.message;
			if (err != undefined) {
				$.get('Error.php', function(data){
					$('#container').append('<div id="error" style="display:none;">'+data+'<br/>'+err+'</div>');
					$('#error').slideDown('fast', function(){
						setTimeout("$('#error').slideUp('slow', function() {$(this).remove();})", 4000);
					});
				});
				goTo( $('body').attr('launch') );			
			} else {
				r = $.parseJSON( data );
			}
		}
		document.title = EE(r.title);
		tdm.push({"url": "#"+link, "title": r.title.replace('Speculoos - ', '')});
		lurl = r.bclass+'__ID='+r.media+'__parentID='+r.parent+'__ancestorID='+r.ancestor+'__language=';
		if (r.language == 'fre') {
			$('#tools li.languages a.fre').removeAttr('href').addClass('active');
			$('#tools li.languages a.eng').attr('href', lurl+'eng').removeClass('active');
		} else {
			$('#tools li.languages a.eng').removeAttr('href').addClass('active');
			$('#tools li.languages a.fre').attr('href', lurl+'fre').removeClass('active');
		}
		for (var i=0; i < r.empty.length; i++) {
			$('#'+r.empty[i]).empty();
		};
		for (var i=0; i < r.fill.length; i++) {
			$('#'+r.fill[i].div).html(r.fill[i].content);
		};
		$('body').attr('class', r.bclass);
		///// google analytics ///////
		_gaq.push(['_trackEvent', r.bclass, 'Load', EE(r.title)]);
		_gaq.push(['_trackEvent', 'Job', 'Load']);
		/////		
		if ($('body').hasClass('Selection')) {
			initAncestorLinks();
			initSubNavigationLinks();
		} else if( $('#leftpage .images_container').length > 0 ) {
			// series view
			cols = elementToColumnByHeight('#leftpage .images', 84, 490);
			if (c > 4) {
				pages = Math.ceil(cols/4);
				buildIntraNavigation(pages, 'Thumbs');
			}
			$('#rightmargin').children().hide().eq(0).show();
			initSeriesViewLinks();
		} else if($('body').hasClass('Keywords')){
			placeKeywords();
		} else if($('body.Page, body.JobPage').length > 0) {
			initLighboxImageLinks();
		} else if($('body').hasClass('TableContent') == true) {
			tdm_html = '<ul class="tdm">';
			for (var i=0; i < tdm.length; i++) {
				tdmp = (i*2) + 1;
				pages= tdmp+'-'+parseFloat(tdmp+1);
				tdm_html += '<li><a href="'+tdm[i].url+'">'+tdm[i].title+'</a><span class="page">'+pages+'</span></li>';
			};				
			tdm_html += '</ul>';
			$('#leftpage').append(tdm_html);
			placeTableContent();
		} else if($('body').hasClass('Image') == true) {
			$('#leftpage .img_container>img').load( function(){
				i = $(this);
				ic = i.parent();
				icc = ic.attr('class');
				t = i.position().top;
				l = i.position().left;
				w = i.width();
				h = i.height();
				if ( icc == 'vertical' ) {
					h = h-54;
					s = {'left':(l+55), 'width': (w-110), 'height': (h)};
				} else if ( icc == 'horizontal' ) {
					h = h-126;
					s = {'height': (h)};
				} else {
					h = h-130;
					s = {'left':(l+63), 'width': (w-127), 'height': (h)};
				}
				st = Math.round( (h - $('#leftpage>.img_container .SUMMARY').height() ) /2);
				$('#leftpage>.img_container .SUMMARY').css({'top': st});
				$('#leftpage>.img_container>.img_button>.next>a').attr('href', r.nextlink).attr('title', r.nexttitle);
				$('#leftpage>.img_container>.img_button>.prev>a').attr('href', r.prevlink).attr('title', r.prevtitle);
				$('#leftpage>.img_container>.img_button').css( s );
				$('#leftpage>.img_container>.img_button>.next.legend>a').mouseover( function(){
					$(this).siblings('div.SUMMARY').fadeIn('slow');
				});
				$('#leftpage>.img_container>.img_button>.next.legend>a').mouseout( function(){
					$(this).siblings('div.SUMMARY').fadeOut('fast');
				});
			});
		}
		if (r.ancestor != '') {
			an = '#m'+r.ancestor;
			ali = '.li'+r.ancestor;
			li = '.li'+r.media;
			if ( $(an).length > 0 ) {
				signetFront(an);
				//$(an).addClass('active');
				$(li+','+ali).addClass('active').children('a').addClass('active');
			} else {
				// sélection privée
				// chargement du bazard dans les signets
				// ne pas oublier de le virer quand on sort de la sélection ?
			}
			$('#ancestor_navigation, div.signet').find('.active').removeClass('active');
			$(li).addClass('active');
			$('div.signet').find(li).children('a').addClass('active');
			if (r.ancestor != ancestorID) {
				initAncestorLinks();
			}
		} else {
			li = '.li'+r.media;
			$('div.signet.active').removeClass('active');
			$(li).addClass('active').children('a').addClass('active');
		}
		if (r.parent != '') {
			if (r.nextlink != '') {
				$('#rightpagenb>a').show().attr('href', r.nextlink).children('img').attr('alt', r.nexttitle);
			} else {
				$('#rightpagenb>a').hide();				
			}
			if (r.prevlink != '') {
				$('#leftpagenb>a').show().attr('href', r.prevlink).children('img').attr('alt', r.prevtitle);
			} else {
				$('#leftpagenb>a').hide();				
			}			
		};
		if (r.catID != '' && $('#main_navigation .list_menu>ul>li.active').length == 0) {
			li = $('#main_navigation').find('.cat'+r.catID);
			div = li.parents('div.list_menu').attr('id');
			li.show().addClass('active').parents().each(function(){
				$(this).show().filter('li').addClass('active');
			});
			li.siblings().hide();
			$('#'+div).find('li.subcontent').not('.active').hide();
			
		};
		numerotePage();		
		loadStatus = 'wait';
		//
		ancestorID = r.ancestor;
		parentID = r.parent;
		mediaID = r.media;
		if (r.init == 1) {
			pageInit();
		};	
	});
	slideUpSignets();
}
function desactivateMenuItem () {
	$('#mainmenu a.active').removeClass('active');
	$('.list_menu li.active').hide().removeClass('active');
	$('.list_menu ul.expand').removeClass('expand').slideUp();
}
function displayAncestorItem (div, sens) {
	a = div.find('li.active').index();
	l = div.find('li').hide().length;
	i = a + sens;
	if (i < 0) {
		i = l - 1;
	} else if (i >= l) {
		i = 0;
	}
	if ( i == l-1 && div.hasClass('prev') == true) {
		div.hide();
	} else if(i == 0 && div.hasClass('next') == true){
		div.hide()
	} else {
		div.show();
		div.find('ul li').eq(i).show();
	}
	div.find('span.pos').text(i+1+'/'+div.find('ul li').length);
}
function buildImageAttr (img) {
	a = img.attr('alt');
	src = img.attr('src');
	i = src.indexOf('?path=');
	src = 'images/zoomImg.php'+src.substring(i);
	return {"a":a, "src": src};
}
function buildImageAttrFromID (ID, src) {
	a = $('#left_subtitle>li'+ID).text();
	src = 'images/zoomImg.php?path='+src.substring(i);
	return {"a":a, "src": src};
}
function buildLightbox () {
	if (lbStatus == 'wait') {
		lbStatus = 'building'
		lbActive = 0;
		// in page content
		if ($('img.lbable').length > 0) {
			j = 0;
			$('img.lbable').each(function(){
				i = buildImageAttr( $(this) );
				if (i.src == $('#lb_content .img_container img').attr('src')) {
					lbActive = j;
				};
				lbImages.push(i);
				j++;
			});
		}
		if ($('#left_subtitle>li').length > 0 && $('body.JobPage').length === 0) {
			IDs = '';
			$('#left_subtitle>li').each( function(){
				hr = $(this).children('a').attr('href');
				hr = hr.substring(hr.indexOf('__ID=')+5);
				hr = hr.substring(0, hr.indexOf('__'));
				IDs += hr+',';
			});
			$.get('LBimg.php', {IDs: IDs}, function(data){
				r = $.parseJSON( data );
				$.each(r, function(key, value) {
					i = buildImageAttrFromID( key, value );
					lbImages.push(i);
				});
			});
			lbActive = $('#left_subtitle>li.active').index();
		};
		preloadImages(lbImages);
	};
}
function switchLightboxImage (sens) {
	lbActive += sens;
	if (lbActive >= lbImages.length) {
		lbActive = 0;
	} else if (lbActive < 0) {
		lbActive = lbImages.length - 1;
	}
	$('#lb_content .img_container img').fadeOut('slow');
	displayImgInLightbox( lbImages[lbActive] );
	lbStatus = 'display';
}
function nextLightboxImage () {
	switchLightboxImage(1);
}
function previousLightboxImage () {
	switchLightboxImage(-1);
}
function displayImgInLightbox (image) {
	$('#lb_content .img_container').html('<img src="'+image.src+'" alt="'+image.a+'" title="'+image.a+'" style="display:none;"/>');
	$('#lb_content .img_container img').load(function(){
		$('#lb_content .img_container img').fadeIn('slow');
		$('#lb_content .img_container img').click( function() {nextLightboxImage()} );
	});
}
function launchLightbox(image) {
	$('#lightbox').fadeIn('fast', function (){
		$('body').addClass('lightbox');
		if (image != '' && image != undefined) {
			displayImgInLightbox(image);
		} 
		buildLightbox();
		if (image == '' || image == undefined) {
			displayImgInLightbox( lbImages[lbActive] );
		};
	});
}
function closeLightbox(image) {
	$('#lightbox').fadeOut('slow');
	$('body').removeClass('lightbox');
	$('#lb_content .img_container').html('');
	lbStatus = 'wait';
	lbActive = 0;
	lbImages.length = 0;
}
function displayAncestorLinks () {
	displayAncestorItem($('#ancestor_navigation>.next'), 1);
	displayAncestorItem($('#ancestor_navigation>.prev'), -1);
}
function initLighboxImageLinks () {
	$('img.lbable').click( function (){
		if ( $(this).parent().nodeName != 'a' ) {
			launchLightbox(buildImageAttr( $(this) ));
		};
	});
}

function initAncestorLinks () {
	if ($('#ancestor_navigation li').length > 0) {
		$('#ancestor_navigation>.next ul').html($('#ancestor_navigation>.prev ul').html());
		displayAncestorLinks();
		a = $('#ancestor_navigation');
		n = a.children('.next');
		p = a.children('.prev');
		//
		$('#ancestor_navigation .next a').click(function() {
			$('#ancestor_navigation').find('li.active').removeClass('active');
			$(this).parent().addClass('active');
			i = $(this).parent().index();
			$('#ancestor_navigation>.prev li').eq(i).addClass('active');
			$('#left_subtitle a.active, #left_subtitle li.active').removeClass('active');			
			$('#left_subtitle li').eq(i).addClass('active').children('a').addClass('active');
			displayAncestorLinks();
		});
		$('#ancestor_navigation .prev a').click(function() {
			$('#ancestor_navigation').find('li.active').removeClass('active');
			$(this).parent().addClass('active');
			i = $(this).parent().index();
			$('#ancestor_navigation>.next li').eq(i).addClass('active');
			$('#left_subtitle a.active, #left_subtitle li.active').removeClass('active');			
			$('#left_subtitle li').eq(i).addClass('active').children('a').addClass('active');
			displayAncestorLinks();
		});
	};	
}
function initSeriesViewLinks () {
	if ( $('#leftpage .images_container a').length > 0) {
		$('#leftpage .images_container a').mouseover(function(){
			$('#rightmargin').children().hide().filter('.rm'+$(this).attr('mID')).show();
			alt = $(this).children('img').attr('alt');
			src = $(this).children('img').attr('src');
			path = src.replace('liste', 'topimage');
			$('#righttitle').html(alt);
			$('#rightpage').addClass('loading');
			$('#rightpage img').fadeOut('fast', function(){
				$('#rightpage .pictureContainer a').html('<img class="rightpageimage" src="'+path+'" alt="'+alt+'" style="display:none;"/>');
				$('.rightpageimage').load(function(){
					$('.rightpageimage').fadeIn( function(){
						$('#rightpage').removeClass('loading');						
					});
				})
			});
		});
	};
}
function initSubNavigationLinks () {
	if (('#lefttitle ul').length > 0) {
		$('#left_subtitle a').click(function () {
			$('#left_subtitle a.active, #left_subtitle li.active').removeClass('active');
			$(this).addClass('active').parent().addClass('active');
			$('#left_subtitle').slideUp();
			if ( $('#ancestor_navigation li').length > 0 ) {
				i = $(this).parent().index();
				$('#ancestor_navigation li.active').removeClass('active');
				$('#ancestor_navigation>.next li').eq(i).addClass('active');
				$('#ancestor_navigation>.prev li').eq(i).addClass('active');
				displayAncestorLinks();				
			};
		});
	};
}

function toggleNavigationList (t) {
	did = t.parents('div').attr('id');
	$('#periodesmenu, #clientsmenu, #genresmenu').not('#'+did).find('.active').hide();
	$('#mainmenu, #periodesmenu, #clientsmenu, #genresmenu').not('#'+did).find('.active').removeClass('active');
	ul = t.parents('ul');
	ul.removeClass('expand').find('.active').removeClass('active');
	t.parent('li').addClass('active');
	ul.children('li').not('.active').hide();	
}

function initNavigationLinks () {
	$('.list_menu>a').click(function () {
		ul = $(this).nextAll('ul');
		if (ul.find('.active').length == 0 && ul.hasClass('expand') ) {
			$('#main_navigation .list_menu>ul:visible').slideUp('fast').removeClass('expand');
//			ul.removeClass('expand').slideUp();
		} else if (ul.find('.active').length > 0 && ul.hasClass('expand') ) {
			ul.removeClass('expand');
			ul.find('li').not('.active').hide();
		} else {
			$('#main_navigation .list_menu>ul:visible').slideUp('fast').removeClass('expand');
			ul.find('li').show();
			ul.addClass('expand').slideDown();
			ul.find('ul.expand').hide().removeClass('expand');
		}
	});
	$('#genresmenu>ul a, #periodesmenu>ul a, #clientsmenu>ul>li>a').click(function () {
		toggleNavigationList($(this));
	});
	$('#mainmenu a').click(function(){
		desactivateMenuItem();
		$(this).parents('ul').find('a.active').removeClass('active');
		$(this).addClass('active');
	});
	$('#clientsmenu li.subcontent>a').click(function(){
		ul = $(this).next('ul');
		if (ul.children('li:visible').length == 1) {
			ul.addClass('expand').children('li').show();
			return false;
		} else if (ul.hasClass('expand') == false) {
			ul.addClass('expand').slideDown();
		} else {
			ul.removeClass('expand').slideUp();
			$(this).parents('ul').slideDown().addClass('expand').children().show();
		}
	});
	$('li.subcontent>ul>li>a').click(function(){
		$('#mainmenu a.active').removeClass('active');
		$(this).parents('ul').find('.active').removeClass('active');
		$(this).addClass('active').parents('li.subcontent').addClass('active');
		$(this).parent().siblings().hide();
	});
}
function initArrowKeys () {
	$(document).keyup(function (event){
		if (event.keyCode == 27) {
			//esc			
			/*
			closeLightbox();
			*/
		} else if (event.keyCode == 37) {
			//left
			if ( $('#leftpagenb>a').attr('href') != '') {
				goTo( $('#leftpagenb>a').attr('href') );
			};
			/*
			if (lbStatus == 'display') {
				previousLightboxImage();
			} else {
				//	url = $('#ancestor_navigation>.prev a.active').attr('href');
				//	"value", goTo(url);
				//	initAncestorLinks();				
			}
			*/
		} else if (event.keyCode == 38) {
			//bottom
			/*
			launchLightbox();
			$(window).scrollTop(0);
			*/
		} else if (event.keyCode == 39) {
			//right
			if ($('#rightpagenb>a').attr('href') != '') {
				goTo( $('#rightpagenb>a').attr('href') );
			};
			/*
			nextLightboxImage();
			*/
			displayAncestorLinks();
		} else if (event.keyCode == 40) {
			//top
			/*
			$(window).scrollTop(0);
			*/
		} else if (event.keyCode == 87) {
			toggleGrid();
		}
	});
}
function goTo (url) {
	if (loadStatus == 'wait') {
		loadStatus = 'loading';
		$('#leftpagenb>a, #rightpagenb>a').hide();
		url = url.replace(/^.*#/, '');
		$.history.load(url);
		loadContent(url);
	};
}
function temporaryTitle ( a ) {
	$('#leftpage').addClass('loading');
	t = '';
	if (a.parents('#main_navigation').length == 1) {
		t = capitalize(a.parents('.list_menu').children('a').text());
		if (t != a.text()) {
			if (t != '') {
				t += ': ';
			};
			t += a.text();
		};
	} else if (a.parent('.client, .genre').length == 1){
		c = capitalize(a.parent().attr('class'));
		t = c+': '+a.text();
	} else if (a.children('img').length == 1) {
		t = a.children('img').attr('alt');
	} else {
		t = a.text();
	}
	$('#lefttitle').text(t);
	$('#righttitle').text('');
	
}
function pageInit () {
	initNavigationLinks();
	initSubNavigationLinks();
	initAncestorLinks();
	initLighboxImageLinks();
	initArrowKeys();
	initSignets();
	//tdm.push( {"url": $('#main_navigation>#mainmenu a.active').attr('href'), "title": $('#main_navigation>#mainmenu a.active').text()} );
}

window.onload = function () {
};
$(document).ready(function($) {
//	numerotePage();
	$.history.init(function(url) {
		if (url != '' && url != undefined) {
			goTo(url);
		} else {
			goTo( $('body').attr('launch') );			
		}
	});	
	$('a[href*="_"]').live('click', function(e) {
//		if ( $(this).parent().hasClass('active') == false && $(this).parent().hasClass('subcontent') == false ) {		
			$('#leftpage, #rightpage').empty();
			var url = $(this).attr('href');
			goTo(url);
			temporaryTitle( $(this) );
			return false;
//		}
	});
    pageInit();
});
function capitalize (s) {
	return s.charAt(0).toUpperCase() + s.slice(1);		
}
