var draggedMagicbox;
jQuery(document).ready(function(){

	$(".magicbox_element").draggable({
		containment: 'parent',
		zIndex: 1000, 
		opacity: 0.7,
		helper: 'clone',
		handle: 'h1',
		cursor: 'move', 
		snap: true,
		snapTolerance: 0,
		start: function(ev,ui) {
			draggedMagicbox = ev.target.parentNode.parentNode;
		}
	});

	$(".magicbox_element").droppable({
		accept: ".magicbox_element",
		activeClass: 'droppable-active',
		hoverClass: 'droppable-hover',
		drop: function(ev, ui) {
			$(this).css({'border-right': '1px solid #f5f5f5'});
			$(draggedMagicbox).insertAfter(this);
			var boxes = $('#magicbox_container div.magicbox_element');
			var param = "";
			for(i = 0; i< (boxes.length-1); i++) 
			{
				param += 'pos['+i+']='+(magicboxExplodeIdNr(boxes[i].getAttribute('id')))+"&";
			}
			ajaxLoading(true);
			$.get('?p=magicbox&a=setOrder', param, function (AjaxObj) {
				ajaxLoading(false);
			});
		},
		over: function(ev,ui) {
			$(draggedMagicbox).insertAfter(this);
			$(this).css('border-right','1px dashed red');
		},
		out: function(ev,ui) {
			$(this).css('border-right','1px solid #f5f5f5');
		}
	});
	
	$("div.magicbox_menu img").bind("click", function(e) {
		$('.pge_menu').css('display','none');
		
		var id = magicboxExplodeIdNr(e.target.getAttribute('id'));
		Magicbox.moveToTop(id);
		ajaxLoading(true, e.target);
		$('#magicbox_menu_content_'+id).load("?p=magicbox&a=loadMenu&v="+id, {idElem: id}, function() {
			ajaxLoading(false);
			$('#magicbox_menu_content_'+id).css('display','block');
			$('#magicbox_menu_content_'+id+' li').bind('mouseover',function(ev) {
				$(ev.target).css('background','#ddd');
			});
			$('#magicbox_menu_content_'+id+' li').bind('mouseleave',function(ev) {
				$(ev.target).css('background','#f9f9f9');
			});
		});
	});
});

function magicboxExplodeIdNr(idname)
{
	return idname.replace(/[a-z_]+/ig,'');
}

Magicbox = new Object();

Magicbox.getMagicboxIdForChild = function(obj) {
	var mb = obj.parentNode;
	var re = /magicbox_element /;
	
	while (typeof($(mb).attr('class')) != 'undefined' && !$(mb).attr('class').match(re)) {
		mb = mb.parentNode;
	} 	
	return mb;
}

Magicbox.editName = function(obj) {
	$('#jqDialog').css({width: '400px', height: '120px'});
	var mb_id = linkboxExplodeIdNr(obj.parentNode.parentNode.getAttribute('id'));
	var url = "?p=magicbox&a=setupDialog&mb_id="+mb_id;
	ajaxLoading(true);
	$('#jqDialog').jqm({
		ajax: url,
		onLoad: function() { ajaxLoading(false); }
	}).jqmShow();	
}

Magicbox.moveToTop = function(id) {
	$('.magicbox_element').css('zIndex',2);
	$('#magicbox_element_'+id).css('zIndex',3);
}

Magicbox.reload = function(id) {
	$.ajaxSetup({async: false});
	ajaxLoading(true);
	$("#magicbox_content_body_"+id).load('?p=magicbox&a=reloadContent&v='+id, function() { 
		ajaxLoading(false); 
		$.ajaxSetup({async: true}); 
	});
	
}