// Détection de ie
var strChUserAgent = navigator.userAgent;
var intSplitStart = strChUserAgent.indexOf("(",0);
var intSplitEnd = strChUserAgent.indexOf(")",0);
var strChMid = strChUserAgent.substring(intSplitStart, intSplitEnd);
var ie = (document.all) ? true : false;
var ie6 = (strChMid.indexOf("MSIE 6") != -1) ? true : false;
var ie7 = (strChMid.indexOf("MSIE 7") != -1) ? true : false;

// Retourne l'élément parent
function getParent(el)
{
	return (ie) ? el.parentElement : el.parentNode;
}

// Ajoute une fonction dans le window.onload en gardant les précédentes
function addLoadEvent(func)
{
	var oldonload = window.onload;
	
	if (typeof window.onload != 'function')
	{
		window.onload = func;
	}
	else 
	{
		window.onload = function()
		{
			oldonload();
			func();
		}
	}
}

// Récupération d'éléments par nom de classe
document.getElementsByClassName = function(className)
{
	var children = (ie) ? document.all : document.getElementsByTagName('*');
	var elements = new Array();
	var counter = 0;
	  
	for (var i = 0; i < children.length; i++)
	{
		var child = children[i];
		var classNames = child.className.split(' ');
		for (var j = 0; j < classNames.length; j++)
		{
			if (classNames[j] == className) 
			{
				elements[counter] = child;
				counter++;
				break;
			}
		}
	}
	
	return elements;
}

// Ajoute une classe à un élément
function addClassName(elm, className){
    var currentClass = elm.className;
    if(!new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i").test(currentClass)){
        elm.className = currentClass + ((currentClass.length > 0)? " " : "") + className;
    }
    return elm.className;
}

// Supprime une classe à un élément
function removeClassName(elm, className){
    var classToRemove = new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i");
    elm.className = elm.className.replace(classToRemove, "").replace(/^\s+|\s+$/g, "");
    return elm.className;
}

// Affiche une popup centrée
function popup(adresse, nomFenetre, largeur, hauteur, scroll, resize)
{
	/*var largeurEcran = (screen.width - largeur) / 2;
	var hauteurEcran = (screen.height - hauteur) / 2;
	
	if(typeof(resize) == "undefined")
	{
		resize = true;
	}
	window.open(adresse, nomFenetre, 'height=' + hauteur + ', width=' + largeur + ', top=' + hauteurEcran + ', left=' + largeurEcran + ', scrollbars=' + scroll + ((resize) ? ', resizable' : ""))
*/
}


/* Rollover / Rollout sur les boutons de type submit */
function submitButtonRollOverOut()
{
	var buttonTab = new Array();
	
	buttonTab.push("btn-ok");
	buttonTab.push("btn-rechercher");
	buttonTab.push("btn-enregistrer");
	buttonTab.push("btn-envoyercv");
	buttonTab.push("btn-savecv");
	buttonTab.push("btn-entretienvirtuel");
	buttonTab.push("btn-telecharger");
	buttonTab.push("btn-suivant");
	buttonTab.push("btn-envoyer");
	buttonTab.push("btn-enregistrer2");
	buttonTab.push("btn-selectionner");
	buttonTab.push("btn-printcv");
	buttonTab.push("btn-mettreajour");
	buttonTab.push("btn-ajouter");
	buttonTab.push("btn-precedent");
	buttonTab.push("btn-envoyercandidature");
	buttonTab.push("btn-ajouterphoto");
	buttonTab.push("btn-autredemande");
	buttonTab.push("btn-rejouer");
	buttonTab.push("btn-scorefinal");
	buttonTab.push("btn-questionsuivante");
	
	for(var i = 0; i < buttonTab.length; i++) setRollOverOutClassName(buttonTab[i], buttonTab[i] + "-over", buttonTab[i] + "-out");
}


// Ajoute une classe on ou out lorsque l'élément spécifié est en rollover ou en rollout
function setRollOverOutClassName(element, classOn, classOff)
{
	
	try
	{
		if(window.document.getElementsByClassName(element)[0])
		{
			var element = window.document.getElementsByClassName(element);

			for(var i = 0; i < element.length; i++)
			{
				element[i].onmouseover = function()
				{
					this.childNodes[0].className = classOn;
				};
				element[i].onmouseout = function()
				{
					this.childNodes[0].className = classOff;
				};
			}
		}
	} 
	catch (e)
	{
		
	}
}


