
jQuery.fn.extend({
	textNodes: function()
	{
		return jQuery(
		jQuery.map( this, function(n){
			return jQuery.grep(n.childNodes, function(n) {
				return n.nodeType == 3;
				});
			})
		);
	}
});

jQuery(document).ready(function () { jQuery("#vad_mb_default_theme_dir").change(vad_mb_on_default_theme_dir_change) })

function vad_mb_on_default_theme_dir_change(event)
{
	var select = event.target;
	jQuery("#vad_mb_default_theme").val(jQuery(select.options).get(select.selectedIndex).text);
}

function on_category_click(id)
{
	select_category(id)
	return true
}

function select_category(id, checked)
{
	parent_input = document.getElementById('blog_category-' + id)
	if(checked != null)
	{
		parent_input.checked = checked
	}
	parent_category_block = document.getElementById('category_block-' + id)
	child_inputs = parent_category_block.getElementsByTagName('INPUT')
	for(i=0; i<child_inputs.length; i++)
	{
		child_inputs[i].checked = parent_input.checked
	}
}

function on_blog_title_change()
{
	blog_title = document.getElementById('blog_title')
	new_category_title = document.getElementById('new_category_title')
	new_category_title.value = blog_title.value
}

function vad_mb_toggle_blog(checkbox, post_id, element_id)
{
	var blog_id = jQuery(checkbox).val();
	var blog_element = "#vad_mb_blog_" + element_id + "_" + blog_id;
	var categories_element = "#vad_mb_blog_categories_" + element_id + "_" + blog_id;
	// If the blog has been selected - show its categories
	if(jQuery(checkbox).attr("checked") && !jQuery(categories_element).size())
	{
		jQuery(blog_element).addClass('loading selected');
		jQuery.get("", {add_blog_categories: blog_id, post_id: post_id, element_id: element_id}, function(data){ jQuery(blog_element).removeClass("loading").find(".header").after(data); });
	}
	// Else - remove the blog categories
	else
	{
		jQuery(blog_element).removeClass('selected');
		jQuery(categories_element).find(".category_toggle").each(function(i) {if(this.checked) {this.checked=false; vad_mb_toggle_category(this)}} );
		jQuery(categories_element).remove();
	}
}

function vad_mb_toggle_category(checkbox)
{
	var category_id = checkbox.value;
	var checked = jQuery(checkbox).attr("checked");
	jQuery(".category_toggle").each(function(i) {if(this.value == category_id) this.checked = checked} );
}

function pr(o,level)
{
	if(typeof(level) == "undefined") level = 0
	if (level == 0)
	{
		if(jQuery("#printout").size() == 0) jQuery(document.body).append("<div id='printout' style='padding:1em; background:#ffc'>Printout:<br></div>")
		else jQuery("#printout").html("");
	}
	var prefix = ""
	for(var j=0; j<level; j++) prefix += "&nbsp;&nbsp;";
	if(typeof(o) == "undefined") 
	{
		jQuery("#printout").append(prefix + "undefined");
		return;
	}
	for(var i in o)
	{
		if(typeof(o[i]) == "object")
		{
			jQuery("#printout").append(prefix + typeof(o[i]) + " <b>" + i + "</b>:<br>");
			pr(o[i], level+1)
		}
		else
		{
			if(o[i] != null)
			{
				jQuery("#printout").append(prefix + typeof(o[i]) + " <b>" + i + "</b>=" + o[i].toString().replace(/\n/g, "<br>" + prefix).replace(/\s{3,}/g, "&nbsp;&nbsp;&nbsp;") + "<br>");
			}
		}
	} 
}