// functions
function updateBox($selector)
{
	$("#" + $selector).hide(800);
	$.get("/" + $selector + ".php", function(data){
	$("#" + $selector).html(data);
	$("#" + $selector).show(1000);
	});
}

// handlers functions
var formChecker = null;
function swfUploadLoaded() {
	var btnSubmit = document.getElementById("btnSubmit");
	
	btnSubmit.onclick = doSubmit;
	btnSubmit.disabled = true;

	formChecker = window.setInterval(validateForm, 1000);
	
	validateForm();
}

function validateForm() {
	var txtType = document.getElementById("postform_upload_type");
	var txtTitle = document.getElementById("postform_upload_title");
	var txtMedia = document.getElementById("postform_upload_media");
	var txtFileName = document.getElementById("postform_upload_file");
	var txtUser = document.getElementById("postform_upload_user");
	
	var isValid = true;
	if (txtType.value === "") {
		isValid = false;
	}
	if (txtTitle.value === "") {
		isValid = false;
	}
	if (txtMedia.value === "") {
		isValid = false;
	}
	if (txtFileName.value === "") {
		isValid = false;
	}
	if (txtUser.value === "") {
		isValid = false;
	}
	swfu.addPostParam('filetitle',txtTitle.value);
	swfu.addPostParam('fileuser',txtUser.value);
	swfu.addPostParam('filetype',txtType.value);
	swfu.addPostParam('filemedia',txtMedia.value);
	
	document.getElementById("btnSubmit").disabled = !isValid;
}
// Called by the submit button to start the upload
function doSubmit(e) {
	if (formChecker != null) {
		clearInterval(formChecker);
		formChecker = null;
	}
	
	e = e || window.event;
	if (e.stopPropagation) {
		e.stopPropagation();
	}
	e.cancelBubble = true;
	
	try {
		swfu.startUpload();
	} catch (ex) {

	}
	return false;
}
 // Called by the queue complete handler to submit the form
function uploadDone() {
	try {
		document.forms[0].submit();
	} catch (ex) {
		alert("Error submitting form");
	}
}

function fileDialogStart() {
	var txtFileName = document.getElementById("postform_upload_file");
	txtFileName.value = "";

	this.cancelUpload();
}

