// JavaScript Document

function ajaxSend(url, divid){

	// we use a javascript feature here called "inner functions"
	// using these means the local variables retain their values after the outer function
	// has returned. this is useful for thread safety, so
	// reassigning the onreadystatechange function doesn't stomp over earlier requests.
		
	function ajaxBindCallback(){
		if (ajaxRequest.readyState == 4) {
			if (ajaxRequest.status == 200) {
				document.getElementById(divid).innerHTML = ajaxRequest.responseText;
			}
		}
	}

	// use a local variable to hold our request and callback until the inner function is called...
	var ajaxRequest = null;
	
	document.getElementById(divid).innerHTML = '<img src="/library/images/loading.gif">';
	// bind our callback then hit the server...
	if (window.XMLHttpRequest) {
		// moz et al
		ajaxRequest = new XMLHttpRequest();
		ajaxRequest.onreadystatechange = ajaxBindCallback;
		ajaxRequest.open("GET", url, true);
		ajaxRequest.send(null);
	} else if (window.ActiveXObject) {
		// ie
		ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
		if (ajaxRequest) {
			ajaxRequest.onreadystatechange = ajaxBindCallback;
			ajaxRequest.open("GET", url, true);
			ajaxRequest.send();
		}
	}
}

// Load the listing sub-page with the companies
function getListing(incPath, dirID, prodID, page, divID, entry, cid){
	
	var ajaxurl = incPath + '/ajax/dirs.cfc?method=getListingPage&dirID=' + dirID + '&prodID=' + prodID + '&countryid=' + cid + '&page=' + page + '&entry=' + entry + '&rand=' + Math.random();
	
	ajaxSend( ajaxurl, divID);
}