function confirmToSup(page){
	if(confirm('Etes vous certain de vouloir supprimer cet élément?')){
		document.location.href=page;
	}
}

function confirmToSupTopo(page){
	if(confirm('Etes vous certain de vouloir supprimer ce topo et toutes ses versions? Cette action est irréversible!')){
		document.location.href=page;
	}
}



function confirmToSupPhoto (page){
	if(confirm('Etes vous certain de vouloir supprimer cette photo?')){
		getAndShow(page, 'photoDiv');
	}
}

function confirmToSupComment (page, div){
	if(confirm('Etes vous certain de vouloir supprimer ce commentaire?')){
		getAndShow(page, (page, div));
	}
}

function confirmToParticipSortie(page, div, message){
	if(confirm(message)){
		getAndShow(page, div);
	}
}


// Gestion contributeur
function confirmToRefuseContributeur (page){
	if(confirm('Etes vous certain de vouloir refuser ce contributeur? Un e-mail de notification lui sera envoyé!')){
		getAndShow(page, 'gest_contributeurs_div');
	}
}

function confirmToValideContributeur (page){
	if(confirm('Etes vous certain de vouloir valider ce contributeur? Un e-mail de notification lui sera envoyé!')){
		getAndShow(page, 'gest_contributeurs_div');
	}
}

function addToFavorites(anchor){
	if (window.external){
		window.external.AddFavorite(anchor.getAttribute('href'), anchor.getAttribute('title'));
	}
	else{
		window.sidebar.addPanel(anchor.getAttribute('title'),anchor.getAttribute('href'),"")
	}
	
} 


// récupère un valiable dans GET
function getGET(param) {
	var chaine = window.location.search;
	chaine = chaine.substring(1);
	var dz = chaine.indexOf('#',0);
	if(dz != -1) {
		chaine = chaine.substring(0,dz);
	}
	chaine=chaine+'&';
	if(chaine.indexOf(param,0) != -1){
		var pos = chaine.indexOf(param,0);
		var pos2 = chaine.indexOf('=',pos);
		var pos3 = chaine.indexOf('&',pos);
		contenu = chaine.substring(pos2+1,pos3);
	}
	return contenu;
}


function changeClass (idDiv, style){
	document.getElementById(idDiv).className=style;
}


function changeClassOutOpener (idDiv, style){
	var obj_caller = window.opener
	obj_caller.document.getElementById(idDiv).className=style;
}


/*
	//////////
var outImg = false;
var timer = null;
 
function mouseOverDiv(){
	clearTimeout(timer);
}
 
function mouseOutDiv(){
	if (outImg){
		outImg = false;
		document.getElementById('refListeDiv').innerHTML=''
	}
}
 
function timerOutDiv(){
	timer = setTimeout("mouseOutDiv()","300");
}

function timerOnDiv(){
	timer = setTimeout("changeClass()","300");
}
 
function mouseOutImg(){
	outImg = true;
} 
*/

