// copyright berloth.net 2007
// based on a script from http://www.sitepoint.com/article/take-command-ajax

function url2div(url, div) { // heette eerst html2div
	makeHttpRequest(url, 'html2div', div, false);
}

function makeHttpRequest(url, callback_function, options, return_xml)
{
   var http_request = false;

   if (window.XMLHttpRequest) { // Mozilla, Safari,...
       http_request = new XMLHttpRequest();
       if (http_request.overrideMimeType) {
           http_request.overrideMimeType('text/xml');
       }
   } else if (window.ActiveXObject) { // IE
       try {
           http_request = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
           try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
           } catch (e) {}
       }
   }

   if (!http_request) {
       alert('Unfortunatelly you browser doesn\'t support this feature.');
       return false;
   }
   http_request.onreadystatechange = function() {
       if (http_request.readyState == 4) {
           if (http_request.status == 200) {
               if (return_xml) {
                   eval(callback_function + '(http_request.responseXML)');
               } else {
                   eval(callback_function + '(http_request.responseText, options)');
               }
           } else {
               alert('There was a problem with the request.(Code: ' + http_request.status + ')');
           }
       }
   }
   http_request.open('GET', url, true);
   http_request.send(null);
}

function html2div (html, div) { // heette eerst send2div
	document.getElementById(div).innerHTML = html;
}

function ajax_move(url) {
	if (fdTableSort.lastSort == 'volgorde' && fdTableSort.lastDire == 'forward') {
		fdTableSort.addClass(document.getElementsByTagName('body')[0], "sort-active");
		makeHttpRequest(url, 'volgorde_wissel', '', false);
	} else {
		javascript: Dialog.alert("Please sort on <b>order</b> first.<br><br>(descending, arrow must point down)", {className: 'alphacube', width:540, okLabel: 'Close'});
	}
}

function volgorde_wissel (json) {
	//document.getElementById(div).innerHTML = html;
	var jsonvalues = eval('(' + json + ')');
	if (jsonvalues.primkeyvalue_a > 0) document.getElementById('volgorde_value_' + jsonvalues.primkeyvalue_a).innerHTML = jsonvalues.neworder_a;
	if (jsonvalues.primkeyvalue_b > 0) document.getElementById('volgorde_value_' + jsonvalues.primkeyvalue_b).innerHTML = jsonvalues.neworder_b;

	if(fdTableSort.thNode == null) {
		if (fdTableSort.lastSort != 'volgorde') {
			alert('was ' + fdTableSort.lastSort);
			var theTable = document.getElementById('theTable');
			for( var x = 0; x < theTable.tHead.rows[0].cells.length; x++ ) {
				if (theTable.tHead.rows[0].cells[x].id == 'volgorde') targ = theTable.tHead.rows[0].cells[x];
			}
			fdTableSort.thNode = targ;
			fdTableSort.addSortActiveClass();
			fdTableSort.initSort();
		} else {
			//alert('is ' + fdTableSort.lastSort);
		
		}
	};
	fdTableSort.init('theTable');
}

// copyright berloth.net 2007
// based on a script from typo3

var div;

//main function to call out of html
/*
function html2div(_url, _div) {
	div = _div;
	tx_mhajaxsearch_request(_url);
}
*/

//check return of the request
function tx_mhajaxsearch_return() {
	if (http_request.readyState == 4) {
		if(http_request.status == 200) {
			tx_mhajaxsearch_output(http_request.responseText);
		}
	}
}

//output something to the user
function tx_mhajaxsearch_output(_data) {
	//output the whole thing
	document.getElementById(div).innerHTML = _data;
	//document.getElementById(div).style.display = 'block'; // da's niet handig. Zet hem zelf maar aan. Anderen willen niet dat hij aangezet wordt!
}

//the request in an extra function
function tx_mhajaxsearch_recopen(_url) {
	//open requester
	http_request.open('GET', _url, true);
	
	//no caching please
	http_request.setRequestHeader('If-Modified-Since', 'Wed, 15 Nov 1995 00:00:00 GMT');
	http_request.setRequestHeader('Cache-Control', 'no-cache');
	
	//what to do on return
	http_request.onreadystatechange = tx_mhajaxsearch_return;
	
	//needed but what for?
	http_request.send(null);
}

//do the request
function tx_mhajaxsearch_request(_url) {
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP.4.0");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
    }

    if (!http_request) {
        alert('Aborted :( Cannot generate XMLHTTP-Instance');
        return false;
    }
    
	try {
		tx_mhajaxsearch_recopen(_url);
	} catch(e) {
		try {
			//no rights? lets try it that way ...
			netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
			tx_mhajaxsearch_recopen(_url);
		} catch (e) {
			alert(e);
		}
	}
}
