var tagNames = new Array('recId','date','title_link','title','article_summary','article_body','author','image_path','image_caption','key_words','article_layout','article_style','article_publish');
var news = new Object;
var isSetup = false;

function retrieve_and_load_form_with_news(recId) {
	// Turn off the Rich Text Editors
	deactiveEditor('article_summary');
	deactiveEditor('article_body');
	AJAXRequest("GET", "./php/manage_news.php","action=retrieve_news&recId=" + recId, '', 'load_form_with_news()');
}

function retrieve_and_load_page_with_news(recId) {
	AJAXRequest("GET", "./php/manage_news.php","action=retrieve_news&recId=" + recId, '', 'load_page_with_news()');
}

function update_and_load_form_with_news() {
	var postVars = getPostVars();
	AJAXRequest("POST", "./php/manage_news.php","action=update_news", postVars, 'handleUpdateXml()');
}

function handleUpdateXml() {
	var	error_element = myXHR.responseXML.getElementsByTagName('error')[0];
	if (error_element) {
		var error = error_element.textContent;
		alert(error);
	} else {
		var id_element = myXHR.responseXML.getElementsByTagName('recId')[0];
		if (id_element) {
			var id = id_element.textContent;
			activeEditor('article_summary');
			activeEditor('article_body');
			// retrieve_and_load_form_with_news(id);
		} else {
			alert('No idea what to do with that');
		}
	}
}

function delete_and_clear_page_of_news() {
	var postVars = getPostVars();
	AJAXRequest("POST", "./php/manage_news.php","action=delete_news", postVars, 'load_form_with_news()');
	paneswitch('media/newsEditor.php');
}
	
function load_form_with_news() {

	getNews();

	if (news['date'] != undefined && news['date'].length >= 1) document.getElementById('date').value = news['date'];
	else document.getElementById('date').value = "";

	if (news['title_link'] != undefined && news['title_link'].length >= 1) document.getElementById('title_link').value = news['title_link'];
	else document.getElementById('title_link').value = "";

	if (news['title'] != undefined && news['title'].length >= 1) document.getElementById('title').value = news['title'];
	else document.getElementById('title').value = "";

	if (news['article_summary'] != undefined && news['article_summary'].length >= 1) document.getElementById('article_summary').value = news['article_summary'];
	else document.getElementById('article_summary').value = "";

	if (news['article_body'] != undefined && news['article_body'].length >= 1) document.getElementById('article_body').value = news['article_body'];
	else document.getElementById('article_body').value = "";

	if (news['author'] != undefined && news['author'].length >= 1) document.getElementById('author').value = news['author'];
	else document.getElementById('author').value = "";

	if (news['image_path'] != undefined && news['image_path'].length >= 1) document.getElementById('images-container').innerHTML = '<img src="images/news/'+news['image_path']+'" />';
	else document.getElementById('images-container').innerHTML = '';	

	if (news['image_caption'] != undefined && news['image_caption'].length >= 1) document.getElementById('image_caption').value = news['image_caption'];
	else document.getElementById('image_caption').value = "";

	if (news['key_words'] != undefined && news['key_words'].length >= 1) document.getElementById('key_words').value = news['key_words'];
	else document.getElementById('key_words').value = "";

	if (news['article_publish'] == 'yes') {
		document.getElementById('show').setAttribute("checked","true");
		document.getElementById('hide').removeAttribute("checked","false"); 
	} else {				
		document.getElementById('hide').setAttribute("checked","true");
		document.getElementById('show').removeAttribute("checked","false"); 
	}

	// If there's an article, there will always be an ID
	// Turn the Rich Text editors on when the ID is present
	// This should take place after textarea content has been inserted
	if (news['recId'] != undefined && news['recId'].length >= 1) {
		document.getElementById('recId').value = news['recId'];
		activeEditor('article_summary');
		activeEditor('article_body');
	}
	else  document.getElementById('recId').value = "";

}

