// Obtient la valeur d'un paramètre dans l'URL (ex: index.html?nom_param=valeur)
// arg: Nom du paramètre dans l'URL (méthode GET) dont l'on veut sa valeur
// Programmeur: Andy Harvey
function getUrlParam(NomParamVoulu)
{
	var valeur = "";
	var temp_param_array;
	
	if (window.location)
	{
		var url = "" + window.location; // On doit concaténer "" pour que la variable soit de type string
		
		// On enlève le signe "#" à la fin s'il y en a un
		var chr_pos = url.indexOf("#");
		if (chr_pos > 0)
			url = url.substr(0,chr_pos);
		
		var params=url.split("?"); // On coupe l'url pour séparer les arguments (grâce au type string)
		if (params.length > 1) // S'il y a un ou des arguments
		{
			params = params[1]; // On garde uniquement les arguments
		
			// Passe les arguments un par un pour voir si celui demandé est présent
			var params_array = params.split("&");
			var part_num=0;
			var trouve = false;
			while (part_num < params_array.length && !trouve)
			{
				temp_param_array = params_array[part_num].split("=");
				
				if (temp_param_array[0] == NomParamVoulu) // Si le nom du paramètre est celui désiré
				{
					valeur = temp_param_array[1]; // On va chercher sa valeur
					
					trouve = true;
				}
				part_num+=1;
			}
		}
	}
	
	if ( typeof( valeur ) == "undefined" || valeur == '' )
	{
		valeur = "";
	}
	
	return valeur;
}


function ChangeClass(element, newClass)
{
	 if (document.getElementById) 
	 {
	 	if (document.getElementById(element))
			document.getElementById(element).className = newClass;
	 }
}

function openWindow(url, parametres, nom_fenetre)
{
	if ( typeof( parametres ) == "undefined" )
		parametres = "scrollbars=no,menubar=no,width=500,height=300";

	if ( typeof( nom_fenetre ) == "undefined" )
		nom_fenetre = "popup";
		
	
	// Pour ouvrir la calculatrice
	if (parametres == "calculatrice")
	{
		nom_fenetre = "calculatrice";
		
		if (navigator.userAgent.indexOf("MSIE") != -1) // Trop grand
			parametres = "resizable=yes,scrollbars=no,menubar=yes,width=630,height=525";
		else
			parametres = "resizable=yes,scrollbars=no,menubar=yes,width=630,height=525";
	}
	
	new_window = window.open(url, nom_fenetre, parametres);
	new_window.focus();
}


// Formulaire de recherche du site
function chercherTerme()
{
	if (document.FormChercher.q.value != '')
		return true;
	else
		return false;
}
function chercherTermeClick()
{
	if (document.FormChercher.q.value != '')
		document.FormChercher.submit();
}


function printCSSCookie()
{
	// CSS selon les cookies
	document.write('<link href="'+ cssHost+getCouleurs() +'" type="text/css" rel="stylesheet" id="linkCouleur" />');
	document.write('<link href="'+ cssHost+getFontSize() +'" type="text/css" rel="stylesheet" id="linkFontSize" />');
}



/******************************/
/*  PARAMÈTRES CSS / COOKIES  */
/******************************/
var nomCookie	= "sed_teluq_css";


var cssHost = document.location.protocol + '//' + document.location.host;
//var cssHost = document.location.protocol + '//www.teluq.uquebec.ca';


// Les fichiers CSS pour overrider les styles d'origines
var urlSmall 	= "/siteweb/css/font_pp.css";
var urlBig 		= "/siteweb/css/font_gp.css";

var urlCouleur1 = "/siteweb/css/couleurs1.css";
var urlCouleur2 = "/siteweb/css/couleurs2.css";

var fontSizeDefaut = urlSmall; // Style par défaut à utiliser pour la taille du texte
var couleurDefaut  = urlCouleur1; // Style par défaut à utiliser pour le contraste


