var basePath = '/phpscripts/';

/**
 * Receive data and put it in the given DOM node
 * 
 * @param string data
 * @param DOM node
 */
function receive_ajax(data, node) {
	if(node != null){
		node.innerHTML = data; 
	
		var All = node.getElementsByTagName("*");
		for (var i=0; i<All.length; i++) {
			
			// avoid setting id and name when the attribute doesn't exist
			if(All[i].getAttribute("id") != '') {
				All[i].id = All[i].getAttribute("id");
			}
			if(All[i].getAttribute("name") != '') {
				All[i].name = All[i].getAttribute("name");
			}
		}
		
		var AllScripts = node.getElementsByTagName("script");
		for (var i=0; i<AllScripts.length; i++) {
			var s = AllScripts[i];
			
			if (s.src && s.src!="") {
				// Precedement asynchrone, mis en synchrone pour eviter des problemes de dependances de scripts
				AjaxGetData(s.src, eval) ;
			} else {
				// In some cases the cdata tags are in the js data, to ensure
				// there are no js errors we ensure these tags are removed wherever
				// they are found in the code. (the reason for their presence is 
				// not known, but should be found).
				eval(s.innerHTML.replace(/(<!\[CDATA\[)|(\]\]>)/g, ''));
				
			}
		}
	}

	//hideTimer();
}

/**
 * Send an AJAX query using GET method
 * 
 * @param string url
 * @param {Object} callback
 * @param DOM node 
 */
function AjaxGetData(url, callback, node) {
	xhr = false;
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	}
	else if (window.ActiveXObject){
		xhr = new ActiveXObject("Microsoft.XMLHTTP");
	}
	  
	if (xhr) {
		try {
			//showTimer();
			xhr.open("GET", url);

			xhr.onreadystatechange = function() {
				if (xhr.readyState == 4 && xhr.status == 200) {
					var data = xhr.responseText;
					
					if (null != callback) {

						if (null != node) {
							
							callback(data, node);
						} else {
							
							callback(data);
						}
					}
				}
			}
		
			xhr.send(null);
		} catch (e) {
			//TODO remove the alert() after the JS stuff has been correctly tested.
			alert('Erreur '+e);
		}
	}
	else {
		//TODO remove the alert() after the JS stuff has been correctly tested.
		alert('AJAX not available');
		window.location = url;
	}
}

/**
 * Send an AJAX query using POST method
 * 
 * @param string url
 * @param string parameters
 * @param {Object} callback
 * @param DOM node 
 */
function AjaxPostData(url, parameters, callback, node) {
	var xhr = false;
	
	if(window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	}
	else if(window.ActiveXObject) {
		xhr = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if(xhr) {
		try {
			//showTimer();
			xhr.open("POST", url, true);
			xhr.onreadystatechange = function() {
				if(xhr.readyState == 4 && xhr.status == 200) {
					var data = xhr.responseText;
					callback(data, node);
					//hideTimer(url);
				}
			}
			xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			xhr.setRequestHeader("Content-length", parameters.length);
			xhr.setRequestHeader("Connection", "close");	
			xhr.send(parameters);
		} catch (e) {}
	}
	else {
		window.location = url;
	}
}

function checkEmail(email){
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	if (!filter.test(email)) {
		return false;
	}else{
		return(true);
	}
}

function sendEmail(){
	document.getElementById('errorMsg').style.display = 'none';
	var name = escape(document.getElementById('name').value);
	var tel = escape(document.getElementById('tel').value);
	var email = escape(document.getElementById('email').value);
	var message = escape(document.getElementById('message').value);
	var emailValid = false;
	var error = '';
	
	if(name == ''){
		error += '<p class="error">- Veuillez saisir un nom</p>';
	}
	if(email == ''){
		error += '<p class="error">- Veuillez saisir un email</p>';
	}else{
		emailValid = checkEmail(email);
		
		if(emailValid == false){
			error += '<p class="error">- L\'email saisi est incorrect</p>';
		}
	}
	
	if(error == ''){
		var name = escape(document.getElementById('name').value);
		var tel = escape(document.getElementById('tel').value);
		var email = escape(document.getElementById('email').value);
		var destination = escape(document.getElementById('destination').value);
		var content = escape(document.getElementById('message').value);
		var url = basePath + 'send_email.php';
		var params = 'from=' + email + '&content=' + content + '&email_template=contact&name=' + name + '&tel=' + tel + '&destination=' + destination;
		var where = document.getElementById('errorMsg');
		
		AjaxPostData(url, params, receive_ajax, where);
		error = 'Votre message a été envoyé';
		setTimeout("document.location = '/contact/remerciements'", 1000);
	}
	document.getElementById('errorMsg').innerHTML = error;
	document.getElementById('errorMsg').style.display = 'block';
	return(false);
}

window.addEvent('domready', function() { 
	if($chk($('containerOngletInscription'))){
		winx = document.body.offsetWidth;
		divx = $('containerOngletInscription').offsetWidth;
		$('containerOngletInscription').setStyle('left', (winx-divx)/2);
	}


    if(document.getElementById('archives_2010') != null){
		$each($('archives_2010').getElements('li').getElement('a'), function(items){
			var content = items.innerHTML;
			var annee = content.charAt(content.length-2); 
			if(annee != "1"){items.innerHTML = "";}
		});
	}

   
});
