﻿//AJAX
var ajaxLoading = "<div class='ajaxLoad'><div class='message'><img src='/argosSites/roquette_common/images/common/loading.gif' /> <p>loading...</p></div></div>";
var ajaxError = "<div class='ajaxLoad'><img src='/argosSites/roquette_common/images/common/loading.gif' /> <p>Error...</p></div></div>";
ROQ.makeRequest = function (hurle, container, typ, js, loading, callback) {
	//affichage loading
	if(document.getElementById(container)){
		if(loading){
			document.getElementById(container).innerHTML = ajaxLoading;
		}
	}
	var http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
		    if (typ == "XML") http_request.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject) { // IE
		try {
		    http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		    try {
		        http_request = new ActiveXObject("Microsoft.XMLHTTP");
		    } catch (e) {}
		}
	}
	if (!http_request) {
		alert(ajaxNot);
		return false;
	}
	http_request.onreadystatechange = function() {
	//alert("onreadystatechange(), http_request.readyState = " + http_request.readyState);
		if (http_request.readyState == 4) {
			if (typ == "XML"){
				parseContent(http_request, container);
			}		
			else if(typ == "HTML"){
				ROQ.afficheContents(http_request, container, js, callback, loading); 
			}
			else if(callback){
				//alert("http_request.responseText = " + http_request.responseText)
				if (http_request.status == 200) {
					args = [http_request.responseText];
					callback.apply(this, args);
				}
			}
		}
	}
	http_request.open('GET', hurle, true);
	http_request.send('');	
}
ROQ.afficheContents = function (http_request, container, js, callback, loading) {
	if (http_request.status == 200) {
		document.getElementById(container).innerHTML = http_request.responseText;
		document.getElementById(container).style.display = "block";
		if(js){
			ROQ.execScript(document.getElementById(container));
		}
		if(callback){
			callback.apply();
		}
	} 
	else {
		document.getElementById(container).innerHTML = ajaxError;
	}
}
ROQ.execScript = function (obj){
	scripts_obj = obj.getElementsByTagName("script");
	for(i=0; i < scripts_obj.length; i++){
		eval(scripts_obj[i].innerHTML);
	}
}
//FIN AJAX