// arguments: GET or POST, file 1st handling, div where 2 display 1st handling, , form name for POST method, yes/no question, file 2nd handling, div where 2 display 2st handling

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+'');
		
		}
	
	}
	
	//_______________________ end method GET _______________________//

		if(method.toUpperCase() == 'POST' && formX != '')
		
		{
		
			var str = '';
			var elem = 0;
			
			//elem = document.getElementById(''+formX+'').elements;
			
			question = dataSource.indexOf('?');
			
			for(var i = 0; i < document.forms[''+formX+''].elements.length; i++)
			
			{
				
				// redio en checkbox
				if(document.forms[''+formX+''].elements[i].type == 'checkbox' && document.forms[''+formX+''].elements[i].checked == true || document.forms[''+formX+''].elements[i].type == 'radio' && document.forms[''+formX+''].elements[i].checked == true){
					
					
					document.eval(formX)[i].value = document.eval(formX)[i].value.replace(/€/,"&euro;");
					
					if(question == -1){
				
						str += "?";
				
					}
				
					else
				
					{
				
						str += "&";
				
					}
				
					str += document.eval(formX)[i].name + "=";
				
					str += encodeURIComponent(elem[i].value);
				
					question = 1;
					
					}
				if(document.forms[''+formX+''].elements[i].type != 'checkbox' && document.forms[''+formX+''].elements[i].type != 'radio'){
			
					document.forms[''+formX+''].elements[i].value = document.forms[''+formX+''].elements[i].value.replace(/€/,"&euro;");
					
					if(question == -1){
				
						str += "?";
				
					}
				
					else
				
					{
				
						str += "&";
				
					}
				
					str += document.forms[''+formX+''].elements[i].name + "=";
				
					str += encodeURIComponent(document.forms[''+formX+''].elements[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","ajax-loader.gif");

image.setAttribute("alt","Loading...");

obj.appendChild(image);

}

 

}