/** 
SAL - Simple Ajax Lib. 23-Sep-2005 
by Nigel Liefrink 
Email: leafrink@hotmail.com 
*/ 
 
var debug = false; 
/** 
Browser Compatability function. 
Returns the correct XMLHttpRequest depending on the current browser. 
*/ 
function GetXmlHttp() {	 
	var xmlhttp = false; 
	if (window.XMLHttpRequest) 
	{ 
		xmlhttp = new XMLHttpRequest(); 
  } 
	else if (window.ActiveXObject)// code for IE 
	{ 
		try  
		{ 
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
		}  
		catch (e)  
		{ 
			try  
			{ 
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
			} catch (E) { 
				xmlhttp=false; 
			} 
		} 
	} 
	return xmlhttp; 
} 
 
 
/** 
<summary> 
Gets the response stream from the passed url, and then calls the callbackFuntion passing the response and the div_ids. 
</summary> 
<param name="url">The url to make the request to get the response data.</param> 
<param name="callbackFunction">The function to call after the response has been recieved. the response <b>must</b> always be the first argument to the function.</param> 
<param name="params"> (optional) Any other parameters you want to pass to the functions. (Note: only constants/strings/globals can be passed as params, most variables will be out of scope.) </param> 
</summary> 
<example> 
	<code> 
PassAjaxResponseToFunction('?getsomehtml=1', 'FunctionToHandleTheResponse', "\'div1\',\'div2\',\'div3\''); 
 
function FunctionToHandleTheResponse(response, d1, d2, d3){ 
	var data = response.split(';'); 
	document.getElementById(d1).innerHTML = data[0]; 
	document.getElementById(d2).innerHTML = data[1]; 
	document.getElementById(d3).innerHTML = data[2]; 
} 
	</code> 
</example> 
*/ 
function PassAjaxResponseToFunction(url, callbackFunction, params) 
{		 
  var xmlhttp = new GetXmlHttp(); 
  //now we got the XmlHttpRequest object, send the request. 
  if (xmlhttp) 
  { 
    xmlhttp.onreadystatechange = function ()  
                                { 
	                                if (xmlhttp && xmlhttp.readyState==4) 
	                                {//we got something back.. 
		                                if (xmlhttp.status==200) 
		                                { 
			                                var response = xmlhttp.responseText; 
			                                var functionToCall = callbackFunction+'(response,'+params+')'; 
			                                if(debug){ 
				                                alert(response); 
				                                alert (functionToCall); 
			                                } 
			                                eval(functionToCall); 
		                                } else if(debug){ 
			                                document.write(xmlhttp.responseText); 
		                                } 
	                                } 
                                } 
    xmlhttp.open("GET",url,true); 
    xmlhttp.send(null); 
  } 
} 
 
 
/** 
///<summary> 
///Sets the innerHTML property of obj_id with the response from the passed url./ 
///</summary> 
///<param name="url">The url to make the request to get the response data.</param> 
///<param name="obj_id">The object or the id of the object to set the innerHTML for.</param> 
*/ 
function SetInnerHTMLFromAjaxResponse(url, obj_id) 
{		 
  var xmlhttp = new GetXmlHttp(); 
  //now we got the XmlHttpRequest object, send the request. 
  if (xmlhttp) 
  { 
    xmlhttp.onreadystatechange = function ()  
                                { 
	                                if (xmlhttp && xmlhttp.readyState==4) 
	                                {//we got something back.. 
		                                if (xmlhttp.status==200) 
		                                { 
			                                if(debug){ 
				                                alert(xmlhttp.responseText); 
			                                } 
			                                if(typeof obj_id == 'object'){ 
				                                obj_id.innerHTML = xmlhttp.responseText; 
			                                } else { 
				                                document.getElementById(obj_id).innerHTML = xmlhttp.responseText; 
			                                } 
		                                } else if(debug){ 
			                                document.Write(xmlhttp.responseText); 
		                                } 
	                                } 
                                } 
    xmlhttp.open("GET",url,true); 
    xmlhttp.send(null); 
  } 
} 
 

function input_to_ajax(i)
{
	i = i.replace(/&/g,  "*am*");
	i = i.replace(/=/g,  "*eq*");
	i = i.replace(/\+/g, "*pl*");	
	
	i = i.replace(/\n/g, "*BR*");

	i = i.replace(/±/g, "[[:a:]]");
	i = i.replace(/¡/g, "[[:A:]]");
	i = i.replace(/ê/g, "[[:e:]]");
	i = i.replace(/Ê/g, "[[:E:]]");
	i = i.replace(/ó/g, "[[:o:]]");
	i = i.replace(/Ó/g, "[[:O:]]");
	i = i.replace(/¶/g, "[[:s:]]");
	i = i.replace(/¦/g, "[[:S:]]");
	i = i.replace(/³/g, "[[:l:]]");
	i = i.replace(/£/g, "[[:L:]]");
	i = i.replace(/¿/g, "[[:z:]]");
	i = i.replace(/¯/g, "[[:Z:]]");
	i = i.replace(/¼/g, "[[:x:]]");
	i = i.replace(/¬/g, "[[:X:]]");
	i = i.replace(/æ/g, "[[:c:]]");
	i = i.replace(/Æ/g, "[[:C:]]");
	i = i.replace(/ñ/g, "[[:n:]]");
	i = i.replace(/Ñ/g, "[[:N:]]");
	
	return i;
}

function showhide(id)
{
	var status;
	status = document.getElementById(id).style.display;
	
	if (status=='block')
		document.getElementById(id).style.display = 'none';
	
	if (status=='none')
		document.getElementById(id).style.display = 'block';
}

function show(id) 
{
	document.getElementById(id).style.display = 'block';
}

function hide(id)
{
	document.getElementById(id).style.display = 'none';
}

function text_to_textarea(t)
{
	t = t.replace(/<br>/g,'\n');
	t = t.replace(/<br \/>/g,'\n');
	t = t.replace(/<br\/>/g,'\n');
	t = t.replace(/<BR>/g,'\n');
	t = t.replace(/<BR \/>/g,'\n');
	t = t.replace(/<BR\/>/g,'\n');

	return t;
}

function textarea_to_text(t)
{
	t = t.replace(/\n/g,'<br />');
	
	return t;
}






 
