var isIE = (navigator.appName.indexOf("Microsoft") !=-1);


/* ---------------- correction bug png 24 et transparence IE ------------ */
 /*var isIE6 = false, isIE7 = false,
 isFIREFOX2 = false, isFIREFOX = false,
 isNETSCAPE7 = false, isNETSCAPE = false,
 isOPERA9 = false, isOPERA = false,
 isUNKNOWN = false; 

var strChUserAgent = navigator.userAgent;
 var intSplitStart = strChUserAgent.indexOf("(",0);
 var intSplitEnd = strChUserAgent.indexOf(")",0);
 var strChStart = strChUserAgent.substring(0,intSplitStart);
 var strChMid = strChUserAgent.substring(intSplitStart, intSplitEnd);
 var strChEnd = strChUserAgent.substring(strChEnd);

 if(strChMid.indexOf("MSIE 7") != -1)
 isIE7 = true;
 else if(strChMid.indexOf("MSIE 6") != -1)
 isIE6 = true;
 else if(strChEnd.indexOf("Firefox/2") != -1)
 isFIREFOX2 = true;
 else if(strChEnd.indexOf("Firefox") != -1)
 isFIREFOX = true;
 else if(strChEnd.indexOf("Netscape/7") != -1)
 isNETSCAPE7 = true;
 else if(strChEnd.indexOf("Netscape") != -1)
 isNETSCAPE = true;
 else if(strChStart.indexOf("Opera/9") != -1)
 isOPERA9 = true;
 else if(strChStart.indexOf("Opera") != -1)
 isOPERA = true;
 else
 isUNKNOWN = true;
 
 
//ie 6 fix PNG 24
function setTransparency(img) {
	if (isIE6) {
		 var imgID = (img.id) ? "id='" + img.id + "' " : "" ;
         var imgClass = (img.className) ? "class='" + img.className + "' " : "" ;
         var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' " ;
         var imgStyle = "display:inline-block;" + img.style.cssText ;
         if (img.align == "left") imgStyle = "float:left;" + imgStyle ; 
         if (img.align == "right") imgStyle = "float:right;" + imgStyle ; 
         if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle; 
         var strNewHTML = "<span " + imgID + imgClass + imgTitle
         + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
         + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
         + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"  ;
         img.outerHTML = strNewHTML ;
	}
}*/

/* ------------------------------------------------------------ */

function getScrollingPosition()
{
 var position = new Array(2) ;

 if (typeof window.pageYOffset != 'undefined')
 {
   position[0] = window.pageXOffset ;
   position[1] = window.pageYOffset ;
 }

 else if (typeof document.documentElement.scrollTop
     != 'undefined' && document.documentElement.scrollTop > 0)
 {
   
   position[0] = document.documentElement.scrollLeft ;
   position[1] = document.documentElement.scrollTop ;
 }

 else if (typeof document.body.scrollTop != 'undefined')
 {
 
   position[0] = document.body.scrollLeft ;
   position[1] = document.body.scrollTop ;

 }

 return position;
}



function eraseField(field) {
	switch(field.name) {
		case "pseudo" :
			if (field.value == "Votre pseudo") {
				field.value = "" ;	
			}
			break ;
		case "password":
			if (field.value == "rackelboom") {
				field.value = "" ;	
			}
			break ;
		default : 
			break ;
	}
}

function completeField(field) {
	switch(field.name) {
		case "pseudo" :
			if (field.value.length == 0) {
				field.value = "Votre pseudo" ;	
			}
			break ;
		case "password":
			if (field.value.length == 0) {
				field.value = "rackelboom" ;	
			}
			break ;
		default : 
			break ;
	}
}

/* ---- calendrier ---- */

// Mise a jour du mois sélectionné dans le calendrier
function CalendrierLoadMois(prmMois, prmAnnee, prmDiv) {
	prmMois = parseInt(prmMois) ;
	prmAnnee = parseInt(prmAnnee) ;
	
	ajax = new Ajax() ;
	ajax.sendAndLoad("/ajax/calendrier/load.cgi?mois=" + prmMois + "&annee=" + prmAnnee + "&div=" + prmDiv, "GET", CalendrierLoadMoisHandler) ;
}

function CalendrierLoadMoisHandler(conn) {
	document.getElementById('calendar').innerHTML = conn.responseText ;
}


/* ----- meteo ----- */

function getMeteo() {
	var ajax = new Ajax(true) ;
	ajax.sendAndLoad("/ajax/getMeteo.cgi","GET",showMeteo) ;
}

function showMeteo(conn) {
	document.getElementById("meteo").innerHTML = conn.responseText ;	
}


/* ----- banned ----- */