//addslashes
function addslashes(str) {
  str= str.replace(/\'/g,'\\\'');
  str= str.replace(/\"/g,'\\"');
  str= str.replace(/\\/g,'\\\\');
  str= str.replace(/\0/g,'\\0');
return str;
}
/*
function stripslashes(str) {
	str = str.replace(/\\'/g,'\'');
	str = str.replace(/\\"/g,'"');
	str = str.replace(/\\0/g,'\0');
	str = str.replace(/\\\\/g,'\\');
	return str;
}
*/



// Retourn un tableau associatif des variable en méthode GET GET
function extractUrlParams(){	

	var t = location.search.substring(1).split('&');

	var f = [];

	for (var i=0; i<t.length; i++){

		var x = t[ i ].split('=');

		f[x[0]]=x[1];
	}
	return f;
}


function EcrireCookie(nom, valeur){
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function getCookieVal(offset){
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
		return unescape(document.cookie.substring(offset, endstr));
}
	
function LireCookie(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 getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return null;
}


function addCommentForm (table, id){
	if (!document.getElementById('theComment')){	
		var adCommentDiv = document.getElementById('adComment');
		
		var spanText = document.createElement("span");
		with (spanText) {
			setAttribute('id', 'commentText');
			setAttribute('name', 'commentText');
			setAttribute('class', 'text');
			setAttribute('className','text');
		}
		spanText.innerHTML = "Rédigez votre commentaire";

		var br1 = document.createElement("br");
		br1.setAttribute('id', 'commentBR1');
		
		var textarea = document.createElement('TEXTAREA');
		with (textarea) {
			setAttribute('id', 'theComment');
			setAttribute('name', 'theComment');
			setAttribute('class', 'input');
			setAttribute('className','input');
			setAttribute('rows','5');
    		textarea.setAttribute('cols','40');
		}
		var submitInput = document.createElement('input');
		with (submitInput) {
			setAttribute('id', 'validComment');
			setAttribute('type', 'button');
			setAttribute('name', 'validComment');
			setAttribute('class', 'button1');
			setAttribute('className','button1');
			setAttribute('value', 'Publier');
		}
		submitInput.onclick = function() { validCommentForm(table, id) }
		
		var br2 = document.createElement("br");
		br2.setAttribute('id', 'commentBR2');
		
		var annulInput = document.createElement('input');
		with (annulInput) {
			setAttribute('id', 'annulComment');
			setAttribute('type', 'button');
			setAttribute('name', 'annulComment');
			setAttribute('class', 'button1');
			setAttribute('className','button1');
			setAttribute('value', 'Annuler');
		}
		annulInput.onclick = function() { annulCommentForm(); }
		
		var br3 = document.createElement("br");
		br3.setAttribute('id', 'commentBR3');
		var br4 = document.createElement("br");
		br4.setAttribute('id', 'commentBR4');
		
		adCommentDiv.appendChild(spanText);
		adCommentDiv.appendChild(br1);
		adCommentDiv.appendChild(textarea);
		adCommentDiv.appendChild(br2);
		adCommentDiv.appendChild(submitInput);
		adCommentDiv.appendChild(annulInput);
		adCommentDiv.appendChild(br3);
		adCommentDiv.appendChild(br4);
		
		document.getElementById('theComment').focus();
	}
	else{
		annulCommentForm ();
	}
}

function annulCommentForm (){
	var adCommentDiv = document.getElementById('adComment');
	var textarea = document.getElementById('theComment');
	var submitInput = document.getElementById('validComment');
	var annulInput = document.getElementById('annulComment');
	var spanText = document.getElementById('commentText');
	var br1 = document.getElementById('commentBR1');
	var br2 = document.getElementById('commentBR2');
	var br3 = document.getElementById('commentBR3');
	var br4 = document.getElementById('commentBR4');
	adCommentDiv.removeChild(spanText);
	adCommentDiv.removeChild(textarea);
	adCommentDiv.removeChild(submitInput);
	adCommentDiv.removeChild(annulInput);
	adCommentDiv.removeChild(br1);
	adCommentDiv.removeChild(br2);
	adCommentDiv.removeChild(br3);
	adCommentDiv.removeChild(br4);
} 


function validCommentForm(table, id) {
   	var text = document.getElementById('theComment').value;

   	text = encodeURIComponent(text);
	text = 'text='+text;

	getAndShowPost('includes/ajax/validCommentForm.ajax.php?table='+ table +'&id='+ id, 'commentDiv', text)
}


function strstr (haystack, needle, bool) {
    // *     example 1: strstr('Kevin van Zonneveld', 'van');
    // *     returns 1: 'van Zonneveld'
    // *     example 2: strstr('Kevin van Zonneveld', 'van', true);
    // *     returns 2: 'Kevin '
    // *     example 3: strstr('name@example.com', '@');
    // *     returns 3: 'example.com'
    // *     example 4: strstr('name@example.com', '@', true);
    // *     returns 4: 'name'
 
    var pos = 0;
    
    haystack += '';
    pos = haystack.indexOf( needle );
    if (pos == -1) {
        return false;
    } else{
        if (bool){
            return haystack.substr( 0, pos );
        } else{
            return haystack.slice( pos + 1 );
        }
    }
}


// Affiche ou cache un DIV
function affCache(select, objet) {
	if ( select.checked == true ) {
		document.getElementById(objet).style.display = '';
	} else {
		document.getElementById(objet).style.display = 'none';
	}
}


function array_search (array,val) {
	for (var i = 0; i < array.length; i++) {
		if (array[i] == val) {
			return true;
		}
	}
	return false;
}


// Vérifi la validité d'une date JJ/MM/AAAA
function isDateValid(chaineDate) {

	// Je regarde tout d'abord si la chaîne n'est pas vide, sinon pas la peine d'aller plus loin
	if (chaineDate == '') 
		return false
	//J'utilise split pour créer un tableau dans lequel je récupère les jour mois année
	// J'attends bien sûr une date formatée en JJ/MM/AAAA
	var ladate = (chaineDate).split("/")
	
	// Si je n'ai pas récupéré trois éléments ou bien s'il ne s'agit pas d'entiers, pas la peine non plus d'aller plus loin
	if ((ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2]))) 
		return false
	
	// Sinon, c'est maintenant que je crée la date correspondante. Attention, les mois sont étalonnés de 0 à 11
	var unedate = new Date(eval(ladate[2]),eval(ladate[1])-1,eval(ladate[0]))
	
	// Bug de l'an 2000 oblige, lorsque je récupère l'année, je n'ai pas toujours 4 chiffres selon les navigateurs, je rectifie donc ici le tir.
	var annee = unedate.getYear()
	if ((Math.abs(annee)+"").length < 4) 
		annee = annee + 1900
	
	// Il ne reste plus qu'à vérifier si le jour, le mois et l'année obtenus sont les mêmes que ceux saisis par l'utilisateur.
	return ((unedate.getDate() == eval(ladate[0])) && (unedate.getMonth() == eval(ladate[1])-1) && (annee == eval(ladate[2])))
}

/* SORTIE */

// Confirmation de refu de participant
function confirmToRefuseSortie(page, username){
	if(confirm('Etes vous certain de vouloir refuser '+username+'?\nUn message lui sera envoyé pour l\'informer de votre refu!')){
		getAndShow(page, 'listeParticipantsDiv')
	}
}

// Confirmation de refu de participant
function confirmToValideSortie(page, username){
	if(confirm('Etes vous certain de vouloir valider la participation de '+username+'?\nUn message lui sera envoyé pour l\'informer!')){
		getAndShow(page, 'listeParticipantsDiv')
	}
}



