(function($){
 $.fn.editBlock = function(options) {

  var defaults = {};
  var options = $.extend(defaults, options);
  
  $(document).click(function() {
	  closeAllOperationMenu();
  })
  
  var closeAllOperationMenu = function() {
	  $('.operations-menu').hide();
	  $('.icon-edit').css('border-bottom', 'none');
	  $('.icon-edit').css('border-right', 'none');
	  $('.icon-edit').css('background-color', 'transparent');
  }
  
  var openOperationMenu = function(iconEdit, id) {
	  var display = $('#block-operations-'+id).css('display');
	  
	  closeAllOperationMenu();
	  
	  if (display == 'none') {
		  $(iconEdit).css('border-bottom', '1px solid #EAF3FF');
		  $(iconEdit).css('border-right', '1px solid #D0D0D0');
		  $(iconEdit).css('background-color', '#EAF3FF');
		  $('.operations-menu').hide();
		  $('#block-operations-'+id).css('left', parseInt($(iconEdit).position().left) - 26);
		  $('#block-operations-'+id).css('top', parseInt($(iconEdit).position().top) + 17);
		  $('#block-operations-'+id).css('display', 'block');
		  $('#block-operations-'+id).css('border-top', 'none');
		  $('.operation').css('padding', '4px');
	  }
  }
    
  return this.each(function() {
	  var id = $(this).attr('id');
	  var settingsId = id+'-settings';
	  var editId = id+'-edit';
	  var deleteId = id+'-delete';
	  var copyId = id+'-copy';
	  var pasteId = id+'-paste';

	  if(!$('#'+settingsId).attr('id')) {
		  var left = $(this).css('left');
		  var top  = $(this).css('top');
	  }
	  
	  var marginLeft = 20;
	  var blockOperations = "<div class='operations-menu' id='block-operations-"+id+"' style='display: none; position: absolute; text-align: left; background-color: #EAF3FF; padding: 2px; z-index: 1000;'>";
	  blockOperations += "<div class='operation' id='"+editId+"' style='cursor:pointer;'>Modifica blocco</div>";
	  marginLeft += 20;
         blockOperations += "<div class='operation remove-block-area' id='"+deleteId+"' style='cursor:pointer;'>Annulla posizionamento</div>";
         marginLeft += 20;
         blockOperations += "<div class='operation copy-block-settings' id='"+copyId+"' style='cursor:pointer;'>Copia impostazioni</div>";
         marginLeft += 20;
         blockOperations += "<div class='operation paste-block-settings' id='"+pasteId+"' style='cursor:pointer;display:none'>Incolla impostazioni</div>";
         blockOperations += "</div>";
	  $(this).prepend(blockOperations);
	  
	  $('.icon-edit', $('#'+id)).click(function() {
		  openOperationMenu($(this), id);
		  
		  return false;
	  })
	  
	  $(this).mouseleave(function(){
		  $('.icon-move', $('#'+id)).css('visibility', 'hidden');
	  });
	  
	  $(this).mouseenter(function(){
		  $('.icon-move', $('#'+id)).css('visibility', 'visible');
	  });
	 
	 $('#'+editId).click(function() {
			if($('#'+id).hasClass('stylized')) {
				expandBlockContent(id);
			}
			blockId = id.replace('block', '');
			blockTitle = $('h2', $('#' + id + ' .block-title')).find('span').html();
			configuraBlocco(blockId, blockTitle); 
	 });
  });
 };
})(jQuery);
