if (typeof currentPage == "undefined"){
	var currentPage = 0;
}
var previousPage = 0;

if (typeof currentSubmenu == "undefined"){
	var currentSubmenu = 0;
}

var previousSubmenu = 0;
var homeSubmenuHover = false;
var realisationMenuHover = false;
var scroll = 0;
var docHeight = 0;
var viewportwidth = 0;
var viewportheight = 0;

var fadeOutSpeed = 1;
var fadeInSpeed = 300;

var realisationsTerrainCount_fr = 0;
var realisationsSocialCount_fr = 0;
var realisationsStudioCount_fr = 0;
var realisationsEspaceCount_fr = 0;

var realisationsTerrainCount_en = 0;
var realisationsSocialCount_en = 0;
var realisationsStudioCount_en = 0;
var realisationsEspaceCount_en = 0;

var isFirefox = false;

var loadCheckCounter = 0;

var ajaxBusy = false;

$(document).ready(function(){
	
	/* INITIALISATION */
	if(lang=="en"){
		switchToEnglish();
	}else{
		switchToFrench();
	}
	
	if (navigator.userAgent.indexOf("Firefox")!=-1){
		isFirefox = true;
		$(".gotham-bold").css({"font-family": "Arial"});
		//$(".gotham-book").css({"font-weight" : "500"});
		//alert("FF");
	}
	
	//$("div#splash-screen").hide();
	$("div#nous-sommes").hide();
	$("div#nos-realisations").hide();
	$("div#nous-contacter").hide();
	
	onPageChange();
	
	//$("div#realisations-terrain").hide();
	$("div#realisations-social").hide();
	$("div#realisations-studio").hide();
	$("div#realisations-espace").hide();
	
	$("div#home-submenu div#social").hide();
	$("div#home-submenu div#terrain").hide();
	$("div#home-submenu div#espace").hide();
	$("div#home-submenu div#studio").hide();
	
	//$("div#realisation-menu div#terrain").hide();
	$("div#realisation-menu div#social").hide();
	$("div#realisation-menu div#espace").hide();
	$("div#realisation-menu div#studio").hide();
	
	$("div.ajax-loader").hide();
	
	onPortfolioPageChange();
	
	scrollProcess();
	
	/* EVENTS */
	
	updateToTopBtnEvents();
	
	/* PAGE SCROLL */
	
	$(window).scroll(function() {
		
		scrollProcess();
		
	});
	
	/* MAIN MENU */
	
	$("#logo-link").click(function(){
		if (currentPage!=1){
			previousPage = currentPage;
			currentPage = 1;
			onPageChange();
		}
	});
	
	$(".nous-sommes-link").click(function(){
		if (currentPage!=1){
			previousPage = currentPage;
			currentPage = 1;
			onPageChange();
		}
	});
	
	$(".nos-realisations-link").click(function(){
		if (currentPage!=2){
			previousPage = currentPage;
			currentPage = 2;
			onPageChange();
			scrollProcess();
		}
	});
	
	$(".nous-contater-link").click(function(){
		if (currentPage!=3){
			previousPage = currentPage;
			currentPage = 3;
			onPageChange();
		}
	});
	
	$("div#lang-en a").click(function(){
		switchToEnglish();
	});
	
	$("div#lang-fr a").click(function(){
		switchToFrench();
	});
	
	
	/* HOME SUBMENU */
	
	$("map#home-submenu-map area#terrain").click(function(){
		
		previousPage = currentPage;
		currentPage = 2;
		
		
		if (currentSubmenu!=0){
			previousSubmenu = currentSubmenu;
			currentSubmenu = 0;
			onPortfolioPageChange();
		}
		onPageChange();
		onPortfolioPageChange();
	});
	
	$("map#home-submenu-map area#terrain").mousemove(function(){
		
		if (homeSubmenuHover==false){
			$("div#home-submenu div#terrain").fadeIn(fadeInSpeed);
			homeSubmenuHover = true;
		}
	});
	
	$("map#home-submenu-map #terrain").mouseout(function(){
		
		$("div#home-submenu div#terrain").fadeOut(fadeOutSpeed, function(){
			homeSubmenuHover = false;
		});
		
	});
	
	$("map#home-submenu-map area#social").click(function(){
		
		previousPage = currentPage;
		currentPage = 2;
		
		if (currentSubmenu!=1){
			previousSubmenu = currentSubmenu;
			currentSubmenu = 1;
			onPortfolioPageChange();
		}
		onPageChange();
		onPortfolioPageChange();
	});
	
	$("map#home-submenu-map area#social").mousemove(function(){
		
		if (homeSubmenuHover==false){
			$("div#home-submenu div#social").fadeIn(fadeInSpeed);

			homeSubmenuHover = true;
		}
		
	});
	
	$("map#home-submenu-map #social").mouseout(function(){
		
		$("div#home-submenu div#social").fadeOut(fadeOutSpeed, function(){
			homeSubmenuHover = false;
		});
	});
	
	$("map#home-submenu-map area#studio").click(function(){
		
		previousPage = currentPage;
		currentPage = 2;
		
		if (currentSubmenu!=2){
			previousSubmenu = currentSubmenu;
			currentSubmenu = 2;
			onPortfolioPageChange();
		}
		onPageChange();
		onPortfolioPageChange();
	});
	
	$("map#home-submenu-map area#studio").mousemove(function(){
		
		if (homeSubmenuHover==false){
			$("div#home-submenu div#studio").fadeIn(fadeInSpeed);
			homeSubmenuHover = true;
		}
	});
	
	$("map#home-submenu-map #studio").mouseout(function(){
		
		$("div#home-submenu div#studio").fadeOut(fadeOutSpeed, function(){
			homeSubmenuHover = false;
		});
	});
	
	$("map#home-submenu-map area#espace").click(function(){
		
		previousPage = currentPage;
		currentPage = 2;
		
		if (currentSubmenu!=3){
			previousSubmenu = currentSubmenu;
			currentSubmenu = 3;
			onPortfolioPageChange();
		}
		onPageChange();
		onPortfolioPageChange();
	});
	
	$("map#home-submenu-map area#espace").mousemove(function(){
		
		if (homeSubmenuHover==false){
			$("div#home-submenu div#espace").fadeIn(fadeInSpeed);
			homeSubmenuHover = true;
		}
	});
	
	$("map#home-submenu-map #espace").mouseout(function(){
		
		$("div#home-submenu div#espace").fadeOut(fadeOutSpeed, function(){
			homeSubmenuHover = false;
		});
	});
	
	
	/* REALISATIONS MENU */
	
	$("map#realisation-menu-map area#terrain").click(function(){
		
		if (currentSubmenu!=0){
			previousSubmenu = currentSubmenu;
			currentSubmenu = 0;
			onPortfolioPageChange();
		}
	});
	
	$("map#realisation-menu-map area#terrain").mousemove(function(){
		
		if (realisationMenuHover==false){
			$("div#realisation-menu div#terrain").fadeIn(fadeInSpeed);

			realisationMenuHover = true;
		}
		
	});
	
	$("map#realisation-menu-map #terrain").mouseout(function(){
		
		if(currentSubmenu!=0){//stay highlighted if currently in corresponding page
			$("div#realisation-menu div#terrain").fadeOut(fadeOutSpeed);
		}
		realisationMenuHover = false;
	});
	
	$("map#realisation-menu-map area#social").click(function(){
		
		if (currentSubmenu!=1){
			previousSubmenu = currentSubmenu;
			currentSubmenu = 1;
			onPortfolioPageChange();
		}
	});
	
	$("map#realisation-menu-map area#social").mousemove(function(){
		
		if (realisationMenuHover==false){
			$("div#realisation-menu div#social").fadeIn(fadeInSpeed);
			realisationMenuHover = true;
		}
		
	});
	
	$("map#realisation-menu-map #social").mouseout(function(){
		
		if(currentSubmenu!=1){//stay highlighted if currently in corresponding page
			$("div#realisation-menu div#social").fadeOut(fadeOutSpeed);
		}
		realisationMenuHover = false;
	});
	
	$("map#realisation-menu-map area#studio").click(function(){
		
		if (currentSubmenu!=2){
			previousSubmenu = currentSubmenu;
			currentSubmenu = 2;
			onPortfolioPageChange();
		}
	});
	
	$("map#realisation-menu-map area#studio").mousemove(function(){
		
		if (realisationMenuHover==false){
			$("div#realisation-menu div#studio").fadeIn(fadeInSpeed);
			realisationMenuHover = true;
		}
		
	});
	
	$("map#realisation-menu-map #studio").mouseout(function(){
		
		if(currentSubmenu!=2){//stay highlighted if currently in corresponding page
			$("div#realisation-menu div#studio").fadeOut(fadeOutSpeed);
		}
		realisationMenuHover = false;
	});
	
	$("map#realisation-menu-map area#espace").click(function(){

		if (currentSubmenu!=3){
			previousSubmenu = currentSubmenu;
			currentSubmenu = 3;
			onPortfolioPageChange();
		}
	});
	
	$("map#realisation-menu-map area#espace").mousemove(function(){
		
		if (realisationMenuHover==false){
			$("div#realisation-menu div#espace").fadeIn(fadeInSpeed);
			realisationMenuHover = true;
		}
		
	});
	
	$("map#realisation-menu-map #espace").mouseout(function(){
		
		if(currentSubmenu!=3){//stay highlighted if currently in corresponding page
			$("div#realisation-menu div#espace").fadeOut(fadeOutSpeed);
		}
		realisationMenuHover = false;
	});

});

