/*
DEFAULT CALLBACK FUNCTIONS FOR MAP FUNCTIONALITY 
*/
function mapDataAvailable() {
   if (xmlUpdateMap.readyState != 4)  {
   		return;
   	}
	var responseText = xmlUpdateMap.responseText;
	var headID = document.getElementsByTagName("head")[0];
	var newScript = document.createElement('script');
	newScript.type = 'text/javascript';
	newScript.text = responseText;
	headID.appendChild(newScript);

	
 	preloadImages();
 	createIcons();
	
	loadMap();  // this also calls finishmap  NB - none of these are XMLHTTP calls
	callSearchHTTP(); // this is an XMLHTTP call with a callback of setupSearch
}


function showInfoWindow() {
	   if (xmlGetInfo.readyState != 4)  {
			return;
		}
	// global variables to tell the system where to pop up the info box
	lat = infolat;
	lng = infolng;

	var responseText = xmlGetInfo.responseText;
	responseText = responseText.replace(/^\s+/g,"");
	// split off any javascript
	var readonlyhtml = responseText.split("|XX|");
	var scriptsource = readonlyhtml[2];
	var tablename = readonlyhtml[0];
	var taggedName = "";
	var desc = readonlyhtml[1];
	var html1 = desc; //createInfo(this.layername,taggedName,desc);
	var headingStringSearch = "generateInfoTabs"+tablename+"Search";
	if (scriptsource) {
		if (scriptsource.length > 0) {
			// need to change the function name to something specific here, as otherwise it clashes with those being
			// used for the general map move event that occurs as part of the 'goto' process
			scriptsource = scriptsource.replace("generateInfoTabs"+tablename,"generateInfoTabs"+tablename+"Search");
			// we will only have source info if there is a photo
			var headID = document.getElementsByTagName("head")[0];
			var newScript = document.createElement('script');
			newScript.type = 'text/javascript';
			newScript.text = scriptsource;
			headID.appendChild(newScript);
		   }
	}

	  var htmlHeading = generateLayerName();
	  var html2 = eval(headingStringSearch)();
	  var html3 = getInfoCloseButton();

	//var infoHTML = createInfo(layername,taggedName,desc) 
	showInfo(html1,htmlHeading,html3,lat,lng,html2);
}



function setupSearch() {
	if (xmlSearchMap.readyState != 4)  {
		return;
	}

	var responseText = xmlSearchMap.responseText;
	var splitresult = responseText.split("|XX|");
	// assign the initial text for the search page display DIV
	searchText = splitresult[0];
	
	var headID = document.getElementsByTagName("head")[0];
	var newScript = document.createElement('script');
	newScript.type = 'text/javascript';
	newScript.text = splitresult[1];
	headID.appendChild(newScript);
	
	//setupAddContentTab1();
	// get all the required javascript to process data adding etc?
	setupJavaScript();  // this is an XMLHTTP call

}
function loadJavaScript() {
   if (xhReqJava.readyState != 4)  { 
   		return;
   	}
	var serverResponse = xhReqJava.responseText;
	if (serverResponse) {
		if (serverResponse.length > 0) {
			// we will only have source info if there is a photo
			var headID = document.getElementsByTagName("head")[0];
			var newScript = document.createElement('script');
			newScript.type = 'text/javascript';
			newScript.text = serverResponse;
			headID.appendChild(newScript);
		   }
	}

	// map moved trigger
	if (isGoogleMap===true) {
		mapMoveGM();
	}
	else {
		mapMoveOL();
	}

	// finally, update the data on the map
	updateMap(true);
}




function nextChild() {
   if (xhReq.readyState != 4)  { 
   		return;
   	}
	   var response = xhReq.responseText;

	   if (response.indexOf("No further records") > -1) {
	   	alert("No further records");
	   }
	  else {
	  	processReadOnlyChild(response);
	  }
		
}
function prevChild() {
   if (xhReq.readyState != 4)  { 
   		return;
   	}
	   var response = xhReq.responseText;

	   if (response.indexOf("No previous records") > -1) {
	   	alert("No previous records");
	   }
	   else {
	   	processReadOnlyChild(response);
	   }

}


function showReadOnlyChild() {

   if (xhReq.readyState != 4)  { 
   		return;
   	}
	
	var response = xhReq.responseText;
	processReadOnlyChild(response);
}


function showEditTab() {
	if (xhReq.readyState != 4)  { 
   		return;
   	}
//Clear point - Added by KC
       clearCaptureOverlays();
       // Clear Point -END   	
var serverResponse = xhReq.responseText;
   	serverResponse = serverResponse.replace(/^\s+/g,"");
	if (currentTab == "legend") {
		trackLayerStatus();
	}
	editText = serverResponse;
	
	storeCurrentDIVText();
	currentTab = "edit";

	document.getElementById('controlcontent').innerHTML = editText;
	
	
	// if the user is already logged in, then keep on going to generate the edit lists 
	if ( editText.indexOf("Edit Approved Data") > -1) {
		generateEditJavascript();
	}
}


function loadEditJavascript() {

	if (xhReq.readyState != 4)  { 
   		return;
   	}
	var serverResponse = xhReq.responseText;
	serverResponse = serverResponse.replace(/^\s+/g,"");
	//alert(serverResponse);
	var headID = document.getElementsByTagName("head")[0];
	var newScript = document.createElement('script');
	newScript.type = 'text/javascript';
	newScript.text = serverResponse;
	headID.appendChild(newScript);

//	generateListsForModeration(0);
	generateListsForAdmin(0);

}

function isUserLoggedIn() {

	if (xhReq.readyState != 4)  { 
   		return;
   	}
	var serverResponse = xhReq.responseText;
	serverResponse = serverResponse.replace(/^\s+/g,"");
	addContentText1 = serverResponse;
	document.getElementById('controlcontent').innerHTML = addContentText1;
	return false;
}

