var IFrameObj; // our IFrame object
function callToServer(query_url, divel) {
	if (!document.createElement) {return true};
	var IFrameDoc;
	
	// Set url for data query in iframe
	
	if (query_url=='') {return false}; // no state has been selected
	var URL = query_url
	
	//provide a "loading" message
	if (divel != '') {
	  var responseMessage = document.getElementById(divel);
	  responseMessage.innerHTML = '<h2>LOADING DATA...<h2>';
	}
	
	if (!IFrameObj && document.createElement) {
		// create the IFrame and assign a reference to the
		// object to our global variable IFrameObj.
		// this will only happen the first time 
		// callToServer() is called
		try {
			var tempIFrame=document.createElement('iframe');
			tempIFrame.setAttribute('id','RSIFrame');
			tempIFrame.style.border='0px';
			tempIFrame.style.width='0px';
			tempIFrame.style.height='0px';
			IFrameObj = document.body.appendChild(tempIFrame);
			
			if (document.frames) {
				// this is for IE5 Mac, because it will only
				// allow access to the document object
				// of the IFrame if we access it through
				// the document.frames array
				IFrameObj = document.frames['RSIFrame'];
			}
		} catch(exception) {
			// This is for IE5 PC, which does not allow dynamic creation
			// and manipulation of an iframe object. Instead, we'll fake
			// it up by creating our own objects.
			iframeHTML='<iframe id="RSIFrame" style="';
			iframeHTML+='border:0px;';
			iframeHTML+='width:0px;';
			iframeHTML+='height:0px;';
			iframeHTML+='"><\/iframe>';
			document.body.innerHTML+=iframeHTML;
			IFrameObj = new Object();
			IFrameObj.document = new Object();
			IFrameObj.document.location = new Object();
			IFrameObj.document.location.iframe = document.getElementById('RSIFrame');
			IFrameObj.document.location.replace = function(location) {
				this.iframe.src = location;
			}
		}
	}
	
	if (navigator.userAgent.indexOf('Gecko') !=-1 && !IFrameObj.contentDocument) {
		// we have to give NS6 a fraction of a second
		// to recognize the new IFrame
		setTimeout('callToServer("'+query_url+'")',10);
		return false;
	}
	
	if (IFrameObj.contentDocument) {
		// For NS6
		IFrameDoc = IFrameObj.contentDocument; 
	} else if (IFrameObj.contentWindow) {
		// For IE5.5 and IE6
		IFrameDoc = IFrameObj.contentWindow.document;
	} else if (IFrameObj.document) {
		// For IE5
		IFrameDoc = IFrameObj.document;
	} else {
		return true;
	}
	
	IFrameDoc.location.replace(URL);
	return false;
}

// handleResponse is passed three parameters when called from the onload
// event of the pages loaded in the hidden IFRAME:
//	divel_data: the element to load the data from in media_associations.php for the iframe
//	divel_display: the element to load the data into from the iframe
//	doc: the document object of the page loaded in the IFRAME
function handleResponse(divel_data, divel_display, doc) {
	// get a reference to the DIV containing the data
	var dataEl = doc.getElementById(divel_data)
	var newContent = dataEl.innerHTML;
    var data_row = document.getElementById(divel_display);
	data_row.innerHTML = newContent;
}

function deleteRecord(id, record_type, assoc_id, type)
{
	//rpcPath is set in the header of the editing page
	href = rpcPath + 'upload_rpc.php?assoc_id=' +  assoc_id + '&id=' + id + '&type=' + type + '&record_type=' + record_type + '&display_mode=file_delete';
	//prompt('what?', href);
	callToServer(href, type);
}