function onPageChange(){

	if(previousPage == 0){
		$("div#splash-screen").hide();
	
	}else if(previousPage == 1){
		$("div#nous-sommes").hide();
	
	}else if(previousPage == 2){
		$("div#nos-realisations").hide();
	
	}else if(previousPage == 3){
		$("div#nous-contacter").hide();
	}
	
	if(currentPage == 0){
		$("div#splash-screen").show();
	
	}else if(currentPage == 1){
		$("div#nous-sommes").show();
	
	}else if(currentPage == 2){
		$("div#nos-realisations").show();
	
	}else if(currentPage == 3){
		$("div#nous-contacter").show();
	}
	
	loadCheckCounter = 0;
}

function onPortfolioPageChange(){

	if(previousSubmenu == 0){
		$("div#realisations-terrain").hide();
		$("div#realisation-menu div#terrain").hide();
	
	}else if(previousSubmenu == 1){
		$("div#realisations-social").hide();
		$("div#realisation-menu div#social").hide();
	
	}else if(previousSubmenu == 2){
		$("div#realisations-studio").hide();
		$("div#realisation-menu div#studio").hide();
		
	}else if(previousSubmenu == 3){
		$("div#realisations-espace").hide();
		$("div#realisation-menu div#espace").hide();
	}
	
	if(currentSubmenu == 0){
		$("div#realisations-terrain").show();
		$("div#realisation-menu div#terrain").show();
	
	}else if(currentSubmenu == 1){
		$("div#realisations-social").show();
		$("div#realisation-menu div#social").show();
	
	}else if(currentSubmenu == 2){
		$("div#realisations-studio").show();
		$("div#realisation-menu div#studio").show();
		
	}else if(currentSubmenu == 3){
		$("div#realisations-espace").show();
		$("div#realisation-menu div#espace").show();
	}
	
	loadCheckCounter = 0;
	
	scrollProcess();
}

