/**
* Tommy Brière
* PVP interactif / Les Productions Vic Pelletier inc. Tous droits réservés
* 2009
**/
var flashMarchePas			= "Il y a un problème avec votre installation Flash ou votre navigateur. Avez-vous désactivé Flash ?"
var mauvaiseVersionFlash	= "Afin de visionner ce site, vous devez avoir Flash 8. Vous pouvez le télécharger sur <a href='http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'>le site d'Adobe.</a>";
var contributionEnValidation = "Votre contribution sera affichée sous peu.";
var commentaireEnValidation = "Votre commentaire sera affiché sous peu.";
var echecCommunicationServeur = "Échec lors de la communication avec le serveur";
var titreManquant = "Vous devez entrer un titre.";
var texteManquant = "Vous devez entrer un texte.";
var erreurChargementNouvelle = "Impossible d'afficher les nouvelles : une erreur s'est produite pendant le chargement.";
var chargementEnCours = "Chargement en cours, veuillez patienter.";
var aucuneNouvelle = "Aucune nouvelle";
var absoluteURI = "";

function setAbsoluteURI(uri) {
	absoluteURI=uri;
}

var requiredMajorVersion = 8;
var requiredMinorVersion = 0;
var requiredRevision     = 0;
var ascrollbar = false;
var flashCachees;

/**
* vérifie si l'utilisateur à la version de flash voulue
**/
function hasFlash() {
		var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
		return hasReqestedVersion;
}

function runFlashAutoInstall(width, height) {
	var hasReqestedVersion = hasFlash();
	var hasProductInstall = DetectFlashVer(6, 0, 65);
	if ( hasProductInstall && !hasReqestedVersion  ) {
		// MMdoctitle is the stored document.title value used by the installation process to close the window that started the process
		// This is necessary in order to close browser windows that are still utilizing the older version of the player after installation has completed
		// DO NOT MODIFY THE FOLLOWING FOUR LINES
		// Location visited after installation is complete if installation is required
		var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
		var MMredirectURL = window.location;
		document.title = document.title.slice(0, 47) + " - Flash Player Installation";
		var MMdoctitle = document.title;
	
		AC_FL_RunContent(
			"src", absoluteURI + "/swf/playerProductInstall",
			"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
			"width", width,
			"height", height,
			"align", "middle",
			"id", "detectionExample",
			"quality", "high",
			"bgcolor", "#3A6EA5",
			"name", "detectionExample",
			"allowScriptAccess","sameDomain",
			"type", "application/x-shockwave-flash",
			"pluginspage", "http://www.adobe.com/go/getflashplayer"
		);
	}
}