//On recherche la question secrète par le pseudo
function seekSecretQuestion() {
	pseudo = document.banForm.pseudo.value ;
	if (pseudo.length > 0) {
		var ajax = new Ajax() ;
		ajax.sendAndLoad("/ajax/seekSecretQuestion.php?pseudo=" + escape(pseudo) + "&" + Math.random(), "GET", seekSecretQuestionHandler) ;
	}
}

form = "" ;

function seekSecretQuestionHandler(conn) {

	var vp = document.getElementById("verif_pseudo") ; 
	var qs = document.getElementById("question_secrete") ;	
	
	if (conn.responseText == 0) {
		vp.innerHTML = "<span style='color:green;'><b>&nbsp;OK</b></span>" ;
		qs.style.display = "none";
		form = "OK" ;
	} else if (conn.responseText == "non") {
		vp.innerHTML = "<span style='color:red'><b>&nbsp;Pseudo non trouvé !</b></span>" ;
		qs.style.display = "none";
		document.banForm.pseudo.focus() ;
		form = "Non" ;
	} else {
		document.getElementById("question_secrete").style.display = "block" ;
		vp.innerHTML = "<span style='color:green;'><b>&nbsp;OK</b></span>" ;	
		qs.innerHTML = "<div id='question_secrete_text' style='text-align:left; margin-left:86px; width:auto; float:left;'><b>Votre question secrète :&nbsp;</b></div><div id='question_secrete_question' style='float:left;'>&nbsp;" + conn.responseText + "</div><hr class='spacer' /><b>Votre réponse : </b><input type='text' name='rs' style='width:220px;'/><br /><br/>" ;
		qs.style.display = "block" ;
		form = "OK" ;
	}
}

function verifBanned() {
	
	// EMAIL ///////////////////////////////////////////////////////////
	if(document.banForm.mail.value == "")
	{
		alert("Veuillez nous communiquer votre adresse email !");
		document.banForm.mail.focus();
		return false;
	}
	if ((document.banForm.mail.value.length == 0) || ((document.banForm.mail.value.indexOf("@") == -1) || (document.banForm.mail.value.indexOf(".",document.banForm.mail.value.indexOf("@")) == -1) || (document.banForm.mail.value.indexOf(".",document.banForm.mail.value.indexOf("@")) == document.banForm.mail.value.indexOf("@")+1) || (document.banForm.mail.value.lastIndexOf(".")+1 == document.banForm.mail.value.length) || (document.banForm.mail.value.indexOf("..") != -1))) 
	{
		alert("L\'adresse Email n\'est pas valide !");
		document.banForm.mail.focus();
		return false; 
	}
	if(document.banForm.mail.value.length < 7)
	{
		alert("L\'adresse Email n\'est pas valide !");
		document.banForm.mail.focus();
		return false;
	}

	// COMMENTAIRE /////////////////////////////////////////////////////
	if(document.banForm.comm.value == "")
	{
		alert("Veuillez entrer votre commentaire !");
		document.banForm.comm.focus();
		return false;
	}
	var j;
	for(j=0 ; j<document.banForm.comm.value.length ; j++)
		if(document.banForm.comm.value.charAt(j) == "[" || document.banForm.comm.value.charAt(j) == "]"
		|| document.banForm.comm.value.charAt(j) == "%" || document.banForm.comm.value.charAt(j) == "~"
		|| document.banForm.comm.value.charAt(j) == "#" || document.banForm.comm.value.charAt(j) == "`"
		|| document.banForm.comm.value.charAt(j) == "$" || document.banForm.comm.value.charAt(j) == "&"
		|| document.banForm.comm.value.charAt(j) == "|" || document.banForm.comm.value.charAt(j) == "}"
		|| document.banForm.comm.value.charAt(j) == "{" || document.banForm.comm.value.charAt(j) == "^"
		|| document.banForm.comm.value.charAt(j) == ">" || document.banForm.comm.value.charAt(j) == "<")
		{
			alert("Le commentaire n\'est pas valide ! Les caractères suivants sont interdits :\n\n] [ % ~ # ` $ & | } { ^ > <");
			document.banForm.comm.focus();
			return false;
		}					

	// SI OK /////////////////////////////////////////////////////
	if(form == "OK") {
		return true ;
	} 
	else if(document.banForm.pseudo.value == "") {
		alert("Veuillez entrer un pseudo !") ;
		document.banForm.pseudo.focus() ;
		return false ;
	} 
	else {
		alert("Veuillez entrer un pseudo valide !") ;
		document.banForm.pseudo.focus() ;
		return false ;
	}
}


/* ----- whattodo ----- */

function whattodo_init() {
	document.getElementsByName("action")[0].checked = true ;
	document.getElementsByName("action")[1].checked = false ;
	document.formNotConnected.pseudo.focus() ;
}

