
$.editable.addInputType('masked', {
	element : function(settings, original) {
		/* Create an input. Mask it using masked input plugin. Settings */
		/* for mask can be passed with Jeditable settings hash. */
		var input = $('<input />').mask(settings.mask);
		$(this).append(input);
		return(input);
	}
}); 
$.editable.addInputType('datepicker', {
    element : function(settings, original) {
        var input = $('<input>');
        if (settings.width  != 'none') { input.width(settings.width);  }
        if (settings.height != 'none') { input.height(settings.height); }
        input.attr('autocomplete','off');
        $(this).append(input);
        return(input);
    },
    plugin : function(settings, original) {
        /* Workaround for missing parentNode in IE */
        var form = this;
        settings.onblur = 'ignore';
        $(this).find('input').datepicker().bind('click', function() {
                $(this).datepicker({dateFormat:'dd/mm/yy'});
            return false;
        }).bind('dateSelected', function(e, selectedDate, $td) {
            $(form).submit();
        });
    }

});
$.editable.addInputType('mce', {
   element : function(settings, original) {
      //alert("building element");
      var textarea = $('<textarea id="'+$(original).attr("id")+'_mce"/>');
      if (settings.rows) {
         textarea.attr('rows', settings.rows);
      } else {
         textarea.height(settings.height);
      }
      if (settings.cols) {
         textarea.attr('cols', settings.cols);
      } else {
         textarea.width(settings.width);
      }
      $(this).append(textarea);
         return(textarea);
      },
   plugin : function(settings, original) {
	  var savedBlur = settings.onblur;
      settings.onblur = 'ignore';
      tinyMCE.execCommand("mceAddControl", true, $(original).attr("id")+'_mce');
      },
   submit : function(settings, original) {
      //alert("called submit function");
      tinyMCE.triggerSave();
      tinyMCE.execCommand("mceRemoveControl", true, $(original).attr("id")+'_mce');
      },
	reset : function(settings, original) {
	  tinyMCE.execCommand("mceRemoveControl", true, $(original).attr("id")+'_mce');
	  original.reset();
   }
});



