function getXhr()
{
	var xhr = null; 
	if(window.XMLHttpRequest) // Firefox et autres
	xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){ // Internet Explorer 
	try {
	xhr = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	xhr = new ActiveXObject("Microsoft.XMLHTTP");
	}
	}
	else { // XMLHttpRequest non supporté par le navigateur 
	alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	xhr = false; 
	}
	
	return xhr;
}

function loadPage(div,file,send,rload,href)
{
	var xhr = getXhr();
	
	var div = div;
	var file = file;
	
	xhr.open("POST", file, true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send(send);

	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4)
		{
            if (xhr.status == 200)
			{
				if(xhr.responseText!="" && div!="")
				{
					document.getElementById(div).innerHTML = "";
					document.getElementById(div).innerHTML = xhr.responseText;
					
					myLinks.updateLinksList();
				}
				
				if(href!=''){window.location.href=href;}
				if(rload==true){window.location.reload();}
			}
		}
	}
}

var Links = Class.create();

Links.prototype = {
	
	initialize: function() {
		this.updateLinksList();
	},

	updateLinksList: function() {
		if (!document.getElementsByTagName){ return; }
		
		var links = document.getElementsByTagName('a');
		for (var i=0; i<links.length; i++){
			var a = links[i];
			
			var relAttribute = String(a.getAttribute('rel'));
			
			if (a.getAttribute('rel') && (relAttribute.toLowerCase().match('ajax'))){
				a.onclick = function () {myLinks.start(this); return false;}
			}
		}
	},
	
	start: function(a) {
		var reloadpage = false;
		if(a.getAttribute('reload')=='true')
		{
			reloadpage = true;
		}
		
		if(a.getAttribute('confirm')=='true')
		{
			if(confirm('Valider ?'))
			{
				loadPage(a.getAttribute('target'),'js/ajax/'+a.getAttribute('link'),a.getAttribute('params'), reloadpage, a.getAttribute('href'));
			}
		}
		else
		{
			loadPage(a.getAttribute('target'),'js/ajax/'+a.getAttribute('link'),a.getAttribute('params'), reloadpage, a.getAttribute('href'));
		}
	},
	
	end: function() {
	}
}

function initLinks() { myLinks = new Links(); }
