// JavaScript Document
function validateFields() {
var frmEl = document.getElementById('cForm');
var posName = document.getElementById('posName');
var posEmail = document.getElementById('posEmail');
var posRegard = document.getElementById('posRegard');
var posText = document.getElementById('posText');
var strCC = document.getElementById('selfCC');
var whiteSpace = /^[\s]+$/;
	if ( posText.value == '' || whiteSpace.test(posText.value) ) {
		alert("You're trying to send an Empty Email. Please type something and then get on your way.");
	}
	else if ( posEmail.value == '' && strCC.checked == true ) {
		alert("Why are you trying to CC yourself without an email?");
		alert("Just for that...");
		alert("I\'m Clearing all the fields!");
		frmEl.reset();
		alert("There. Satisified.");
		alert("Now start over!");
		posName.focus();
	}
	else {
		sendPosEmail();
	}
}
function sendPosEmail () {
	var success = document.getElementById('emailSuccess');
	var posName = document.getElementById('posName');
	var posEmail = document.getElementById('posEmail');
	var posRegard = document.getElementById('posRegard');
	var posText = document.getElementById('posText');
	var strCC = document.getElementById('selfCC').value;
	var page = "/inc/xmlHttpRequest.php?contact=true&xml=true";
	
	showContactTimer(); // quickly begin the load bar
	success.style.display = 'none'; // hide the success bar (incase this is a multi-email
	
	// convert (&, +, =) to string equivs. Needed so URL encoded POST won't choke.
	var str1 = posName.value;
	str1 = str1.replace(/&/g,"**am**");
	str1 = str1.replace(/=/g,"**eq**");
	str1 = str1.replace(/\+/g,"**pl**");
	var str2 = posEmail.value;
	str2 = str2.replace(/&/g,"**am**");
	str2 = str2.replace(/=/g,"**eq**");
	str2 = str2.replace(/\+/g,"**pl**");
	var str3 = posRegard.value;
	str3 = str3.replace(/&/g,"**am**");
	str3 = str3.replace(/=/g,"**eq**");
	str3 = str3.replace(/\+/g,"**pl**");
	var str4 = posText.value;
	str4 = str4.replace(/&/g,"**am**");
	str4 = str4.replace(/=/g,"**eq**");
	str4 = str4.replace(/\+/g,"**pl**");
	
	var stuff = "selfCC="+strCC+"&posName="+str1+"&posEmail="+str2+"&posRegard="+str3+"&posText="+str4;
	loadXMLPosDoc(page,stuff)
}
function showContactTimer () {
	var loader = document.getElementById('loadBar');
	loader.style.display = 'block';
	sentTimer = setTimeout("hideContactTimer()",6000);
}

function hideContactTimer () {
	var loader = document.getElementById('loadBar');
	var success = document.getElementById('emailSuccess');
	var fieldArea = document.getElementById('contactFormArea');
	var inputs = fieldArea.getElementsByTagName('input');
	var inputsLen = inputs.length;
	var tAreas = fieldArea.getElementsByTagName('textarea');
	var tAreasLen = tAreas.length;
	// Hide the load bar alas! Done Loading
	loader.style.display = "none";
	success.style.display = "block";
	success.innerHTML = '<strong style="color:green;">'+grabPosXML("confirmation")+'</strong>';
	// Now Hijack the form elements
	for ( i=0;i<inputsLen;i++ ) {
		if ( inputs[i].getAttribute('type') == 'text' ) {
			inputs[i].value = '';
		}
	}
	for ( j=0;j<tAreasLen;j++ ) {
		tAreas[j].value = '';
	}
}

function ajaxContact() {
var frmEl = document.getElementById('cForm');
addEvent(frmEl, 'submit', validateFields, false);
frmEl.onsubmit = function() { return false; }
}
addEvent(window, 'load',ajaxContact, false);


