function ajaxFunction(){
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	return true;
}


function ajaxAction(url, preloader, ajaxDisplay, isScript, method, formName){
	if (!method) method = 'GET';
	if (!formName) formName = false;
	if ( !document.getElementById(ajaxDisplay) || !document.getElementById(preloader) ) return false;
	var preloader = document.getElementById(preloader);
	var ajaxDisplay = document.getElementById(ajaxDisplay);
	if ( ajaxFunction() ){
		var run = true;
		ajaxRequest.onreadystatechange = function(){
			if (preloader && preloader.style.display=="none"){
				preloader.style.display="block";					
			}
			if ( ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
				if (isScript){
					//alert(ajaxRequest.responseText);
					eval(ajaxRequest.responseText);
				}
				else{
					ajaxDisplay.innerHTML = ajaxRequest.responseText;
				}
				if (preloader) {
					preloader.style.display = "none";
				}
			}
			else {
				ajaxDisplay.innerHTML = "";
			}
			
		}
		
		if ( method=='POST' ){
			var datas = "";
			if ( formName ){
				datas = getFormDatas(formName);
			}
			ajaxRequest.open("POST", url, true);
			ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=ISO-8859-2");
			ajaxRequest.setRequestHeader("Content-length", datas.length);
			ajaxRequest.setRequestHeader("Connection", "close");
			ajaxRequest.send(datas);
		}
		else {
			
			ajaxRequest.open("GET", url, true);
		    ajaxRequest.send(null);
		}
	}
}

function getFormDatas(formName){
	if ( !document.getElementsByName(formName)[0] ) { return false; }
	var datas = "";
	datas = document.getElementsByName(formName)[0].elements[0].name + "=" + document.getElementsByName(formName)[0].elements[0].value;
	for ( var i=1; i<document.getElementsByName(formName)[0].elements.length; i++ ){
		datas += "&" + document.getElementsByName(formName)[0].elements[i].name + "=" + encodeURIComponent(document.getElementsByName(formName)[0].elements[i].value);
	}
	return datas;
}

