var page_parsed = true;
var subchange = false;
var orig_title = document.title;
function parse(text, container, e)
{
	text = document.getElementById(text);
	text = encodeURIComponent(text.value);

	ajax.setMethod('POST', 'text=' + text);
	ajax.get(ROOT+'Page'+MSEP+URL+PSEP+'Preview', function(str) {
		page_parsed = true;
		setText(container, str);
		ge('TOC-toggle').onclick = function() { var e = ge('TOC-content'); if (showing(e)) { hide(e); setText(this,'Show'); } else { show(e); setText(this,'Hide'); } return false; };
		setText(ge('tab-preview-btn'),'View Page');
		return showtab('tab-preview','tab-holder',ge('tab-preview-btn'));
	});

	return false;
}
function save_page()
{
	text = document.getElementById('text');
	text = encodeURIComponent(text.value);

	sidebar = ge('sidebar-field');
	sidebar = encodeURIComponent(sidebar.value);

	var main_section = ge('main-section').value;
	var main_section_link = ge('main-section-link').value;

	var subheader_type = ge('subheader-type').options[ge('subheader-type').selectedIndex].value;

	switch(subheader_type)
	{
		case '0':
			var subcontent = document.getElementById('subheader-text');
			subcontent = encodeURIComponent(subcontent.value);
			break;
		case '1':
			var subcontent = document.getElementById('subheader-quote').value + '|' + document.getElementById('subheader-quote-author').value;
			break;
		case '2':
			var subcontent = document.getElementById('subheader-box-text');
			subcontent = encodeURIComponent(subcontent.value);
			break;
	}

	var subimage = document.getElementById('subheader-image').value;

	var subheader = ge('subheader').checked ? 1 : 0;
	var locked = ge('locked').checked ? 1 : 0;
	var enabled = ge('enabled').checked ? 1 : 0;
	var onmenu = ge('onmenu').checked ? 1 : 0;

	ajax.setMethod('POST', 'text=' + text + '&sidebar=' + sidebar + '&main_section=' + main_section + '&main_section_link=' + main_section_link + '&subheader=' + subheader + '&subheader_type=' + subheader_type + '&subcontent=' + subcontent + '&subimage=' + subimage + '&locked=' + locked + '&enabled=' + enabled + '&onmenu=' + onmenu);
	ajax.get(ROOT+'Page'+MSEP+URL+PSEP+'Save', function(str) {

		if (str == '[NA]') alert('You do not have the right permissions to do that.');
		hide(ge('tab-save-btn'));
		hide(ge('tab-restore-btn'));
		setText(ge('tab-save-btn'),'Save');
		ge('text').disabled = false;
		ge('subheader-text').disabled = false;
		ge('subheader-image').disabled = false;
		ge('subheader').disabled = false;
		ge('locked').disabled = false;
		ge('enabled').disabled = false;
		document.title = orig_title;
		if (subchange == true) window.location = window.location;
	});

	return false;
}
function user_view(id)
{

	var li = ge('users').getElementsByTagName('li');
	for (var i = 0; i < li.length; i++) {
		if (id == 0) {
			if (hidden(li[i])) {
				show(li[i]);
			}
		} else {
			if (li[i].className != 'c'+id) {
				hide(li[i]);
			} else if (hidden(li[i])) {
				show(li[i]);
			}
		}
	}
	return false;
}

function startCallback()
{
//	ge('subheader-image').disabled = true;
	ge('upload-img').disabled = true;
	ge('upload-img').value = 'Uploading...';
}
function completeCallback(imgUploadResult)
{
//	ge('subheader-image').disabled = false;
	ge('upload-img').disabled = false;
	ge('upload-img').value = 'Upload';
	var t = imgUploadResult.split(':');

	if (t[0] == 'NA')
	{
		if (t[1] == 0) alert('The file you uploaded is not a supported image format. Supported formats are: jpg / gif / png.');
		else if (t[1] == 1) alert('File could not be uploaded, please try again.');
		else if (t[1] == 2) alert('There was an error during the upload process, please try again.');
	}
	else
	{
		ge('subheader-img-prev').setAttribute('src',imgUploadResult);
		alert('Image successfully uploaded!');
	}
}

function init()
{
	lastTab = ge('tab-preview-btn');

	ge('tab-save-btn').onclick = function() {
		setText(this,'Saving...')
		ge('text').disabled = true;
		ge('subheader-text').disabled = true;
		ge('subheader-image').disabled = true;
		ge('subheader').disabled = true;
		ge('locked').disabled = true;
		ge('enabled').disabled = true;
		document.title = 'Saving...';
		return save_page();
	};

	ge('edit-form').onsubmit = function() {
		return AIM.submit(this, {'onStart' : startCallback, 'onComplete' : completeCallback});
	};

	ge('tab-edit-btn').onclick = function() { return showtab('tab-edit','tab-holder',this); };
	ge('tab-options-btn').onclick = function() { return showtab('tab-options','tab-holder',this); };
	ge('create-page').onclick = function() { return showtab('tab-edit','tab-holder',ge('tab-edit-btn')); };
	ge('locked').onclick = function() { show(ge('tab-save-btn')); }
	ge('enabled').onclick = function() { show(ge('tab-save-btn')); }
	ge('onmenu').onclick = function() { show(ge('tab-save-btn')); }
	ge('showtitle').onclick = function() { show(ge('tab-save-btn')); }

	ge('main-section').onkeydown = function() { show(ge('tab-save-btn')); }
	ge('main-section-link').onkeydown = function() { show(ge('tab-save-btn')); }

	ge('text').onkeydown = function() { page_parsed = false; show(ge('tab-save-btn')); };

	ge('sidebar-field').onkeydown = function() { page_parsed = false; show(ge('tab-save-btn')); };

	ge('tab-delete').onclick = function() { return confirm('Are you sure you want to delete this page?'); }

	ge('subheader-type').onchange = function()
	{
		show(ge('tab-save-btn'));
		subchange = true;
		hide(ge('subheader-plain-form'));
		hide(ge('subheader-quote-form'));
		hide(ge('subheader-box-form'));

		switch(this.options[this.selectedIndex].value)
		{
			case '0':
				show(ge('subheader-plain-form'));
				break;
			case '1':
				show(ge('subheader-quote-form'));
				break;
			case '2':
				show(ge('subheader-box-form'));
				break;
		}
	};

	ge('subheader-quote').onkeydown = function() { subchange = true; show(ge('tab-save-btn')); };
	ge('subheader-quote-author').onkeydown = function() { subchange = true; show(ge('tab-save-btn')); };
	ge('subheader-box-text').onkeydown = function() { subchange = true; show(ge('tab-save-btn')); };

	ge('subheader-text').onkeydown = function() { subchange = true; show(ge('tab-save-btn')); };
	ge('subheader').onclick = function() {
		subchange = true;
		show(ge('tab-save-btn'));
		if (this.checked == true) show(ge('subheader-subform'));
		else hide(ge('subheader-subform'));
	};

	ge('tab-preview-btn').onclick = function() {
		if (!page_parsed)
		{
			setText(this,'Loading...')
			return parse('text', ge('tab-preview'), this);
		}
		else
		{
			showtab('tab-preview', 'tab-holder', this);
			return false;
		}
	};

	ge('TOC-toggle').onclick = function() { var e = ge('TOC-content'); if (showing(e)) { hide(e); setText(this,'Show'); } else { show(e); setText(this,'Hide'); } return false; };

	tab.watch('text');
	tab.watch('subheader-text');
}