function loadSection(url, element, callback) {
	var loader_id = 'ajaxloader' + Math.floor(Math.random() * 10001);
	$("div#container div#main div#inner").prepend('<div class="ajaxloader" id="' + loader_id + '"></div>');
	$("div#container div#main div#inner div#" + loader_id).hide();
	$("div#container div#main div#inner div#" + loader_id).html('<img src="images/loader.gif" />');
	$("div#container div#main div#inner div#" + loader_id).fadeIn('fast');
	$(element).load(url, null, function() {
		$("div#container div#" + loader_id).fadeOut('fast');
		callback = callback || function() {};
		callback();
		showMsgsAbove(element);
	});
}
function goTo(url) {
	window.location = url;
}

function previewToBlock(block_id, chp) {
	$.cookie('preview_selected_id',block_id)
	window.location = chp+'blocks.php';
}

function loaderSetup() {
	$('body').ajaxStart(function() {
		$('div.ajaxloader').show();
	});
	$('body').ajaxStop(function() {
		$('div.ajaxloader').fadeOut();
	});
}

function submitForm(form, callback) {
	
	callback = callback || function() {};
	if($(form+' input[@name=html]').val() != null){
		$(form+' input[@name=html]').val(FCKeditorAPI.GetInstance('html').GetXHTML()); 
	}
	if($(form+' input[@name=html2]').val() != null){
		$(form+' input[@name=html2]').val(FCKeditorAPI.GetInstance('html2').GetXHTML()); 
	}
	$(form).ajaxSubmit({
		success: function(result) {
			result = trim(result);
			if(typeof(result) == 'string' && result != ''){
				alert(result);
			}
			callback();
		}
	});
}

function submitCheckForm(form, callback) {
	callback = callback || function() {};
	if($(form+' input[@name=html]').val() != null){
		$(form+' input[@name=html]').val(FCKeditorAPI.GetInstance('html').GetXHTML()); 
	}
	if($(form+' input[@name=html2]').val() != null){
		$(form+' input[@name=html2]').val(FCKeditorAPI.GetInstance('html2').GetXHTML()); 
	}
	$(form).ajaxSubmit({
		success: function(result) {
			result = trim(result);
			if(parseInt(result) > 0){
				tb_remove(); 
				callback();
			}else if(typeof(result) == 'string' && result != '' ){
				alert(result);
				return;
			}
		}
	});
}	
	
function trim(stringValue)
{
	return stringValue.replace(/(^\s*|\s*$)/, "");
}

function leaveChapter() {
	$.post('ajaxdb.php?leave_chapter=1', null, function(data) {	
		window.location = "chapter-manager.php";
		alert("Leaving local office.");
	});	
}

function leaveRegion() {
	$.post('ajaxdb.php?leave_region=1', null, function(data) {	
		window.location = "regions.php";
		alert("Leaving region.");
	});	
}

function setCallback(callback){
	this.callback = callback || function() {};
}

function Orderable(area, table_name, primary_key, constraint_name1, constraint_value1, constraint_name2, constraint_value2) {
	$.cookie('reorder_origin_id','', {expires: -1});
	this.orderable = '#'+area;
	this.reorder = reorder;
	this.table_name = table_name;
	this.primary_key = primary_key; 
	this.constraint_name1 = constraint_name1;
	this.constraint_value1 = constraint_value1;
	this.constraint_name2 = constraint_name2;
	this.constraint_value2 = constraint_value2;
	this.setCallback = setCallback;
	
	$(this.orderable+" tr").attr("title","Click on this row to move the selected item above it.  To cancel, click the selected item again.");
	$(this.orderable+" tr").Tooltip({
		track: true,
		delay: 0,
		showURL: false,
		showBody: " - ",
		opacity: 0.95,
		left: -10
	});
	$.Tooltip.blocked = true;
}


