//	Cross-platform ajax
function getURL_extended(url, fn, nodeNum) {
	if (typeof window.ActiveXObject != 'undefined' ) {
		var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		var xmlhttp = new XMLHttpRequest();
	}
	xmlhttp.open("GET", url, true);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			fn(xmlhttp.responseText, nodeNum);
		}
	};
	xmlhttp.send(null);
}

//	Make available as a global
var global_resource_data = new Array();

//	Request body content from a remote server to load into the page
function load_linked_resources(){
	
	//	List of tables on the page. Each table holds db connection data
	var linked_on_page = document.getElementsByTagName('table');
	var linked_on_page_length = linked_on_page.length;
	
	for(var i = 0; i < linked_on_page_length; i++){
		
		//	List of cells in each table
		var temp_resource_data = linked_on_page[i].getElementsByTagName('td');
		var temp_resource_array = new Array();
		
		temp_resource_array[0] = (String(temp_resource_data.item(0)) != 'null' && String(temp_resource_data.item(0).firstChild) != 'null')? String(temp_resource_data.item(0).firstChild.nodeValue): '';
		temp_resource_array[1] = (String(temp_resource_data.item(1)) != 'null' && String(temp_resource_data.item(1).firstChild) != 'null')? String(temp_resource_data.item(1).firstChild.nodeValue): '';
		temp_resource_array[2] = (String(temp_resource_data.item(2)) != 'null' && String(temp_resource_data.item(2).firstChild) != 'null')? String(temp_resource_data.item(2).firstChild.nodeValue): '';
		temp_resource_array[3] = (String(temp_resource_data.item(3)) != 'null' && String(temp_resource_data.item(3).firstChild) != 'null')? String(temp_resource_data.item(3).firstChild.nodeValue): '';
		global_resource_data[i] = temp_resource_array;
		
		//	Grab a unique ID so it can be referenced by insert_data
		if(String(temp_resource_array[2]) != '' && String(temp_resource_array[3]) != '') {
			var divID = String(temp_resource_array[2]) + String(temp_resource_array[3]);
			
			//	Build url and make the call
			var url = "webServices/frontend.asp?action=load" + temp_resource_array[0] + "&remoteSite=" + temp_resource_array[1] + "&remoteSection=" + temp_resource_array[2] + "&remoteID=" + temp_resource_array[3];
			getURL_extended(url, insert_data, divID);
		}
	}
}

//	Replace the dbconnect table with the loaded content
function insert_data(response, nodeNum){
	var segments = response.split("|-|");
	
	if(String(document.getElementById(String(nodeNum))) != 'null') {
		
		document.getElementById(String(nodeNum)).innerHTML = segments[0];
		
		if(String(global_resource_data[nodeNum]) != 'undefined') {
			switch(global_resource_data[nodeNum][0]){
				
				case "Summary":
					var creditText = document.createElement('span');
					var attrib = document.createAttribute('class');
					attrib.value = 'credit_link';
					creditText.setAttributeNode(attrib);
					creditText.innerHTML = segments[1];
					var pTags = document.getElementById(nodeNum).parentNode.getElementsByTagName('p');
					var lastPTag = pTags[pTags.length-1];
					
					lastPTag.insertBefore(creditText, lastPTag.firstChild);
					break;
				
				case "Single":			
					var creditText = document.createElement('span');
					var attrib = document.createAttribute('class');
					attrib.value = 'credit_link';
					creditText.setAttributeNode(attrib);
					creditText.innerHTML = segments[1];
					//var pTags = document.getElementById(nodeNum).parentNode.getElementsByTagName('p');
					//var lastPTag = pTags[pTags.length-1];
					
					document.getElementById(nodeNum).parentNode.insertBefore(creditText, document.getElementById(nodeNum));
					break;
				
				default:
			}
		}
	}
}