function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) { 
	elm.addEventListener(evType, fn, useCapture); 
	return true; 
	}
	else if (elm.attachEvent) { 
	var r = elm.attachEvent('on' + evType, fn); 
	EventCache.add(elm, evType, fn);
	return r; 
	}
	else {
	elm['on' + evType] = fn;
	}
}
function getEventSrc(e) {
	if (!e) e = window.event;

	if (e.originalTarget)
	return e.originalTarget;
	else if (e.srcElement)
	return e.srcElement;
}
function addLoadEvent(func) {
var oldonload = window.onload;
	if (typeof window.onload != 'function') {
	window.onload = func;
	} else {
	window.onload = 
		function() {
		oldonload();
		func();
		}
	}
}
var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
	
		add : function(node, sEventName, fHandler, bCapture){
			listEvents.push(arguments);
		},
	
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				
				/* From this point on we need the event names to be prefixed with 'on" */
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				
				item[0][item[1]] = null;
			};
		}
	};
}();


addEvent(window,'unload',EventCache.flush, false);


var pos; // variable for posting information
function loadXMLPosDoc(url,posData) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        pos = new XMLHttpRequest();
        pos.onreadystatechange = processPosChange;
        pos.open("POST", url, false);
		pos.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        pos.send(posData);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        pos = new ActiveXObject("Microsoft.XMLHTTP");
        if (pos) {
            pos.onreadystatechange = processPosChange;
            pos.open("POST", url, false);
			pos.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            pos.send(posData);
        }
    }
}

function grabPosXML (tagName) {
return pos.responseXML.documentElement.getElementsByTagName(tagName)[0].childNodes[0].nodeValue;
}

function processPosChange() {
    // page loaded "complete"
    if (pos.readyState == 4) {
        // page is "OK"
        if (pos.status == 200) {
			if ( grabPosXML("posStatus") == 'NOTOK' ) { 
				alert('There were problems Sending Email. Please check back in a couple minutes');
			}
		}
	}
}
function note($note)
{
	document.getElementById	('note').className=$note;
}

function displayMenu()
{
document.getElementById('plzmenu1').style.display='block';
}
function hideMenu()
{
document.getElementById('plzmenu1').style.display='none';
}
function displayLang()
{
document.getElementById('fr').style.display='block';
document.getElementById('en').style.display='block'	;
document.getElementById('sp').style.display='block'	;
}
function hideLang($but)
{
document.getElementById('fr').style.display='none';
document.getElementById('en').style.display='none'	;
document.getElementById('sp').style.display='none'	;

document.getElementById($but).style.display='block'	;
}

function accueil($url) { document.location.replace($url); }
function changeClass(id,off) {
document.getElementById(id).className = "titlebar"+off;
}
function admin() {
document.location.replace('/?admin=idx');
}

function insertion(repdeb, repfin) {
  var input = window.document.formulaire.texte;
  input.focus();
  /* pour l'Explorer Internet */
  if(typeof document.selection != 'undefined') {
    /* Insertion du code de formatage */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = repdeb + insText + repfin;
    /* Ajustement de la position du curseur */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -repfin.length);
    } else {
      range.moveStart('character', repdeb.length + insText.length + repfin.length);
    }
    range.select();
  }
  /* pour navigateurs plus récents basés sur Gecko*/
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Insertion du code de formatage */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + repdeb + insText + repfin + input.value.substr(end);
    /* Ajustement de la position du curseur */
    var pos;
    if (insText.length == 0) {
      pos = start + repdeb.length;
    } else {
      pos = start + repdeb.length + insText.length + repfin.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* pour les autres navigateurs */
  else
  {
    /* requête de la position d'insertion */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Insertion du code de formatage */
    var insText = prompt("Veuillez entrer le texte à formater:");
    input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos);
  }
}

