--- /dev/null
+/**\r
+ * Interface Elements for jQuery\r
+ * TTabs\r
+ * \r
+ * http://interface.eyecon.ro\r
+ * \r
+ * Copyright (c) 2006 Stefan Petre\r
+ * Dual licensed under the MIT (MIT-LICENSE.txt) \r
+ * and GPL (GPL-LICENSE.txt) licenses.\r
+ * \r
+ *\r
+ *\r
+ */\r
+\r
+jQuery.iTTabs =\r
+{\r
+ doTab : function(e)\r
+ {\r
+ pressedKey = e.charCode || e.keyCode || -1;\r
+ if (pressedKey == 9) {\r
+ if (window.event) {\r
+ window.event.cancelBubble = true;\r
+ window.event.returnValue = false;\r
+ } else {\r
+ e.preventDefault();\r
+ e.stopPropagation();\r
+ }\r
+ if (this.createTextRange) {\r
+ document.selection.createRange().text="\t";\r
+ this.onblur = function() { this.focus(); this.onblur = null; };\r
+ } else if (this.setSelectionRange) {\r
+ start = this.selectionStart;\r
+ end = this.selectionEnd;\r
+ this.value = this.value.substring(0, start) + "\t" + this.value.substr(end);\r
+ this.setSelectionRange(start + 1, start + 1);\r
+ this.focus();\r
+ }\r
+ return false;\r
+ }\r
+ },\r
+ destroy : function()\r
+ {\r
+ return this.each(\r
+ function()\r
+ {\r
+ if (this.hasTabsEnabled && this.hasTabsEnabled == true) {\r
+ jQuery(this).unbind('keydown', jQuery.iTTabs.doTab);\r
+ this.hasTabsEnabled = false;\r
+ }\r
+ }\r
+ );\r
+ },\r
+ build : function()\r
+ {\r
+ return this.each(\r
+ function()\r
+ {\r
+ if (this.tagName == 'TEXTAREA' && (!this.hasTabsEnabled || this.hasTabsEnabled == false)) {\r
+ jQuery(this).bind('keydown', jQuery.iTTabs.doTab);\r
+ this.hasTabsEnabled = true;\r
+ }\r
+ }\r
+ ); \r
+ }\r
+};\r
+\r
+jQuery.fn.extend (\r
+ {\r
+ /**\r
+ * Enable tabs in textareas\r
+ * \r
+ * @name EnableTabs\r
+ * @description Enable tabs in textareas\r
+ *\r
+ * @type jQuery\r
+ * @cat Plugins/Interface\r
+ * @author Stefan Petre\r
+ */\r
+ EnableTabs : jQuery.iTTabs.build,\r
+ /**\r
+ * Disable tabs in textareas\r
+ * \r
+ * @name DisableTabs\r
+ * @description Disable tabs in textareas\r
+ *\r
+ * @type jQuery\r
+ * @cat Plugins/Interface\r
+ * @author Stefan Petre\r
+ */\r
+ DisableTabs : jQuery.iTTabs.destroy\r
+ }\r
+);
\ No newline at end of file