// JavaScript functions
function closepage(){
	document.getElementById('codebox').style.display = "none";
}

function closespecialnotice(){
	document.getElementById('special_notice').style.display = "none";
}

function createobject(){
	var request_object;
	var browser = navigator.appName;
	
	if (browser == "Microsoft Internet Explorer"){
		request_object = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		request_object = new XMLHttpRequest();
	}
	
	return request_object;
}

function displayeditor(){
	
	if (req.readyState == 4){
	
		var result = req.responseText;
		
		document.getElementById('code').value = result;
		document.getElementById('codebox').style.display = "inline";
		
		if ( document.getElementById('code').value == '' ){
			document.getElementById('code').focus();
		} else {
			document.getElementById('reason').focus();
		}
	
	}
}

function displaypage(){
	
	if (req.readyState == 4){
		
		var result = req.responseText;
		document.getElementById('content').innerHTML = result;
		
	}
}

function editpage(page, version){
	
	if (typeof version == "undefined") {
		version = 0;
	}
	
	if ( document.getElementById('code').value == ''){
	
		req = createobject();
		req.onreadystatechange = displayeditor;
		req.open("GET", "callers/getpage.php?page=" + page  + "&version=" + version, true);
		req.send(null);
	
	} else {
	
		document.getElementById('codebox').style.display = "inline";
		document.getElementById('reason').focus();
	
	}
}

function hideeditor(){
	document.getElementById('codebox').style.display = "none";
}

function loadpage(page){
	
	req = createobject();
	req.onreadystatechange = displaypage;
	req.open("GET", "callers/loadpage.php?page=" + escape(page), true);
	req.send(null);
}

function preview(){
	
	var code = document.getElementById("code").value;
	
	req = createobject();
	req.onreadystatechange = function(){ previewdone(); }
	req.open("POST", "callers/preview.php", true);
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	req.send("code=" + escape(code));
}

function previewdone(){
	
	if (req.readyState == 4){
		
		var result = req.responseText;
		
		document.getElementById("content").innerHTML = result;
		
		closepage();
	}
}

function savepage(){
	
	var page = document.getElementById("page").value;
	var code = document.getElementById("code").value;
	var reason = document.getElementById("reason").value;
	var captcha = document.getElementById("captcha").value;
	
	req = createobject();
	req.onreadystatechange = function(){ savepagedone(page); }
	req.open("POST", "callers/savepage.php", true);
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	req.send("page=" + escape(page) + "&code=" + escape(code) + "&reason=" + escape(reason) + "&captcha=" + escape(captcha));
}

function savepagedone(page){
	
	if (req.readyState == 4){
		
		var result = req.responseText;
		alert(result);
		
		if (result == "Page updated successfully!"){
			
			hideeditor();
			document.getElementById("code").value = '';
			document.getElementById("reason").value = '';
			loadpage(page);
			
		}
	}
}