var NORMAL_STATE = 4;
var PREFIX = 'includes/';
var http = getHTTPObject();
var status;
var infoPane;
var sectionList;
var currentSections;
var listing;
var form;

function sendDBInfo(me)
{
			var db = me.db.value;
			var dbUser = me.dbUser.value;
			var dbPass = me.dbPass.value;
			var dbHost = me.dbHost.value;
			status = document.getElementById('dbStatus');
			status.innerHTML ="";
			status.innerHTML = "Connecting...";
			http.open('GET', PREFIX + 'saveDBInfo.php?db=' + db +'&dbUser=' + dbUser +'&dbPass=' + dbPass +'&dbHost=' +dbHost, true);
			status.innerHTML = "Connected. Saving...";
			http.onreadystatechange = handleDBSave;
			http.send(null);
}
function handleDBSave()
{
		if (http.readyState == NORMAL_STATE) {
		status.innerHTML = "Changes Saved.";
		results = http.responseText.split('|');
	}
}

function saveSettings(me)
{
		var epp = me.epp.value;
		var dsort = me.dsort.value;
		var ltype = me.ltype.value;
		var titleColor = me.titleColor.value.replace('#','');
		var briefColor = me.briefColor.value.replace('#','');
		var infoColor = me.infoColor.value.replace('#','');
		var linkColor = me.linkColor.value.replace('#','');
		status = document.getElementById('disStatus');
		status.innerHTML ="";
		status.innerHTML = "Connecting...";
		http.open('GET', PREFIX + 'common.php?action=settings&epp='+epp+'&dsort='+dsort+'&ltype='+ltype+'&titleColor='+titleColor+'&briefColor='+briefColor+'&infoColor='+infoColor+'&linkColor='+linkColor, true);
		status.innerHTML = "Connected. Saving...";
		http.onreadystatechange = handleSettingsSave;
		http.send(null);
}

function handleSettingsSave()
{
	if (http.readyState == NORMAL_STATE) {
		status.innerHTML = "Changes Saved.";
		results = http.responseText.split('|');
	}
}

function addContent(me)
{
			form = me;
			var title = me.title.value;
			var parent = me.parent.value;
			var bdesc = me.bdesc.value;
			var desc = getTAContents();
			var time = me.time.value;
			
			if(me.news.checked){
				var news = 1;
			}
			else{
				var news = 0;
			}
			
			var intIndexOfMatch = desc.indexOf( "&nbsp;" );
			while (intIndexOfMatch != -1){
			// Relace out the current instance.
			desc = desc.replace( "&nbsp;", " " )
			// Get the index of any next matching substring.
			intIndexOfMatch = desc.indexOf( "&nbsp;" );
			}
			var intIndexOfMatch = desc.indexOf( "&amp;" );
			while (intIndexOfMatch != -1){
			// Relace out the current instance.
			desc = desc.replace( "&amp;", "and" )
			// Get the index of any next matching substring.
			intIndexOfMatch = desc.indexOf( "&amp;" );
			}
			var intIndexOfMatch = desc.indexOf( "&" );
			while (intIndexOfMatch != -1){
			// Relace out the current instance.
			desc = desc.replace( "&", "and" )
			// Get the index of any next matching substring.
			intIndexOfMatch = desc.indexOf( "&" );
			}
			status = document.getElementById('contentStatus');
			infoPane = document.getElementById('infoPane');
			infoPane.className = 'info';
			status.innerHTML ="";
			status.innerHTML = "Connecting...";
			var params = 'action=sContent&title=' + title +'&parent=' + parent +'&bdesc=' + bdesc +'&desc=' +desc+'&news='+news+'&time='+time;
			http.open('POST', PREFIX + 'common.php', true);
			http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			status.innerHTML = "Connected. Creating Content...";
			http.onreadystatechange = handleContentSave;
			http.send(params);
}
function handleContentSave()
{
		if (http.readyState == NORMAL_STATE) {
		status.innerHTML = "Content Saved.";
		var code = document.getElementById('secFunction');
		var instruct = document.getElementById('instruct');
		instruct.style.visibility = "visible";
		code.style.visibility = "visible";
		code.innerHTML = http.responseText;
		clearTA();
		form.reset();
	}
}

function updateUForm(id,user,pass,name,level,email)
{
	document.userform.username.value = user;
	document.userform.password.value = pass;
	document.userform.name.value = name;
	document.userform.id.value = id;
	document.userform.email.value = email;
	if(level == 1)
	{
		document.userform.admin.checked = true;
	}
	if(level == 0)
	{
		document.userform.admin.checked = false;
	}
	document.userform.deleteBtn.disabled = false;
}

function resetForm(me)
{
	me.reset();
	me.id.value = 0;
	me.deleteBtn.disabled = true;
}