/**
* afficher un flash avec détection de version et autoinstall
* uri = url du flash
* width = largeur du flash
* height = hauteur du flash
* silentMode = mode silencieu, cache les messages d'erreur et l'auto-install
* params = paramètres supplémentaires passées
**/
function afficherFlash(uri, width, height, silentMode, params) {
	var hasReqestedVersion = hasFlash();
	if (hasReqestedVersion) {
		if (uri.substr(uri.length-4)==".swf") {
			uri=uri.substr(0,uri.length-4);
		}
		params.push(
			"src", uri,
			"width", width,
			"height", height
		);
		var ret = AC_GetArgs(  params, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", "application/x-shockwave-flash");
		AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
	} else if (!silentMode) {		
		runFlashAutoInstall(width, height);
		var tag = mauvaiseVersionFlash;
		document.write(tag);
	}
}

function baliseFlash(html, silentMode) {
	var hasReqestedVersion = hasFlash();
	if (hasReqestedVersion) {
		document.write(html);
	} else if (!silentMode) {	
		runFlashAutoInstall(width, height);
		var tag = mauvaiseVersionFlash;
		document.write(tag);
	}
}

/**
* Génère l'obj et le retourne pour utilisation avec innerHTML
**/
function AC_GenerateobjCode(objAttrs, params, embedAttrs) 
{ 
    var str = '';
    if (isIE && isWin && !isOpera)
    {
  		str += '<object ';
  		for (var i in objAttrs)
  			str += i + '="' + objAttrs[i] + '" ';
  		for (var i in params)
  			str += '><param name="' + i + '" value="' + params[i] + '" /> ';
  		str += '></object>';
    } else {
  		str += '<embed ';
  		for (var i in embedAttrs)
  			str += i + '="' + embedAttrs[i] + '" ';
  		str += '> </embed>';
    }

    return str;
}

function AC_FL_GetContentCode(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  return AC_GenerateobjCode(ret.objAttrs, ret.params, ret.embedAttrs);
}

/*function runFlash(uri, width, height, silentMode, supParams1, supParams2, id) {
	var tag = '<object ';
	if (id) {
		tag += ' id = "'+id+'" '
	}
	tag+=' type="application/x-shockwave-flash" width="' + width + 'px" height="' + height + 'px" data="' + uri + '">';
	if (supParams1) {
		tag=tag+supParams1;
	}
	tag=tag+'<param name="movie" value="' + uri + '" />';

	tag=tag+'<embed src="'+uri+'" ';
	if (id) {
		tag=tag+' name="'+id+'" ';
	}
	if (supParams2) {
		tag=tag+supParams2;
	}
	tag=tag+" />";

	tag=tag+'</object>';
	return tag;
}*/

function getFlashMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}

/**
* http://www.devx.com/webdev/Article/28938/0/page/3
* url a appeler
* paramètres POST
* CALL XML BLOQUANT
**/
function blockingXmlCall(url, data) {
	var request;
	var ua = navigator.userAgent.toLowerCase();
	if (!window.ActiveXObject)
    	request = new XMLHttpRequest();
	else if (ua.indexOf('msie 5') == -1)
    	request = new ActiveXObject("Msxml2.XMLHTTP");
	else
    	request = new ActiveXObject("Microsoft.XMLHTTP");
	if (request.setTimeouts) {
		request.setTimeouts(5);//on ne tolère pas que le call prenne plus de 5 secondes
	}
	request.open("POST", url, false);
	request.setRequestHeader("Content-Type", 'application/x-www-form-urlencoded; charset=UTF-8');
	request.send(data);
	return request;
}

function returnfalse() {
	return false;
}

/**
* Lien qui ouvre son href en popup
**/
function popuplink() {
	window.open(this.href); return false;
}

/**
* getFieldsValueOfEl
* parcoure le conteneur à la recherche de champs de formulaires
**/
function getFieldsValueOfEl(conteneur) {
	var fields = new Array();
	if (conteneur.nodeName=="FORM") {
		var forms = [conteneur];		
	} else {
		var forms = conteneur.getElementsByTagName("form");
	}
	for (var i=0; i<forms.length;i++){
		var form = forms[i];
		var inputs = form.getElementsByTagName("input");
		for (var j=0; j<inputs.length;j++){
			var input = inputs[j];
			if (input.type == "checkbox") {
				fields.push([input.name, input.checked]);
			} else if (input.type=="radio") {
				if (input.checked) {
					fields.push([input.name, input.value]);
				}
			} else {
				fields.push([input.name, input.value]);
			}
		}
		var selects = form.getElementsByTagName("select");
		for (var j=0; j<selects.length;j++){
			var input = selects[j];
			var sel=input.selectedIndex;
			if ((sel<input.options.length)&&(sel >= 0)) {
				fields.push([input.name, input.options[sel].value]);
			} else {
				fields.push([input.name, ""]);
			}
		}
		var textareas = form.getElementsByTagName("textarea");
		for (var j=0; j<textareas.length;j++){
			var input = textareas[j];
			fields.push([input.name, input.value]);
		}
	}
	return fields;
}


