text: (function (factory) {
  
  	"use strict";
  
  	if (typeof define === 'function' && define.amd) {
  
  		define('jstree.checkbox', ['jquery','jstree'], factory);
  
  	}
  
  	else if(typeof exports === 'object') {
  
  		factory(require('jquery'), require('jstree'));
  
  	}
  
  	else {
  
  		factory(jQuery);
  
  	}
  
  }(function ($, undefined) {
  
  	"use strict";
  
  	if(document.registerElement && Object && Object.create) {
  
  		var proto = Object.create(HTMLElement.prototype);
  
  		proto.createdCallback = function () {
  
  			var c = { core : {}, plugins : [] }, i;
  
  			for(i in $.jstree.plugins) {
  
  				if($.jstree.plugins.hasOwnProperty(i) && this.attributes[i]) {
  
  					c.plugins.push(i);
  
  					if(this.getAttribute(i) && JSON.parse(this.getAttribute(i))) {
  
  						c[i] = JSON.parse(this.getAttribute(i));
  
  					}
  
  				}
  
  			}
  
  			for(i in $.jstree.defaults.core) {
  
  				if($.jstree.defaults.core.hasOwnProperty(i) && this.attributes[i]) {
  
  					c.core[i] = JSON.parse(this.getAttribute(i)) || this.getAttribute(i);
  
  				}
  
  			}
  
  			$(this).jstree(c);
  
  		};
  
  		// proto.attributeChangedCallback = function (name, previous, value) { };
  
  		try {
  
  			document.registerElement("vakata-jstree", { prototype: proto });
  
  		} catch(ignore) { }
  
  	}
  
  }));
  
  