var xmlDocMain;
var xmlDocEmplois;
YAHOO.axeti.wait = null;
YAHOO.axeti.pnlNouvelles = null;
YAHOO.axeti.pnlErreurCV = null;
YAHOO.axeti.pnlErreurCVvide = null;
YAHOO.axeti.pnlReponse = null;
var blnCarrieresOut = true;
var blnLoaderNouvelles = false;
var child = null;
YAHOO.util.Event.onDOMReady(afficherPagePrincipale);
function afficherPagePrincipale(adf)
{
	var xsl = null;
	xmlDocMain=loadXMLDoc("xml/pageprincipale.xml");
	xsl=loadXMLDoc("xsl/pageprincipale.xsl");
	/*if (blnFirefox)
	{
		xsl=loadXMLDoc("xsl/pageprincipaleFirefox.xsl");
	}
	else
	{
		xsl=loadXMLDoc("xsl/pageprincipale.xsl");
	}*/
	
	displayResult("page", xmlDocMain, xsl);
	YAHOO.util.Event.onAvailable("infoZoneContenuCentre", function(){
		objSiteLoad.Load("html/accueil.html", "infoZoneContenuCentre", false, true);
	});
	loadSectionsAccueil();
	InitialiserPnls();
}

function InitialiserPnls()
{
	//InitialiserPnlErreurCV();
	InitialiserPnlErreurCVvide();
	InitialiserPnlWait();
	InitialiserPnlReponse();
}

function InitialiserPnlWait()
{
	YAHOO.axeti.wait = new YAHOO.widget.Panel("wait",  
											{ width: "240px", 
											  fixedcenter: true, 
											  close: false, 
											  draggable: false, 
											  zindex:4,
											  modal: true,
											  visible: false
											});
		
	YAHOO.axeti.wait.setHeader("Veuillez patienter svp...");
	YAHOO.axeti.wait.setBody("<img src=\"css/images3/rel_interstitial_loading.gif\"/>");
	YAHOO.axeti.wait.render(document.body);
}

function InitialiserPnlReponse()
{
	var handleYes = function() {
		YAHOO.axeti.pnlReponse.hide();
	};
	
	YAHOO.axeti.pnlReponse = new YAHOO.widget.SimpleDialog("reponses", 
															 { width: "300px",
															   fixedcenter: true,
															   visible: false,
															   draggable: false,
															   close: true,
															   zIndex:1000,
															   text: "",
															   constraintoviewport: true,
															   buttons: [ { text:"Fermer", handler:handleYes, isDefault:true } ]
															 });
}

function InitialiserPnlErreurCVvide()
{
	var handleYesvide = function() {
		YAHOO.axeti.pnlErreurCVvide.hide();
	};
	YAHOO.axeti.pnlErreurCVvide = new YAHOO.widget.SimpleDialog("erreurCVvide", 
															 { width: "300px",
															   fixedcenter: true,
															   visible: false,
															   draggable: false,
															   close: true,
															   text: "<span class='erreurCVvide'>Vous n'avez joint aucun fichier.</span>",
															   icon: YAHOO.widget.SimpleDialog.ICON_HELP,
															   constraintoviewport: true,
															   buttons: [ { text:"Fermer", handler:handleYesvide, isDefault:true } ]
															 } );
	YAHOO.axeti.pnlErreurCVvide.setHeader("Fichier absent...");
	YAHOO.axeti.pnlErreurCVvide.render("idErreurCVvide");
}

function loadSectionsAccueil()
{
	if (blnCarrieresOut)
	{
		blnCarrieresOut = false;
		/*if (blnFirefox)
		{
			//objSiteLoad.Load("htmlsections/accueilsectionsfirefox.html", "zoneInfo", false, true);
			//loadNouvelles();
			//blnLoaderNouvelles = true;
		}
		else
		{*/
			objSiteLoad.Load("htmlsections/accueilsections.html", "zoneInfo", false, true);
		/*}*/
		loadNouvelles();
	}
}