function whattodo_switch() {
	if (document.getElementsByName("action")[0].checked) {
		document.getElementById("profil").style.display = "block" ;
		document.getElementById("not_profil").style.display = "none" ;
		document.formNotConnected.pseudo.focus() ;
	}
	else {
		document.getElementById("profil").style.display = "none" ;
		document.getElementById("not_profil").style.display = "block" ;
		document.formNewUser.pseudo.focus() ;
		
	}
	
}


/* ----- Ajouter aux favoris ----- */

function ajouterFavoris(titre) {
	if (String(titre) == "undefined") titre = document.title ;
	if (navigator.appName.indexOf("Explorer") > -1) { 
		window.external.AddFavorite(location.href,unescape(titre)) ; 
	}
	else { 
		window.sidebar.addPanel(unescape(titre),location.href,"") ; 
	}
}


/* ----- Imprimer ----- */

function imprimer() {
	window.print() ;
}


/* ----- Galerie Photo ----- */

function galeriePhotoTitle(prmTitle) {
	document.getElementById("galerie_photo").innerHTML = prmTitle ;	
}

function galeriePhotoTitleDefault() {
	document.getElementById("galerie_photo").innerHTML = "Galerie photo" ;	
}


/* ----- Sondage ----- */

// Résultats
function resultSondage() {
	ajax = new Ajax() ;
	ajax.sendAndLoad("/ajax/sondage_result.cgi?" + Math.random(),"GET", resultSondageHandler) ;

	timer = window.setTimeout("document.getElementById(\"question\").style.display = \"none\" ;", 700) ;
	timer = window.setTimeout("document.getElementById(\"resultats\").style.display = \"block\" ;", 700) ;
}

function resultSondageHandler(conn) {
	document.getElementById("resultats").innerHTML = conn.responseText ;	
}

// Retour
function retourSondage() {
	document.getElementById("question").style.display = "block" ;
	document.getElementById("resultats").style.display = "none" ;
	document.formSondage.sondage_vote[0].checked = false ;
	document.formSondage.sondage_vote[1].checked = false ;
	document.formSondage.sondage_vote[2].checked = false ;
}

// Vote
function voteSondage(prmIdSondage) {
	
	var fSondage = document.formSondage ;
	
	if (fSondage.sondage_vote[0].checked == true) {
		ajax = new Ajax() ;
		ajax.sendAndLoad("/ajax/sondage.cgi?id_sondage=" + prmIdSondage + "&sondage_vote=oui", "GET", voteSondageHandler) ;
		// alert("Oui");
	}
	else if (fSondage.sondage_vote[1].checked == true) {
		ajax = new Ajax() ;
		ajax.sendAndLoad("/ajax/sondage.cgi?id_sondage=" + prmIdSondage + "&sondage_vote=non", "GET", voteSondageHandler) ;
		// alert("Non");
	}
	else if (fSondage.sondage_vote[2].checked == true) {
		ajax = new Ajax() ;
		ajax.sendAndLoad("/ajax/sondage.cgi?id_sondage=" + prmIdSondage + "&sondage_vote=sa", "GET", voteSondageHandler) ;
		// alert("Sans opinion");
	}
	else {
		alert("Veuillez indiquer votre vote !");
	}
}

function voteSondageHandler(conn) {
	if (conn.responseText == "failed") {
		document.location.href = "/error/auth_failed.ihtml?redirect=/" ;
	}
	else if (conn.responseText == "0")  {
		alert("Vous avez déja voté pour ce sondage !");
		resultSondage() ;
	}
	else if (conn.responseText == "1")  {
		resultSondage() ;
	}
}


/* ----- Cookie ----- */

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 LireCookie (name) {
	 if ( document.cookie) { // Le cookie est-il valide ?
			  index = document.cookie.indexOf( name);
			  if ( index != -1) {
					   nDeb = (document.cookie.indexOf( "=", index) + 1);
					   nFin = document.cookie.indexOf( ";", index);
					   if (nFin == -1) {nFin = document.cookie.length;}
					   return unescape(document.cookie.substring(nDeb, nFin));
			  }
	 }
	 return null;
}



