| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744 | 
							- if (! ("ace" in window)) {
 
-     window.ace = {}
 
- }
 
- jQuery(function() {
 
-     window.ace.click_event = $.fn.tap ? "tap": "click"
 
- }); (function(e, c) {
 
-     var d = "multiple" in document.createElement("INPUT");
 
-     var j = "FileList" in window;
 
-     var b = "FileReader" in window;
 
-     var f = function(l, m) {
 
-         var k = this;
 
-         this.settings = e.extend({},
 
-         e.fn.ace_file_input.defaults, m);
 
-         this.$element = e(l);
 
-         this.element = l;
 
-         this.disabled = false;
 
-         this.can_reset = true;
 
-         this.$element.on("change.ace_inner_call",
 
-         function(o, n) {
 
-             if (n === true) {
 
-                 return
 
-             }
 
-             return a.call(k)
 
-         });
 
-         this.$element.wrap('<div class="ace-file-input" />');
 
-         this.apply_settings()
 
-     };
 
-     f.error = {
 
-         FILE_LOAD_FAILED: 1,
 
-         IMAGE_LOAD_FAILED: 2,
 
-         THUMBNAIL_FAILED: 3
 
-     };
 
-     f.prototype.apply_settings = function() {
 
-         var l = this;
 
-         var k = !!this.settings.icon_remove;
 
-         this.multi = this.$element.attr("multiple") && d;
 
-         this.well_style = this.settings.style == "well";
 
-         if (this.well_style) {
 
-             this.$element.parent().addClass("ace-file-multiple")
 
-         } else {
 
-             this.$element.parent().removeClass("ace-file-multiple")
 
-         }
 
-         this.$element.parent().find(":not(input[type=file])").remove();
 
-         this.$element.after('<label class="file-label" data-title="' + this.settings.btn_choose + '"><span class="file-name" data-title="' + this.settings.no_file + '">' + (this.settings.no_icon ? '<i class="' + this.settings.no_icon + '"></i>': "") + "</span></label>" + (k ? '<a class="remove" href="#"><i class="' + this.settings.icon_remove + '"></i></a>': ""));
 
-         this.$label = this.$element.next();
 
-         this.$label.on("click",
 
-         function() {
 
-             if (!this.disabled && !l.element.disabled && !l.$element.attr("readonly")) {
 
-                 l.$element.click()
 
-             }
 
-         });
 
-         if (k) {
 
-             this.$label.next("a").on(ace.click_event,
 
-             function() {
 
-                 if (!l.can_reset) {
 
-                     return false
 
-                 }
 
-                 var m = true;
 
-                 if (l.settings.before_remove) {
 
-                     m = l.settings.before_remove.call(l.element)
 
-                 }
 
-                 if (!m) {
 
-                     return false
 
-                 }
 
-                 return l.reset_input()
 
-             })
 
-         }
 
-         if (this.settings.droppable && j) {
 
-             g.call(this)
 
-         }
 
-     };
 
-     f.prototype.show_file_list = function(k) {
 
-         var n = typeof k === "undefined" ? this.$element.data("ace_input_files") : k;
 
-         if (!n || n.length == 0) {
 
-             return
 
-         }
 
-         if (this.well_style) {
 
-             this.$label.find(".file-name").remove();
 
-             if (!this.settings.btn_change) {
 
-                 this.$label.addClass("hide-placeholder")
 
-             }
 
-         }
 
-         this.$label.attr("data-title", this.settings.btn_change).addClass("selected");
 
-         for (var p = 0; p < n.length; p++) {
 
-             var l = typeof n[p] === "string" ? n[p] : e.trim(n[p].name);
 
-             var q = l.lastIndexOf("\\") + 1;
 
-             if (q == 0) {
 
-                 q = l.lastIndexOf("/") + 1
 
-             }
 
-             l = l.substr(q);
 
-             var m = "icon-file";
 
-             if ((/\.(jpe?g|png|gif|svg|bmp|tiff?)$/i).test(l)) {
 
-                 m = "icon-picture"
 
-             } else {
 
-                 if ((/\.(mpe?g|flv|mov|avi|swf|mp4|mkv|webm|wmv|3gp)$/i).test(l)) {
 
-                     m = "icon-film"
 
-                 } else {
 
-                     if ((/\.(mp3|ogg|wav|wma|amr|aac)$/i).test(l)) {
 
-                         m = "icon-music"
 
-                     }
 
-                 }
 
-             }
 
-             if (!this.well_style) {
 
-                 this.$label.find(".file-name").attr({
 
-                     "data-title": l
 
-                 }).find('[class*="icon-"]').attr("class", m)
 
-             } else {
 
-                 this.$label.append('<span class="file-name" data-title="' + l + '"><i class="' + m + '"></i></span>');
 
-                 var r = e.trim(n[p].type);
 
-                 var o = b && this.settings.thumbnail && ((r.length > 0 && r.match("image")) || (r.length == 0 && m == "icon-picture"));
 
-                 if (o) {
 
-                     var s = this;
 
-                     e.when(i.call(this, n[p])).fail(function(t) {
 
-                         if (s.settings.preview_error) {
 
-                             s.settings.preview_error.call(s, l, t.code)
 
-                         }
 
-                     })
 
-                 }
 
-             }
 
-         }
 
-         return true
 
-     };
 
-     f.prototype.reset_input = function() {
 
-         this.$label.attr({
 
-             "data-title": this.settings.btn_choose,
 
-             "class": "file-label"
 
-         }).find(".file-name:first").attr({
 
-             "data-title": this.settings.no_file,
 
-             "class": "file-name"
 
-         }).find('[class*="icon-"]').attr("class", this.settings.no_icon).prev("img").remove();
 
-         if (!this.settings.no_icon) {
 
-             this.$label.find('[class*="icon-"]').remove()
 
-         }
 
-         this.$label.find(".file-name").not(":first").remove();
 
-         if (this.$element.data("ace_input_files")) {
 
-             this.$element.removeData("ace_input_files");
 
-             this.$element.removeData("ace_input_method")
 
-         }
 
-         this.reset_input_field();
 
-         return false
 
-     };
 
-     f.prototype.reset_input_field = function() {
 
-         this.$element.wrap("<form>").closest("form").get(0).reset();
 
-         this.$element.unwrap()
 
-     };
 
-     f.prototype.enable_reset = function(k) {
 
-         this.can_reset = k
 
-     };
 
-     f.prototype.disable = function() {
 
-         this.disabled = true;
 
-         this.$element.attr("disabled", "disabled").addClass("disabled")
 
-     };
 
-     f.prototype.enable = function() {
 
-         this.disabled = false;
 
-         this.$element.removeAttr("disabled").removeClass("disabled")
 
-     };
 
-     f.prototype.files = function() {
 
-         return e(this).data("ace_input_files") || null
 
-     };
 
-     f.prototype.method = function() {
 
-         return e(this).data("ace_input_method") || ""
 
-     };
 
-     f.prototype.update_settings = function(k) {
 
-         this.settings = e.extend({},
 
-         this.settings, k);
 
-         this.apply_settings()
 
-     };
 
-     var g = function() {
 
-         var l = this;
 
-         var k = this.element.parentNode;
 
-         e(k).on("dragenter",
 
-         function(m) {
 
-             m.preventDefault();
 
-             m.stopPropagation()
 
-         }).on("dragover",
 
-         function(m) {
 
-             m.preventDefault();
 
-             m.stopPropagation()
 
-         }).on("drop",
 
-         function(q) {
 
-             q.preventDefault();
 
-             q.stopPropagation();
 
-             var p = q.originalEvent.dataTransfer;
 
-             var o = p.files;
 
-             if (!l.multi && o.length > 1) {
 
-                 var n = [];
 
-                 n.push(o[0]);
 
-                 o = n
 
-             }
 
-             var m = true;
 
-             if (l.settings.before_change) {
 
-                 m = l.settings.before_change.call(l.element, o, true)
 
-             }
 
-             if (!m || m.length == 0) {
 
-                 return false
 
-             }
 
-             if (m instanceof Array || (j && m instanceof FileList)) {
 
-                 o = m
 
-             }
 
-             l.$element.data("ace_input_files", o);
 
-             l.$element.data("ace_input_method", "drop");
 
-             l.show_file_list(o);
 
-             l.$element.triggerHandler("change", [true]);
 
-             return true
 
-         })
 
-     };
 
-     var a = function() {
 
-         var l = true;
 
-         if (this.settings.before_change) {
 
-             l = this.settings.before_change.call(this.element, this.element.files || [this.element.value], false)
 
-         }
 
-         if (!l || l.length == 0) {
 
-             if (!this.$element.data("ace_input_files")) {
 
-                 this.reset_input_field()
 
-             }
 
-             return false
 
-         }
 
-         var m = !j ? null: ((l instanceof Array || l instanceof FileList) ? l: this.element.files);
 
-         this.$element.data("ace_input_method", "select");
 
-         if (m && m.length > 0) {
 
-             this.$element.data("ace_input_files", m)
 
-         } else {
 
-             var k = e.trim(this.element.value);
 
-             if (k && k.length > 0) {
 
-                 m = [];
 
-                 m.push(k);
 
-                 this.$element.data("ace_input_files", m)
 
-             }
 
-         }
 
-         if (!m || m.length == 0) {
 
-             return false
 
-         }
 
-         this.show_file_list(m);
 
-         return true
 
-     };
 
-     var i = function(o) {
 
-         var n = this;
 
-         var l = n.$label.find(".file-name:last");
 
-         var m = new e.Deferred;
 
-         var k = new FileReader();
 
-         k.onload = function(q) {
 
-             l.prepend("<img class='middle' style='display:none;' />");
 
-             var p = l.find("img:last").get(0);
 
-             e(p).one("load",
 
-             function() {
 
-                 var t = 50;
 
-                 if (n.settings.thumbnail == "large") {
 
-                     t = 150
 
-                 } else {
 
-                     if (n.settings.thumbnail == "fit") {
 
-                         t = l.width()
 
-                     }
 
-                 }
 
-                 l.addClass(t > 50 ? "large": "");
 
-                 var s = h(p, t, o.type);
 
-                 if (s == null) {
 
-                     e(this).remove();
 
-                     m.reject({
 
-                         code: f.error.THUMBNAIL_FAILED
 
-                     });
 
-                     return
 
-                 }
 
-                 var r = s.w,
 
-                 u = s.h;
 
-                 if (n.settings.thumbnail == "small") {
 
-                     r = u = t
 
-                 }
 
-                 e(p).css({
 
-                     "background-image": "url(" + s.src + ")",
 
-                     width: r,
 
-                     height: u
 
-                 }).data("thumb", s.src).attr({
 
-                     src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg=="
 
-                 }).show();
 
-                 m.resolve()
 
-             }).one("error",
 
-             function() {
 
-                 l.find("img").remove();
 
-                 m.reject({
 
-                     code: f.error.IMAGE_LOAD_FAILED
 
-                 })
 
-             });
 
-             p.src = q.target.result
 
-         };
 
-         k.onerror = function(p) {
 
-             m.reject({
 
-                 code: f.error.FILE_LOAD_FAILED
 
-             })
 
-         };
 
-         k.readAsDataURL(o);
 
-         return m.promise()
 
-     };
 
-     var h = function(n, s, q) {
 
-         var r = n.width,
 
-         o = n.height;
 
-         if (r > s || o > s) {
 
-             if (r > o) {
 
-                 o = parseInt(s / r * o);
 
-                 r = s
 
-             } else {
 
-                 r = parseInt(s / o * r);
 
-                 o = s
 
-             }
 
-         }
 
-         var m;
 
-         try {
 
-             var l = document.createElement("canvas");
 
-             l.width = r;
 
-             l.height = o;
 
-             var k = l.getContext("2d");
 
-             k.drawImage(n, 0, 0, n.width, n.height, 0, 0, r, o);
 
-             m = l.toDataURL()
 
-         } catch(p) {
 
-             m = null
 
-         }
 
-         if (! (/^data\:image\/(png|jpe?g|gif);base64,[0-9A-Za-z\+\/\=]+$/.test(m))) {
 
-             m = null
 
-         }
 
-         if (!m) {
 
-             return null
 
-         }
 
-         return {
 
-             src: m,
 
-             w: r,
 
-             h: o
 
-         }
 
-     };
 
-     e.fn.ace_file_input = function(m, n) {
 
-         var l;
 
-         var k = this.each(function() {
 
-             var q = e(this);
 
-             var p = q.data("ace_file_input");
 
-             var o = typeof m === "object" && m;
 
-             if (!p) {
 
-                 q.data("ace_file_input", (p = new f(this, o)))
 
-             }
 
-             if (typeof m === "string") {
 
-                 l = p[m](n)
 
-             }
 
-         });
 
-         return (l === c) ? k: l
 
-     };
 
-     e.fn.ace_file_input.defaults = {
 
-         style: false,
 
-         no_file: "No File ...",
 
-         no_icon: "icon-upload-alt",
 
-         btn_choose: "Choose",
 
-         btn_change: "Change",
 
-         icon_remove: "icon-remove",
 
-         droppable: false,
 
-         thumbnail: false,
 
-         before_change: null,
 
-         before_remove: null,
 
-         preview_error: null
 
-     }
 
- })(window.jQuery); (function(a, b) {
 
-     a.fn.ace_spinner = function(c) {
 
-         this.each(function() {
 
-             var f = c.icon_up || "icon-chevron-up";
 
-             var j = c.icon_down || "icon-chevron-down";
 
-             var h = c.on_sides || false;
 
-             var e = c.btn_up_class || "";
 
-             var g = c.btn_down_class || "";
 
-             var d = c.max || 999;
 
-             d = ("" + d).length;
 
-             a(this).addClass("spinner-input form-control").wrap('<div class="ace-spinner">');
 
-             var k = a(this).closest(".ace-spinner").spinner(c).wrapInner("<div class='input-group'></div>");
 
-             if (h) {
 
-                 a(this).before('<div class="spinner-buttons input-group-btn">							<button type="button" class="btn spinner-down btn-xs ' + g + '">								<i class="' + j + '"></i>							</button>						</div>').after('<div class="spinner-buttons input-group-btn">							<button type="button" class="btn spinner-up btn-xs ' + e + '">								<i class="' + f + '"></i>							</button>						</div>');
 
-                 k.addClass("touch-spinner");
 
-                 k.css("width", (d * 20 + 40) + "px")
 
-             } else {
 
-                 a(this).after('<div class="spinner-buttons input-group-btn">							<button type="button" class="btn spinner-up btn-xs ' + e + '">								<i class="' + f + '"></i>							</button>							<button type="button" class="btn spinner-down btn-xs ' + g + '">								<i class="' + j + '"></i>							</button>						</div>');
 
-                 if ("ontouchend" in document || c.touch_spinner) {
 
-                     k.addClass("touch-spinner");
 
-                     k.css("width", (d * 20 + 40) + "px")
 
-                 } else {
 
-                     a(this).next().addClass("btn-group-vertical");
 
-                     k.css("width", (d * 20 + 10) + "px")
 
-                 }
 
-             }
 
-             a(this).on("mousewheel DOMMouseScroll",
 
-             function(l) {
 
-                 var m = l.originalEvent.detail < 0 || l.originalEvent.wheelDelta > 0 ? 1 : -1;
 
-                 k.spinner("step", m > 0);
 
-                 k.spinner("triggerChangedEvent");
 
-                 return false
 
-             });
 
-             var i = a(this);
 
-             k.on("changed",
 
-             function() {
 
-                 i.trigger("change")
 
-             })
 
-         });
 
-         return this
 
-     }
 
- })(window.jQuery); (function(a, b) {
 
-     a.fn.ace_wizard = function(c) {
 
-         this.each(function() {
 
-             var e = a(this);
 
-             e.wizard();
 
-             var d = e.siblings(".wizard-actions").eq(0);
 
-             var f = e.data("wizard");
 
-             f.$prevBtn.remove();
 
-             f.$nextBtn.remove();
 
-             f.$prevBtn = d.find(".btn-prev").eq(0).on(ace.click_event,
 
-             function() {
 
-                 e.wizard("previous")
 
-             }).attr("disabled", "disabled");
 
-             f.$nextBtn = d.find(".btn-next").eq(0).on(ace.click_event,
 
-             function() {
 
-                 e.wizard("next")
 
-             }).removeAttr("disabled");
 
-             f.nextText = f.$nextBtn.text()
 
-         });
 
-         return this
 
-     }
 
- })(window.jQuery); (function(a, b) {
 
-     a.fn.ace_colorpicker = function(c) {
 
-         var d = a.extend({
 
-             pull_right: false,
 
-             caret: true
 
-         },
 
-         c);
 
-         this.each(function() {
 
-             var g = a(this);
 
-             var e = "";
 
-             var f = "";
 
-             a(this).hide().find("option").each(function() {
 
-                 var h = "colorpick-btn";
 
-                 if (this.selected) {
 
-                     h += " selected";
 
-                     f = this.value
 
-                 }
 
-                 e += '<li><a class="' + h + '" href="#" style="background-color:' + this.value + ';" data-color="' + this.value + '"></a></li>'
 
-             }).end().on("change.ace_inner_call",
 
-             function() {
 
-                 a(this).next().find(".btn-colorpicker").css("background-color", this.value)
 
-             }).after('<div class="dropdown dropdown-colorpicker"><a data-toggle="dropdown" class="dropdown-toggle" href="#"><span class="btn-colorpicker" style="background-color:' + f + '"></span></a><ul class="dropdown-menu' + (d.caret ? " dropdown-caret": "") + (d.pull_right ? " pull-right": "") + '">' + e + "</ul></div>").next().find(".dropdown-menu").on(ace.click_event,
 
-             function(j) {
 
-                 var h = a(j.target);
 
-                 if (!h.is(".colorpick-btn")) {
 
-                     return false
 
-                 }
 
-                 h.closest("ul").find(".selected").removeClass("selected");
 
-                 h.addClass("selected");
 
-                 var i = h.data("color");
 
-                 g.val(i).change();
 
-                 j.preventDefault();
 
-                 return true
 
-             })
 
-         });
 
-         return this
 
-     }
 
- })(window.jQuery); (function(a, b) {
 
-     a.fn.ace_tree = function(d) {
 
-         var c = {
 
-             "open-icon": "icon-folder-open",
 
-             "close-icon": "icon-folder-close",
 
-             selectable: true,
 
-             "selected-icon": "tree-dot",
 
-             "unselected-icon": "tree-dot"
 
-         };
 
-         c = a.extend({},
 
-         c, d);
 
-         this.each(function() {
 
-             var e = a(this);
 
-             e.html('<div class = "tree-folder" style="display:none;">				<div class="tree-folder-header">					<i class="' + c["close-icon"] + '"></i>					<div class="tree-folder-name"></div>				</div>				<div class="tree-folder-content"></div>				<div class="tree-loader" style="display:none"></div>			</div>			<div class="tree-item" style="display:none;">				' + (c["unselected-icon"] == null ? "": '<i class="' + c["unselected-icon"] + '"></i>') + '				<div class="tree-item-name"></div>			</div>');
 
-             e.addClass(c.selectable == true ? "tree-selectable": "tree-unselectable");
 
-             e.tree(c)
 
-         });
 
-         return this
 
-     }
 
- })(window.jQuery); (function(a, b) {
 
-     a.fn.ace_wysiwyg = function(c, h) {
 
-         var d = a.extend({
 
-             speech_button: true,
 
-             wysiwyg: {}
 
-         },
 
-         c);
 
-         var e = ["#ac725e", "#d06b64", "#f83a22", "#fa573c", "#ff7537", "#ffad46", "#42d692", "#16a765", "#7bd148", "#b3dc6c", "#fbe983", "#fad165", "#92e1c0", "#9fe1e7", "#9fc6e7", "#4986e7", "#9a9cff", "#b99aff", "#c2c2c2", "#cabdbf", "#cca6ac", "#f691b2", "#cd74e6", "#a47ae2", "#444444"];
 
-         var g = {
 
-             font: {
 
-                 values: ["Arial", "Courier", "Comic Sans MS", "Helvetica", "Open Sans", "Tahoma", "Verdana"],
 
-                 icon: "icon-font",
 
-                 title: "Font"
 
-             },
 
-             fontSize: {
 
-                 values: {
 
-                     5 : "Huge",
 
-                     3 : "Normal",
 
-                     1 : "Small"
 
-                 },
 
-                 icon: "icon-text-height",
 
-                 title: "Font Size"
 
-             },
 
-             bold: {
 
-                 icon: "icon-bold",
 
-                 title: "Bold (Ctrl/Cmd+B)"
 
-             },
 
-             italic: {
 
-                 icon: "icon-italic",
 
-                 title: "Italic (Ctrl/Cmd+I)"
 
-             },
 
-             strikethrough: {
 
-                 icon: "icon-strikethrough",
 
-                 title: "Strikethrough"
 
-             },
 
-             underline: {
 
-                 icon: "icon-underline",
 
-                 title: "Underline"
 
-             },
 
-             insertunorderedlist: {
 
-                 icon: "icon-list-ul",
 
-                 title: "Bullet list"
 
-             },
 
-             insertorderedlist: {
 
-                 icon: "icon-list-ol",
 
-                 title: "Number list"
 
-             },
 
-             outdent: {
 
-                 icon: "icon-indent-left",
 
-                 title: "Reduce indent (Shift+Tab)"
 
-             },
 
-             indent: {
 
-                 icon: "icon-indent-right",
 
-                 title: "Indent (Tab)"
 
-             },
 
-             justifyleft: {
 
-                 icon: "icon-align-left",
 
-                 title: "Align Left (Ctrl/Cmd+L)"
 
-             },
 
-             justifycenter: {
 
-                 icon: "icon-align-center",
 
-                 title: "Center (Ctrl/Cmd+E)"
 
-             },
 
-             justifyright: {
 
-                 icon: "icon-align-right",
 
-                 title: "Align Right (Ctrl/Cmd+R)"
 
-             },
 
-             justifyfull: {
 
-                 icon: "icon-align-justify",
 
-                 title: "Justify (Ctrl/Cmd+J)"
 
-             },
 
-             createLink: {
 
-                 icon: "icon-link",
 
-                 title: "Hyperlink",
 
-                 button_text: "Add",
 
-                 placeholder: "URL",
 
-                 button_class: "btn-primary"
 
-             },
 
-             unlink: {
 
-                 icon: "icon-unlink",
 
-                 title: "Remove Hyperlink"
 
-             },
 
-             insertImage: {
 
-                 icon: "icon-picture",
 
-                 title: "Insert picture",
 
-                 button_text: '<i class="icon-file"></i> Choose Image …',
 
-                 placeholder: "Image URL",
 
-                 button_insert: "Insert",
 
-                 button_class: "btn-success",
 
-                 button_insert_class: "btn-primary",
 
-                 choose_file: true
 
-             },
 
-             foreColor: {
 
-                 values: e,
 
-                 title: "Change Color"
 
-             },
 
-             backColor: {
 
-                 values: e,
 
-                 title: "Change Background Color"
 
-             },
 
-             undo: {
 
-                 icon: "icon-undo",
 
-                 title: "Undo (Ctrl/Cmd+Z)"
 
-             },
 
-             redo: {
 
-                 icon: "icon-repeat",
 
-                 title: "Redo (Ctrl/Cmd+Y)"
 
-             },
 
-             viewSource: {
 
-                 icon: "icon-code",
 
-                 title: "View Source"
 
-             }
 
-         };
 
-         var f = d.toolbar || ["font", null, "fontSize", null, "bold", "italic", "strikethrough", "underline", null, "insertunorderedlist", "insertorderedlist", "outdent", "indent", null, "justifyleft", "justifycenter", "justifyright", "justifyfull", null, "createLink", "unlink", null, "insertImage", null, "foreColor", null, "undo", "redo", null, "viewSource"];
 
-         this.each(function() {
 
-             var r = ' <div class="wysiwyg-toolbar btn-toolbar center"> <div class="btn-group"> ';
 
-             for (var n in f) {
 
-                 if (f.hasOwnProperty(n)) {
 
-                     var p = f[n];
 
-                     if (p === null) {
 
-                         r += ' </div> <div class="btn-group"> ';
 
-                         continue
 
-                     }
 
-                     if (typeof p == "string" && p in g) {
 
-                         p = g[p];
 
-                         p.name = f[n]
 
-                     } else {
 
-                         if (typeof p == "object" && p.name in g) {
 
-                             p = a.extend(g[p.name], p)
 
-                         } else {
 
-                             continue
 
-                         }
 
-                     }
 
-                     var q = "className" in p ? p.className: "";
 
-                     switch (p.name) {
 
-                     case "font":
 
-                         r += ' <a class="btn btn-sm ' + q + ' dropdown-toggle" data-toggle="dropdown" title="' + p.title + '"><i class="' + p.icon + '"></i><i class="icon-angle-down icon-on-right"></i></a> ';
 
-                         r += ' <ul class="dropdown-menu dropdown-light">';
 
-                         for (var j in p.values) {
 
-                             if (p.values.hasOwnProperty(j)) {
 
-                                 r += ' <li><a data-edit="fontName ' + p.values[j] + '" style="font-family:\'' + p.values[j] + "'\">" + p.values[j] + "</a></li> "
 
-                             }
 
-                         }
 
-                         r += " </ul>";
 
-                         break;
 
-                     case "fontSize":
 
-                         r += ' <a class="btn btn-sm ' + q + ' dropdown-toggle" data-toggle="dropdown" title="' + p.title + '"><i class="' + p.icon + '"></i> <i class="icon-angle-down icon-on-right"></i></a> ';
 
-                         r += ' <ul class="dropdown-menu dropdown-light"> ';
 
-                         for (var t in p.values) {
 
-                             if (p.values.hasOwnProperty(t)) {
 
-                                 r += ' <li><a data-edit="fontSize ' + t + '"><font size="' + t + '">' + p.values[t] + "</font></a></li> "
 
-                             }
 
-                         }
 
-                         r += " </ul> ";
 
-                         break;
 
-                     case "createLink":
 
-                         r += ' <div class="inline position-relative"> <a class="btn btn-sm ' + q + ' dropdown-toggle" data-toggle="dropdown" title="' + p.title + '"><i class="' + p.icon + '"></i></a> ';
 
-                         r += ' <div class="dropdown-menu dropdown-caret pull-right">							<div class="input-group">								<input class="form-control" placeholder="' + p.placeholder + '" type="text" data-edit="' + p.name + '" />								<span class="input-group-btn">									<button class="btn btn-sm ' + p.button_class + '" type="button">' + p.button_text + "</button>								</span>							</div>						</div> </div>";
 
-                         break;
 
-                     case "insertImage":
 
-                         r += ' <div class="inline position-relative"> <a class="btn btn-sm ' + q + ' dropdown-toggle" data-toggle="dropdown" title="' + p.title + '"><i class="' + p.icon + '"></i></a> ';
 
-                         r += ' <div class="dropdown-menu dropdown-caret pull-right">							<div class="input-group">								<input class="form-control" placeholder="' + p.placeholder + '" type="text" data-edit="' + p.name + '" />								<span class="input-group-btn">									<button class="btn btn-sm ' + p.button_insert_class + '" type="button">' + p.button_insert + "</button>								</span>							</div>";
 
-                         if (p.choose_file && "FileReader" in window) {
 
-                             r += '<div class="space-2"></div>							 <div class="center">								<button class="btn btn-sm ' + p.button_class + ' wysiwyg-choose-file" type="button">' + p.button_text + '</button>								<input type="file" data-edit="' + p.name + '" />							  </div>'
 
-                         }
 
-                         r += " </div> </div>";
 
-                         break;
 
-                     case "foreColor":
 
-                     case "backColor":
 
-                         r += ' <select class="hide wysiwyg_colorpicker" title="' + p.title + '"> ';
 
-                         for (var m in p.values) {
 
-                             r += ' <option value="' + p.values[m] + '">' + p.values[m] + "</option> "
 
-                         }
 
-                         r += " </select> ";
 
-                         r += ' <input style="display:none;" disabled class="hide" type="text" data-edit="' + p.name + '" /> ';
 
-                         break;
 
-                     case "viewSource":
 
-                         r += ' <a class="btn btn-sm ' + q + '" data-view="source" title="' + p.title + '"><i class="' + p.icon + '"></i></a> ';
 
-                         break;
 
-                     default:
 
-                         r += ' <a class="btn btn-sm ' + q + '" data-edit="' + p.name + '" title="' + p.title + '"><i class="' + p.icon + '"></i></a> ';
 
-                         break
 
-                     }
 
-                 }
 
-             }
 
-             r += " </div> </div> ";
 
-             if (d.toolbar_place) {
 
-                 r = d.toolbar_place.call(this, r)
 
-             } else {
 
-                 r = a(this).before(r).prev()
 
-             }
 
-             r.find("a[title]").tooltip({
 
-                 animation: false,
 
-                 container: "body"
 
-             });
 
-             r.find(".dropdown-menu input:not([type=file])").on(ace.click_event,
 
-             function() {
 
-                 return false
 
-             }).on("change",
 
-             function() {
 
-                 a(this).closest(".dropdown-menu").siblings(".dropdown-toggle").dropdown("toggle")
 
-             }).on("keydown",
 
-             function(u) {
 
-                 if (u.which == 27) {
 
-                     this.value = "";
 
-                     a(this).change()
 
-                 }
 
-             });
 
-             r.find("input[type=file]").prev().on(ace.click_event,
 
-             function(u) {
 
-                 a(this).next().click()
 
-             });
 
-             r.find(".wysiwyg_colorpicker").each(function() {
 
-                 a(this).ace_colorpicker({
 
-                     pull_right: true
 
-                 }).change(function() {
 
-                     a(this).nextAll("input").eq(0).val(this.value).change()
 
-                 }).next().find(".btn-colorpicker").tooltip({
 
-                     title: this.title,
 
-                     animation: false,
 
-                     container: "body"
 
-                 })
 
-             });
 
-             var k;
 
-             if (d.speech_button && "onwebkitspeechchange" in (k = document.createElement("input"))) {
 
-                 var i = a(this).offset();
 
-                 r.append(k);
 
-                 a(k).attr({
 
-                     type: "text",
 
-                     "data-edit": "inserttext",
 
-                     "x-webkit-speech": ""
 
-                 }).addClass("wysiwyg-speech-input").css({
 
-                     position: "absolute"
 
-                 }).offset({
 
-                     top: i.top,
 
-                     left: i.left + a(this).innerWidth() - 35
 
-                 })
 
-             } else {
 
-                 k = null
 
-             }
 
-             var s = a(this);
 
-             var l = false;
 
-             r.find("a[data-view=source]").on("click",
 
-             function(v) {
 
-                 v.preventDefault();
 
-                 if (!l) {
 
-                     a("<textarea />").css({
 
-                         width: s.outerWidth(),
 
-                         height: s.outerHeight()
 
-                     }).val(s.html()).insertAfter(s);
 
-                     s.hide();
 
-                     a(this).addClass("active")
 
-                 } else {
 
-                     var u = s.next();
 
-                     s.html(u.val()).show();
 
-                     u.remove();
 
-                     a(this).removeClass("active")
 
-                 }
 
-                 l = !l
 
-             });
 
-             var o = a.extend({},
 
-             {
 
-                 activeToolbarClass: "active",
 
-                 toolbarSelector: r
 
-             },
 
-             d.wysiwyg || {});
 
-             a(this).wysiwyg(o)
 
-         });
 
-         return this
 
-     }
 
- })(window.jQuery);
 
 
  |