function afficherEmplois(_divID, _xsl)
{
	loadTitre("emplois");
	var handleSuccess = function(o){

		if(o.responseXML !== undefined){
			xmlDocEmplois = o.responseXML;
			displayResult2(_divID, xmlDocEmplois, _xsl);
			objSiteLoad.Load("html/emploiaccueil.html", "zoneDetailEmploi", false, true);
		}
	};

	var handleFailure = function(o){
		if(o.responseText !== undefined){
			AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText);
			//document.getElementById("reponse").innerHTML = "Erreur : " + o.responseText;
		}
	};

	var callback =
	{
	  success:handleSuccess,
	  failure:handleFailure
	};

	var sUrl = "admin/getEmploisXML.php?mode=1&" + new Date().getTime();

	YAHOO.util.Connect.asyncRequest("GET", sUrl, callback);
}

function afficheDetailEmploi(id, titre)
{
	divDetail=document.getElementById("zoneDetailEmploi");
	var emplois=xmlDocEmplois.getElementsByTagName("emploi");
	var description = "";

	if (emplois.length > 0)
	{
		for (i=0; i < emplois.length; i++)
		{
			if (emplois.item(i).attributes[0].value == id)
			{
				for (x=0; x < emplois.item(i).getElementsByTagName("description")[0].childNodes.length; x++)
				{
					description = description + emplois.item(i).getElementsByTagName("description")[0].childNodes[x].nodeValue;
				}	
			}
		}

		// On l'appelle pour initialiser le formulaire d'envoi d'CV
		initEmailForm();
		
		divDetail.innerHTML = "<p><img class='lienImgCV' src='css/images3/bouton_postuler.jpg' alt='Postulez' width='149px' height='39px' onclick='YAHOO.axeti.panelEmplois.setHeader(\"Postulation : " + titre.replace("'", "&rsquo;") + "\");' id='show" + id + "'/></p>" + description;
		
		var buttons = document.getElementsByTagName("img");
	
		for (i=0; i<buttons.length; i++)
		{
			if (buttons[i].id.substring(0, 4) == "show")
				YAHOO.util.Event.addListener(buttons[i].id, "click", YAHOO.axeti.panelEmplois.show, YAHOO.axeti.panelEmplois, true);
		}
	}
	else
	{
		divDetail.innerHTML = "<p>Il n'y a pas d'offres d'emploi pour l'instant.</p>";
	}
}

function afficherNouvellesDetail2(id, titre)
{
	var handleSuccess = function(o){
		if(o.responseText !== undefined){
			var txt = o.responseText.split(";-");
			genererPanelNouvelle(titre, txt[0]);
		}
	}

	var handleFailure = function(o){
		if(o.responseText !== undefined){
			AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText);
			//document.getElementById("reponse").innerHTML = "Erreur : " + o.responseText;
		}
	}

	var callback =
	{
	  success:handleSuccess,
	  failure:handleFailure
	};

	var sUrl = "admin/getNouvellesXML.php?" + new Date().getTime() + "&mode=2&id_nouvelles=" + id;

	YAHOO.util.Connect.asyncRequest("GET", sUrl, callback);	
}

function genererPanelNouvelle(titre, texte)
{
	YAHOO.axeti.pnlNouvelles.setHeader("Nouvelle : " + titre);
	YAHOO.axeti.pnlNouvelles.setBody("<div id='divPopUpNouvelles'><div class='bd'>" + texte + "</div></div>");
	YAHOO.axeti.pnlNouvelles.setFooter("Axe TI Inc. 2009");
	YAHOO.axeti.pnlNouvelles.render("zonePopUpNouvelles");
}

function displayResult(divID, _xml, _xsl)
{	
	var resultDocument;
	var xsltProcessor=new XSLTProcessor();
	xsltProcessor.importStylesheet(_xsl);
	resultDocument = xsltProcessor.transformToFragment(_xml,document);
	document.getElementById(divID).appendChild(resultDocument);
}

function displayResult2(divID, _xml, _xsl)
{
	var xsl = loadXMLDoc(_xsl);
	displayResult(divID, _xml, xsl);
}

