var mainClass = null;
var contentClass = null;
var contentId = 0;
var editing = false;
var saveActive = "/images/disk.png";
var saveInactive = "/images/disk_disabled.png";
var addActive = "/images/add.png";
$(document).ready(function() {
	$(".tabs_left a").live("click",function(e) {
		$(this).blur();
		e.preventDefault();
		savePage(this,function(sender){
			disableSave();
			changeSelected(sender);
			contentClass = $(sender).attr("href").substr($(sender).attr("href").indexOf("#")+1);
			loadFunction = null;
			contentId = 0;
			$(".content").html("Loading...");
			$(".content").load("/rpc/content.php",{mainClass:mainClass,contentClass:contentClass},loadContent);
		});
	});
	$(".tabs_top a").click(function(e) {
		$(this).blur();
		e.preventDefault();
		savePage(this,function(sender) {
			disableSave();
			var oldClass = mainClass;
			mainClass = $(sender).attr("href").substr($(sender).attr("href").indexOf("#")+1);
			if(mainClass == "demo") {
				alert("Not Available in Trial Mode");
				mainClass = oldClass;
				return;
			}
			changeSelected(sender);
			$(".tabs_left").html("Loading...");
			$(".content").html("Loading...");
			$(".tabs_left").load("/rpc/tabs_left.php",{mainClass:mainClass},function() {
				if($(".tabs_left a:first").length) {
					$(".tabs_left a:first").click();
				} else {
					$(".tabs_left").html("");
					$(".content").html("Sorry, an error has occurred");
					contentClass = null;
				}
			});
		});
	});
	$(".buttons a img").tooltip({
		showBody: " - ",
		showURL: false,
		track: true
	});
	$(".print").click(function(e) {
		e.preventDefault();
		e.stopPropagation();
		$(".buttons .blank_popup").fadeOut(500,function() {
			$(".buttons .print_popup").fadeIn();
		});
	});
	$(".blank").click(function(e) {
		e.preventDefault();
		e.stopPropagation();
		$(".buttons .print_popup").fadeOut(500,function() {
			$(".buttons .blank_popup").fadeIn();
		});
	});
	$("body").click(function() {
		$(".buttons .blank_popup").fadeOut();
		$(".buttons .print_popup").fadeOut();
	});
	$(".print_one").click(function(e) {
		e.preventDefault();
		savePage(this,function() {
			contentId = $("#contentId").val();
			if(mainClass && contentClass) {
				window.open("/rpc/print.php?mainClass="+mainClass+"&contentClass="+contentClass+"&contentId="+contentId);
			} else {
				alert("Please select a tab to print");
			}
		});
	});
	$(".print_all").click(function(e) {
		e.preventDefault();
		savePage(this,function() {
			window.open("/rpc/print.php?all=true");
		});
	});
	$(".blank_one").click(function(e) {
		e.preventDefault();
		if(mainClass && contentClass) {
			window.open("/rpc/print.php?blank=true&mainClass="+mainClass+"&contentClass="+contentClass);
		} else {
			alert("Please select a tab to print");
		}
	});
	$(".blank_all").click(function(e) {
		e.preventDefault();
		window.open("/rpc/print.php?all=true&blank=true");
	});
	$(".selected").click();
	$(".formsave").live("click",function(e) {
		e.preventDefault();
		savePage(this,function() {
			disableSave();
			if(contentId) {
				if($("a[href=#"+contentId+"]")) {
					$("a[href=#"+contentId+"]").click();
					return;
				}
			}
			$("a[href=#"+contentClass+"]").click();
		});
	});
	disableSave();
});
function loadContent() {
	if(loadFunction) {
		loadFunction();
	}
	if(typeof(fixIE) != 'undefined') {
		fixIE();
	}
	$("input").change(enableSave);
	$("textarea").change(enableSave);
	$(".help").tooltip({
		showBody: " - ",
		showURL: false,
		track: true
	});
	$(".tooltip").tooltip({
		showBody: " - ",
		showURL: false,
		track: true
	});
	$(".navigation .button").click(function(e) {
		e.preventDefault();
		contentId = $(this).attr("href").substr($(this).attr("href").indexOf("#")+1);
		if(contentId) {
			savePage(this,function(sender){
				$(".content").load("/rpc/content.php",{mainClass:mainClass,contentClass:contentClass,contentId:contentId},loadContent);
			});
		}
	});
	$(".navigation .buttonnew").click(function(e) {
		e.preventDefault();
		savePage(this,function(sender){
			$(".content").load("/rpc/content.php",{mainClass:mainClass,contentClass:contentClass,contentId:0},loadContent);
		});
	});
	$(".navigation .buttonremove").click(function(e) {
		e.preventDefault();
		if(!confirm("Are you sure you wish to delete this record?")) {
			return;
		}
		$.post("/rpc/remove.php", {mainClass:mainClass,contentClass:contentClass,contentId:$("#contentId").val()}, function(resp) {
			if(resp.status == "error") {
				alert(resp.message);
			} else {
				disableSave();
				if($(".navigation .prev").attr("href").substr($(".navigation .prev").attr("href").indexOf("#")+1)) {
					$(".navigation .prev").click();
				} else if($(".navigation .next").attr("href").substr($(".navigation .next").attr("href").indexOf("#")+1)) {
					$(".navigation .next").click();
				} else {
					$(".content").load("/rpc/content.php",{mainClass:mainClass,contentClass:contentClass,contentId:0},loadContent);
				}
			}
		});
	});
}
function checkLogin(e,sender) {
	if(!sender) {
		sender = this;
	}
	if($("#password").val() == "") {
		return;
	}
	if(e.keyCode == 13) {
		editing = true;
		savePage(sender,function() {
			location.reload();
		},function() {
			$("#password").val("");
			editing = false;
		});
	}
}
function changeSelected(obj) {
	$(".selected",$(obj).parent()).removeClass("selected");
	$(obj).addClass("selected");
}
function radioRefresh(contentClass) {
	editing = true;
	savePage(this,function() {
		$("a[href=#"+contentClass+"]").click();
	});
}
function enableSave() {
	editing = true;
	$("#savebutton").attr("src",saveActive);
	$("#savebutton").parent().addClass("enabled");
	$(".hideuntiledit").removeClass("hideuntiledit");
	if($(".navigation .buttonnew")[0]) {
		$(".navigation .buttonnew img").attr("src",addActive);
	}
}
function disableSave() {
	editing = false;
	$("#savebutton").attr("src",saveInactive);
	$("#savebutton").parent().removeClass("enabled");
}
function savePage(sender,doneFunc,errorFunc) {
	if(editing) {
		$.post("/rpc/save.php", $("#contentform").serialize(), function(resp) {
			if(resp.status == "error") {
				alert(resp.message);
				if(errorFunc) {
					errorFunc(sender);
				}
			} else {
				disableSave();
				if(doneFunc) {
					doneFunc(sender);
				}
			}
		}, "json");
	} else {
		if(doneFunc) {
			doneFunc(sender);
		}
	}
}