function smilies(img)
{
window.document.formulaire.commentaire.value += '' + img + ' ';
<!-- ici, on ne s'embête pas à voiloir ajouter les balises de chaque côté car il n'y en à qu'une seule. On fait donc une insertion simple comme je vous ais montré. Pareil, on définit le textarea où l'on va travailler-->
}

function showDiv(id, w, h) {
	h += 25; // hauteur du div pour fermer la fenêtre
	mydiv = document.getElementById(id);
	/*alert(mydiv.style.visibility);*/
	mydiv.style.width = w+'px';
	mydiv.style.height = h+'px';
	mydiv.style.marginLeft = (-w/2)+'px';
	mydiv.style.marginTop = (-h/2)+'px';
	mydiv.style.visibility = 'visible';
	/*mydiv.style.display = '';*/
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
<!-- Rafraîchir le contenu et fermer
function RefreshAndClose() {
if (!window.opener.closed) {
   window.opener.location = window.opener.location;
}
}
function hideDiv(id) {
	/*document.getElementById(id).style.display = 'none';*/
	document.getElementById(id).style.visibility = 'hidden';
	/*if (id == 'reserver') {
		if (document.getElementById('reserverContenu2').style.display == '') {
			tglDisplay('reserverContenu');
			tglDisplay('reserverContenu2');
		}
	}*/
}
function checked(id) {
	/*document.getElementById(id).style.display = 'none';*/
	document.getElementById('gd').style.border = '2px solid white';
	document.getElementById('gg').style.border = '2px solid white';
	document.getElementById(id+'input').checked = 'checked';
	document.getElementById(id).style.border = '2px solid green';
}

function tglDisplay(id) {
	o = document.getElementById(id);
	o.style.display = (o.style.display == '') ? 'none' :  '';
}
function tglDisplay2(id) {
	document.getElementById('modif_pass').style.display = "none";
	document.getElementById('modif_avatar').style.display = "none";
	document.getElementById('modif_photo').style.display = "none";
	document.getElementById('modif_signature').style.display = "none";
	document.getElementById('modif_defaut').style.display = "none";
	document.getElementById('modif_titre').style.display = "none";
	document.getElementById('modif_defaut2').style.display = "none";
	document.getElementById('modif_identite').style.display = "none";
	document.getElementById('modif_location').style.display = "none";
	document.getElementById('modif_contact').style.display = "none";
	document.getElementById('modif_defaut3').style.display = "none";
	
	document.getElementById(id).style.display = "block";
}
function tglDisplay3(id) {
	document.getElementById('modif_defaut2').style.display = "none";
	document.getElementById('modif_identite').style.display = "none";
	document.getElementById('modif_location').style.display = "none";
	document.getElementById('modif_contact').style.display = "none";
	
	document.getElementById(id).style.display = "block";
}
function Displaymenu(id) {
	document.getElementById('lbl_accueil').style.display = "none";
	document.getElementById('lbl_dossiers').style.display = "none";
	document.getElementById('lbl_articles').style.display = "none";
	document.getElementById('lbl_galerie').style.display = "none";
	document.getElementById('lbl_agenda').style.display = "none";
	document.getElementById('lbl_comm').style.display = "none";
	document.getElementById('lbl_groupes').style.display = "none";
	document.getElementById('lbl_membres').style.display = "none";
	document.getElementById('lbl_top').style.display = "none";
	document.getElementById('lbl_faq').style.display = "none";
	
	document.getElementById(id).style.display = "inline";
}
function reserver(id, lieu, places) {	
	document.getElementById('rId').value = id;
	document.getElementById('rLieu').innerHTML = lieu;
	document.getElementById('rPlacesRestantes').innerHTML = lbl_placesRestantes+': '+places;
	showDiv('reserver', 400, 180);
}


function reserverSubmit() {
	var id = valOf('rId');
	var nom = valOf('rNom');
	var prenom = valOf('rPrenom');
	var tel = valOf('rTel');
	var email = valOf('rEmail');
	var places = valOf('rPlaces');
	ajax('ajax.php?act=r