// ------- formatage de la saisie des textes --------
// --- initialise le textarea pour qu'il soit manipulé plus simplement
function textFieldInit(field) {

	field.getSelection = function ()
	{
		if (this.setSelectionRange)
			return this.value.substring(this.selectionStart, this.selectionEnd);
		else if (document.selection) {
			this.focus();
			return document.selection.createRange().text;
		}
	}
	
	field.getSelectionStart = function()
	{
		if ( typeof this.selectionStart != 'undefined' )
			return this.selectionStart;
		
		// IE Support
		this.focus();
		var range = this.createTextRange();
		range.moveToBookmark(document.selection.createRange().getBookmark());
		range.moveEnd('character', this.value.length);
		return this.value.length - range.text.length;
	}
	
	field.getSelectionEnd = function()
	{
		if ( typeof this.selectionEnd != 'undefined' )
			return this.selectionEnd;
	
		// IE Support
		this.focus();
		var range = this.createTextRange();
		range.moveToBookmark(document.selection.createRange().getBookmark());
		range.moveStart('character', - this.value.length);
		return range.text.length;
	}
	
	field.setCaretPos = function(start, end)
	{
		end = end || start;
		this.focus();
		if (this.setSelectionRange)
			this.setSelectionRange(start, end);
		else if (document.selection) {
			var range = this.createTextRange();
			range.moveStart('character', start);
			range.moveEnd('character', - this.value.length + end);
			range.select();
		}
	}
	
	field.replaceSelection = function (str, keep)
	{
		this.focus();
		
		var start = this.getSelectionStart();
		var stop = this.getSelectionEnd();
		var end = start + str.length;
		var scrollPos = this.scrollTop;
			
		this.value = this.value.substring(0, start) + str + this.value.substring(stop);
		if ( keep ) this.setCaretPos(start, end);
		else this.setCaretPos(end);
		this.scrollTop = scrollPos;
	}

	return field; 
	
}



function addBalise(bType, fieldId) {

	var field ;
	
	field = document.getElementById(fieldId) ;
	field = textFieldInit(field) ;
	
	if (field) {
		
		switch(bType) {
			
			case "bold" :
				wrapTag(field,"[b]","[:b]") ;			
				break ;
		
			case "italic" :
				wrapTag(field,"[i]","[:i]") ;	
				break ;
				
			case "underline" :
				wrapTag(field,"[u]","[:u]") ;	
				break ;
			
			case "link" :
				makeLink(field) ;
				break ;
				
			case "t1" :
				wrapTag(field,"[t1]","[:t1]") ;	
				break ;
		
			case "t2" :
				wrapTag(field,"[t2]","[:t2]") ;	
				break ;
			
			case "t3" :
				wrapTag(field,"[t3]","[:t3]") ;	
				break ;
		
			default :
			
				break ;
			
			
		}
		
	}
	
}


function makeLink(field) {
	var url = prompt("Entrez l'URL du lien",field.getSelection()) ;	
	wrapTag(field,"[url|" + url + "]","[:url]") ;
}

function wrapTag(field,open,close) {
	field.replaceSelection(open + field.getSelection() + close, false) ;
}

function loadPhoto(id) {
	var ajax = new Ajax(true) ;
	ajax.appendData("id",id) ;
	ajax.sendAndLoad("/ajax/loadPhoto.cgi","POST", loadPhotoHandler) ;
}

function loadPhotoHandler(conn) {
	eval(conn.responseText) ;	
}

function getAbsolutePos(obj) {
	var x=0,y=0;
	while (obj!=null){
		x+=obj.offsetLeft-obj.scrollLeft;
		y+=obj.offsetTop-obj.scrollTop;
		obj=obj.offsetParent;
	}
	 return {x:x,y:y};
}

function generateUrl(mot) {
	//suppression des caractères non autorisés
	for(i=0;i<10;i++) {
		mot = mot.replace(/ /,"-") ;
		
		mot = mot.toLowerCase() ;
		mot = mot.replace(/é/,"e") ;
		mot = mot.replace(/è/,"e") ;
		mot = mot.replace(/ë/,"e") ;
		mot = mot.replace(/ê/,"e") ;
		
		mot = mot.replace(/î/,"i") ;
		mot = mot.replace(/ï/,"i") ;
		
		mot = mot.replace(/ô/,"o") ;
		mot = mot.replace(/ö/,"o") ;
		
		mot = mot.replace(/û/,"u") ;
		mot = mot.replace(/ü/,"u") ;
		
		mot = mot.replace(/â/,"a") ;
		mot = mot.replace(/ä/,"a") ;
		mot = mot.replace(/à/,"a") ;
		
		mot = mot.replace(/ÿ/,"y") ;
	}
	return mot ;
}


// Met l'onglet du menu en survole
function showNewMenu(divName) {
	document.getElementById(divName).src = "/img/wallpaper/"+divName+"_selected.png" ;
	document.getElementById("icone_"+divName).style.display = "block" ;
}

// Cache l'onglet du menu
function hideNewMenu(divName) {
	document.getElementById(divName).src = "/img/wallpaper/"+divName+".png" ;
	document.getElementById("icone_"+divName).style.display = "none" ;
}