// Ouvre une popup dans la fenêtre courante avec un fond semi-transparent noir en background par dessus le contenu
function openPopup(targetIdToLoad)
{
	if(window.document.getElementById(targetIdToLoad))
	{
		if(this.document.getElementById("overlay"))
		{
			var n = ie6 ? 5 : 60;
			var overlaymask = this.document.getElementById("overlay");
			var maincontent = this.document.getElementById("main");
			
			overlaymask.style.height = maincontent.clientHeight - n + "px";
			new Effect.Appear('overlay', {duration: 1, delay :0});
		}
		
		// Masque les select de la zone de contenu lorsque le navigateur est IE
		if(ie6) showHideContentInput(false);
		
		new Effect.Appear(targetIdToLoad, {duration: 1, delay :0});
		
	}
	
	/*window.document.getElementById(targetIdToLoad).style.display = "block";*/
}

//Renseigne l'url de la popup à ouvrir et lance ensuite openPopup
function openPopupAndFormValue(p_sNomId, p_sPrenomId, p_sDateNaissId, p_sPopupId, p_sIFrame)
{
    var oNom = this.document.getElementById(p_sNomId);
    var oPrenom = this.document.getElementById(p_sPrenomId);
    var oDateNaiss = this.document.getElementById(p_sDateNaissId);
    
    var oPopup = this.document.getElementById(p_sIFrame);
    oPopup.src = "UtilisateurExistant.aspx?nom=" + oNom.value + "&prenom=" + oPrenom.value + "&dateNaissance=" + oDateNaiss.value;

    openPopup(p_sPopupId);

}





// Ferme la popup courante
function closePopup(targetIdToLoad)
{
	if(this.document.getElementById(targetIdToLoad))
	{
		if(this.document.getElementById("overlay"))
		{
			new Effect.Fade('overlay', {duration: 1.3, delay :0});
		}
		
		// Affiche les select de la zone de contenu lorsque le navigateur est IE
		if(ie6) showHideContentInput(true);
		new Effect.Fade(targetIdToLoad, {duration: 0.7, delay :0});
	}
}


// Masque ou affiche les select de la zone de contenu
function showHideContentInput(bShowHide)
{
	try
	{
		var blocContent = document.getElementsByClassName("bloccontent");
		var blocContentSelect = blocContent[0].getElementsByTagName("select");
	
		for(var i = 0; i < blocContentSelect.length; i++)
		{
			//blocContentSelect[i].style.display = (bShowHide) ? "block" : "none";
			blocContentSelect[i].style.visibility = (bShowHide) ? "visible" : "hidden";
		}
	}
	catch(er)
	{
		// Exception
	}
}


// Ouvre / Ferme les boîtes pour la faq
function initFAQ()
{
	if(window.document.getElementById("faq"))
	{
		var questionElement = window.document.getElementsByClassName("q");
		var faq = window.document.getElementById("faq");	
		var link = faq.getElementsByTagName("a");
		var content;
		
		for(var i = 0; i < link.length; i++)
		{
			var target = (ie) ? link[i].parentNode.parentNode.parentNode.childNodes[1] : link[i].parentNode.parentNode.parentNode.childNodes[3];
			
			target.style.display = "none";
			link[i].onclick = function()
			{
				content = (ie) ? this.parentNode.parentNode.parentNode.childNodes[1] :this.parentNode.parentNode.parentNode.childNodes[3];
				content.style.display = (content.style.display == "block") ? "none" : "block";
				return false;
			}
		}
	}
}

function openFavoriteSelection(p_sCodePostal, p_sIframId, p_sPopupId)
{
    var oIframe = document.getElementById(p_sIframId);
    var oCodePostal = document.getElementById(p_sCodePostal);
    if(oCodePostal.value != "")
    {
        if(oIframe.src.indexOf("codePostal") == -1)
        {
            oIframe.src = oIframe.src + "?codePostal=" + oCodePostal.value;
        }
        else
        {
            var oRegExp = /[0-9]{5}/gi
            oIframe.src = oIframe.src.replace(oRegExp, oCodePostal.value) ;
        }
        openPopup(p_sPopupId);
    }
    return false;
}

// Initialise les fonctions suivantes lorsque la page est chargé
addLoadEvent(submitButtonRollOverOut);
