/*
	Author : Thomas Gainant
	Date : 09/07/2011
	Licence : Don't copy that floppy ! (lawyer slang for 'I don't give a fuck')
*/
var queue = new Array([0,0],[0,0]);
var maxPages = 9;

var stopAnim = true;
var showSkills = true;
var showProjects = true;

var redirect = false;
var url = "";
var urlStr = "";

function resetAll(){
	clearL();
	clearPrjs();
	clearR();
	
	addToQueue("show", "#presentation");
	addToQueue("hide", "#return");
	treatQueue();
}

function affPrjBtn(parId){
	parId = parId.toString();
	clearPrjs();
	addToQueue("show", '#prj'+parId);
	treatQueue();
}

function affLeftPrj(parId){
	if($('#presentation').css('display')!='none'){
		addToQueue("hide", '#presentation');
	}
	clearL();
	addToQueue("show", "#prj"+parId+"descrl");
	treatQueue();
}

function affCenterPrj(parId){
	if($('#presentation').css('display')!='none'){
		addToQueue("hide", '#presentation');
	}
	clearPrjs();
	addToQueue("show", "#prj"+parId+"descrc");
	addToQueue("show", '#return');
	addToQueue("show", "#selector"+parId);
	addToQueue("show", ".prj"+parId+"case1");
	$('#'+parId+'case1').css('background-color','#FFF');
	treatQueue();
}

function affRightPrj(parId){
	if($('#presentation').css('display')!='none'){
		addToQueue("hide", '#presentation');
	}
	clearR();
	addToQueue("show", "#prj"+parId+"descrr");
	treatQueue();
}

function clearL(){
	for (var i=0; i<skills.length; i++){
		if($("#prj"+i+"descrl").css('display')!='none'){
			addToQueue("hide", "#prj"+i+"descrl");
		}
		if($("#prj"+i+"descrr").css('display')!='none'){
			addToQueue("hide", "#prj"+i+"descrr");
		}
	}
	if(showSkills == true){
		addToQueue("hide","#skillslist");
	}
	if(showSkills == false){
		addToQueue("show","#skillslist");
	}
	treatQueue();
}

function clearPrjs(){
	for (var i=0; i<skills.length; i++){
		if($("#prj"+i).css('display')!='none'){
			addToQueue("hide", "#prj"+i);
		}
		if($("#prj"+i+"descrc").css('display')!='none'){
			addToQueue("hide", "#prj"+i+"descrc");
		}
		if($("#selector"+i).css('display')!='none'){
			addToQueue("hide", "#selector"+i);
		}
		for(var j=0; j<maxPages; j++){
			$('#a'+i+'case'+j).css('background-color','#000');
			$(".prj"+i+"case"+j).css('display', 'none');
		}
		$('#a'+i+'case1').css('background-color','#FFF');
		treatQueue();
	}
}

function clearR(){
	if(showProjects == true){
		addToQueue("hide","#projectslist");
	}
	if(showProjects == false){
		addToQueue("show","#projectslist");
	}
}

function addToQueue(parAnim, parId){
		$(document).queue("fxDoc", function next(){
			if(parId.indexOf("projectslist") != -1){
				if(parAnim == "hide"){
					$("#projectslist").hide("slow", function(){showProjects = false;});
				}
				if(parAnim == "show"){
					$("#projectslist").show("slow", function(){showProjects = true;});
				}
			}
			else if(parId.indexOf("skillslist") != -1){
				if(parAnim == "hide"){
					$("#skillslist").hide("slow", function(){showSkills = false;});
				}
				if(parAnim == "show"){
					$("#skillslist").show("slow", function(){showSkills = true;});
				}
			}
			else if(parId.indexOf("return") != -1){
				if(parAnim == "hide"){
					$(parId).hide("fast");
				}
				if(parAnim == "show"){
					$(parId).show("fast");
				}
			}
			else{
				if(parAnim == "hide"){
					$(parId).hide("slow");
				}
				if(parAnim == "show"){
					$(parId).show("slow");
				}
			}
		});
}

