// JavaScript Document
/*
	Functions and Class Ajax Developed for [ T.S.U. Francisco González Nava ]
	Copyright © No haga copias ilegales de este código.
*/

function Ajax(url, elements ,funcion, _Layer, metodo  ){
  
	   var elements = typeof(elements) == 'object' ? elements : ( d.getElementById(elements) ? d.getElementById(elements) : null );
	   var funcion = typeof(funcion) == 'undefined' ? false : funcion;
	   var metodo = typeof(metodo) == 'undefined' ? false : metodo.toUpperCase();
	   var _Layer = _Layer ==  null ? false : d.getElementById(_Layer);
	   var Versions = new Array('Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP');
	   var Coneccion;
	   
	 Ajax.prototype.Extract = function()
	 {
		 if( iexplorer )
		 {
			 try { Coneccion = new ActiveXObject('Microsoft.XMLHTTP'); } catch(e){ for(v = 0; v < Versions.length; v++){ Coneccion = new ActiveXObject(Versions[v]); }}
		 }
		 else{ Coneccion = new XMLHttpRequest(); }	
	
		Coneccion.open((metodo != false ? 'GET' : 'POST'), url, true);
			
		Coneccion.onreadystatechange = function() 
		{ 
			 if(Coneccion.readyState == 1 || Coneccion.readyState == 2 || Coneccion.readyState == 3)
			 {
				 _Layer == false ? false : _Layer.innerHTML = '<div id="LOAD" align="center"><img src="_images/load-casita.gif" /><br /><br />Actualizando datos...</div>';
			 }
			 else if (Coneccion.readyState == 4)
			 {
				 Eresponse = Coneccion.responseText;
								 
				if( elements == null )
				{
					_Layer == false ? false : _Layer.innerHTML = '';
					eval(funcion);
					return;
				}
				else if(elements.tagName.toLowerCase() == 'input' || elements.tagName.toLowerCase() == 'select' || elements.tagName.toLowerCase() == 'textarea')
				{
					_Layer == false ? false : _Layer.innerHTML = ''
					elements.value = Eresponse;	
					return;
				}
				else{
					
					_Layer == false ? false : _Layer.innerHTML = '';
					elements.innerHTML = Eresponse;
					return;
				}
			}
		}
				
		if( metodo != false ){
			Coneccion.setRequestHeader('If-Modified-Since', 'Wed, 1 Jan 2003 00:00:00 GMT');
			Coneccion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			Coneccion.send(metodo);
		}
		else{
			Coneccion.send(null);
		}	
		
	 }
	 
	this.Extract();
};