// Temp avant lequel on démarre le scroll
var timeBeforeScroll = 800;

// Vitesses
// Vitesse de scroll
var scrollSpeed = 700;

// Vitesse de disparition du logo
var opacityHideLogo = 1000;

// Vitesse d'apparition de la div de texte
var opacityShowMsg = 500;

// Vitesse de déplacement du menu
var menuSpeed = 800;

// Vitesse d'arrivée du blog link
var blogLinkShowSpeed = 1500;

// Vitesse de départ du blog link
var blogLinkHideSpeed = 250;

// Effets
// Effets du scroll
var scrollEffect = "easeInOutExpo";

// Effets du menu
var menuEffect = "easeOutExpo";

// Effets d'arrivée du blog link
var blogLinkShowEffect = "easeOutCubic";

// Effets de départ du blog link
var blogLinkHideEffect = "easeOutCirc";

$(document).ready(function(){
	// Transparence des PNG sous IE6
	$(document).pngFix();
	
	// On cache le menu
	$("#divMenu").css({
		top:-$("#divMenu").height()-20,
		left:-$("#divMenu").width()-20
	});
	
	// On check si on a une ancre
	curUrl = document.location.toString();
	if (curUrl.match('#')) {
		curAnchor = '#' + curUrl.split('#')[1];
		
		// On défini l'id de page en cours selon l'ancre
		setCurIdPageFromAnchor(curAnchor);
	}
	
	// On place les pages au milieu de leur backgroung
	$(window).load(function(){
		$("DIV.page").each(function(){
			// On recuper son id
			pageId = this.id.slice(5);

			// On recupere les coordonées du background correspondant
			bgTop = $("#page_bg_"+pageId).offset().top;
			bgLeft = $("#page_bg_"+pageId).offset().left;
			bgWidth = $("#page_bg_"+pageId).width();
			bgHeight = $("#page_bg_"+pageId).height();

			// On défini la position de la page
			pageTop = bgTop+(bgHeight/2)-($(this).height()/2);
			pageLeft = bgLeft+(bgWidth/2)-($(this).width()/2);
			
			// On place la page
			$(this).css({
				top:pageTop,
				left:pageLeft,
				display:"block"
			})
		});
			
		// Variable contenant le lien clické
		curClickedLink = "";
		
		// On boucle sur les liens
		$("A").each(function(){
		
				// Si le lien a une class btn_page, on change son lien et son événement de click
				if($(this).hasClass("btn_page_"+pageIdForWho) || $(this).hasClass("btn_page_"+pageIdForContact) || $(this).hasClass("btn_page_"+pageIdForWork))
				{
					// On change l'url du lien
					$(this).attr("old_href", $(this).attr("href"));
					$(this).attr("href", "#"+$(this).attr("href").substring(baseURL.length+1));			
					
					$(this).click(function(event){
						// On ajoute l'url au stats google
						urlForGoogle = $(this).attr("old_href").substring(baseURL.length);
						pageTracker._trackPageview(urlForGoogle);
						
						// On recupere l'id de la page sur laquelle aller
						if($(this).hasClass("btn_page_"+pageIdForWho))
							curPageId = pageIdForWho;
						else if($(this).hasClass("btn_page_"+pageIdForContact))
							curPageId = pageIdForContact;
						else if($(this).hasClass("btn_page_"+pageIdForWork))
							curPageId = pageIdForWork;
						
						// On bouge
						goToPage();
						
						// On empêche le click d'avoir lieu				
						if(bAnchorNav == "false")
							event.preventDefault();				
					});
				}
		});
	});
	
	$(window).resize(function(){
		goToPage();
	})
});

$(window).load(function(){

	// On met les infos de contact (caché pour éviter que les bot ne les récupère)
	$("#contact_info_only_js").html("01.83.62.02.89<br><a href='mailto:contact@jandk.fr'>contact@jandk.fr</a>");
	
	setTimeout(function(){
		goToPage();
		}, timeBeforeScroll);
})


function goToPage()
{
	pageId = "#page_"+curPageId;

	// On recupère les coordonées de la page
	topLeftPositionTop = $(pageId).offset().top;
	topLeftPositionLeft = $(pageId).offset().left;

	/* Pour éviter que le menu ne se supperpose au contenu, 
	 * la différence entre la position "centrale" et la position "coin en haut à gauche" 
	 * ne peut être inférieur à un certain nombre
	 */

	// On determine la position centrale
	centralPositionTop = topLeftPositionTop - $(window).height()/2 + $(pageId).height()/2;
	centralPositionLeft = topLeftPositionLeft - $(window).width()/2 + $(pageId).width()/2;

	// Si le top est inférieur à la position de sécurité, on le remplace
	if(topLeftPositionTop-centralPositionTop < 120)
		finalPositionTop = topLeftPositionTop-120;
	else
		finalPositionTop = centralPositionTop;

	// Si le left est inférieur à la position de sécurité, on le remplace
	if(topLeftPositionLeft-centralPositionLeft < 350)
		finalPositionLeft = topLeftPositionLeft-350;
	else
		finalPositionLeft = centralPositionLeft;

	$('body').animate({
		scrollTop: finalPositionTop,
		scrollLeft: finalPositionLeft
		}, scrollSpeed, scrollEffect, function(){
		setMenuPosition(pageId);
	})

}

function addGoogleTrackPageView()
{
	curUrlAnchor = "/"+$("A.btn_page_"+curPageId).attr("href");

	pageTracker._trackPageview(curUrlAnchor);
}