function clear_form() {
	// Turn off the Rich Text Editors
	deactiveEditor('article_summary');
	deactiveEditor('article_body');
	// Clear the textareas
	document.getElementById('article_summary').innerHTML = '';
	document.getElementById('article_body').innerHTML = '';
	// Turn the Rich Text Editors back on
	activeEditor('article_summary');
	activeEditor('article_body');

	
	// Get rid of the visable image
	document.getElementById('images-container').innerHTML = '';
	
	// Get rid of the record ID. This will allow the user to create a new post if new information is entered.
	document.getElementById('recId').value = '';
}

function load_page_with_news() {

	getNews();
	
	recId = news['recId'];
	
	if (news['title'] != undefined && news['title'].length >= 1) document.getElementById('title').innerHTML = news['title'];
	else document.getElementById('title').innerHTML = "";

	if (news['date'] != undefined && news['date'].length >= 1) {
		var string;
		var part = news['date'].split('/');
		var date = new Date(part[2],(part[0]-1),part[1],0,0,0,0);
		var monthInt = date.getMonth();
		if (monthInt == 0) string = 'January';
		if (monthInt == 1) string = 'February';
		if (monthInt == 2) string = 'March';
		if (monthInt == 3) string = 'April';
		if (monthInt == 4) string = 'May';
		if (monthInt == 5) string = 'June';
		if (monthInt == 6) string = 'July';
		if (monthInt == 7) string = 'August';
		if (monthInt == 8) string = 'September';
		if (monthInt == 9) string = 'October';
		if (monthInt == 10) string = 'November';
		if (monthInt == 11) string = 'December';
		document.getElementById('date').innerHTML = string+' '+date.getDate()+', '+date.getFullYear();
	}
	else document.getElementById('date').innerHTML = "";

	/*
	if (news['article_summary'] != undefined && news['article_summary'].length >= 1) document.getElementById('article_summary').innerHTML = news['article_summary'];
	else document.getElementById('article_summary') = "";
	*/

	if (news['article_body'] != undefined && news['article_body'].length >= 1) document.getElementById('article_body').innerHTML = news['article_body'];
	else document.getElementById('article_body').innerHTML = "";

	if (news['image_path'] != undefined && news['image_path'].length >= 1) document.getElementById('image-container').innerHTML = '<img src="images/news/'+news['image_path']+'" />';
	else document.getElementById('image-container').innerHTML = '';
	/*
	try { document.getElementById('image_path').innerHTML = news['images']; }
	catch(e) { document.getElementById('images') = ""; }
	*/
	
	if (news['image_caption'] != undefined && news['image_caption'].length >= 1) document.getElementById('image_caption').innerHTML = news['image_caption'];
	else document.getElementById('image_caption').innerHTML = "";

	if (news['author'] != undefined && news['author'].length >= 1) document.getElementById('author').innerHTML = news['author'];
	else document.getElementById('author').innerHTML = "";

	/*
	try { document.getElementById('newslink_' + recId).innerHTML =  news['date'] + " - " + news['title_link']; }
	catch(e) {  }
	*/
	
	// This loads the AddThis button when loading a news article
	// This works when entering the URL directly, or navigating here from on-site link.
	var ts = new Date().getTime();
	var addthis_share = {
		title: news['title'],
		url: 'http://'+location.hostname+location.pathname+'?time='+ts+window.location.hash
	};
	addthis.button('#addthis_button',{},addthis_share);
	window.setTimeout('scrollPane()',1000);
}

function getNews() {

	if (myXHR.responseXML) {
		var xml = myXHR.responseXML;
		var	newsElement = xml.getElementsByTagName("news_story")[0];

		for (var t=0; t<tagNames.length; t++) {
			try {
				var content = newsElement.getElementsByTagName(tagNames[t])[0].firstChild.nodeValue;
				news[tagNames[t]] = content;
			}
			catch(e) {
				news[tagNames[t]] = "";
			}
		}
	}		
}

