var taille_texte=3;
var t;
if (t=readCookie('taille_texte')) taille_texte=t;


function augmenterTexte()
{
	if (taille_texte==6) return;

	taille_texte = taille_texte+1;
	if (document.getElementById('divArticle'))
	{
		var art = document.getElementById('divArticle');

		document.getElementById('divArticle').className='texte'+taille_texte;


		writeCookie('taille_texte',taille_texte);
	}
}
function diminuerTexte()
{

	if (taille_texte==1) return;
	taille_texte=taille_texte-1;
	if (document.getElementById('divArticle'))
	{
		var art=document.getElementById('divArticle');
		document.getElementById('divArticle').className='texte'+taille_texte;
		writeCookie('taille_texte',taille_texte);
	}
}
function readCookie(name)
{
				var cname = '; ' + name + "=";
				var dc = '; '+document.cookie;

				if (dc.length > 0)
	{
								begin = dc.indexOf(cname);
								if (begin != -1)
		{
												begin += cname.length;
												end = dc.indexOf(";", begin);
												if (end == -1) 	end = dc.length;

												return unescape(dc.substring(begin, end));
								}
				}
				return null;
}
function writeCookie(name, value)
{
				var expires = new Date();
				var pathname=location.pathname;
				var myDomain=pathname.substring(0,pathname.lastIndexOf('/')) +'/';

				expires.setTime(expires.getTime()+(365*24*3600*1000));

				document.cookie = name + "=" + escape(value) +
				((expires == null) ? "" : "; expires=" + expires.toGMTString()) +
				((pathname == null) ? "" : "; path=" + pathname) +
				((myDomain == null) ? "" : "; domain=" + myDomain);
}


var stateLiens = 'block';

function toggleLiens(layer_ref) {

	if (stateLiens == 'block') {
		stateLiens = 'none';
	}
	else {
		stateLiens = 'block';
	}
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		eval( "document.all." + layer_ref + ".style.display = stateLiens");
	}
	if (document.layers) { //IS NETSCAPE 4 or below
		document.layers[layer_ref].display = stateLiens;
	}
	if (document.getElementById && !document.all) {
		elmt = document.getElementById(layer_ref);
		elmt.style.display = stateLiens;
	}
}

function ac_return(){
	var id = parseInt(Math.random()*100);
	document.getElementById('id').value = id;
}

function ac_return2(){
	var idpost = parseInt(Math.random()*100);
	document.getElementById('idpost').value = idpost;
}

//Ouvre la fenêtre d'aide.
function openHelp(myTag)
{
	if( top.helpWindow && helpWindow )
		top.helpWindow.close();

	var helpWindow = window.open('/modules/help/index.php?hid='+myTag, 'contexthelp', 'width=400, height=330, left=50, top=50, scrollbars=yes, resizable=yes');
	helpWindow.myParent = top;
	helpWindow.focus();
	top.helpWindow = helpWindow;
}

/** Fenêtre d'évènement **/
function openEventWindow(myId,intId)
{

	if( top.eventWindow && eventWindow )
		top.eventWindow.close();

	w = 430;
	h = 600;

	myHref = 'event.php?evt_id='+myId+'&id='+intId;

	var eventWindow = window.open(myHref, 'rdv', "width=" + w + ", height=" + h + ", left=10, top=100, scrollbars=yes");
	eventWindow.myParent = top;
	eventWindow.focus();
	top.eventWindow = eventWindow;
}

function openNewEventWindow(myTs, intId)
{
	if( top.eventWindow && eventWindow )
		top.eventWindow.close();

	w = 610;
	h = 500;

	myHref = 'event.php?ts='+myTs+'&id='+intId;

	var eventWindow = window.open(myHref, 'rdv', "width=" + w + ", height=" + h + ", left=10, top=100, scrollbars=yes");
	eventWindow.myParent = top;
	eventWindow.focus();
	top.eventWindow = eventWindow;
}