function reorder(id) {
	var temp_id = String(id).split("_");
	if(temp_id[1])
		id = temp_id[1];
	if($.cookie('reorder_origin_id')) {
		callback = this.callback || function() {};
		$('div#tooltip').hide();
		$.Tooltip.blocked = true;
		$(this.orderable).removeClass("orderable");
		$(this.orderable).removeAttr("title");
		if($.cookie('reorder_origin_id') != parseInt(id)) {
			runFunction('reorder', "origin_id="+$.cookie('reorder_origin_id')+"&destination_id="+id+"&constraint_value1="+this.constraint_value1+"&constraint_value2="+this.constraint_value2+"&table_name="+this.table_name+"&primary_key="+this.primary_key+"&constraint_name1="+this.constraint_name1+"&constraint_name2="+this.constraint_name2, function(response){
				$('.orderableitem_'+$.cookie('reorder_origin_id')).removeClass('orderable-selected');
				$.cookie('reorder_origin_id','', {expires: -1});
				callback();
			});
		} else {
			$('.orderableitem_'+$.cookie('reorder_origin_id')).removeClass('orderable-selected');
			$.cookie('reorder_origin_id','', {expires: -1});
			callback();
		}
	} else {
		$.cookie('reorder_origin_id', id);
		$.Tooltip.blocked = false;
		$('.orderableitem_'+id).addClass('orderable-selected');
		$(this.orderable).addClass("orderable");
		$(this.orderable+" tr").bind("click", function() {
			orderable.reorder(this.id);
			return false;
		});
	}
}
function makeSortable(area, table_name, primary_key) {
	var vars = 'table_name='+table_name + '&primary_key=' + primary_key;
	$("#"+area).after('<p class="button fff" id="reorder"><a href="javascript:startSort(\''+area+'\',\''+vars+'\');"><span class="icon updown">&nbsp;</span> Reorder items</a></p>');
	$("#reorder").after('<p id="reorder-instructions">To reorder items, click on a row and drag to new position.  Click \'Save order\' button when complete.</p><div class="clear"></div>');
	$("#reorder-instructions").hide();
	$("#"+area).sortable({ items: "tr:has(td)" });
	$("#"+area).sortable('disable');
}

function startSort(area, vars) {
	$("#"+area).sortable('enable');
	$("#reorder").html('<a href="javascript:saveSort(\''+area+'\',\''+vars+'\');"><span class="icon save">&nbsp;</span> Save Order</a>');
	$("#reorder-instructions").show();
}

function saveSort(area, vars) {
	var ids = [];
	$("#"+area+" tr:has(td)").each(function() {
	  ids.push( $(this).attr("id") );
	});
	var serial = ids.join(",");
	runFunction('orderSortable', vars+'&order='+serial, function(response){
		//callback(response);
		$('#'+area+' tr').removeClass('stripe');
		$('#'+area+' tr:odd').addClass('stripe');
		$("#"+area).sortable('disable');
		$("#reorder-instructions").hide();
		$("#reorder").html('<a href="javascript:startSort(\''+area+'\',\''+vars+'\');"><span class="icon updown">&nbsp;</span> Reorder items</a>');
	});
}
function runFunction(name, data, callback){
	callback = callback || function() {};
	$.ajax({url:'ajaxdb.php?'+name+'=1' , dataType:"html", type: "POST", data:data, success:function(response) {
		if(trim(response) != '') {
			alert(trim(response));
		}
		callback(response);
	}});
}

$(document).ready(function(){
	$("#chapter_dropdown").change(sendEm);
	$("#region_dropdown").change(switchRegion);

});
function sendEm(){
	var selected = $("#chapter_dropdown option:selected");		
	chapter_id = selected.val()
	//alert('sending you to...' + chapter_id);
	window.location.href = "chapter-pages.php?chapter_id="+chapter_id; 
}
function switchRegion() {
	var selected = $("#region_dropdown option:selected");
	region_id = selected.val()
	window.location.href = "chapters.php?region_id=" + region_id;
}


