var browser = identifyBrowser();
var xmlHttp = null;

try
{    // Firefox, Opera 8.0+, Safari
	xmlHttp = new XMLHttpRequest();
}
catch (e)
{    // Internet Explorer
    try
    {
    	xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
    	try
        {
        	xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
      	catch (e)
        {
        	alert("Your browser does not support AJAX!");
        }
     }
}

var showCss;
if (browser.indexOf("ie") != -1)
{
	showCss = "inline";
}
else
{
	showCss = "table-row";
}

function requestData(url, mode, data, callbackName)
{
	if (mode == 'POST')
	{
		var sendData = 'sendData=' + data;
		xmlHttp.open('POST', url, true);
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlHttp.send(sendData);
	}
	else
	{
		xmlHttp.open('GET', url, true);
		xmlHttp.send(null);
	}
	
	xmlHttp.onreadystatechange = function()
	{
		if (xmlHttp.readyState < 1)
		{
			// Data not ready yet...
			return false;
		}
		if (xmlHttp.readyState == 4)
		{
			// Data is ready and loaded; call callback method
			// in parent web page to process returned data... 
			eval(callbackName + ";");
		}
	}
}

function identifyBrowser()
{
	var agent = navigator.userAgent.toLowerCase();
	if (typeof navigator.vendor != "undefined" && navigator.vendor == "KDE" && typeof window.sidebar != "undefined")
  	{
  		return "kde";
  	}
 	else if (typeof window.opera != "undefined")
  	{
    	var version = parseFloat(agent.replace(/.*opera[\/ ]([^ $]+).*/, "$1"));
		if (version >= 7)
    	{
      		return "opera7";
    	}
    	else if (version >= 5)
    	{
      		return "opera5";
    	}

    	return false;
  	}
  	else if (typeof document.all != "undefined")
  	{
    	if (typeof document.getElementById != "undefined")
    	{
      		var browser = agent.replace(/.*ms(ie[\/ ][^ $]+).*/, "$1").replace(/ /, "");

      		if (typeof document.uniqueID != "undefined")
      		{
        		if (browser.indexOf("5.5") != -1)
        		{
          			return browser.replace(/(.*5\.5).*/, "$1");
        		}
        		else
        		{
          			return browser.replace(/(.*)\..*/, "$1");
        		}
      		}
      		else
      		{
        		return "ie5mac";
      		}
    	}

    	return false;
  	}
  	else if (typeof document.getElementById != "undefined")
  	{
    	if (navigator.vendor.indexOf("Apple Computer, Inc.") != -1)
    	{
      		if (typeof window.XMLHttpRequest != "undefined")
      		{
        		return "safari1.2";
      		}

      		return "safari1";
    	}
    	else if (agent.indexOf("gecko") != -1)
    	{
      		return "mozilla";
    	}
  	}
  	return false;
}