/*function openEventWindow(myHref)
{
	if( top.eventWindow && eventWindow )
		top.eventWindow.close();

	var eventWindow = window.open(myHref, 'rdv', 'width=600, height=300, left=10, top=100, scrollbars=yes');
	eventWindow.myParent = top;
	eventWindow.focus();
	top.eventWindow = eventWindow;
}*/

function openPeriodeWindow(myHref)
{
	if( top.dateWindow && dateWindow )
		top.dateWindow.close();

	var dateWindow = window.open(myHref,'Période','width=400,height=100,status=no,scrollbars=no,toolbar=no,titlebar=no,resizable=no,menubar=no,location=no,top=200,left=300');
	dateWindow.myParent = top;
	dateWindow.focus();
	top.dateWindow = dateWindow;
}

//Ouvre la fenêtre pour générer les docs PDF
function openDoc(myHref, myName)
{
	if( top.docWindow && docWindow )
		top.docWindow.close();

	if( !myName || myName == '' )
		myName = 'Doc';

	var docWindow = window.open(myHref,myName,'status=no,scrollbars=yes,resizable=yes,menubar=no,location=no');
	docWindow.myParent = top;
	docWindow.focus();
	top.docWindow = docWindow;

}

function openExpireWindow(myHref)
{
	openMyWindow(myHref, 'expWindow', 370, 220, 'left=150, top=150');
}

//Ouvre une fenêtre de taille myW * myH
function openMyWindow(myHref, myName, myW, myH,myOptions)
{
	if( top.myWindow && myWindow )
		top.myWindow.close();

	var myWindow = window.open(myHref,myName,'width='+myW+',height='+myH+(myOptions && myOptions != '' ? ',' + myOptions : '' ));
	myWindow.myParent = top;
	myWindow.focus();
	top.myWindow = myWindow;
}

//RRN - empêche de taper autre chose qu'un entier dans le champ 'target'
//utilisation: <input type=text onFocus='checkInt(this)' onKeyDown='checkInt(this)' onKeyUp='checkInt(this)' onBlur='checkInt(this)'>
function checkInt(target)
{
	var v='';
	var b=false;

	for(var i=0;i<target.value.length;i++)
	{
		var c=target.value.substring(i,i+1);
		if((c>='0')&&(c<='9')) v+=c; else b=true;
	}

	if(b)
		target.value=v;
}

function checkStringNoSpace(target)
{
	var v = '';
	var b = false;

	for(var i=0;i<target.value.length;i++)
	{
		var c = target.value.substring(i,i+1);
		if( c != ' ' ) v += c; else b = true;
	}

	if(b)
		target.value = v;
}

//Permet de décocher tous les boutons radio d'un formulaire
//Nom ou id obligatoire pour les boutons radio.
function clearAllRadio(theForm)
{
	for( var i = 0; i < theForm.elements.length; i++)
	{
		var elem = theForm.elements[i];

		if( elem.type == 'radio' )
		{
			if( elem.name )
			{
				elem = theForm.elements[elem.name];

				for( var j = 0; j < elem.length; j++)
					elem[j].checked = false;
			}
			else
				document.getElementById(elem.id).checked = false;

		}
	}
}

//Permet de décocher et de désactiver toutes les checkboxes d'un groupe de checkboxes
//suite au cochage de la dernière.
function clearAndBlockCb(myGroupName, myCb)
{
	var myGroup = document.getElementsByName(myGroupName);

	//length-1	car  myGroup[length-1] : cb qui contrôle
	for (var i = 0; i < (myGroup.length - 1) ; i++)
	{
			if( myCb.checked )
		{
			myGroup[i].checked = false;
				myGroup[i].disabled = true;
		}
		else
			myGroup[i].disabled = false;

		}
}

//Sélectionne la valeur dans la liste déroulante si elle s'y trouve.
function setSelectOpt(s,v)
{
	var sLength = s.length;

	if( !v || v == 0)	return;

	for(var i=0;i<sLength;i++)
	{
		if( s.options[i].value == v )
		{
			s.selectedIndex = i;
			break;
		}
	}
}