function cacherEls(objets) {
	for (var i=0; i < objets.length; i++) {
		var obj = objets[i];
		if (obj.id.length>0) {
		} else {
			obj.id="autoId_"+i;
		}
		var info = new Object();
		info.id = obj.id;
		info.height = obj.height;
		flashCachees.push(info);
		obj.style.display="none";
		obj.height=1;
	}
}

/**
* Caches tous les flashs de la page
**/
function cacherFlash() {
	flashCachees = new Array();
	b = document.body;
	var objets = b.getElementsByTagName("object");
	var embeds = b.getElementsByTagName("embed");
	cacherEls(objets);
	cacherEls(embeds);
}

/**
* Afficher les flashs qui ont été cachées
**/
function reafficherFlash() {
	if ((flashCachees)&&(flashCachees.length)) {
		for (var i=0; i < flashCachees.length; i++) {
			var info=flashCachees[i];
			var f=$(info.id);
			if (f) {
				f.style.display="block";
				f.height = info.height;
			}
		}
	}
}

/**
* Chargement d'un url dans un div
**/
function loadUrlIntoDiv(url, div) {
	var callback = 
		{ 
		  success: receptionDiv, 
		  failure: echecIntoDiv, 
		  argument: [url, div]
		}; 
	YAHOO.util.Connect.asyncRequest('GET', url, callback, null); 
}

function receptionDiv(o) {
	var url = o.argument[0];
	var div = o.argument[1];
	$(div).innerHTML=o.responseText;
}

function echecIntoDiv(o) {
	var url = o.argument[0];
	var div = o.argument[1];
	$(div).innerHTML="<p>"+echecCommunicationServeur+"</p>";
}

function gup( name ){
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )    return "";  else    return results[1];
}

/**
* racourci pour commande souvent utilisé
**/
function $(id) {
	return document.getElementById(id);
}

function ecrireCookie(nom, valeur) {
	document.cookie=nom+"="+escape(valeur);
}

function getCookieVal(offset)
{
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function deleteCookie(nom) {
	document.cookie = nom + "=" + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

/**
* Lecture de la valeur d'un cookie
* Prend en compte le fait que l'item pourrait se trouver plusieurs fois dans la chaine cookie
* BUG provenant assignation multiples
**/
function lireCookie(nom) {
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	var cval = null;
	while (i<clen){
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) {
			cval = getCookieVal(j);}
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) {
			break;	}
	}
	return cval;
}

/**
 * Pierre-Luc Cyr 2008-06-18
 * Fonction de validation de date au format AAAA-MM-JJ
**/
function validationDateSimple(dateString)
{
	var ok = true;
	
	var dateSplit = dateString.split("-");
	
	if(dateSplit.length != 3)
	{
		ok = false;
	}
	else
	{
		if(isNaN(parseInt(dateSplit[0])) || isNaN(parseInt(dateSplit[1])) || isNaN(parseInt(dateSplit[2])))
			ok = false;
		else
		{
		
			var annee = parseInt(dateSplit[0]);
			var mois = parseInt(dateSplit[1]);
			var jour = parseInt(dateSplit[2]);
		
			if(jour < 1 || jour > 31)
				ok = false;
			
			if(mois < 1 || mois > 12)
				ok = false;
					
			if(jour == 31 && (mois == 2 || mois == 4 || mois == 6 || mois == 9 || mois == 11))
				ok = false;
					
			var anneeBisextile = false;
			
			if(annee % 4 == 0)
				anneeBisextile = true;
				
			if(annee % 100 == 0)
				anneeBisextile = false;
				
			if(annee % 400 == 0)
				anneeBisextile = true;
				
			if(anneeBisextile == true && mois == 2 && jour > 29)
				ok = false;
			else
			{
				if(anneeBisextile == false && mois == 2 && jour > 28)
					ok = false;
			}
		}
	}
	
	if(ok == false)
	{
		alert("La date " + dateString + " n'est pas une date valide");
	}
	
	return ok;
}