function getFontSize()
{
	if (getCookieExist(nomCookie))
		var cssNom = getCookie(nomCookie, 1, fontSizeDefaut);
	else
	{
		setCookie(nomCookie, 1, fontSizeDefaut, 0);
		var cssNom = fontSizeDefaut;
	}
	
	if (typeof(cssNom) == "undefined" || cssNom == '')
		cssNom = fontSizeDefaut;
	
	return cssNom;
}


// Change le nom du fichier CSS à utiliser dans le cookie et le change automatiquement à l'écran
function changeFontSize()
{
	var valeur = getFontSize();
	
	if (valeur == urlSmall)
		valeur = urlBig;
	else
		valeur = urlSmall;
		
	// On crée un cookie
	setCookie(nomCookie, 1, valeur, 0);
	document.getElementById('linkFontSize').href = cssHost+valeur;
}


function getCouleurs()
{
	if (getCookieExist(nomCookie))
		var cssNom = getCookie(nomCookie, 2, couleurDefaut);
	else
	{
		setCookie(nomCookie, 2, couleurDefaut, 0);
		var cssNom = couleurDefaut;
	}
	
	if (typeof(cssNom) == "undefined" || cssNom == '')
		cssNom = couleurDefaut;
	
	return cssNom;
}


// Change le nom du fichier CSS à utiliser dans le cookie et le change automatiquement à l'écran
function inverserCouleurs()
{
	var valeur = getCouleurs();
	
	if (valeur == urlCouleur1)
		valeur = urlCouleur2;
	else
		valeur = urlCouleur1;
		
	// On crée un cookie
	setCookie(nomCookie, 2, valeur, 0);
	document.getElementById('linkCouleur').href = cssHost+valeur;
}



/************/
/*  COOKIE  */
/************/
var client_disk = document.cookie;
function detCookie(name) {
	index = client_disk.indexOf(name);
 	if (index == -1)
   		var ret = false;
    else {
		document.cookie = name;
		var ret = true;
		}
	return ret;
}
function getCookie(name, position, defaut) {
	var tempArray = getArrayFromCookie(name);

	if (tempArray == null)
		var valeur = defaut;
	else if ((tempArray[position] == 'undefined') || (tempArray[position] == ' '))
		var valeur = defaut;
	else
		var valeur = tempArray[position];

	return valeur;
}
function setCookie(name, position, value, nbjour) {
	if (value != null && value != "") {
		tempArray = getArrayFromCookie(name);
		nbElement = tempArray.length;

		for (var x = nbElement; x < position; x++) {
			tempArray[x] = ' ';
			}

		tempArray[position] = value;
		today = new Date();
		expiry = new Date(today.getTime() + (60*60*24*1000)*nbjour); // x jours.
		NewTempStr = transformArrayToString(tempArray, "|");

		if ( nbjour == 0 )
			document.cookie = name + "=" + escape(NewTempStr) + "; path=/;"; // pour la session uniquement
		else
			document.cookie = name + "=" + escape(NewTempStr) + "; path=/; expires=" + expiry.toGMTString() + "; domain=teluq.uquebec.ca;";

  		client_disk = document.cookie;
		}
}
function getArrayFromCookie(name) {
    client_disk = document.cookie;
 	var index = client_disk.indexOf(name);
 	if (index == -1) 
    	  {
    	  return new Array;
      	  }
	index = client_disk.indexOf("=", index) + 1;
	var endstr = client_disk.indexOf(";", index);
	if (endstr == -1) 
	      {
	      endstr = client_disk.length;
	      }

	var tempStr = unescape(client_disk.substring(index, endstr));
  	var tempArray = tempStr.split('|');

  	return tempArray;
}
function transformArrayToString(Array, Delimiter) {
	var tempStr = '';
	for (var x = 0; x < Array.length; x++) {
		if ((x+1) >= Array.length) 
			tempStr += Array[x];
		else
			tempStr += Array[x] + Delimiter;
	}
	return tempStr;
}
function getCookieExist(name) {
	client_disk = document.cookie;
	var index = client_disk.indexOf(name);

 	if (index == -1) 
    	var ret = false;
	else
		var ret = true;

	return ret;
}