/*
Devuelve un objeto ajax, o false si el browser no es compatible con ajax
*/
function creaAjax()
		{
		var xmlhttp=false;
		try 
			{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			} 
		catch (e) 
		{
			try 
				{
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				} 
			catch (E) 
				{
					xmlhttp = false;
				}
		}
	
		if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
		}
		return xmlhttp;
		} 

/*
rellena el elemento html con id <id> con el html de la página <http>
*/
function rellenaDiv(id, http,async,method)
	{
		var oAjax = creaAjax();
		if (arguments.length==2)
			{
			async = true;
			method = 'get';
			}
		cosa = arguments.length;
		if (arguments.length<4)
			{
			method = 'get';
			}
			
		if (method!='post'||method==undefined)
			{
			oAjax.open('get',http,async);
			puntero = null;
			}
		else
			{
			divide = http.split('?')
			oAjax.open('post',divide[0],async);
			oAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			puntero = divide[1];
			}
		oAjax.onreadystatechange = function()
				{
				if (oAjax.readyState==1)
					{
					}
	
				if (oAjax.readyState==4)
					{
					document.getElementById(id).innerHTML = oAjax.responseText;
					}
				}
		oAjax.send(puntero);
		if (!async)
			{
			document.getElementById(id).innerHTML = oAjax.responseText;
			}
	}
	
function vaciaDiv(id)
	{
	document.getElementById(id).innerHTML = '';
	}
/*
cambia el valor del elemento con id <id> al texto que devuelva ajax
*/
function cambiaValor(id, http,async,method)
	{
		var oAjax = creaAjax();
		if (arguments.length==2)
			{
			async = true;
			method = 'get';
			}
		cosa = arguments.length
		if (arguments.length<4)
			{
			method = 'get';
			}
			
		if (method!='post'||method==undefined)
			{
			oAjax.open('get',http,async);
			puntero = null;
			}
		else
			{
			divide = http.split('?')
			oAjax.open('post',divide[0],async);
			oAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			puntero = divide[1];
			}
			
		oAjax.onreadystatechange = function()
				{
				if (oAjax.readyState==1)
					{
					if (document.getElementById('fondoEspera'))	
						{
							document.getElementById('fondoEspera').style.display='';
						}
					}
				if (oAjax.readyState==4)
					{
					document.getElementById(id).value = oAjax.responseText;
					if (document.getElementById('fondoEspera'))	
						{
							document.getElementById('fondoEspera').style.display='none';
						}
					}
				}
		oAjax.send(puntero);
		if (!async)
			{
			document.getElementById(id).value = oAjax.responseText;
			}
	}
/*
Función que crea una cadena de tipo CAMPO1=VALOR1&CAMPO2=VALOR2 para ser enviado por get o post con todos los elementos
de un formulario. El primer elemento será AJAX=SI
*/
function creaQString(formulario)
	{
	var QString;
	var el;
	QString = '?AJAX=SIAJAX';
	for (var j=0;j<formulario.elements.length;j++)
		{
		el = formulario.elements[j];
		switch (el.type)
			{
			case 'text':
			case 'hidden':
			case 'password':
				QString += '&'+ el.name + '=' + escape(el.value);
				break;
			case 'checkbox':
				QString += '&'+el.name + '=' + escape(el.checked?el.value:'');
				break;
			case 'select-one':
				QString += '&'+el.name + '=' + escape(el.options[el.selectedIndex].value);
				break;	
			case 'textarea':
				QString += '&'+ el.name + '=' + escape(el.value);
				break;
			}
		}
	return QString;
	}
	
/*
Función que devuelve el valor de un checkbox
*/
function chkVal(chk)
{
	return chk.checked?chk.value:'';	
}
	