//Renvoie true si s appartient au tableau a , false sinon
function arrayContains(a,s)
{
	for(var i=0;i<a.length;i++)
	{
		if(a[i] == s) return true;
	}
	return false;
}

function killAccents(str)
{
	var re     = new RegExp('[éèêë]','gi');
	var newStr = str.replace(re,"e");

	re     = new RegExp('[àäâ]','gi');
	newStr = newStr.replace(re,"a");

	re     = new RegExp('[îï]','gi');
	newStr = newStr.replace(re,"i");

	re     = new RegExp('[ùûü]','gi');
	newStr = newStr.replace(re,"u");

	re     = new RegExp('[ôö]','gi');
	newStr = newStr.replace(re,"o");

	re     = new RegExp('[ç]','gi');
	newStr = newStr.replace(re,"c");

	re     = new RegExp('[ñ]','gi');
	newStr = newStr.replace(re,"n");

	return newStr;
}


var defaultEmptyOK = false;
var whitespace = " \t\n\r";
var old_style = new Array();

function isWhiteSpace (s)
{
	var i;
	if (isEmpty(s)) return true;
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (whitespace.indexOf(c) == -1) return false;
	}
	return true;
}

function isEmpty(s)
{
	return ((s == null) || (s.length == 0))
}

function checkCheckbox (theField)
{
	if( !theField.checked )
		return false;

	return true;
}

function checkRadio(theField)
{
	for (var i = 0; i < theField.length ; i++)
	{
				if (theField[i].checked)
						return true;

		}
		return false;
}


function checkSelect(theField)
{
	if( !theField.options[theField.selectedIndex].value || theField.options[theField.selectedIndex].value == 0 )
		return false;

	return true;
}

function checkDateFormat(theField)
{
		var mois, jour, annee;
		var maDate = theField.value;

		//var re = /\b\d{1,2}[\/-]\d{1,2}[\/-]\d{4}\b/;
		var re = /\b\d{2}[\/-]\d{2}[\/-]\d{4}\b/;

		if (re.test(maDate))
		{
				var delimChar = (maDate.indexOf("/") != -1) ? "/" : "-";
				var delim1 = maDate.indexOf(delimChar);
				var delim2 = maDate.lastIndexOf(delimChar);
				jour = parseInt(maDate.substring(0, delim1), 10);
				mois = parseInt(maDate.substring(delim1+1, delim2), 10);
				annee = parseInt(maDate.substring(delim2+1), 10);
				var testDate = new Date(annee, mois-1, jour);

				if (testDate.getDate( ) == jour)
						if (testDate.getMonth( ) + 1 == mois)
								if (testDate.getFullYear( ) == annee)
										return true;
		}
		return false;
}

function checkSepDateFormat(theDay, theMonth, theYear)
{
	var mois, jour, annee;
	annee = theYear.value;
	mois = theMonth.value;
	jour = theDay.value;
	var maDate = jour+'/'+mois+'/'+annee;

	//var re = /\b\d{1,2}[\/-]\d{1,2}[\/-]\d{4}\b/;
	var re = /\b\d{2}[\/-]\d{2}[\/-]\d{4}\b/;

		if (re.test(maDate))
		{
		var testDate = new Date(annee, mois-1, jour);

				if (testDate.getDate( ) == jour)
						if (testDate.getMonth( ) + 1 == mois)
								if (testDate.getFullYear( ) == annee)
										return true;
	}

	return false;
}

/*A utiliser après avoir checké la validité des deux dates avec la fonction checkDateFormat par exemple*/
function checkDateBefore(theFieldDate1, theFieldDate2)
{
		var maDateDeb = theFieldDate1.value;
		var maDateFin = theFieldDate2.value;

	return checkDateStringBefore(maDateDeb, maDateFin,false);
}