function deleteUser(me)
{
	if(me.id.value == 0)
	{
		return false;
	}
	var agree=confirm("Are you sure you wish to delete this user? This is irreversable.");
	if(agree){
	var uid = me.id.value;
	var name = me.name.value;
	status = document.getElementById('catStatus');
	status.innerHTML ="";
	status.innerHTML = "Connecting...";
	http.open('GET', PREFIX + 'common.php?action=dUser&id=' + uid,true);
	status.innerHTML = "<img src=\"images/loading.gif\">Connected. Deleting...";
	http.onreadystatechange = function() { 
	
	if (http.readyState == NORMAL_STATE){
		status.innerHTML ="Deleted " + name + ".";
		http.open('GET', PREFIX + 'common.php?action=drawUserList', true);
		http.onreadystatechange = redrawUserList;
		http.send(null);
		form.reset();
		form.id.value = 0;
		form.deleteBtn.disabled = true;
		sectionList = document.getElementById('userList');
		sectionList.innerHTML = "Refreshing";
		}
	
	}
	http.send(null);
	}
	else
		return false ;
}

function saveUser(me)
{
	form = me;
	username = me.username.value;
	password = me.password.value;
	realname = me.name.value;
	email = me.email.value;
	id = me.id.value;
	if(me.admin.checked){
		level = 1;
	}
	else
		level = 0;
	status = document.getElementById('catStatus');
	status.innerHTML ="";
	status.innerHTML = "Connecting...";
	var params = 'action=sUser&username=' + username +'&password=' + password +'&realname=' + realname +'&id=' +id+'&level='+level+"&email="+email;
	http.open('POST', PREFIX + 'common.php', true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	status.innerHTML = "Connected. Saving User...";
	http.onreadystatechange = handleUserSave;
	http.send(params);
}

function handleUserSave(){
	if (http.readyState == NORMAL_STATE) {
		
		status.innerHTML = "User Saved.";
		
		sectionList = document.getElementById('userList');
		sectionList.innerHTML = "Refreshing";
		
		http.open('GET', PREFIX + 'common.php?action=drawUserList', true);
		http.onreadystatechange = redrawUserList;
		http.send(null);
		form.reset();
		form.id.value = 0;
}
}

function redrawUserList(){
	if (http.readyState == NORMAL_STATE) {
		sectionList.innerHTML = http.responseText;
		sectionList = null;
	}
}
function upContent(me)
{
			var title = me.title.value;
			var parent = me.parent.value;
			var bdesc = me.bdesc.value;
			var desc = getTAContents();
			var intIndexOfMatch = desc.indexOf( "&nbsp;" );
			while (intIndexOfMatch != -1){
			// Relace out the current instance.
			desc = desc.replace( "&nbsp;", " " )
			// Get the index of any next matching substring.
			intIndexOfMatch = desc.indexOf( "&nbsp;" );
			}
			var intIndexOfMatch = desc.indexOf( "&amp;" );
			while (intIndexOfMatch != -1){
			// Relace out the current instance.
			desc = desc.replace( "&amp;", "and" )
			// Get the index of any next matching substring.
			intIndexOfMatch = desc.indexOf( "&amp;" );
			}
			var intIndexOfMatch = desc.indexOf( "&" );
			while (intIndexOfMatch != -1){
			// Relace out the current instance.
			desc = desc.replace( "&", "and" )
			// Get the index of any next matching substring.
			intIndexOfMatch = desc.indexOf( "&" );
			}
			var news = me.news.value;
			var cid = me.cid.value;
			status = document.getElementById('contentStatus');
			infoPane = document.getElementById('infoPane');
			infoPane.className = 'info';
			status.innerHTML ="";
			status.innerHTML = "Connecting...";
			var params = 'action=uContent&title=' + title +'&parent=' + parent +'&bdesc=' + bdesc +'&desc=' +desc+'&news='+news+'&cid='+cid;
			http.open('POST', PREFIX + 'common.php', true);
			http.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
			//http.overrideMimeType('text/html');
			status.innerHTML = "Connected. Updating Content...";
			http.send(params);
			http.onreadystatechange = handleContentUp;
}
function handleContentUp()
{
		if (http.readyState == NORMAL_STATE) {
			status.innerHTML = "Content Updated.";
			var code = document.getElementById('secFunction');
			var instruct = document.getElementById('instruct');
			instruct.style.visibility = "visible";
			code.style.visibility = "visible";
			code.innerHTML = http.responseText;
	}
}

function saveSection(me)
{
			var name = me.name.value;
			var desc = me.description.value;
			var parent = me.parent.value;
			status = document.getElementById('catStatus');
			infoPane = document.getElementById('infoPane');
			infoPane.className = 'info';
			status.innerHTML ="";
			status.innerHTML = "Connecting...";
			http.open('GET', PREFIX + 'common.php?action=sSection&name=' + name +'&desc=' + desc +'&parent=' + parent, true);
			status.innerHTML = "Connected. Creating...";
			//Clear Form
			me.name.value = '';
			me.description.value = '';
			me.parent.value = 0;
			http.onreadystatechange = handleSectionSave;
			http.send(null);
}
function handleSectionSave(me)
{
		if (http.readyState == NORMAL_STATE) {
			
			status.innerHTML = "Section Created.";
			var code = document.getElementById('secFunction');
			var instruct = document.getElementById('instruct');
			instruct.style.visibility = "visible";
			code.style.visibility = "visible";
			code.innerHTML = http.responseText;
			
			sectionList = document.getElementById('sectionList');
			sectionList.innerHTML = "Refreshing";
			
			http.open('GET', PREFIX + 'common.php?action=drawSectionList', true);
			http.onreadystatechange = redrawSectionList;
			http.send(null);
	}
}

function redrawSectionList()
{
	if (http.readyState == NORMAL_STATE) {
		sectionList.innerHTML = http.responseText;
		sectionList = null;
	}
	
	currentSections = document.getElementById('currentSections');
	currentSections.innerHTML = "Refreshing";
	
	http.open('GET', PREFIX + 'common.php?action=redrawSectionList', true);
	http.onreadystatechange = currentSectionList;
	http.send(null);
}

function currentSectionList()
{
	if (http.readyState == NORMAL_STATE) {
		currentSections.innerHTML = http.responseText;
		currentSections = null;
	}
}
function loadNewListing(me)
{
	listing = document.getElementById('listing');
	http.open('GET', PREFIX + 'common.php?action=loadListings&id=' + me.options[me.selectedIndex].value,true);
	listing.innerHTML = "<div align=\"center\"><img src=\"images/loading.gif\">Retrieving...</div>";
	http.onreadystatechange = function() { if (http.readyState == NORMAL_STATE){listing.innerHTML = http.responseText;}}
	http.send(null);
}

function loadNewSection(me,pl)
{
	listing = document.getElementById('main');
	http.open('GET', 'cms/' +PREFIX + 'common.php?action=specSection&id=' + me.options[me.selectedIndex].value+'&pl='+pl,true);
	listing.innerHTML = "<div align=\"center\"><img src=\"images/loading.gif\">Retrieving...</div>";
	http.onreadystatechange = function() { if (http.readyState == NORMAL_STATE){listing.innerHTML = http.responseText;}}
	http.send(null);
}

function loadNewContent(sid,pl,page,filter)
{
	listing = document.getElementById('main');
	http.open('GET', 'cms/' +PREFIX + 'common.php?action=nextListing&sid=' + sid+'&pl='+pl+'&resultpage='+page+'&filter='+filter,true);
	listing.innerHTML = "<div align=\"center\" class=\"loading\"><img src=\"images/loading.gif\">Retrieving...</div>";
	http.onreadystatechange = function() { if (http.readyState == NORMAL_STATE){listing.innerHTML = http.responseText;}}
	http.send(null);
}

function deleteContent(id)
{
	var agree=confirm("Are you sure you wish to delete?");
	if(agree){
	listing = document.getElementById(id);
	http.open('GET', PREFIX + 'common.php?action=deleteContent&id=' + id,true);
	listing.innerHTML = "<div align=\"center\" class=\"loading\"><img src=\"images/loading.gif\">Deleting...</div>";
	http.onreadystatechange = function() { if (http.readyState == NORMAL_STATE){listing.innerHTML ="<div align=\"center\" style=\"border:1px solid #666666;\">DELETED</div>";}}
	http.send(null);
	}
	else
		return false ;
}
function deleteSection(id)
{
	var agree=confirm("Are you sure you wish to delete? If you have added content to this section already you will not be able to filter or view most/all of it.");
	if(agree){
	listing = document.getElementById(id);
	http.open('GET', PREFIX + 'common.php?action=deleteSection&id=' + id,true);
	listing.innerHTML = "<div align=\"center\" class=\"loading\"><img src=\"images/loading.gif\">Deleting...</div>";
	http.onreadystatechange = function() { if (http.readyState == NORMAL_STATE){listing.innerHTML ="<div align=\"center\" style=\"border:1px solid #666666;\">DELETED</div>";}}
	http.send(null);
	}
	else
		return false ;
}

function updateSection(id)
{
	var agree=confirm("Are you sure you wish to save?");
	if(agree){
	listing = document.getElementById(id);
	var name = listing.name.value;
	var descr = listing.descr.value;
	http.open('GET', PREFIX + 'common.php?action=saveSection&id=' + id+'&name='+name+'&descr='+descr,true);
	http.onreadystatechange = function() { if (http.readyState == NORMAL_STATE){alert("Saved");}}
	http.send(null);
	}
	else
		return false ;
}

function addToNews(form)
{
	var email = form.email.value;
	if(email==""){
		return;
	}
	listing = document.getElementById('newsStatus');
	http.open('GET', 'cms/' +PREFIX + 'common.php?action=addToNews&email=' + email,true);
	listing.innerHTML = "<div align=\"center\"><img src=\"images/loading.gif\">Adding...</div>";
	http.onreadystatechange = function() { if (http.readyState == NORMAL_STATE){listing.innerHTML ="<div align=\"center\" class=\"status\" style=\"height:100%;\"><br /><br /><br /><br />You have been added to our newsletter. Thank you.</div>";}}
	http.send(null);
}