function displayResultNouvelles(divID, _xml, _xsl)
{
	if (!blnFirefox)
	{
		if (document.getElementById(divID) != null)
		{
			document.getElementById(divID).innerHTML = "";
		}
	}
	else
	{
		var id = document.getElementById(divID);
		if (id.firstChild != null)
		{
			id.removeChild(id.firstChild);
			YAHOO.util.Event.onContentReady("zoneNouvelle", initializemarquee);
		}
	}

	displayResult2(divID, _xml, _xsl);
	YAHOO.axeti.pnlNouvelles = new YAHOO.widget.Panel("divPopUpNouvelles", 
										   {width:"400px", 
											fixedcenter:true,
											constraintoviewport: true,
											close:true, 
											visible:false, 
											draggable:true,
											effect:[{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.5},
													{effect:YAHOO.widget.ContainerEffect.SLIDE,duration:0.5}]});
	genererPanelNouvelle("", "");
	var nouvelles=document.getElementsByTagName("a");

	for (i=0; i < nouvelles.length; i++)
	{
		if (nouvelles[i].id.substring(0, 12) == "showNouvelle")
		{
			//id = nouvelles.item(i).getElementsByTagName("id_nouvelles")[0].childNodes[0].nodeValue;
			YAHOO.util.Event.addListener(nouvelles[i].id, "click", YAHOO.axeti.pnlNouvelles.show, YAHOO.axeti.pnlNouvelles, true);
		}
	}
}

function loadXMLDoc(fname)
{
	var xmlDoc;
	xmlDoc = Sarissa.getDomDocument();
	xmlDoc.async=false;
	xmlDoc.load(fname);
	return(xmlDoc);
}

function loadPageSite(page)
{
	loadSectionsAccueil();
	/*if (blnFirefox)
	{
		ActiverEmploiFirefox(false);
	}*/
	
	switch(page)
	{
		case 1:
			YAHOO.util.Event.onAvailable("infoZoneContenuCentre", function(){
				objSiteLoad.Load("html/accueil.html", "infoZoneContenuCentre", false, true);
			});
			break;
		case 2:
			YAHOO.util.Event.onAvailable("infoZoneContenuCentre", function(){
				objSiteLoad.Load("html/entreprise.html", "infoZoneContenuCentre", false, true);
			});
			break;
		case 3:
			loadCarrieres();
			break;
		case 4:
			YAHOO.util.Event.onAvailable("infoZoneContenuCentre", function(){
				objSiteLoad.Load("html/nousjoindre.html", "infoZoneContenuCentre", false, true);
			});
			break;
		case 5:
			//loadTitre("html/accueil.html")
			//objGraphiqueLoad.Load("html/graphique.html", "infoZoneContenuCentre", false, true);
			break;
		case 6:
			YAHOO.util.Event.onAvailable("infoZoneContenuCentre", function(){
				objSiteLoad.Load("html/savoirfaire.html", "infoZoneContenuCentre", false, true);
			});
			break;
		case 7:
			YAHOO.util.Event.onAvailable("infoZoneContenuCentre", function(){
				objSiteLoad.Load("html/vision.html", "infoZoneContenuCentre", false, true);
			});
			break;
		case 8:
			YAHOO.util.Event.onAvailable("infoZoneContenuCentre", function(){
				objSiteLoad.Load("html/mission.html", "infoZoneContenuCentre", false, true);
			});
			break;
		case 9:
			YAHOO.util.Event.onAvailable("infoZoneContenuCentre", function(){
				objSiteLoad.Load("html/valeurs.html", "infoZoneContenuCentre", false, true);
			});
			break;
		case 10:
			YAHOO.util.Event.onAvailable("infoZoneContenuCentre", function(){
				objSiteLoad.Load("html/politiquequalite.html", "infoZoneContenuCentre", false, true);
			});
			break;
	}
}

