var noAjax="Sayfayı kullanabilmek için AJAX destekli bir tarayıcıya ihtiyacınız var.";
//var loadingText="Yükleniyor...";
var loadingText='<div align="center"><br><img src="images/ajax-loader.gif" /><br></div>';

var dynamicContentRequest;

function getRequestObject()
{
	var requestObject = false;
	if(window.XMLHttpRequest && !(window.ActiveXObject))
	{
		try
		{
			requestObject = new XMLHttpRequest();
		}
		catch(e)
		{
			requestObject = false;
		}
	}
	else if(window.ActiveXObject)
	{
		try
		{
			requestObject = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				requestObject = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{
				requestObject = false;
			}
		}
	}
	return requestObject;
}

function abortNDestroyRequestObject(requestObject)
{
	if (requestObject)
	{
		if ((requestObject.readyState!=4) && (requestObject.readyState!=0))
			requestObject.abort();
		delete requestObject;
	}
}

function makeAJAXGetRequest(adress, changeFunction)
{
	var resultRequest = getRequestObject();
	if (resultRequest)
	{
		resultRequest.open("GET", adress, true);
		resultRequest.onreadystatechange = function() {changeFunction(resultRequest)};
		resultRequest.send(null);
	}
	else
		alert(noAjax);
	return resultRequest;
}

function makeAJAXPostRequest(adress, parameters, changeFunction)
{
	var resultRequest = getRequestObject();
	if (resultRequest)
	{
		resultRequest.open("POST", adress, true);
		resultRequest.onreadystatechange = function() {changeFunction(resultRequest)};
		resultRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    resultRequest.setRequestHeader("Content-length", parameters.length);
    resultRequest.setRequestHeader("Connection", "close");
		resultRequest.send(parameters);		
	}
	else
		alert(noAjax);
	return resultRequest;
}

function comfortableAJAXRequest(method, adress, parameters, completedFunction, loadingFunction)
{
	var triggerFunction=function (requestObject)
	{
		if (requestObject.readyState == 4)
		{
			if (completedFunction)
				completedFunction(requestObject);
			delete requestObject;
		}
		else if (loadingFunction)
			loadingFunction(requestObject);
	};
	if (method=="GET")
		return makeAJAXGetRequest(adress + ((parameters)?'?' + parameters:''), triggerFunction);
	else if (method=="POST")
		return makeAJAXPostRequest(adress, parameters, triggerFunction);
	else
		return false;
}

function loadDynamicContent(theURL, objectId)
{
	abortNDestroyRequestObject(dynamicContentRequest);
	document.getElementById(objectId).innerHTML=loadingText;
	var triggerFunc = function(requestObject)
	{
		if (requestObject.readyState == 4)
		{
			document.getElementById(objectId).innerHTML=requestObject.responseText;
			delete requestObject;
		}
	};
	return dynamicContentRequest = makeAJAXGetRequest(theURL, triggerFunc);
}

function getNodeValue(mainItem, nodeName, defaultVal)
{
	defaultVal=(defaultVal) ? defaultVal : "";
	var val;
	try
	{
		val=mainItem.getElementsByTagName(nodeName)[0].firstChild.nodeValue;
		val=(val!=undefined) ? val : defaultVal;
	}
	catch(e)
	{
		val=defaultVal;
	}
	finally
	{
		return val;
	}
}