	// Creación del objeto XMLHttpRequest
	function newAjax()
	{
		var req = false;
		// para navegadores como la gente
		if( window.XMLHttpRequest )
		{
			try	{
				req = new XMLHttpRequest();
			} catch( e ) {
				req = false;
			}//fin try
			// para IE
		}
		else if( window.ActiveXObject )
		{
			try
			{
				req = new ActiveXObject( "Msxml2.XMLHTTP" );
				return req;
			}
			catch( e )
			{
				try {
					req = new ActiveXObject( "Microsoft.XMLHTTP" );
				} catch( e ) {
					req = false;
				}//fin try2
			}//fin try 1
		}//fin del if
		return req;
	}//fin de la funcion newAjax()
	
		
	function FAjax( url, capa, valores, metodo, callback_before, callback_after, bMeantimeUpdate )
	{
		var ajax = newAjax();
		var capaContenedora = document.getElementById( capa );
		
		if( !capaContenedora )
		{
			alert( "Ajax_error: la capa contenedora no existe.");
			return;
		}
		//capaContenedora.innerHTML = "";
		//alert( "ajax.open " + metodo.toUpperCase() );
		if( bMeantimeUpdate == true )
			capaContenedora.innerHTML = "";

		/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
		if( metodo.toUpperCase() == 'POST' )
		{
			ajax.open( 'POST', url, true );
			ajax.onreadystatechange = function()
			{
				//if( ajax.readyState == 1 )
				//	capaContenedora.innerHTML = "";
/*				if( ajax.readyState == 3 )
				{
					switch( ajax.status )
					{
						case 200:
						{
							document.getElementById( capa ).innerHTML = ajax.responseText;
							break;
						}
					}
				}
				else
*/				if( ajax.readyState == 4 )
				{
					switch( ajax.status )
					{
						case 200:
						{
							capaContenedora.innerHTML = "";

							if( callback_before )		callback_before();
							document.getElementById( capa ).innerHTML = ajax.responseText;
							if( callback_after )		callback_after();
							break;
						}
						case 404:

							alert( "Error: " + ajax.status );
							//capaContenedora.innerHTML = "La direccion no existe";
							break;

						default:

							//capaContenedora.innerHTML = "Error: " + ajax.status;
							alert( "Error: " + ajax.status + " " + url );
							break;
					}
				}
			}
			ajax.setRequestHeader( 'Content-Type','application/x-www-form-urlencoded' );
			ajax.send( valores );
			return;
		}
		/*Creamos y ejecutamos la instancia si el metodo elegido es GET*/
		if( metodo.toUpperCase() == 'GET' )
		{
			ajax.open( 'GET', url, true );
			ajax.onreadystatechange = function()
			{
				//if( ajax.readyState == 1 )
				//	capaContenedora.innerHTML = "";

/*				if( ajax.readyState == 3 )
				{
					switch( ajax.status )
					{
						case 200:
						{
							document.getElementById( capa ).innerHTML = ajax.responseText;
							break;
						}
					}
				}
				else
*/				if( ajax.readyState == 4 )
				{
					switch( ajax.status )
					{
						case 200:
						{
							capaContenedora.innerHTML = "";

							if( callback_before )		callback_before();
							document.getElementById( capa ).innerHTML = ajax.responseText;
							if( callback_after )		callback_after();
							break;
						}
						case 404:

							alert( "Error: " + ajax.status );
							//capaContenedora.innerHTML = "La direccion no existe";
							break;

						default:

							//capaContenedora.innerHTML = "Error: " + ajax.status;
							alert( "Error: " + ajax.status + " " + url );
							break;
					}
				}
			}
			ajax.setRequestHeader( 'Content-Type','application/x-www-form-urlencoded' );
			ajax.send( null );
			return;
		}
	} 

	function checkMail(){
		document.getElementById("perfil").innerHTML="";
		FAjax ("chckMail.asp?Email="+document.formulario.email.value,"perfil","","GET")
		ajax = null;
	}
