/** returns a browser specific alpha image layer.
* - imgPNG - PNG with alpha channel
* - imgGIF - failsafe transparent GIF image
* - imgSpacer - transparent spacer GIF image
*/


function strICompare(str1, str2) {
	if (str1.toLocaleUpperCase) {
		str1 = str1.toLocaleUpperCase();
		str2 = str2.toLocaleUpperCase();
	} else {
		str1 = str1.toUpperCase();
		str2 = str2.toUpperCase();
	}
		
	if (str1 < str2)
		return -1;
	else if (str1 > str2)
		return 1;
	else
		return 0;
}

/* Begin: MBG Ajax functions */
var arrMBGAjaxObjects = new Array();

function set_parameters()
{
	var params='';
	
	if(document.getElementsByTagName('input'))  
	{
		var inpts = document.getElementsByTagName('input');
		for ( i=0;i<inpts.length;i++)
		{
			if(inpts[i].type == "checkbox")
			{
				if(inpts[i].checked == true)
				{
	//				alert(inpts[i].name+'='+inpts[i].value)
					params+=inpts[i].name+'='+inpts[i].value+'&';
				}
			}
			else
				params+=inpts[i].name+'='+inpts[i].value+'&';
		}
	}
	  
	if(document.getElementsByTagName('textarea'))  
	{
		var txtars = document.getElementsByTagName('textarea');
		for ( i=0;i<txtars.length;i++)
		{
			params+=txtars[i].name+'='+txtars[i].value+'&'
		}
	}
	
	if(document.getElementsByTagName('select'))  
	{
		var slcts = document.getElementsByTagName('select');
		for ( i=0;i<slcts.length;i++)
		{
			params+=slcts[i].name+'='+slcts[i].value+'&'
		}
	}
	
	params = params.substring(0,params.length-1)
//	alert(params);
	return params;
} // function set_parameters()

function MBGAjaxProcessChange( index ) {
	var oMBGAjax = arrMBGAjaxObjects[index];
	if (oMBGAjax.targetDivID != null)
		var obj = document.getElementById(oMBGAjax.targetDivID);
	if (oMBGAjax == null) return;
	if ((obj != null) && (oMBGAjax.showWaitingState == 1) )
			obj.innerHTML = "Loading...";
	// State 4 ise Sayfa yuklenmistir.
	//Ve tabii ki HTTP status 200 olmali	
	if (oMBGAjax.XML.readyState == 4 && oMBGAjax.XML.status == 200) {
		// do callback if it is set
		if (oMBGAjax.callback != null)
			oMBGAjax.callback(oMBGAjax.XML.responseText);
		
		if (oMBGAjax.targetDivID != null) {
			if (obj != null)
				obj.innerHTML = oMBGAjax.XML.responseText;
		}
			
		// clear the referred object after it is used
		arrMBGAjaxObjects[index] = null;
	}
}

function MBGAjaxPOST(url, callback, params) {
	MBGAjaxInternal(url, callback, "POST", params);
}

function MBGAjax(url, callback, method, params) {
	MBGAjaxInternal(url, callback, method, params);
}

function MBGAjaxDivCallBack(targetDivID, url, callback, params, showWaitingState) {
	MBGAjaxInternal(url, callback, "POST", params, targetDivID, showWaitingState);
}

function MBGAjaxDIV(url, targetDivID, params,  showWaitingState) {
	MBGAjaxInternal(url, null, "POST", params, targetDivID,  showWaitingState);
}

// Executes an asynchronous AJAX operation using GET method and launches 
// the callback with the response text when the request finishes.
function MBGAjaxInternal(url, callback, method, params, targetDivID, showWaitingState) {
	if (method == null) method = "GET";
	
	if (showWaitingState == null) showWaitingState = 0;
	
	var oXML = null;
	
	// Internet Explorer ise
	try {
		oXML = new ActiveXObject( "Msxml2.XMLHTTP" );
	} catch( e ) {
		try {
			oXML = new ActiveXObject( "Microsoft.XMLHTTP" );
		}
		catch( oc ) { req = null; }
	}

	// Mozailla veya Safari ise
	if ( oXML == null && typeof(XMLHttpRequest) != "undefined" ) {
		oXML = new XMLHttpRequest();
	}

	// save fields to a new object
	var index = arrMBGAjaxObjects.length;
	arrMBGAjaxObjects[index] = new Object();
	arrMBGAjaxObjects[index].XML = oXML;
	arrMBGAjaxObjects[index].callback = callback;
	arrMBGAjaxObjects[index].targetDivID = targetDivID;
	arrMBGAjaxObjects[index].showWaitingState =showWaitingState;
	
	// Sayfa yuklendiyse processChange fonksiyonunu cagiriyoruz.
	if ( oXML != null ) {
		oXML.onreadystatechange = function() {
			MBGAjaxProcessChange(index);
		};
		oXML.open( method, url, true );
		if (strICompare(method, "POST") == 0)
			oXML.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		oXML.send( params );
	}
}
/* End: MBG Ajax functions */