function fileQueueError(file, errorCode, message)  {
	try {
		// Handle this error separately because we don't want to create a FileProgress element for it.
		switch (errorCode) {
		case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:
			alert("You have attempted to queue too many files.\n" + (message === 0 ? "You have reached the upload limit." : "You may select " + (message > 1 ? "up to " + message + " files." : "one file.")));
			return;
		case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
			alert("The file you selected is too big.");
			this.debug("Error Code: File too big, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			return;
		case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
			alert("The file you selected is empty.  Please select another file.");
			this.debug("Error Code: Zero byte file, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			return;
		case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
			alert("The file you choose is not an allowed file type.");
			this.debug("Error Code: Invalid File Type, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			return;
		default:
			alert("An error occurred in the upload. Try again later.");
			this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			return;
		}
	} catch (e) {
	}
}
function fileQueued(file) {
	try {
		var txtFileName = document.getElementById("postform_upload_file");
		txtFileName.value = file.name;
	} catch (e) {
	}

}
function fileDialogComplete(numFilesSelected, numFilesQueued) {
	validateForm();
}
function uploadProgress(file, bytesLoaded, bytesTotal) {

	try {
		var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);

		file.id = "singlefile";	// This makes it so FileProgress only makes a single UI element, instead of one for each file
		var progress = new FileProgress(file, this.customSettings.progress_target);
		progress.setProgress(percent);
		progress.setStatus("Uploading, please be patient...");
	} catch (e) {
	}
}
function uploadSuccess(file, serverData) {
	try {
		file.id = "singlefile";	// This makes it so FileProgress only makes a single UI element, instead of one for each file
		var progress = new FileProgress(file, this.customSettings.progress_target);
		progress.setComplete();
		progress.setStatus("Success! Refreshing data...");
		progress.toggleCancel(false);
		
		if (serverData === " ") {
			this.customSettings.upload_successful = false;
		} else {
			this.customSettings.upload_successful = true;
			document.getElementById("hidFileID").value = serverData;
		}
		
	} catch (e) {
	}
}

function uploadComplete(file) {
	try {
		if (this.customSettings.upload_successful) {
			this.setButtonDisabled(true);
			uploadDone();
		} else {
			file.id = "singlefile";	// This makes it so FileProgress only makes a single UI element, instead of one for each file
			var progress = new FileProgress(file, this.customSettings.progress_target);
			progress.setError();
			progress.setStatus("File rejected");
			progress.toggleCancel(false);
			
			var txtFileName = document.getElementById("postform_upload_file");
			txtFileName.value = "";
			validateForm();

			alert("There was a problem with the upload.\nThe server did not accept it.");
		}
	} catch (e) {
	}
}
function uploadError(file, errorCode, message) {
	try {
		
		if (errorCode === SWFUpload.UPLOAD_ERROR.FILE_CANCELLED) {
			// Don't show cancelled error boxes
			return;
		}
		
		var txtFileName = document.getElementById("postform_upload_file");
		txtFileName.value = "";
		validateForm();
		
		// Handle this error separately because we don't want to create a FileProgress element for it.
		switch (errorCode) {
		case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:
			alert("There was a configuration error.  You will not be able to upload a resume at this time.");
			this.debug("Error Code: No backend file, File name: " + file.name + ", Message: " + message);
			return;
		case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
			alert("You may only upload 1 file.");
			this.debug("Error Code: Upload Limit Exceeded, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			return;
		case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
		case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
			break;
		default:
			alert("An error occurred in the upload. Try again later.");
			this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			return;
		}

		file.id = "singlefile";	// This makes it so FileProgress only makes a single UI element, instead of one for each file
		var progress = new FileProgress(file, this.customSettings.progress_target);
		progress.setError();
		progress.toggleCancel(false);

		switch (errorCode) {
		case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
			progress.setStatus("Upload Error");
			this.debug("Error Code: HTTP Error, File name: " + file.name + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
			progress.setStatus("Upload Failed.");
			this.debug("Error Code: Upload Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.IO_ERROR:
			progress.setStatus("Server (IO) Error");
			this.debug("Error Code: IO Error, File name: " + file.name + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
			progress.setStatus("Security Error");
			this.debug("Error Code: Security Error, File name: " + file.name + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
			progress.setStatus("Upload Cancelled");
			this.debug("Error Code: Upload Cancelled, File name: " + file.name + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
			progress.setStatus("Upload Stopped");
			this.debug("Error Code: Upload Stopped, File name: " + file.name + ", Message: " + message);
			break;
		}
	} catch (ex) {
	}
}
function purgeSub(aid)
{
	jConfirm('Are you sure you want to purge all submissions?', 'Confirmation Dialog',
	function(r) {
		if(r==true)
		{
			$("#postform_option").slideDown(500);
			$("#option_s").removeClass().addClass('messagebox').text('Purging all entries...').fadeIn(800);
			$.post("/ajax_interface.php", {type:"purgeall",auth:aid,rand:Math.random()},
			function(data)
			{
		
				if(data=='yes')
				{
					$("#option_s").fadeTo(200, 0.1,
					function()
					{
						$(this).html('All entries have been wiped out!').addClass('messageboxok').fadeTo(900,1);
						setTimeout('$("#postform_option").slideUp(500)', 2000);
					});
				}
				else
				{
					$("#option_s").fadeTo(200, 0.1,
					function()
					{
						$(this).html('You do not have the power to do this.').addClass('messageboxerror').fadeTo(900,1);
						setTimeout('$("#postform_option").slideUp(500)', 2000);
					});
				}
			});
		return false;
		}
	});
}
function deleteSub(sid,aid)
{
	jConfirm('Are you sure you want to delete this entry?', 'Confirmation Dialog',
	function(r) {
		if(r==true)
		{
			$("#postform_status").slideDown(500);
			$("#msgbox_col_s").removeClass().addClass('messagebox').text('Deleting...').fadeIn(800);
			$.post("/ajax_interface.php", {type:"deletesub",deleteid:sid,auth:aid,rand:Math.random()},
			function(data)
			{
				if(data=='yes')
				{
					$("#msgbox_col_s").fadeTo(200, 0.1,
					function()
					{
						$(this).html('&nbsp;Entry deleted successfully!').addClass('messageboxok').fadeTo(900,1);
						setTimeout('$("#postform_status").slideUp(500)', 1000);
						setTimeout('updateBox("status_box")', 1000);
		   	 	 		setTimeout('document.location="/submit/"', 2600);
		   	 	 	
					});
				}
				else
				{
					$("#msgbox_col_s").fadeTo(200, 0.1,
					function()
					{
						$(this).html('You cannot do this.').addClass('messageboxerror').fadeTo(900,1);
					});
				}
			
			});
		return false;
		}
	});
}
function deleteNews(nid,aid)
{
	jConfirm('Are you sure you want to delete this update?', 'Confirmation Dialog',
	function(r) {
		if(r==true)
		{
			$("#postform_updates").slideDown(500);
			$("#msgbox_col_u").removeClass().addClass('messagebox').text('Deleting...').fadeIn(800);
			$.post("/ajax_interface.php", {type:"deletenews",deleteid:nid,auth:aid,rand:Math.random()},
			function(data)
			{
				if(data=='yes')
				{
					$("#msgbox_col_u").fadeTo(200, 0.1,
					function()
					{
						$(this).html('&nbsp;Update deleted successfully!').addClass('messageboxok').fadeTo(900,1);
						setTimeout('$("#postform_updates").slideUp(500)', 1000);
						setTimeout('updateBox("updates_box")', 1000);
					});
				}
				else
	 			{
	 			$("#msgbox_col_u").fadeTo(200,0.1,
	 			function()
	 			{
	 			$(this).html('There was an error.').addClass('messageboxerror').fadeTo(900,1);
	 			});
	 			}
			});
		return false;
		}
	});
}
function deleteEvent(eid,aid)
{
	jConfirm('Are you sure you want to delete this event?', 'Confirmation Dialog',
	function(r) {
		if(r==true)
		{
			$("#postform_events").slideDown(500);
			$("#msgbox_col_e").removeClass().addClass('messagebox').text('Deleting...').fadeIn(800);
			$.post("/ajax_interface.php", {type:"deleteevent",deleteid:eid,auth:aid,rand:Math.random()},
			function(data)
			{
				if(data=='yes')
				{
					$("#msgbox_col_e").fadeTo(200, 0.1,
					function()
					{
						$(this).html('&nbsp;Event deleted successfully!').addClass('messageboxok').fadeTo(900,1);
						setTimeout('$("#postform_events").slideUp(500)', 1000);
						setTimeout('updateBox("events_box")', 1000);
					});
				}
				else
	 			{
	 			$("#msgbox_col_e").fadeTo(200,0.1,
	 			function()
	 			{
	 			$(this).html('There was an error.').addClass('messageboxerror').fadeTo(900,1);
	 			});
	 			}
			});
		return false;
		}
	});
}
function acceptSub(sid,aid)
{
	$("#msgbox_col_ae").removeClass().addClass('messagebox').text('Accepting entry...').fadeIn(800);
	$.post("/ajax_interface.php", {type:"acceptsub",acceptid:sid,auth:aid,rand:Math.random()},
	
	function(data)
	{
		if(data=='yes')
		{
			$("#msgbox_col_ae").fadeTo(200, 0.1,
					function()
					{
						$(this).html('Entry accepted successfully!').addClass('messageboxok').fadeTo(900,1);
						setTimeout('updateBox("admin_entries")', 1000);
					});
		}
		else
		{
		$("#msgbox_col_ae").fadeTo(200,0.1,
		function()
		{
		$(this).html('There was an error.').addClass('messageboxerror').fadeTo(900,1);
		});
		}
	});
}
function rejectSub(sid,aid)
{
	$("#msgbox_col_ae").removeClass().addClass('messagebox').text('Rejecting entry...').fadeIn(800);
	$.post("/ajax_interface.php", {type:"rejectsub",rejectid:sid,auth:aid,rand:Math.random()},
	
	function(data)
	{
		if(data=='yes')
		{
			$("#msgbox_col_ae").fadeTo(200, 0.1,
					function()
					{
						$(this).html('Entry rejected successfully!').addClass('messageboxok').fadeTo(900,1);
						setTimeout('updateBox("admin_entries")', 1000);
					});
		}
		else
		{
		$("#msgbox_col_ae").fadeTo(200,0.1,
		function()
		{
		$(this).html('There was an error.').addClass('messageboxerror').fadeTo(900,1);
		});
		}
	});
}

$(document).ready(function() 
{
$("#postform_upload_type").msDropDown();
$("#postform_upload_title").focus(function() {
	if($("#postform_upload_type").val() == "a")
	{
		$("#postform_upload_media_box").show();
		$("#postform_upload_media").val("");
	}
	else
	{
		$("#postform_upload_media_box").hide();
		$("#postform_upload_media").val("N/A");
	}
});
// sign up form	
$("div.#show_sign_button").click(function(){
		$("div.#show_log_button").fadeTo(500,0.2);
		$("div#panel_sign").fadeTo(0,0);
	$("div#panel_sign").css({
		height: "960px"
	});
	$("div#panel_sign").fadeTo(500,1);
	$("div.panel_button_sign").toggle();

});
$("div#hide_sign_button").click(function(){
		$("div.#show_log_button").fadeTo(500,1);
		$("div#panel_sign").fadeTo(500,0);
	$("div#panel_sign").animate({
		height: "0px"
	}, 500);
	$("div.panel_button_sign").toggle();
	
});	
// login form
$("div.#show_log_button").click(function(){
	$("div.#show_sign_button").fadeTo(500,0.2);
	$("div#panel").fadeTo(0,0);
	$("div#panel").css({
		height: "610px"
	});
	$("div#panel").fadeTo(500,1);
	$("div.panel_button").toggle();

});	

$("div#hide_log_button").click(function(){
	$("div.#show_sign_button").fadeTo(500,1);
	$("div#panel").fadeTo(500,0);
	$("div#panel").animate({
		height: "0px"
	},500);
	$("div.panel_button").toggle();
	
});
/*$("input#pass_form").blur(function()
{
		$("#login_form").trigger('submit');
});*/

/* updates */
$("#updates_panel_button").click(function(){
		if ($("#postform_updates").is(":hidden")){
			$("#postform_updates").slideDown(500);
		}
		else {
			$("#postform_updates").slideUp(500);
		}
});
$("#msg_panel_button").click(function(){
		if ($("#postform_msg").is(":hidden")){
			$("#postform_msg").slideDown(500);
		}
		else {
			$("#postform_msg").slideUp(500);
		}
});
$("#events_panel_button").click(function(){
		if ($("#postform_events").is(":hidden")){
			$("#postform_events").slideDown(500);
		}
		else {
			$("#postform_events").slideUp(500);
		}
});
$("#send_events").click(function()
{
		$("#msgbox_col_e").removeClass().addClass('messagebox').text('Sending in your event...').fadeIn(1000);
		$.post("ajax_interface.php", {type:"events",body:$('#postform_events_body').val(),eventdate:$('#postform_events_eventdate').val(),title:$('#postform_events_title').val(),auth:$('#postform_events_auth').val(),rand:Math.random()},
		function(data)
		{
		//alert (data);return false;
	 	if(data=='yes')
	 	{
	 		$("#msgbox_col_e").fadeTo(200,0.1,
	 		function()
	 		{
	 	 		$(this).html('Event added successfully!').addClass('messageboxok').fadeTo(900,1);
				setTimeout('$("#postform_events").slideUp(500)', 1000);
				setTimeout('updateBox("events_box")', 1500);
	 		});
	 	}
	 	else
	 	{
	 		$("#msgbox_col_e").fadeTo(200,0.1,
	 		function()
	 		{
	 			$(this).html('Whoops! Forget something?').addClass('messageboxerror').fadeTo(900,1);
	 		});
	 	}
	 	});
	 	return false;
});

$("#send_msg").click(function()
{
		$("#msgbox_col_m").removeClass().addClass('messagebox').text('Sending in your post...').fadeIn(1000);
		$.post("ajax_interface.php", {type:"msg",body:$('#postform_msg_body').val(),user:$('#postform_msg_user').val(),rand:Math.random()},
		function(data)
		{
		//alert (data);return false;
	 	if(data=='yes')
	 	{
	 		$("#msgbox_col_m").fadeTo(200,0.1,
	 		function()
	 		{
	 	 		$(this).html('Post added successfully!').addClass('messageboxok').fadeTo(900,1);
				setTimeout('$("#postform_msg").slideUp(500)', 1000);
				setTimeout('updateBox("msg_box")', 1500);
	 		});
	 	}
	 	else
	 	{
	 		$("#msgbox_col_m").fadeTo(200,0.1,
	 		function()
	 		{
	 			$(this).html('Whoops! Forget something?').addClass('messageboxerror').fadeTo(900,1);
	 		});
	 	}
	 	});
	 	return false;
});
$("#send_update").click(function()
{
		$("#msgbox_col_u").removeClass().addClass('messagebox').text('Sending in your update...').fadeIn(1000);
		$.post("/ajax_interface.php", {type:"updates",title:$('#postform_updates_title').val(),body:$('#postform_updates_body').val(),user:$('#postform_updates_user').val(),auth:$('#postform_updates_auth').val(),rand:Math.random()},
		function(data)
		{
		//alert (data);return false;
	 	if(data=='yes')
	 	{
	 		$("#msgbox_col_u").fadeTo(200,0.1,
	 		function()
	 		{
	 	 		$(this).html('Update added successfully!').addClass('messageboxok').fadeTo(900,1);
				setTimeout('$("#postform_updates").slideUp(500)', 1000);
				setTimeout('updateBox("updates_box")', 1500);
	 		});
	 	}
	 	else
	 	{
	 		$("#msgbox_col_u").fadeTo(200,0.1,
	 		function()
	 		{
	 			$(this).html('Whoops! Forget something?').addClass('messageboxerror').fadeTo(900,1);
	 		});
	 	}
	 	});
	 	return false;
});

$("#login_form").submit(function()
{
  		// validate login form	
   		$("#msgbox_log").removeClass().addClass('messagebox').text('Checking your identity...').fadeIn(1000);
   		$.post("/login_validate.php",{username:$('input#uname_form').val(),pass:$('input#pass_form').val(),remember:$('input#remember').val(),rand:Math.random()},
   		function(data)
   		{
   		//alert (data);return false;
   	 	if(data=='yes')
   	 	{
   	 		$("#msgbox_log").fadeTo(200,0.1,
   	 		function()
   	 		{
   	 	 		$(this).html('Removing unfamiliarity...').addClass('messageboxok').fadeTo(900,1,
   	 	 		function()
   	 	 		{ 
   	 	 		document.location='/index.php';
   	 	 		});
   	 		});
   	 	}
   	 else
   	 {
   	 	$("#msgbox_log").fadeTo(200,0.1,
   	 	function()
   	 	{
   	 		$(this).html('You really ARE a stranger!').addClass('messageboxerror').fadeTo(900,1);
   	 	});
   	 }
   });
   	return false;
  	
});
$("#signup_form").submit(function()
{
  		// validate signup form	
   		$("#msgbox_sign").removeClass().addClass('messagebox').text('Processing your application...').fadeIn(1000);
   		$.post("/login_signup.php",{uname_sign:$('input#uname_sign').val(),pass_sign:$('input#pass_sign').val(),confirm_pass_sign:$('input#confirm_pass_sign').val(),fullname_sign:$('input#fullname_sign').val(),email_sign:$('input#email_sign').val(),phone_sign:$('input#phone_sign').val(),ip:$('input#ip').val(),rand:Math.random()},
   		function(data)
   		{
   		//alert (data);return false;
   	 	if(data=='yes')
   	 	{
   	 		$("#msgbox_sign").fadeTo(200,0.1,
   	 		function()
   	 		{
   	 	 		$(this).html('Success! Logging you in...').addClass('messageboxok').fadeTo(900,1,
   	 	 		function()
   	 	 		{
   	 	 		$.post("/login_validate.php",{username:$('input#uname_sign').val(),pass:$('input#pass_sign').val(),rand:Math.random()},
   	 	 		function()
   	 	 		{
   	 	 		document.location='/index.php';
   	 	 		});
   	 	 	
   	 	 		});
   	 		});
   	 	}
   	 else
   	 {
   	 	$("#msgbox_sign").fadeTo(200,0.1,
   	 	function()
   	 	{
   	 		$(this).html(data).fadeTo(900,1);
   	 	});
   	 }
   });
   	return false;
  	
}); 
   // nav transitions
   $(".nav").fadeTo(100,0.35);
   $(".nav").hover(function()
   {
   		$(this).stop().fadeTo(300,1);
   },function()
   {
   		if(!$(this).hasClass("selected"))
   		{
   			$(this).stop().fadeTo(300,0.35);
   		}
   });
});
	