function showMsg(divId)
{
	$(divId).animate({
		opacity:0.1
		}, opacityHideLogo, "swing", function(){
			// On recupère les coordonées de la div en cours
			divOffsetTop = $(divId).offset().top();
			divOffsetLeft = $(divId).offset().left();

			// On recupère la taille du message
			textHeight = $("#divMsg > SPAN").outerHeight();

			// On recupère la différence avec la taille de la div en cours
			difToCurDiv = $(divId).outerHeight()-textHeight;

			// On place la div du message
			$("#divMsg").css({
				top:(divOffsetTop+difToCurDiv/2),
				left:divOffsetLeft
				})
				
			$("#divMsg").animate({
				opacity:1
				}, opacityShowMsg)
		});
}

function setMenuPosition(divId)
{
	// Page en cours
	pageId = "#page_"+curPageId;

	// On recupere la position du contenu de la page
	pagePositionTop = $(pageId).offset().top;
	pagePositionLeft = $(pageId).offset().left;

	// Taille du menu
	menuWidth = $("#divMenu").outerWidth();
	menuHeight = $("#divMenu").css("height");
	menuHeight = menuHeight.substr(0, menuHeight.length-2)

	// On place le menu en fonction de la position du contenu
	menuPositionTop = pagePositionTop-menuHeight+85;
	menuPositionLeft = pagePositionLeft-menuWidth-120;

	$("#divMenu").animate({
		top: menuPositionTop,
		left: menuPositionLeft
	},menuSpeed, menuEffect, function(){
		showBlogLink(divId);
	});
}

function setCurIdPageFromAnchor(sAnchor)
{
	switch(sAnchor)
	{
		case "#qui_sont_jackson_and_kent":
			curPageId = pageIdForWho;
			break;
			
		case "#contacter_jackson_and_kent":
			curPageId = pageIdForContact;
			break;
			
		case "#travailler_pour_jackson_and_kent":
			curPageId = pageIdForWork;
			break;
	}
}


/*--
--FONCTIONS DU MENU
--*/
function initMenu(){
	switch(curPageId)
	{
		case 1:
			$("#img_who").attr("src", "img/menu_bulle_who_on.png");
			break;
			
		case 2:
			$("#img_work").attr("src", "img/menu_bulle_work_on.png");
			break;
			
		case 3:
			$("#img_contact").attr("src", "img/menu_bulle_contact_on.png");
			break;	
	}
}

function clearAllmenu(){
	$("#img_who").attr("src", "img/menu_bulle_who.png");
	$("#img_contact").attr("src", "img/menu_bulle_contact.png");
	$("#img_work").attr("src", "img/menu_bulle_work.png");
}

function switchMenu(idMenu){
	switch(idMenu)
	{
		case 'who':
			clearAllmenu();
			setTimeout('$("#img_who").attr("src", "img/menu_bulle_who_on.png")', 150);
			break;
			
		case 'contact':
			clearAllmenu();
			setTimeout('$("#img_contact").attr("src", "img/menu_bulle_contact_on.png")', 150);
			break;
			
		case 'work':
			clearAllmenu();
			setTimeout('$("#img_work").attr("src", "img/menu_bulle_work_on.png")', 150);
			break;
	}
}

function rollMenu(idMenu, idEtat){
	switch(curPageId){
		case 1:
			activeMenu = "who";
			break;
		
		case 2:
			activeMenu = "work";
			break;
			
		case 3:
			activeMenu = "contact";
			break;
	}
	
	switch(idEtat){
		case 'over':
			$("#img_"+idMenu).attr("src", "img/menu_bulle_"+idMenu+"_on.png");
			break;
			
		case 'out':
			if(activeMenu == idMenu)
				$("#img_"+idMenu).attr("src", "img/menu_bulle_"+idMenu+"_on.png");
			else
				$("#img_"+idMenu).attr("src", "img/menu_bulle_"+idMenu+".png");
			break;
	}
}

function showBlogLink(pageId){
	// Position de la page en cours
	curPageTop = $(pageId).offset().top;
	curPageLeft = $(pageId).offset().left;

	// Dimensions de la page en cours
	curPageWidth = $(pageId).outerWidth();

	// Position de début du blog link
	blogLinkStartTop = 0-$("#blog_link").outerHeight()-50;
	blogLinkStartLeft = curPageLeft+curPageWidth-20;

	// On le positionne au départ
	$("#blog_link").css({
		'top':blogLinkStartTop,
		'left':blogLinkStartLeft
	});
	
	// On l'affiche
	$("#blog_link").show();
	
	// Position de fin du blog link
	blogLinkEndTop = curPageTop-50;
	blogLinkEndLeft = curPageLeft+curPageWidth-20;

	// On affiche le blog link
	$("#blog_link").animate({
		'top':blogLinkEndTop,
		'left':blogLinkEndLeft
	}, blogLinkShowSpeed, blogLinkShowEffect, "");
}

function hideBlogLink(pageId){
	// Position de la page en cours
	curPageTop = $(pageId).offset().top;
	curPageLeft = $(pageId).offset().left;

	// Dimensions de la page en cours
	curPageWidth = $(pageId).outerWidth();

	// Position de fin du blog link
	blogLinkEndTop = 0-$("#blog_link").outerHeight()-50;
	blogLinkEndLeft = curPageLeft+curPageWidth-20;

	// On affiche le blog link
	$("#blog_link").animate({
		'top':blogLinkEndTop,
		'left':blogLinkEndLeft
	}, blogLinkHideSpeed, blogLinkHideEffect, "");
}