function getViewportRes(){
	 // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
	 
	 if (typeof window.innerWidth != 'undefined')
	 {
		  viewportwidth = window.innerWidth,
		  viewportheight = window.innerHeight
	 }
	 
	// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

	 else if (typeof document.documentElement != 'undefined'
		 && typeof document.documentElement.clientWidth !=
		 'undefined' && document.documentElement.clientWidth != 0)
	 {
		   viewportwidth = document.documentElement.clientWidth,
		   viewportheight = document.documentElement.clientHeight
	 }
	 
	 // older versions of IE
	 
	 else
	 {
		   viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
		   viewportheight = document.getElementsByTagName('body')[0].clientHeight
	 }
	//document.write('<p>Your viewport width is '+viewportwidth+'x'+viewportheight+'</p>');
}

function scrollProcess(){

	//alert("scroll process");
	
	if(currentPage == 2){
	
		//alert($("div#main").height());
		
		//current scrolling position
		/*
		scroll = window.pageYOffset;
		if (scroll == "undefined"){
			scroll = document.body.scrollTop;
		}
		if (scroll == "undefined"){
			scroll = document.documentElement.scrollTop;
		}
		*/
		
		scroll = getScrollY();
		
		//total document size
		docHeight = $(document).height();
		if(docHeight == "undefined" || docHeight == 0){
			docHeight = document.body["clientHeight"];
		}
		if(docHeight == "undefined" || docHeight == 0){
			document.documentElement["clientHeight"];
		}
		
		//viewport size
		getViewportRes();
		
		
		//maybe page content is too short and no scroll bar appears
		if($("div#main").height() <= viewportheight){
			loadItem();
		}
		
		
		//we reached the bottom of the page, so we should load more content if possible.
		if((docHeight - viewportheight) <= scroll){
			//alert("reached bottom");
			loadItem(true);
		}

		//$('#dev-info').html("<p>Dev Info :<br><br>Scroll value : " + scroll + "<br>Page Height : " + docHeight + "<br>Viewport Height : " + viewportheight + "<br>Total : " + (docHeight - viewportheight) + "</p>");
	}

}

