﻿var isIE =(document.all) ? true : false;
var isFF = isIE ? false : true;

function makeRequest(url, parameters, callback_function, isReturnXml) 
{
  http_request = false;
  
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType) {
        http_request.overrideMimeType('text/xml');
     }
  } 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;
  }

  http_request.onreadystatechange = function(){
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200)
			{
				if (isReturnXml) 
				{
					eval(callback_function + '(http_request.responseXML)');
				}
				else 
				{
					eval(callback_function + '(http_request.responseText)');
				}
			}
			else
			{
				alert('There was a problem with the request.(Code: ' + http_request.status + ')');
			}
		}
  }
  http_request.open('GET', url + "?" + parameters, true);
  http_request.send(null);
}

function makePostRequest(url, parameters, callback_function, isReturnXml) 
{
  http_request = false;
  
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType) {
        http_request.overrideMimeType('text/xml');
     }
  } 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;
  }

  http_request.onreadystatechange = function(){
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200)
			{
				if (isReturnXml) 
				{
					eval(callback_function + '(http_request.responseXML)');
				}
				else 
				{
					eval(callback_function + '(http_request.responseText)');
				}
			}
			else
			{
				alert('There was a problem with the request.(Code: ' + http_request.status + ')');
			}
		}
  }
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
}