// arguments: GET or POST, file 1st handling, div where 2 display 1st handling, Question to ask, form name for POST method, javascript to call/execute

function zajaxGetData (method, dataSource, divID, questMsg, formX, callBack){

//if question is passed (assume yes or no answer)

if(questMsg != '' && questMsg != null){

	var conf = confirm(questMsg);
	
	switch (conf) {
	
		case false:
	
		return;

	}


}

 

var XMLHttpRequestObject = false;

 

if(window.XMLHttpRequest){

 

	XMLHttpRequestObject = new XMLHttpRequest();
	
	 
	
	} else if (window.ActiveXObject) {
	
	XMLHttpRequestObject = new ActiveXObject ("Microsoft.XMLHTTP");

}

if (XMLHttpRequestObject) {

	var obj = document.getElementById(divID);

	//_________________________________ anticache handling IE_____________________________//
	
	if(dataSource.indexOf('?') == -1)

	{

		var anticache = randnr();

		dataSource += '?dummy=' + anticache;

	}

	else

	{

		var anticache = randnr();
		
		dataSource += '&dummy=' + anticache;

	}

	//___________________ Check for chosen method ____________________//
	
	if(method.toUpperCase() == 'GET')
	
	{

		// GET request
		
		XMLHttpRequestObject.open("GET", dataSource, true);
		
		XMLHttpRequestObject.onreadystatechange = function ()
		
		{

		// if state is ready
		
		if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
		
			obj.innerHTML = XMLHttpRequestObject.responseText;
		
		}

		// if state not yet ready
		
		else
		
		{
		
			displayLoading(divID);
		
		}

	}

	XMLHttpRequestObject.send(null);

	if(callBack)
	
		{
		
			eval(''+callBack+'()');
			//callBack();
		
		}
	
	}
	
	//_______________________ end method GET _______________________//

		if(method.toUpperCase() == 'POST' && formX != '')
		
		{
		
			var str = '';
			
			var elem = document.getElementById(formX).elements;
			
			var question = dataSource.indexOf('?');
			
			for(var i = 0; i < elem.length; i++)
			
			{
				
				// redio en checkbox
				if(elem[i].type == 'checkbox' && elem[i].checked == true || elem[i].type == 'radio' && elem[i].checked == true){
					
					
					elem[i].value = elem[i].value.replace(/€/,"&euro;");
					
					if(question == -1){
				
						str += "?";
				
					}
				
					else
				
					{
				
						str += "&";
				
					}
				
					str += elem[i].name + "=";
				
					str += encodeURIComponent(elem[i].value);
				
					question = 1;
					
				}
				
				if(elem[i].type != 'checkbox' && elem[i].type != 'radio'){
			
					elem[i].value = elem[i].value.replace(/€/,"&euro;");
					
					if(question == -1){
				
						str += "?";
				
					}
				
					else
				
					{
				
						str += "&";
				
					}
				
					str += elem[i].name + "=";
				
					str += encodeURIComponent(elem[i].value);
				
					question = 1;
				
				}
		
		}

	dataSource = dataSource+str;
	
	// POST request
	
	XMLHttpRequestObject.open("POST", dataSource, true);
	
	XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	
	XMLHttpRequestObject.setRequestHeader("Content-length", str.length);
	
	XMLHttpRequestObject.setRequestHeader("Connection", "close");
	
	XMLHttpRequestObject.onreadystatechange = function ()
	
	{

	// if state is ready
	
	if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
	
		obj.innerHTML = XMLHttpRequestObject.responseText;
		
		}
		
		// if state not yet ready
		
		else
		
		{
		
			displayLoading(divID);
		
		}
	
	}

	XMLHttpRequestObject.send(str);
	
	if(callBack){
		
		eval(''+callBack+'');
	
	}

}

//_______________________ end method POST _______________________//

}

}

 

function randnr ()

{

	var randomnumber=Math.floor(Math.random()*9999999999);
	
	return randomnumber;

}
 

// feedback during handling

function displayLoading(element) {

	if(element){
	
		var obj = document.getElementById(element);
		
		while (obj.hasChildNodes()) {
		
			obj.removeChild(obj.lastChild);
	
		}

		var image = document.createElement("img");
	
		image.setAttribute("src","images/ajax-loader.gif");
	
		image.setAttribute("alt","Loading...");
	
		obj.appendChild(image);

	}

}

function alertx() {
	
	alert('Function...');

}
