var isEdit = 0;
var Regions = 0;

function addMenu(o,owner,id) {

	var type = "menu";
	var dataid = "0"; //create new element
	var content = "%empty%";
	
	//get position
	
	//update element
	var destregion = $(o).closest("div[region=menu]");
	var destadmin = destregion.children(".admin_addmenu");
	//suche alle divs, die dataid haben
	var pos = destregion.children("div[dataid]").length;
	var root = $("input[name=rootpath]").attr("value");

	$.ajax({context: [destadmin,destregion],
			url: root + "render.php?fn=single&dataid="+dataid+"&content="+Base64.encode(content)+"&id="+id+"&owner="+owner+"&type=" + type + "&pos="+pos,
  			success: function(data) {
  					var o = this;
  					$(o[0]).replaceWith(data); // replace new item with admin button
  					//append admin button
  					$(o[1]).append("<div class='admin_addmenu'><div class='sep'></div><div class='admin_add' onClick='javascript:addMenu(this,\""+owner+"\",\""+id+"\")'></div></div>");
  			} });

	

}

function finishRegions() {
	//$("#banner").slideUp(100).slideDown(500);
	var childs = $(".menubutton"); 
	for (var i = 0; i < childs.length; i++) {
	$(childs[i]).mouseenter(function() {
		$(this).fadeTo(200,1);
	}); 
	$(childs[i]).mouseleave(function() {
		$(this).fadeTo(200,0.4);
	}); 

	$(childs[i]).fadeTo(0,0.4);
	
	}
	Regions = 0;
}

function refreshContent() {
    var o = $("textarea[id=admin_editor]");
	var dest = $("div[dataid="+o.attr("dataid")+"]");
	var n = document.getElementsByName("admin_editor")[0].value;
	dest.html(n);
	
	
			var root = $("input[name=rootpath]").attr("value");

			$.ajax({context: dest,
  			url: root + "render.php?fn=write&dataid="+o.attr("dataid")+"&content="+Base64.encode(n),
  			success: function(data) {
  					$(this).replaceWith(data);
  			} });

	
	o.remove();
	//dest.html( $("<div/>").html(o.html()).text()  );
}

function doEdit() {
if (isEdit == 1) {
	$("div[region]").unbind();
	isEdit=0;
	
	$(".admin_addmenu").remove();
	$("textarea[id=admin_editor]").remove();
	$("div[id=admin_edit]").fadeTo(400,1);
} else {
	isEdit = 1;
	$("div[id=admin_edit]").fadeTo(400,0.2);
	
	//next to all menus add + symbol
	var root = $("input[name=rootpath]").attr("value");
	var regions = $("div[region]").get();
	for (var i = 0; i < regions.length; i++) {
    		var id = $(regions[i]).attr("id");

			var owner = $(regions[i]).parents("div.module").attr("sub");
			
			$.ajax({context: [regions[i],owner,id],
  			url: root + "render.php?owner=" + owner + "&id=" + id+"&fn=get_type",
  			success: function(data) {
  				var r = this[0]; var owner = this[1]; var id = this[2];
  				var id = $(r).attr("id");
  				if (data == "menu") {
  					$(this).append("<div class='admin_addmenu'><div class='sep'></div><div class='admin_add' onClick='javascript:addMenu(this,\""+owner+"\",\""+id+"\")'></div></div>");
  				}
  			
  			} });
	}
}

}

function checkAdmin() {
if ($("input[name=admin]").get().length > 0) {
	$(document.body).prepend("<div id='admin_edit' onclick='javascript:doEdit()'></div>");
}
}

$(window).load(
	function() {


		$(window).click(function(e) { 
			if(!e) e = window.event; 
		    var eo = e.srcElement || e.target; 
		    if (isEdit == 0) return;
		    
		    if ($(eo).closest("div[dataid]").get().length == 0) return false;
		    
		    var dataid = $(eo).closest("div[dataid]").attr("dataid");
			if (isNaN(dataid)) return;
			
			if ($("textarea[id=admin_editor]").get().length == 0) $(document.body).append("<textarea id='admin_editor' name='admin_editor' onblur='javascript:$(this).remove()' onchange='javascript:refreshContent()'></textarea>");
			
			
			var pos = $(eo).position();
			$("textarea[id=admin_editor]").css("top",pos.top + $(eo).outerHeight()).css("left",pos.left).html($(eo).closest("div[dataid="+dataid+"]").html()).attr("dataid",dataid);
			
			

		    if (isEdit == 1) return false;
	    });

	
		var regions = $("div[region]").get();

		var root = $("input[name=rootpath]").attr("value");

		for (var i = 0; i < regions.length; i++) {
		//ajax mit render aufrufen owner & id
    		var id = $(regions[i]).attr("id");
			var owner = $(regions[i]).parents("div.module").attr("sub");
			var type = $(regions[i]).attr("region");
    		$.ajax({context: regions[i],
  			url: root + "render.php?owner=" + owner + "&id=" + id + "&type=" + type,
  			success: function(data) {
  				Regions++;
    			//$(this).fadeOut(200);
    			$(this).html(data);
  				if (Regions == regions.length) finishRegions();
  	  			//$(this).fadeIn(100);
  			}
  		});
    	checkAdmin();
	}
});

$(document).ready(function() {




});	