function loadTitre(page)
{
  divTitre=document.getElementById("titreZoneContenuCentre");
	switch(page)
	{
		case "accueil", "html/accueil.html":
			divTitre.innerHTML=xmlDocMain.getElementsByTagName("titre")[0].childNodes[0].nodeValue;
			break;
		case "html/entreprise.html":
			divTitre.innerHTML=xmlDocMain.getElementsByTagName("titre")[1].childNodes[0].nodeValue;
			break;
		case "emplois":
			divTitre.innerHTML=xmlDocMain.getElementsByTagName("titre")[2].childNodes[0].nodeValue;
			break;
		case "html/nousjoindre.html":
			divTitre.innerHTML=xmlDocMain.getElementsByTagName("titre")[3].childNodes[0].nodeValue;
			break;
		case "html/savoirfaire.html":
		  	divTitre.innerHTML=xmlDocMain.getElementsByTagName("titre")[4].childNodes[0].nodeValue;
		  	break;
		case "html/vision.html":
		  	divTitre.innerHTML=xmlDocMain.getElementsByTagName("titre")[5].childNodes[0].nodeValue;
		  	break;
		case "html/valeurs.html":
		  	divTitre.innerHTML=xmlDocMain.getElementsByTagName("titre")[6].childNodes[0].nodeValue;
		  	break;
		case "html/mission.html":
		  	divTitre.innerHTML=xmlDocMain.getElementsByTagName("titre")[7].childNodes[0].nodeValue;
		  	break;
		case "html/politiquequalite.html":
		  	divTitre.innerHTML=xmlDocMain.getElementsByTagName("titre")[8].childNodes[0].nodeValue;
		  	break;
	}
}

function loadCarrieres()
{
	blnCarrieresOut = true;
	blnLoaderNouvelles = false;
	if (!blnFirefox)
	{
		objSiteLoad.Load("htmlsections/carrieressections.html", "zoneInfo", false, false);
	}
	else
	{
		/*ActiverEmploiFirefox(blnFirefox);*/
		objSiteLoad.Load("htmlsections/carrieressections.html", "zoneInfo", false, true);
	}
	//YAHOO.util.Event.onAvailable("infoZoneContenuCentreEmploi", function(){
		afficherEmplois("infoZoneContenuCentreEmploi", "xsl/emplois.xsl");
	//});
}

function ActiverEmploiFirefox(blnActiver)
{
	if (blnActiver)
	{
		document.getElementById("infoZoneContenuCentreEmploi").style.visibility = "visible";
		document.getElementById("infoZoneContenuCentre").style.visibility = "hidden";
		document.getElementById("infoZoneContenuCentre").innerHTML = "";
		document.getElementById("infoZoneNouvelles").style.visibility = "hidden";
		document.getElementById("infoZoneNouvelles2").style.visibility = "hidden";
		document.getElementById("zoneCV").style.visibility = "hidden";
		document.getElementById("lienCV").style.visibility = "hidden";
		document.getElementById("formCV").style.visibility = "hidden";
		document.getElementById("cvAccueil").style.visibility = "hidden";
		document.getElementById("strresume").style.visibility = "hidden";
		document.getElementById("btnEnvoyerCV").style.visibility = "hidden";
	}
	else
	{
		document.getElementById("infoZoneContenuCentreEmploi").innerHTML = "";
		document.getElementById("infoZoneContenuCentreEmploi").style.visibility = "hidden";
		document.getElementById("infoZoneContenuCentre").style.visibility = "visible";
		document.getElementById("infoZoneNouvelles").style.visibility = "visible";
		document.getElementById("infoZoneNouvelles2").style.visibility = "visible";
		document.getElementById("zoneCV").style.visibility = "visible";
		document.getElementById("lienCV").style.visibility = "visible";
		document.getElementById("formCV").style.visibility = "visible";
		document.getElementById("cvAccueil").style.visibility = "visible";
		document.getElementById("strresume").style.visibility = "visible";
		document.getElementById("btnEnvoyerCV").style.visibility = "visible";
	}
}
/*Ajout fonction Eric pour la section nouvelle dans l'accueil */
function loadNouvelles()
{
	if (!blnLoaderNouvelles){
		YAHOO.util.Event.onAvailable("infoZoneNouvelles2", function(){
			afficherNouvelles("infoZoneNouvelles2", "", "xsl/nouvelles.xsl");
		});
		blnLoaderNouvelles = true;
	}
	YAHOO.util.Event.onContentReady("zoneNouvelle", initializemarquee);
}

