(function($){
  $.fn.tcContentEditable = function(o, callback){  
    o = $.extend({
      }, o ||
      { 'remove': false });
    
    if(o.remove)
    {
      $(this).attr('contenteditable',"false");
    }else{
      if($(this).attr('contenteditable') != "true")
      {
        $(this).attr('contenteditable',"true");      
      }
    }
  };
})(jQuery);

$(document).focusin(function(){
  $('div[contenteditable=true]').removeClass('focus');
});

var tcContentEditable = function() {
  
  function uniqid()
  {
    var newDate = new Date;
    return newDate.getTime();    
  }
  
  m = {

    bold: function()
    {
      document.execCommand('bold',false,null);
    },
    formatblock: function(tag)
    {
      document.execCommand('formatblock',false,'<' + tag + '>');	
    },
    italic: function()
    {
      document.execCommand('italic',false,null);
    },
    link: function(url,target)
    {
      var uid = uniqid();
      document.execCommand('createLink',false,uid);
      var elem = $('a[href="' + uid + '"]');
      elem.attr('href',url);
      elem.attr('target',target);      
    }
  };
  
  return m;
  
}();
