var Ajax = new Object();


Ajax.create= function(url,process,asin,sendMethod) {

try{
	if (asin == null) asin = true;
    var http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
    	var http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) { 
        	http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
      	try {
        	var http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
          	try {
              	http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    } else {  
    	http_request.onreadystatechange = function() {
	 		if (http_request.readyState == 4) {
				if (http_request.status == 200) {
				
					// comprobar si es o no json
					if (http_request.getResponseHeader("Content-type").indexOf("html") != -1) {
					    document.location = "./Control?act=map";
					    return;
					}
					eval(process+"(http_request.responseText)");
  	        	} else if (http_request.status == 204)
					alert('No response');
			}
   		};
    	if(sendMethod== undefined || sendMethod == "post"){
    		var urlOnly = url.split("?")[0];
    		var params = url.split("?")[1];

    		
    		http_request.open("POST", urlOnly, asin);
    		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    		http_request.setRequestHeader("Content-length", params.length);
    		http_request.setRequestHeader("Connection", "close");
    	  	http_request.send(params);
    	}else{
    		http_request.open("get", url, asin);
    	  	http_request.send(null);
    	}
	   
  		
		// corregir bug firefox
		try {
			if (http_request.onreadystatechange == null) { 
				if (http_request.readyState == 4) {
					if (http_request.status == 200) {
						eval(process+"(http_request.responseText)");
					} else if (http_request.status == 204)
						alert('No response');
				}
			}
		} catch (e){
			if (http_request.readyState == 4) {
				if (http_request.status == 200) {
					eval(process+"(http_request.responseText)");
				} else if (http_request.status == 204)
					alert('No response');
			}
		} 
		
	    return http_request;
	}
 } catch (e) {alert("AJAX Exception");}
};


Ajax.showError = function(msg) {
/*	document.getElementById(id).innerText = msg;
	document.getElementById(id).textContent = msg;*/
	alert(msg);
}

Ajax.fillData = function(arr, data) {
	for (i = 0; i < arr.length; i++)
		if (eval("data[0]."+arr[i]))
			eval("document.getElementById('"+arr[i]+"').value = data[0]."+arr[i]);
		else
			eval("document.getElementById('"+arr[i]+"').value = ''");
}