function loadItem(fromScroller){

	fromScroller = typeof(fromScroller) == 'undefined' ? false : true;
   
	if(ajaxBusy){return;}
	ajaxBusy = true;
	
	
	if(checkCatCount(currentSubmenu) == false){
		return;
	}
	
	//alert("From scroller : "+fromScroller);
	if(lang == "fr"){
		if(currentSubmenu == 0){
			currentCatCount = realisationsTerrainCount_fr;
			if(currentCatCount == -1){
				ajaxBusy = false;
				return;
			}
			realisationsTerrainCount_fr++;
		}else if(currentSubmenu == 1){
			currentCatCount = realisationsSocialCount_fr;
			if(currentCatCount == -1){
				ajaxBusy = false;
				return;
			}
			realisationsSocialCount_fr++;
		}else if(currentSubmenu == 2){
			currentCatCount = realisationsStudioCount_fr;
			if(currentCatCount == -1){
				ajaxBusy = false;
				return;
			}
			realisationsStudioCount_fr++;
		}else if(currentSubmenu == 3){
			currentCatCount = realisationsEspaceCount_fr;
			if(currentCatCount == -1){
				ajaxBusy = false;
				return;
			}
			realisationsEspaceCount_fr++;
		}
	}else{
		if(currentSubmenu == 0){
			currentCatCount = realisationsTerrainCount_en;
			if(currentCatCount == -1){
				ajaxBusy = false;
				return;
			}
			realisationsTerrainCount_en++;
		}else if(currentSubmenu == 1){
			currentCatCount = realisationsSocialCount_en;
			if(currentCatCount == -1){
				ajaxBusy = false;
				return;
			}
			realisationsSocialCount_en++;
		}else if(currentSubmenu == 2){
			currentCatCount = realisationsStudioCount_en;
			if(currentCatCount == -1){
				ajaxBusy = false;
				return;
			}
			realisationsStudioCount_en++;
		}else if(currentSubmenu == 3){
			currentCatCount = realisationsEspaceCount_en;
			if(currentCatCount == -1){
				ajaxBusy = false;
				return;
			}
			realisationsEspaceCount_en++;
		}
	}

	$("div.ajax-loader").show();
	
	var data = "i="+(currentCatCount)+"&c="+(currentSubmenu)+"&l="+(lang);
	
	$.ajax({
	  type: 'POST',
	  url: "common/getItemContent.php",
	  data: data,
	  success: function(data){
			//alert(data);
			
			//check if data is empty. If so, means nothing is left to load in that submenu and language
			if(data == ""){
				if(lang == "fr"){
					if(currentSubmenu == 0){
						realisationsTerrainCount_fr = -1;
					}else if(currentSubmenu == 1){
						realisationsSocialCount_fr = -1;
					}else if(currentSubmenu == 2){
						realisationsStudioCount_fr = -1;
					}else if(currentSubmenu == 3){
						realisationsEspaceCount_fr = -1;
					}
				}else{
					if(currentSubmenu == 0){
						realisationsTerrainCount_en = -1;
					}else if(currentSubmenu == 1){
						realisationsSocialCount_en = -1;
					}else if(currentSubmenu == 2){
						realisationsStudioCount_en = -1;
					}else if(currentSubmenu == 3){
						realisationsEspaceCount_en = -1;
					}
				}
			}
			
			//append data and hide div while it loads media
			if(currentSubmenu == 0){
				$("div#realisations-terrain div."+lang).append(data);
				$("div#realisations-terrain div."+lang+" div.realisation:last").hide();
			}else if(currentSubmenu == 1){
				$("div#realisations-social div."+lang).append(data);
				$("div#realisations-social div."+lang+" div.realisation:last").hide();
			}else if(currentSubmenu == 2){
				$("div#realisations-studio div."+lang).append(data);
				$("div#realisations-studio div."+lang+" div.realisation:last").hide();
			}else if(currentSubmenu == 3){
				$("div#realisations-espace div."+lang).append(data);
				$("div#realisations-espace div."+lang+" div.realisation:last").hide();
			}
			
			var maxIterations = 200000;
			var iterations = 0;
			
			while(document.readyState!="complete"){
				if(iterations >= maxIterations){
					//alert("Way too long. break.");
					break;
				}
				//wait for document to be complete;
				var doSomethingUseless = 0124;
				iterations++;
			}
			
			//alert(document.readyState);
			
			// show div that was hidden while loading
			if(currentSubmenu == 0){
				$("div#realisations-terrain div."+lang+" div.realisation:last").fadeIn("fast");
			}else if(currentSubmenu == 1){
				$("div#realisations-social div."+lang+" div.realisation:last").fadeIn("fast");
			}else if(currentSubmenu == 2){
				$("div#realisations-studio div."+lang+" div.realisation:last").fadeIn("fast");
			}else if(currentSubmenu == 3){
				$("div#realisations-espace div."+lang+" div.realisation:last").fadeIn("fast");
			}
			
			$("div.ajax-loader").hide();
			ajaxBusy = false;
			updateToTopBtnEvents();
			
			if(fromScroller){
				if(loadCheckCounter<5){
					//maybe page content is too short and no scroll bar appears
					if($("div#main").height() <= viewportheight){
						loadItem();
					}
					loadCheckCounter++;
				}
			}
			
			
		}
	});

}