function treatQueue() {
	$(document).dequeue("fxDoc");
	if($(document).queue("fxDoc").length == 0){
		stopAnim = false;
	}
}

function treatUrl(){
		url = window.location.pathname;
		urlStr = window.location.hash;
		if(urlStr == ""){
			urlStr = document.location.hash;
		}
		if(urlStr == ""){
			urlStr = location.hash;
		}
		if(urlStr != "" && urlStr != "#" && (redirect == false)){
			redirect = true;
			
			expression = new RegExp("\-prj[0-9]+$");
			var expTest = expression.test(urlStr);
			
			if(expTest == true){
				if(stopAnim == false){
					stopAnim = true;
					var pos = urlStr.lastIndexOf("-prj");
					var id = urlStr.substr(pos+4);
					if($('#presentation').css('display')!='none'){
						addToQueue("hide", "#presentation");
					}
					affPrjBtn(id);
				}
			}
			
			treatQueue();
		}
}

//[0] = prj n°0
	var skills = new Array(
	//crucify
	[21],
	//closet
	[21],
	//nvidia
	[13],
	//src
	[13],
	//MCP - 5
	[31, 29, 15, 14, 13, 9, 6, 5, 4, 3, 2, 1],
	//SA80
	[16],
	//citrouille
	[17],
	//assumpsit
	[30, 29, 15, 13, 5, 4, 3, 2, 1],
	//underground
	[21],
	//homer d'alors - 10
	[20, 14, 13],
	//SIL06
	[23, 14, 13],
	//BSTQ
	[20, 15, 14, 13, 6],
	//BSTQ website
	[15, 14, 13, 9, 6, 4, 3, 2, 1],
	//TWAOTG
	[20, 15, 14, 13, 6],
	//staranne - 15
	[29, 28, 14, 13, 9, 4, 3, 2, 1],
	//DGA
	[27, 19, 7]
	);
	
	var sk = new Array(
	//PHP5
	[5, 8, 13, 15],
	//MySQL5
	[5, 8, 13, 15],
	//xHTML
	[5, 8, 13, 15],
	//CSS2
	[5, 8, 13, 15],
	//ActionScript 2<!--#5-->
	[5, 8],
	//ActionScript 3
	[12, 14],
	//C++
	[16],
	//C#
	[],
	//Javascript
	[5, 13, 15],
	//Java<!--#10-->
	[],
	//C
	[],
	//Lua
	[],
	//Photoshop CS5
	[5, 8, 10, 11, 12, 13, 14, 15],
	//Illustrator CS5
	[5, 10, 11, 12, 13, 14, 15],
	//Flash CS5<!--#15-->
	[5, 12, 13, 14],
	//XSI
	[6],
	//Cinema 4D
	[7],
	//InDesign CS3
	[],
	//3DS Max 2011
	[16],
	//Game design<!--#20-->
	[10, 12, 14],
	//Valve Hammer Editor
	[1, 2, 9],
	//Unity 3D
	[],
	//Unreal Development Kit
	[11],
	//Löve
	[],
	//World Editor<!--#25-->
	[],
	//Shiva
	[],
	//Virtual Battlespace 2 : Virtual Training Kit
	[16],
	//jQuery
	[15],
	//URL Rewriting
	[5, 8, 15],
	//Wordpress<!--#30-->
	[8],
	//Joomla!
	[5]
);

