var Portfolio = {
	nbReferences: 0,
	fichePosLeft: 0,
	fichePosTop: 0,
	ficheNum: 0,
	references: {
		nom: new Array("rien"),
		logo: new Array("rien"),
		titre: new Array("rien"),
		code: new Array("rien"),
		url: new Array("rien"),
		screenshot: new Array("rien")
	},
	chargementImgFond: new Array(),
	chargementImgTitre: new Array(),
	chargementImgSreenshot: new Array(),
	load: function() {
		this.vaChercher();
	},
	vaChercher: function() {
		new Ajax.Request(URL_ROOT+'/inc/portfolio_ajax.php5',{
			method: 'get',
			onSuccess: this.retourAjax,
			onFailure: function(){ alert('Le ajax ne marche pas...')}
		});
	},
	retourAjax: function(leajax) {
		eval('newReferencesObjet = '+leajax.responseText);
		var newReferences = newReferencesObjet.references;
		Portfolio.nbReferences = newReferencesObjet.total;
		for (var i=0; i < newReferences.length; i++) {
			Portfolio.references.nom.push(newReferences[i].nom);
			Portfolio.references.logo.push(newReferences[i].logo);
			Portfolio.references.titre.push(newReferences[i].titre);
			Portfolio.references.code.push(newReferences[i].code);
			Portfolio.references.url.push(newReferences[i].url);
			Portfolio.references.screenshot.push(newReferences[i].screenshot);
			// Préchargement des images
			var lefond = new Image();
			lefond.src = "images/portfolio/"+newReferences[i].logo;
			Portfolio.chargementImgFond.push(lefond);
			var letitre = new Image();
			letitre.src = "images/portfolio/titres/"+newReferences[i].titre;
			Portfolio.chargementImgTitre.push(letitre);
			var lescreenshot = new Image();
			lescreenshot.src = "images/portfolio/screenshots/"+newReferences[i].screenshot;
			Portfolio.chargementImgSreenshot.push(lescreenshot);
		}
		Portfolio.constructAll();
	},
	clickFiche: function(numero) {
		if (this.ficheNum!=0)
		{
			for (i=1;i<=this.nbReferences;i++)
			{
				$("reference"+i).removeClassName('selPortfolio');
				if (i == numero)
				{
					$("reference_backimg"+i).style.display = 'none';
					$("reference"+i).removeClassName('selPortfolio');
					this.makeMove("reference"+i,this.fichePosTop,this.fichePosLeft,3);
				}
				else this.makeAppear("reference"+i,3);
			}
			this.makeDisappear("main",1);
			this.makeDisappear("portfolio_visite",1);
			this.ficheNum = 0;
		}
		else
		{
			$("portfolio_fiche_content").innerHTML = this.references.code[numero];
			$("portfolio_fiche_screenshot").innerHTML = "<img onclick=\"javasctipt:Portfolio.clickVisite();\" src=\""+this.chargementImgSreenshot[(numero-1)].src+"\" height=\"171\" width=\"220\" alt=\"Visitez le site\"/>";
			$("portfolio_fiche_content").getElementsByTagName("h2")[0].style.backgroundImage = "url("+this.chargementImgTitre[(numero-1)].src+")";
			for (i=1;i<=this.nbReferences;i++)
			{
				if (i == numero)
				{
					this.fichePosLeft = $("reference"+i).offsetLeft;
					this.fichePosTop = $("reference"+i).offsetTop;
					$("reference"+i).addClassName('selPortfolio');
					this.makeMove("reference"+i,236,708,1);
					setTimeout(function() {$("reference_backimg"+numero).style.display = 'block';},1200);
				}
				else this.makeDisappear("reference"+i,1);
			}
			this.makeAppear("main",3);
			this.makeAppear("portfolio_visite",3);
			this.ficheNum = numero;
		}
	},
	constructAll: function() {
		var ligne = 1;
		var colonne = 2;
		for (i=1;i<=this.nbReferences;i++)
		{
			imagesrc = this.chargementImgFond[(i-1)].src;
			if (BROWSER == 'IE6') { lestyle=' cursor: pointer; display: none;'; }
			else { lestyle = "background-image: url("+ imagesrc +"); background-repeat: no-repeat; cursor: pointer; display: none;"; }
			laclass = "divportfolio largeur1 hauteur1 ligne"+ligne+" colonne"+colonne;
			leid = "reference"+i;
			leonclick = "Portfolio.clickFiche("+i+")";
			new Insertion.Bottom("conteneur","<div id=\""+leid+"\" class=\""+laclass+"\" style=\""+lestyle+"\" onClick=\""+leonclick+"\"><img style=\"display:none; visibility:hidden;\" class=\"showFromPrint\" src=\""+imagesrc+"\"/><div id=\"reference_backimg"+i+"\" class=\"portfolio_back\" style=\"\"></div><span class=\"reference_nom hideFromPrint\">"+this.references.nom[i]+"</span></div>");
			if (BROWSER == 'IE6') {$(leid).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + imagesrc + "',sizingMethod='scale')"; }
			colonne++;
			if (colonne == 5)
			{
				colonne = 2;
				ligne++;
			}
		}
		this.showStart();
	},
	showStart: function() {
		var imagesCharged = true;
		for (k=0;k<this.nbReferences;k++) if (!this.chargementImgFond[k].complete) imagesCharged=false;
		if (imagesCharged)
		{
			$('portfolio_wait').style.display = "none";
			for (j=1;j<=this.nbReferences;j++)
			{
				this.makeAppear("reference"+j,j);
			}
		}
		else setTimeout("Portfolio.showStart()",100);		
	},
	makeAppear: function(id,queue) {
		var delai = 200*queue;
		setTimeout(function() {new Effect.BlindDown(id,{duration:0.5})},delai);
	},
	makeDisappear: function(id,queue) {
		var delai = 200*queue;
		setTimeout(function() {new Effect.BlindUp(id,{duration:0.5})},delai);
	},
	makeMove: function(id,versTop,versLeft,queue) {
		var delai = 200*queue;
		setTimeout(function() {new Effect.Move(id,{x:versLeft, y:versTop, mode:'absolute', duration:0.5})},delai);
	},
	clickVisite: function() {
		if (this.references.url[this.ficheNum] && this.references.url[this.ficheNum] != "") {
			window.open(this.references.url[this.ficheNum]);
		}
		else
		{
			alert("Ce site n'est plus accessible...");
		}
	}
}