function checkCatCount(cat){
	
	var data = "c="+(currentSubmenu);
	
	$.ajax({
	  type: 'POST',
	  url: "common/getItemCount.php",
	  data: data,
	  success: function(data){
			//alert("data : " + data + "   JSCOUNTER : " + realisationsEspaceCount_fr);
			
			if(lang == "fr"){
				if (cat == 0){
					if(data <= realisationsTerrainCount_fr){
						realisationsTerrainCount_fr = -1;
						
						return false;
					}
				}
				if (cat == 1){
					if(data <= realisationsSocialCount_fr){
						realisationsSocialCount_fr = -1;
						
						return false;
					}
				}
				if (cat == 2){
					if(data <= realisationsStudioCount_fr){
						realisationsStudioCount_fr = -1;
						
						return false;
					}
				}
				if (cat == 3){
					
					if(data <= realisationsEspaceCount_fr){
						realisationsEspaceCount_fr = -1;
						
						return false;
					}
				}
			}else{
				if (cat == 0){
					if(data <= realisationsTerrainCount_en){
						realisationsTerrainCount_en = -1;
						
						return false;
					}
				}
				if (cat == 1){
					if(data <= realisationsSocialCount_en){
						realisationsSocialCount_en = -1;
						
						return false;
					}
				}
				if (cat == 2){
					if(data <= realisationsStudioCount_en){
						realisationsStudioCount_en = -1;
						
						return false;
					}
				}
				if (cat == 3){
					if(data <= realisationsEspaceCount_en){
						realisationsEspaceCount_en = -1;
						
						return false;
					}
				}
			}
		}
	});
	return 1;
}

function switchToEnglish(){
	$(".en").show();
	$(".fr").hide();

	$("div#realisation-menu").css({"background-image" : "url(images/realisation-menu-en-bg.png)"});
	$("div#realisation-menu div#social").css({"background-image" : "url(images/realisations_menu_en_social_on.png)"});
	$("div#realisation-menu div#terrain").css({"background-image" : "url(images/realisations_menu_en_terrain_on.png)"});
	$("div#realisation-menu div#studio").css({"background-image" : "url(images/realisations_menu_en_studio_on.png)"});
	$("div#realisation-menu div#espace").css({"background-image" : "url(images/realisations_menu_en_espace_on.png)"});
	$("div#home-submenu").css({"background-image" : "url(images/home-submenu-en-bg.png)"});
	
	lang = "en";
	scrollProcess();
}

function switchToFrench(){
	$(".en").hide();
	$(".fr").show();
	
	$("div#realisation-menu").css({"background-image" : "url(images/realisation-menu-bg.png)"});
	$("div#realisation-menu div#social").css({"background-image" : "url(images/realisations_menu_social_on.png)"});
	$("div#realisation-menu div#terrain").css({"background-image" : "url(images/realisations_menu_terrain_on.png)"});
	$("div#realisation-menu div#studio").css({"background-image" : "url(images/realisations_menu_studio_on.png)"});
	$("div#realisation-menu div#espace").css({"background-image" : "url(images/realisations_menu_espace_on.png)"});
	$("div#home-submenu").css({"background-image" : "url(images/home-submenu-bg.png)"});
	
	lang = "fr";
	scrollProcess();
}

function getScrollY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return scrOfY;
}

function updateToTopBtnEvents(){
	$('a.toTop').click(function() {
		var elementClicked = $(this).attr("href");
		//alert("elementClicked" + elementClicked);
		//var destination = $(elementClicked).offset().top;
		var destination = 0;
		//alert("destination" + destination);
		$("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination-20}, 500 );
		return false;
	});
}