function getPostVars() {

	// Turn off the Rich Text Editors
	deactiveEditor('article_summary');
	deactiveEditor('article_body');

	var keyValues = new Array;

	for (var e=0; e<document.forms[0].elements.length; e++) {

		var element = document.forms[0].elements[e];
		switch(element.type) {
			case 'select-one':
						if (element.selected_index != -1) {
							keyValues[keyValues.length] = element.name + '=' + element.value;
						}
						break;
			case 'radio':
						if (element.checked == true) {
							keyValues[keyValues.length] = element.name + '=' + element.value;
						}
						break;
			default :
						keyValues[keyValues.length] = element.name + '=' + escape(element.value);
						break;
		}
		
	}
	
	return keyValues.join("&");	

}

//var tinyMCE;
var tinyMCEisSetup = 0;

function setupMCE() {

	/*
	tinyMCE_GZ.init({
		themes : "advanced",
		plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
		languages : "en",
		disk_cache : true
	});
	*/
	
	tinyMCE.init({
		mode : "none",
		theme : "advanced",
		plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
		
		theme_advanced_buttons1 : "save,newdocument,|,print,|,preview,|,cut,copy,paste,pastetext,pasteword,|,search,replace,|,undo,redo,|,insertdate,inserttime",
		theme_advanced_buttons2 : "forecolor,backcolor,|,styleselect,formatselect,fontselect,fontsizeselect",
		theme_advanced_buttons3 : "bullist,numlist,|,outdent,indent,blockquote,|insertdate,inserttime,preview,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull",
		theme_advanced_buttons4 : "tablecontrols",
		theme_advanced_buttons5 : "ltr,rtl,|,fullscreen,insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
		theme_advanced_buttons6 : "hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,advhr,cleanup,help,|,link,unlink,anchor,|,code",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_resizing : true,
		paste_retain_style_properties: 'all',
		width : "450" 
	});
	tinyMCEisSetup=1;

}


function toggleEditor(id) {
	if (!tinyMCEisSetup) {
		setupMCE();
	}
	if (!tinyMCE.get(id)) {
		tinyMCE.execCommand('mceAddControl', false, id);
	} else {
		tinyMCE.execCommand('mceRemoveControl', false, id);
	}
}

function activeEditor(id) {
	if (!tinyMCEisSetup) setupMCE();
	if (!tinyMCE.get(id)) tinyMCE.execCommand('mceAddControl', false, id);
}
function deactiveEditor(id) {
	if (!tinyMCEisSetup) setupMCE();
	if (tinyMCE.get(id)) tinyMCE.execCommand('mceRemoveControl', false, id);
}

var NewsEditorLoaded = 1;

function newsEditorLoaded() {
	// Turn on Rich Text Editors
	activeEditor('article_summary');
	activeEditor('article_body');
	
	var check = document.getElementById('upload-browse');
	if (check == undefined) alert('not found');
	
	var uploader = new plupload.Uploader({
		runtimes: 'flash,html5,gears,silverlight,browserplus',
		browse_button: 'upload-browse',
		url: 'php/upload.php',
		
		flash_swf_url: 'js/plupload/plupload.flash.swf',
		silverlight_xap_url: 'js/plupload/plupload.silverlight.xap',
		
		filters: [{title:'Image files',extensions:'jpg,gif,png'}]
	});

	uploader.bind('Init', function(up, params) {
		return true;
	});
	
	uploader.init();
	
	uploader.bind('FilesAdded', function(up, files) {
		var file = null;
		var namefield = document.getElementById('image-name-field');
		var container = document.getElementById('images-container');
		container.innerHTML = 'Uploading . . .';
		for (i=0;i<files.length;i++) {
			file = files[i];
			namefield.setAttribute('value',file.name);
		}
		uploader.start();
	});

	uploader.bind('UploadProgress', function(up, file) {
	});

	uploader.bind('Error', function(up, err) {
		var container = document.getElementById('images-container');
		container.innerHTML = err.message;
		alert(err.message);
	});

	uploader.bind('FileUploaded', function(up, file) {
		var filename = file.name;
		filename = filename.replace(/ /g,'+');
		var container = document.getElementById('images-container');
		var namefield = document.getElementById('image-name-field');
		container.innerHTML = '<img src="images/news/temp/'+filename+'" />';
		namefield.setAttribute('value','');
		var imgfield = document.getElementById('image-field');
		imgfield.setAttribute('value',filename);
	});
	
}
