/**
SAL - Simple Ajax Lib. 23-Sep-2005
by Nigel Liefrink
Email: leafrink@hotmail.com
*/

var debug = false;
var http_request = false;

//------------------------------------
// create TimeStamp
//------------------------------------
function Create_TimeStamp() {	
	var pgaundate = new Date();
   	var timestamp = pgaundate.getTime();
   	return timestamp;
}   	
//------------------------------------
// create XMLHTTP instance
//------------------------------------
function GetHttp_request() {	
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 http_request = new XMLHttpRequest();
	 if (http_request.overrideMimeType) {
	 	// set type accordingly to anticipated content type
	    //http_request.overrideMimeType('text/xml');
	    http_request.overrideMimeType('text/html');
	 }
	} else if (window.ActiveXObject) { // IE
	 try {
	    http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
	    try {
	       http_request = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (e) {}
	 }
	}
	if (!http_request) {
	 alert('Cannot create XMLHTTP instance');
	 return false;
	}
	return http_request;
}

//------------------------------------
// Ajax GET Request, Pass Ajax Response to Function
//------------------------------------
function makeGETRequest(url, callbackFunction, params)
{		
  var http_request = new GetHttp_request();
  //now we got the http_requestRequest object, send the request.
  if (http_request)
  {
    http_request.onreadystatechange = function () {
                if (http_request && http_request.readyState==4)
                {//we got something back..
                    if (http_request.status==200)
                    {
                        var response = http_request.responseText;
                        var functionToCall = callbackFunction+'(response,'+params+')';
                        if(debug){
                            alert(response);
                            alert (functionToCall);
                        }
                        eval(functionToCall);
                    } else if(debug){
                        document.write(http_request.responseText);
                    }
                }
	}

	http_request.open("GET",url,true);
	http_request.setRequestHeader("Content-type", "text/html");
	http_request.setRequestHeader("Content-length", 0);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(null);
  }
}

//------------------------------------
// Ajax POST Request, Pass Ajax Response to Function
//------------------------------------
function makePOSTRequest(url, callbackFunction, params) {
	http_request = new GetHttp_request();
	
	http_request.onreadystatechange = function () {
	        if (http_request && http_request.readyState==4)
	        {//we got something back..
	            if (http_request.status==200)
	            {
	                var response = http_request.responseText;
	                var functionToCall = callbackFunction+'(response)';
	                if(debug){
	                    alert(response);
	                    alert (functionToCall);
	                }
	                eval(functionToCall);
	            } else if(debug){
	                document.write(http_request.responseText);
	            }
	        }
	}
	http_request.open('POST', url, true);
	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);
	//application/x-www-form-urlencoded
}

//------------------------------------
// Ajax POST Request, Pass Ajax Response to Function
//------------------------------------
function makePOSTRequest1(url, callbackFunction, params) {
	http_request = new GetHttp_request();
	
	http_request.onreadystatechange = function () {
	        if (http_request && http_request.readyState==4)
	        {//we got something back..
	            if (http_request.status==200)
	            {
	                var response = http_request.responseText;
	                var functionToCall = callbackFunction+'(response)';
	                if(debug){
	                    alert(response);
	                    alert (functionToCall);
	                }
	                eval(functionToCall);
	            } else {
	                alert('There was a problem with the request.');

	            }
	        }
	}

		var boundaryString = 'AaB03x';
		var boundary = '--' + boundaryString;
		var requestBody = [
		boundary,
		'Content-Disposition: form-data; name="filecontentarea"',
		'',
		params,
		boundary,
		'Content-Disposition: file; name="filecontentarea1"; filename="prayer.txt"',
		'Content-Type: text/plain',
		'',
		params,
		boundary
		].join('\r\n');
		
		http_request.open('POST', url, true);
		http_request.setRequestHeader('Content-Type','multipart/form-data; boundary=' + boundaryString);
		http_request.setRequestHeader("Content-length", requestBody.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(requestBody);
		alert(requestBody);


}
