function ChangePage(URL)
{
	//alert(URL);
	document.location = URL;
}

function MM_preloadImages() 
{ //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_reloadPage(init) 
{  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_swapImgRestore() 
{ //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) 
{ //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() 
{ //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function openWindow(theURL,winName,largeur,hauteur,features)
{
	var top=(screen.availHeight-hauteur)/2;
	var left=(screen.availWidth-largeur)/2;
	//toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no			
	window.open(theURL,winName,"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+features);
}
function AddFav(url, nom)
{
   if (window.sidebar)
   {
   		window.sidebar.addPanel(nom, url,"");
   }
   else if( document.all )
   {
   		window.external.AddFavorite(url, nom);
   }
   else
   {
   		alert("Votre navigateur n'est pas compatible avec cette fonction. Utilisez directement la fonction de votre navigateur.");
   } 
}

//---------------------------------------
function onRollOver(object, imgToShow)
{
	object.src = imgToShow;
}
//---------------------------------------
function onRollOut(object, imgToShow)
{
	object.src = imgToShow;
}

//---------------------------------------
function onFocus(object, txt)
{
	if(txt == object.value) { object.value = '';  }
}

function onBlur(object, txt)
{
	if(object.value == '') { object.value = txt; }
}
//---------------------------------------

//---------------------------------------
function RollOver(MyImage)
{
	//ImageFile = MyImage.src.substring(0,MyImage.src.length-4);	
	//MyImage.src = ImageFile + "_r.png";

	MyImage.src = "images/" + MyImage.name + "_r.png";
}
//---------------------------------------
function RollOut(MyImage)
{
	//ImageFile = MyImage.src.substring(0,MyImage.src.length-6);	
	//MyImage.src = ImageFile + ".png";
	
	MyImage.src = "images/" + MyImage.name + ".png";
	
}
//---------------------------------------
function ChangePage(URL)
{
	//alert(URL);
	document.location = URL;
}
//---------------------------------------
function InscriptionCalcule(MonForm)
{
	MonForm.Valide.value = 0;
    MonForm.submit();
}
//---------------------------------------
function OpenInscriptionImprime(M) 
{
  window.open(M,"Inscription","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=700,height=800,top=0,left=0");
}
//---------------------------------------
function ShowHide(Show,Hide) 
{
	
	if (document.getElementById)
	{
		ShowStyle = document.getElementById(Show).style;
		HideStyle = document.getElementById(Hide).style;
	}
	else if (document.all) 
	{
		ShowStyle = document.all[Show].style;
		HideStyle = document.all[Hide].style;
	}

	if (ShowStyle.display == "" || ShowStyle.display == "none")
	{
		ShowStyle.display = "block";
		HideStyle.display = "none";
	}
	else if (ShowStyle.display == "block") 
	{
		ShowStyle.display = "none";
		HideStyle.display = "block";
	}
}
//---------------------------------------

function limitText(limitField, limitCount, limitNum)
{
	if (limitField.value.length > limitNum)
	{
		limitField.value = limitField.value.substring(0, limitNum);
	}
	else
	{
		limitCount.value = limitNum - limitField.value.length;
	}
}


/******************************************************
FONCTION QUI DETERMINE LE NUMERO DE LA SEMAINE EN COURS
******************************************************/
function DefSemaineNum(aaaa, mm, jj)
{
//initialisation des variables
//----------------------------
var MaDate  = new Date(aaaa,mm,jj);//date a traiter
var annee = MaDate.getFullYear();//année de la date à traiter
var NumSemaine = 0,//numéro de la semaine

// calcul du nombre de jours écoulés entre le 1er janvier et la date à traiter.
// ----------------------------------------------------------------------------
// initialisation d'un tableau avec le nombre de jours pour chaque mois
ListeMois = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
// si l'année est bissextile alors le mois de février vaut 29 jours
if (annee %4 == 0 && annee %100 !=0 || annee %400 == 0) {ListeMois[1]=29};
// on parcours tous les mois précédants le mois à traiter 
// et on calcul le nombre de jour écoulé depuis le 1er janvier dans TotalJour
var TotalJour=0;
for(cpt=0; cpt<mm; cpt++){TotalJour+=ListeMois[cpt];}
TotalJour+=jj;

//Calcul du nombre de jours de la première semaine de l'année à retrancher de TotalJour
//-------------------------------------------------------------------------------------
//on initialise dans DebutAn le 1er janvier de l'année à traiter
DebutAn = new Date(annee,0,1);
//on determine ensuite le jour correspondant au 1er janvier
//de 1 pour un lundi à 7 pour un dimanche/
var JourDebutAn;
JourDebutAn=DebutAn.getDay();
if(JourDebutAn==0){JourDebutAn=7};

//Calcul du numéro de semaine
//----------------------------------------------------------------------
//on retire du TotalJour le nombre de jours que dure la première semaine 
TotalJour-=8-JourDebutAn;
//on comptabilise cette première semaine
NumSemaine = 1;
//on ajoute le nombre de semaine compléte (sans tenir compte des jours restants)
NumSemaine+=Math.floor(TotalJour/7);
// s'il y a un reste alors le n° de semaine est incrémenté de 1
if(TotalJour%7!=0){NumSemaine+=1};

return(NumSemaine);
}

function CookieCreate(nom, valeur, expires)
{
	var C = nom+"="+escape(valeur)+(expires ? "; expires=" + expires : "");
  	document.cookie= C;
}
     
function CookieCreate2(nom,contenu,jours)
{
    var expireDate = new Date();
    expireDate.setTime(expireDate.getTime() + jours*24*3600*1000);
    document.cookie = nom + "=" + escape(contenu)
    + ";expires=" + expireDate.toGMTString();
}
     
function CookieRead(nom)
{
  var arg=nom+"=";
  var alen=arg.length;
  var clen=document.cookie.length;
  var i=0;
  while (i<clen)
  {
    var j=i+alen;
    if (document.cookie.substring(i, j)==arg)
       return CookieArg(j);
    i=document.cookie.indexOf(" ",i)+1;
    if (i==0) break;
  }
  return null; 
}

function CookieArg(offset)
{
  var endstr=document.cookie.indexOf (";", offset);
  if (endstr==-1) endstr=document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr)); 
}

function CookieDestroy(nom) { CookieCreate(nom,"",-1); }

function CookieAsk(nom)
{
  c=prompt("Mettre dans le cookie :","")
  CookieCreate(nom,c,null)
}

function litCook(nom)
{
  c=CookieRead(nom);
  if(c=="") alert("Le cookie est vide !")
  else alert("Le cookie vaut : "+c)
}



function MultiSelectAjaxStart()
{
	$("input[type='submit']").attr("disabled", true);
	$("input[name='"+Prefix+"MultiSelect[]']").attr("disabled", true);
}

function  MultiSelectAjaxStop()
{
	$("input[type='submit']").attr("disabled", false);
	$("input[name='"+Prefix+"MultiSelect[]']").attr("disabled", false);
}

function  MultiSelectSetBtn()
{	
	$("#KeySelectGlobalAll").click(function()
	{
		Param = '';
		Action = "MultiSelectGlobalAll";
		MultiSelectSubmit();
		return false;
	});
	$("#KeySelectGlobalNone").click(function()
	{
		Param = '';
		Action = "MultiSelectGlobalNone";
		MultiSelectSubmit();
		return false;
	});
	$("#KeySelectScreenAll").click(function()
	{
		Param = '';
		Action = "MultiSelectScreenAll";
		$("input[type='checkbox'][name^='"+Prefix+"MultiSelect']").each(function(i)
		{
			var id = $(this).attr("id");
			if(Param) { Param += ","; }
			Param += String(id);
		});  
		MultiSelectSubmit();
		return false;
	});
	$("#KeySelectScreenNone").click(function()
	{
		Param = '';
		Action = "MultiSelectScreenNone";
		$("input[type='checkbox'][name^='"+Prefix+"MultiSelect']").each(function(i)
		{
			var id = $(this).attr("id");
			if(Param) { Param += ","; }
			Param += String(id);
		});
		MultiSelectSubmit();
		return false;
	});
	
	$("input[type='checkbox'][name^='"+Prefix+"MultiSelect']").click(function()
	{
		if($(this).attr("checked") == true) { Action = "MultiSelectLocalCheck"; }
		if($(this).attr("checked") == false) { Action = "MultiSelectLocalUnCheck"; }
		Param = String($(this).attr("id"));
		MultiSelectSubmit();
	});
	
	$("#MultiSelectForm .MultiSelectExtra").each(function()
	{
		switch(this.tagName)
		{
			case "SELECT" :
				$(this).change(function()
				{
					var v = $(this).find("option:selected").val();
					if(MultiSelectGlobalNb > 0 && v != 0 && v != '')
					{
						$("#MultiSelectForm input[name='MultiSelectExtra']").val(v);
					}
					else
					{
						$("#MultiSelectForm input[name='MultiSelectExtra']").val('');
					}
				});
			break;
		}
	});
	
	$("#MultiSelectForm").submit(function()
	{
		var Alert = '';
		var ActionVal = $("#MultiSelectForm select[name='Flag']").find("option:selected").val();
		var ActionLabel = $("#MultiSelectForm select[name='Flag']").find("option:selected").text();
		var ActionExtra = $("#"+ActionVal);
		var ActionExtraVal = $("#MultiSelectForm input[name='MultiSelectExtra']").val();
		
		if(ActionExtra.length > 0 && (ActionExtraVal == 0 || ActionExtraVal == ''))
		{
			$("#MultiSelectForm input[name='MultiSelectExtra']").val('');
			Alert += 'Vous devez séléctionner une valeur';
		}
		if(ActionVal == 0) { Alert = 'Vous devez séléctionner une action'; }
		if(MultiSelectGlobalNb == 0){ Alert = 'Vous devez cocher au moins 1 élément'; }

		if(Alert == '')
		{
			var Confirm = confirm("Etes-vous sûr de vouloir appliquer l'action \" "+ActionLabel+" \" au(x) "+MultiSelectGlobalNb+" élément(s) sélectionné(s) ?");
			if(Confirm)
			{
				switch(ActionVal)
				{
					case "MultiSelectExport" :
						openWindow(LinkExport,"Export",800,600,'');
						$("#MultiSelectForm select[name='Flag']").get(0).selectedIndex = 0;
						return false;
					break;
				}
			}
			else
			{
				return false;
			}
		}
		else
		{
			alert(Alert);
			return false;
		}
	});
	
	$("#MultiSelectForm select[name='Flag']").change(function()
	{
		var option = $(this).find("option:selected");
		var ActionVal = option.val();
		var ActionLabel = option.text();
		var ActionExtra = $("#"+ActionVal);
		
		$("#MultiSelectForm .MultiSelectExtra").hide();
		$("#MultiSelectForm input[name='MultiSelectExtra']").val('');
		
		if(ActionExtra.length > 0) { ActionExtra.show(); }
	});
}

function  MultiSelectSubmit()
{
	$.ajaxq ('MultiSelectSubmit',
	{
		url: Link,
		data: 'rand='+(Math.random())+'&Action='+Action+'&Param='+Param+'&EcranName='+EcranName,
		cache: false,
		dataType: "json",
		type: "POST",
		beforeSend :  MultiSelectAjaxStart,
		complete :   MultiSelectAjaxStop,
		error :  MultiSelectAjaxStop,
		success: function(j) {  MultiSelectRefresh(j); }
	});
	
	//alert(Link+'?rand='+(Math.random())+'&Action='+Action+'&Param='+Param+'&EcranName='+EcranName);
}

function  MultiSelectRefresh(j)
{
	if(j)
	{
		switch(j[0].action)
		{
			case "MultiSelectGlobalAll" :
				$("input[type='checkbox'][name^='"+Prefix+"MultiSelect']").attr("checked",true);
				j[0].screennb = $("input[type='checkbox'][name^='"+Prefix+"MultiSelect']:checked").length;
			break;

			case "MultiSelectGlobalNone" :
				$("input[type='checkbox'][name^='"+Prefix+"MultiSelect']").attr("checked",false);
			break;
			
			case "MultiSelectScreenAll" :
				$("input[type='checkbox'][name^='"+Prefix+"MultiSelect']").attr("checked",true);
			break;
			
			case "MultiSelectScreenNone" :
				$("input[type='checkbox'][name^='"+Prefix+"MultiSelect']").attr("checked",false);
			break;
		
			case "MultiSelectLocalCheck" :
				$("#"+j[0].param).attr("checked", true);
				j[0].screennb = $("input[type='checkbox'][name^='"+Prefix+"MultiSelect']:checked").length;
			break;
			
			case "MultiSelectLocalUnCheck" :
				$("#"+j[0].param).attr("checked", false);
				j[0].screennb = $("input[type='checkbox'][name^='"+Prefix+"MultiSelect']:checked").length;
			break;
		}
		
		//MSG
		if(j[0].screennb >= 0) { $(".MultiSelectScreenNb").text(j[0].screennb); MultiSelectScreenNb = j[0].screennb; }
		if(j[0].globalnb >= 0) { $(".MultiSelectGlobalNb").text(j[0].globalnb); MultiSelectGlobalNb = j[0].globalnb; }
	}
}

function MultiSelectInitText()
{
	MultiSelectScreenNb = $("input[type='checkbox'][name^='"+Prefix+"MultiSelect']:checked").length;	
	$(".MultiSelectScreenNb").text(String(MultiSelectScreenNb));
	$(".MultiSelectGlobalNb").text(String(MultiSelectGlobalNb));
}