$(document).ready(function() {
stopAnim = true;

/*$('#headbackgroundimg').css('position','absolute');
$('#headbackgroundimg').css('top','0');
$('#headbackgroundimg').css('left','0');*/
						   
for(var i=0; i<skills.length; i++){
	$('#prj'+i+'prjbtn').bind('click', { pId: i }, function(event){
		redirect = false;
		/*if(stopAnim == false){
			stopAnim = true;
			if($('#presentation').css('display')!='none'){
				addToQueue("hide", "#presentation");
			}
			affPrjBtn(event.data.pId);
		}*/
		treatQueue();
	});
}

for(var i=0; i<skills.length; i++){
	$('#prjtitle'+i).bind('click', { pId: i }, function(event){
		if(stopAnim == false){
			stopAnim = true;
			if($('#presentation').css('display')!='none'){
				addToQueue("hide", "#presentation");
			}
			affLeftPrj(event.data.pId);
			affCenterPrj(event.data.pId);
			affRightPrj(event.data.pId);
		}
		treatQueue();
	});
	for(var j=0; j<maxPages; j++){
		$('#a'+i+'case'+j).bind('click', { pId : i, pPage : j}, function(event){
			addToQueue("show", '.prj'+event.data.pId+'case'+event.data.pPage);
			$('#a'+event.data.pId+'case'+event.data.pPage).css('background-color','#FFF');
			for(var k=0; k<maxPages; k++){
				if(k != event.data.pPage){
					addToQueue("hide", '.prj'+event.data.pId+'case'+k);
					$('#a'+event.data.pId+'case'+k).css('background-color','#000');
				}
				treatQueue();
			}
			treatQueue();
		});
	}
}

	$('#imgcv').css('opacity','0.5');
	$('#imgmail').css('opacity','0.5');
	$('#imgblog').css('opacity','0.5');
	$('#imgfb').css('opacity','0.5');
	$('#imgtw').css('opacity','0.5');
	$('#imgin').css('opacity','0.5');
	$('#imgviadeo').css('opacity','0.5');
	
	$("#imgcv").mouseover(function(){
		$('#imgcv').animate({bottom:'3em',opacity:1.0});
	});
	$("#imgcv").mouseout(function(){
		$('#imgcv').animate({bottom:'2em',opacity:0.5});
	});
	
	$("#imgmail").mouseover(function(){
		$('#imgmail').animate({bottom:'3em',opacity:1.0});
	});
	$("#imgmail").mouseout(function(){
		$('#imgmail').animate({bottom:'2em',opacity:0.5});
	});
	
	$("#imgblog").mouseover(function(){
		$('#imgblog').animate({bottom:'3em',opacity:1.0});
	});
	$("#imgblog").mouseout(function(){
		$('#imgblog').animate({bottom:'2em',opacity:0.5});
	});
	
	$("#imgfb").mouseover(function(){
		$('#imgfb').animate({bottom:'3em',opacity:1.0});
	});
	$("#imgfb").mouseout(function(){
		$('#imgfb').animate({bottom:'2em',opacity:0.5});
	});
	
	$("#imgtw").mouseover(function(){
		$('#imgtw').animate({top:'+=100',opacity:1.0});
	});
	$("#imgtw").mouseout(function(){
		$('#imgtw').animate({top:'+=100',opacity:0.5});
	});
	
	$("#imgin").mouseover(function(){
		$('#imgin').animate({top:'+=100',opacity:1.0});
	});
	$("#imgin").mouseout(function(){
		$('#imgin').animate({top:'+=100',opacity:0.5});
	});
	
	$("#imgviadeo").mouseover(function(){
		$('#imgviadeo').animate({top:'+=100',opacity:1.0});
	});
	$("#imgviadeo").mouseout(function(){
		$('#imgviadeo').animate({top:'+=100',opacity:0.5});
	});
	
	for(var i=0; i<sk.length; i++){
		for(var j=0; j<sk[i].length; j++){
			var tmp = i+1;
			tmp = tmp.toString();
			$('#skill'+tmp).bind('click', { parId: i, parIdS : sk[i][j] }, function(event){
				if(stopAnim == false){
					if($("#presentation").css('display')!='none'){
						$("#presentation").hide('slow');
					}
					if(event.data.parIdS == sk[event.data.parId][0]){
						clearPrjs();
					}
					var tmp2 = event.data.parIdS-1;
					tmp2 = tmp2.toString();
					addToQueue("show", "#prj"+tmp2);
				}
				treatQueue();
			});
		}
	}
	
	$('#return').bind('click', {}, function(event){
		resetAll();
		treatQueue();
	});
	
	$(document).bind('keypress', {}, function(e){
		//if(e.keyCode == 76) { //Enter keycode
			//alert(url + " :: " + urlStr + " :: " + redirect);
		//}
	});
	
	var timer=setInterval("treatQueue()", 500);
	var timer=setInterval("treatUrl()", 500);
});
