function isDefined(variable)
{
	return (!(!(document.getElementById(variable))))
}

function reportPageError(request) {
	alert("An Error Occurred: "+request);
}

function clearData() {
	if (isDefined('data_view')) {
		$('data_view').remove();
	}

	if (isDefined('data_editor')) {
		$('data_editor').remove();
	}


}

function answerSuccess(object, response) {
	parts = response.split("|");
	
	$('faq_answer'+parts[0]).innerHTML = parts[1];
}

function getAnswer(id) {
	$('faq_answer'+id).innerHTML = "Loading the answer...";

	var pars = "action=answer&id="+id;
	var upAjax = new Ajax.Updater('faq_answer'+id, '../include/Ajax.php', {method: 'post', enctype: 'multipart/form-data', parameters: pars, onFailure: reportPageError, insertion: answerSuccess});
}

function pageSuccess(object, response) {
	parts = response.split("|");
	
	clearData();
	
	$('status'+parts[0]).innerHTML = '';
	$('results'+parts[0]).innerHTML = parts[1];
}

function getPage(id_div, id, name) {
	$('status'+id_div).innerHTML = "Loading page components...";

	var pars = "action=page&id_div="+id_div+"&id="+id+"&name="+name;
	var upAjax = new Ajax.Updater('results'+id_div, '../include/Ajax.php', {method: 'post', enctype: 'multipart/form-data', parameters: pars, onFailure: reportPageError, insertion: pageSuccess});
}

function componentSuccess(object, response) {
	clearData();
	
	parts = response.split("|");
	
	$('component_status'+parts[0]).innerHTML = '';
	$('component_results'+parts[0]).innerHTML = parts[1];
}

function getComponent(id_div, id, page_id, page_name) {
	$('component_status'+id_div).innerHTML = "Loading page component data types...";

	var pars = "action=component&id_div="+id_div+"&id="+id+"&page_id="+page_id+"&page_name="+page_name;
	var upAjax = new Ajax.Updater('component_results'+id_div, '../include/Ajax.php', {method: 'post', enctype: 'multipart/form-data', parameters: pars, onFailure: reportPageError, insertion: componentSuccess});
}

function dataSuccess(object, response) {
	clearData();
	
	parts = response.split("|||");
	
	$('data_type_status'+parts[0]).innerHTML = '';

	new Insertion.After($('tableBorder_80'), parts[1]);
	new Insertion.After($('data_view'), parts[2]);
	
	if (parts.length==4) {
		$('data_type_results'+parts[0]).innerHTML = parts[3];
	}
}

function getData(id_div, id, data_name, page_id, page_name) {

	$('data_type_status'+id_div).innerHTML = "Loading page component data type data...";

	$('data_type_results'+id_div).innerHTML = "";

	var pars = "action=data&id_div="+id_div+"&id="+id+"&data_name="+data_name+"&page_id="+page_id+"&page_name="+page_name;
	var upAjax = new Ajax.Updater('data_type_results'+id_div, '../include/Ajax.php', {method: 'post', enctype: 'multipart/form-data', parameters: pars, onFailure: reportPageError, insertion: dataSuccess});
}

function changeDataSuccess(object, response) {
	clearData();
	
	parts = response.split("|||");

	$('data_status'+parts[0]).innerHTML = '';

	new Insertion.After($('tableBorder_80'), parts[1]);
	new Insertion.After($('data_view'), parts[2]);
	
}

function changeData(type, id_div, id, data_id, data_name, page_id, page_name) {
	if (type=="Remove") {
		if (!confirm("Do you really want to remove the data?")) {
			return;
		}
	}
	
	$('data_status'+id_div).innerHTML = "Starting data function "+type+"...";

	var pars = "action=change&type="+type+"&id_div="+id_div+"&id="+id+"&data_id="+data_id+"&data_name="+data_name+"&page_id="+page_id+"&page_name="+page_name;
	var upAjax = new Ajax.Updater('data'+id_div, '../include/Ajax.php', {method: 'post', enctype: 'multipart/form-data', parameters: pars, onFailure: reportPageError, insertion: changeDataSuccess});
	
}