function afficherNouvelles(_divID, _xml, _xsl)
{
	var xmlDocNouvelles;
	var handleSuccess = function(o){
		if(o.responseXML !== undefined){
			xmlDocNouvelles = o.responseXML;
			displayResultNouvelles(_divID, xmlDocNouvelles, _xsl);
		}
	}

	var handleFailure = function(o){
		if(o.responseText !== undefined){
			AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText);
			//document.getElementById("reponse").innerHTML = "Erreur : " + o.responseText;
		}
	}

	var callback =
	{
	  success:handleSuccess,
	  failure:handleFailure
	};

	var sUrl = "admin/getNouvellesXML.php?" + new Date().getTime() + "&mode=1";

	YAHOO.util.Connect.asyncRequest("GET", sUrl, callback);
}

function envoyerCV(form)
{
	var handleSuccess = function(o){
		if(o.responseText !== undefined){
			AfficherPnlReponse("Succ&egrave;s...", o.responseText);
			//document.getElementById("reponse").innerHTML = o.responseText;
		}
		YAHOO.axeti.wait.hide();
	};

	var handleFailure = function(o){
		if(o.responseText !== undefined){
			AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText);
			//document.getElementById("reponse").innerHTML = "Erreur : " + o.responseText;
		}
		YAHOO.axeti.wait.hide();
	};
	
	var handleUpload = function(o) {
		var reponse = o.responseText;
		AfficherPnlReponse("Status de l'envoi...", reponse);
		//document.getElementById("reponse").innerHTML = response;
		YAHOO.axeti.wait.hide();
	};

	var callback =
	{
		success:handleSuccess,
	  	failure:handleFailure,
	  	upload:handleUpload
	};
	
	var fichier = document.getElementById("strresume");

	if (fichier.value != "")
	{
		//var extension = fichier.value.substring(fichier.value.length-3).toUpperCase();
		//if (extension == "PDF" || extension == "DOC")
		//{
			var formObject = document.getElementById(form);
			YAHOO.util.Connect.setForm(formObject, true);
			
			var sUrl = "php/email.php?" + new Date().getTime() + "&mode=2";
			YAHOO.axeti.wait.show();
			YAHOO.util.Connect.asyncRequest("POST", sUrl, callback);
		//}
		//else
		//{
			//YAHOO.axeti.pnlErreurCV.show();
		//}
	}
	else
	{
		YAHOO.axeti.pnlErreurCVvide.show();
	}
}

function AfficherPnlReponse(entete, text)
{
	YAHOO.axeti.pnlReponse.setHeader(entete);
	YAHOO.axeti.pnlReponse.cfg.setProperty("text", "<div align='center'>" + text + "</div>");
	YAHOO.axeti.pnlReponse.render("idReponse");
	YAHOO.axeti.pnlReponse.show();
}

emploisLoad = function()
{
	this.emploisLoad = this;
	var divID = null;
	var xsl = null;
	
	this.OnSuccess = function()
	{
		xmlDocEmplois = this.GetResponseXML();
		displayResult2(divID, xmlDocEmplois, xsl)
	}
	
	this.OnFailure = function() 
	{
		var reponse = this.GetResponseText();
		AfficherPnlReponse("Erreur...", "Une erreur est survenue : " + reponse);
		//document.getElementById("reponse").innerHTML = "Une erreur est survenue : " + reponse;
	}

	this.Afficher = function(_divID, _xsl, _async)
	{
		divID = _divID;
		xsl = _xsl;
		var sUrl = "admin/getEmploisXML.php?mode=1";

		var noCache=(sUrl.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();
		this.InitializeRequest("GET", sUrl, _async);
		this.Commit();
	}
}
emploisLoad.prototype = new ajax();
objEmploisLoad = new emploisLoad();