function checkDateStringBefore(theStringDate1, theStringDate2, exclus)
{
		var mois, jour, annee;
		var maDateDeb = theStringDate1;
		var maDateFin = theStringDate2;

		var delimCharDeb = (maDateDeb.indexOf("/") != -1) ? "/" : "-";
		var delimDeb1 = maDateDeb.indexOf(delimCharDeb);
		var delimDeb2 = maDateDeb.lastIndexOf(delimCharDeb);

		var delimCharFin = (maDateFin.indexOf("/") != -1) ? "/" : "-";
		var delimFin1 = maDateFin.indexOf(delimCharFin);
		var delimFin2 = maDateFin.lastIndexOf(delimCharFin);

		jour = parseInt(maDateDeb.substring(0, delimDeb1), 10);
		mois = parseInt(maDateDeb.substring(delimDeb1+1, delimDeb2), 10);
		annee = parseInt(maDateDeb.substring(delimDeb2+1), 10);
		var dateDeb = new Date(annee, mois-1, jour);

		jour = parseInt(maDateFin.substring(0, delimFin1), 10);
		mois = parseInt(maDateFin.substring(delimFin1+1, delimFin2), 10);
		annee = parseInt(maDateFin.substring(delimFin2+1), 10);
		var dateFin = new Date(annee, mois-1, jour);

		var d = Math.floor( (dateFin.getTime() - dateDeb.getTime()) / 86400000 );
	return (exclus? d > 0 : d >= 0);
}

function checkDateTimeBefore(theDate1, theDate2, exclus)
{
		var d =  Math.floor(( theDate1.getTime() - theDate2.getTime() ) / 1000);
	return (exclus? d > 0 : d >= 0);

}


function set_checkboxes(f,val1,val2)
{
	for(var i=1;i<=30;i++)
	{
		var cb = eval('f.ac'+(i<10?'0':'')+i);
		if(val1.indexOf('c'+(i<10?'0':'')+i)!=-1) cb.checked = true;
		var cb = eval('f.bc'+(i<10?'0':'')+i);
		if(val2.indexOf('c'+(i<10?'0':'')+i)!=-1) cb.checked = true;
	}
}

function check_size(theField, maxsize, message)
{
	if(theField.value.length <= maxsize) return true;
	alert(message);
	theField.value = theField.value.substring(0,maxsize);
	return false;
}

function checkNotExist(theArray,theId,theField)
{
	for( var i=0; i <= theArray.length-1; i++ )
	{
		if( theArray[i][1].toLowerCase( ) == theField.value.toLowerCase( ) )
		{
			if( !theId || theArray[i][0] != theId.value )
				return false;
		}
	}

	return true;
}

function isEmail(s)
{
	var i = 1;
	var sLength = s.length;

	while( (i < sLength) && (s.charAt(i) != "@") )
		i++;

	if( (i >= sLength) || (s.charAt(i) != "@") )
		return false;
	else
		i += 2;

	while( (i < sLength) && (s.charAt(i) != ".") )
		i++;

	if ( (i >= sLength - 1) || (s.charAt(i) != ".") )
		return false;
	else
		return true;
}

function setListReload(destField,myListOfOptions)
{
	var cSelect;

	// compatibilité layer Netscape
	if ((document.all) || (!document.form1))
		cSelect = eval("document."+destField);
	else
		cSelect = eval("document.form1.document."+destField);

	var j=0,k=0;

	// On efface éventuellement la liste d'avant
	while(0<cSelect.options.length)
			 cSelect.options.length--;

	arrayOfStrings = myListOfOptions.split(";");

	while(j<arrayOfStrings.length)
	{
		 cSelect.options[k]= new Option(arrayOfStrings[j+1],arrayOfStrings[j]);

		 //Selected ?
		 if (arrayOfStrings[j+2]=="1")
				cSelect.options[k].selected=true;

		 k++;
		 j=j+3;
	}
}