diff --git a/README b/README
index 944e4ee29..027458a6b 100644
--- a/README
+++ b/README
@@ -155,11 +155,6 @@ WYSIWYG - jQuery plugin 0.3
#
# Dual licensed under the MIT and GPL licenses:
-Treeview 1.4 - jQuery plugin to hide and show branches of a tree
- # Copyright (c) 2007 Jörn Zaefferer
- #
- # Dual licensed under the MIT and GPL licenses:
-
jQuery Date Picker:
# Copyright (c) 2007 Kelvin Luck (http://www.kelvinluck.com/)
# Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
diff --git a/wcs/qommon/static/js/jquery-treeview/changelog.txt b/wcs/qommon/static/js/jquery-treeview/changelog.txt
deleted file mode 100644
index 44a94e82b..000000000
--- a/wcs/qommon/static/js/jquery-treeview/changelog.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-1.4
----
-
-* Added changelog (this file)
-* Fixed tree control to search only for anchors, allowing images or other elements inside the controls, while keeping the control usable with the keyboard
-* Restructured folder layout: root contains plugin resources, lib contains script dependencies, demo contains demos and related files
-* Added prerendered option: If set to true, assumes all hitarea divs and classes already rendered, speeding up initialization for big trees, but more obtrusive
-* Added jquery.treeview.async.js for ajax-lazy-loading trees, see async.html demo
-* Exposed $.fn.treeview.classes for custom classes if necessary
-* Show treecontrol only when JavaScript is enabled
-* Completely reworked themeing via CSS sprites, resulting in only two files per theme
- * updated dotted, black, gray and red theme
- * added famfamfam theme (no lines)
-* Improved cookie persistence to allow multiple persisted trees per page via cookieId option
-* Improved location persistence by making it case-insensitive
-* Improved swapClass and replaceClass plugin implementations
-* Added folder-closed.gif to filetree example
-
-1.3
----
-
-* Fixes for all outstanding bugs
-* Added persistence features
- * location based: click on a link in the treeview and reopen that link after the page loaded
- * cookie based: save the state of the tree in a cookie on each click and load that on reload
-* smoothed animations, fixing flickering in both IE and Opera
-* Tested in Firefox 2, IE 6 & 7, Opera 9, Safari 3
-* Moved documentation to jQuery wiki
-* Requires jQuery 1.2+
diff --git a/wcs/qommon/static/js/jquery-treeview/demo/async.html b/wcs/qommon/static/js/jquery-treeview/demo/async.html
deleted file mode 100644
index 571b11221..000000000
--- a/wcs/qommon/static/js/jquery-treeview/demo/async.html
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
- jQuery async treeview
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Lazy-loading tree
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/demo/bg.gif b/wcs/qommon/static/js/jquery-treeview/demo/bg.gif
deleted file mode 100644
index 846add071..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/demo/bg.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/demo/demo.js b/wcs/qommon/static/js/jquery-treeview/demo/demo.js
deleted file mode 100644
index 2c2a9b470..000000000
--- a/wcs/qommon/static/js/jquery-treeview/demo/demo.js
+++ /dev/null
@@ -1,43 +0,0 @@
-$(document).ready(function(){
-
- // first example
- $("#navigation").treeview({
- persist: "location",
- collapsed: true,
- unique: true
- });
-
- // second example
- $("#browser").treeview();
- $("#add").click(function() {
- var branches = $("New Sublist ").appendTo("#browser");
- $("#browser").treeview({
- add: branches
- });
- branches = $("New Sublist ").prependTo("#folder21");
- $("#browser").treeview({
- add: branches
- });
- });
-
- // third example
- $("#red").treeview({
- animated: "fast",
- collapsed: true,
- unique: true,
- persist: "cookie",
- toggle: function() {
- window.console && console.log("%o was toggled", this);
- }
- });
-
- // fourth example
- $("#black, #gray").treeview({
- control: "#treecontrol",
- persist: "cookie",
- cookieId: "treeview-black"
- });
-
-});
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/demo/images.html b/wcs/qommon/static/js/jquery-treeview/demo/images.html
deleted file mode 100644
index 044bcbfe2..000000000
--- a/wcs/qommon/static/js/jquery-treeview/demo/images.html
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
-
- jQuery treeView
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/demo/index.html b/wcs/qommon/static/js/jquery-treeview/demo/index.html
deleted file mode 100644
index 265506928..000000000
--- a/wcs/qommon/static/js/jquery-treeview/demo/index.html
+++ /dev/null
@@ -1,340 +0,0 @@
-
-
-
-
-
- jQuery treeView
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Pagecode
-
-
Other demos
-
-
-
Sample 0 - navigation
-
-
-
-
-
Sample 1 - default
-
- Folder 1
-
-
- Folder 2
-
- Subfolder 2.1
-
- File 2.1.1
- File 2.1.2
-
-
- File 2.2
-
-
- Folder 3 (closed at start)
-
-
- File 4
-
-
-
Add!
-
-
Sample 2 - fast animations, all branches collapsed at first, red theme, cookie-based persistance
-
- Item 1
-
- Item 1.0
-
-
- Item 1.1
- Item 1.2
-
- Item 1.2.0
-
- Item 1.2.0.0
- Item 1.2.0.1
- Item 1.2.0.2
-
-
- Item 1.2.1
-
-
- Item 1.2.2
-
- Item 1.2.2.0
- Item 1.2.2.1
- Item 1.2.2.2
-
-
-
-
-
-
- Item 2
-
- Item 2.0
-
- Item 2.0.0
-
- Item 2.0.0.0
- Item 2.0.0.1
-
-
-
-
- Item 2.1
-
- Item 2.1.0
-
-
- Item 2.1.1
-
- Item 2.1.1.0
- Item 2.1.1.1
- Item 2.1.1.2
-
-
- Item 2.1.2
-
- Item 2.1.2.0
- Item 2.1.2.1
- Item 2.1.2.2
-
-
-
-
-
-
- Item 3
-
- Item 3.0
-
- Item 3.0.0
- Item 3.0.1
-
- Item 3.0.1.0
- Item 3.0.1.1
-
-
-
- Item 3.0.2
-
- Item 3.0.2.0
- Item 3.0.2.1
- Item 3.0.2.2
-
-
-
-
-
-
-
-
-
Sample 3 - two trees with one tree control, black and gray theme, cookie-based persistance
-
-
- Item 1
-
- Item 2
-
-
- Item 2.1
-
- Item 2.1.1
- Item 2.1.2
-
-
- Item 2.2
-
- Item 2.3 (closed at start)
-
- Item 2.3.1
- Item 2.3.2
-
-
-
-
-
-
- Item 1
-
- Item 2
-
-
- Item 2.1 (closed at start)
-
- Item 2.1.1
- Item 2.1.2
-
-
- Item 2.2.1
- Item 2.2.2
- Item 2.2.3
- Item 2.2.4
- Item 2.2.5
- Item 2.2.6
- Item 2.2.7
- Item 2.2.8
-
- Item 2.3
-
- Item 2.3.1
- Item 2.3.2
- Item 2.3.3
- Item 2.3.4
- Item 2.3.5
- Item 2.3.6
- Item 2.3.7
- Item 2.3.8
- Item 2.3.9
-
-
-
- Item 2.4
-
- Item 2.4.1
- Item 2.4.2
- Item 2.4.3
- Item 2.4.4
- Item 2.4.5
- Item 2.4.6
- Item 2.4.7
- Item 2.4.8
- Item 2.4.9
-
-
-
-
- Item 3
-
-
-
-
-
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/demo/large.html b/wcs/qommon/static/js/jquery-treeview/demo/large.html
deleted file mode 100644
index 86b48ecb5..000000000
--- a/wcs/qommon/static/js/jquery-treeview/demo/large.html
+++ /dev/null
@@ -1,559 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/wcs/qommon/static/js/jquery-treeview/demo/prerendered.html b/wcs/qommon/static/js/jquery-treeview/demo/prerendered.html
deleted file mode 100644
index 957822f7c..000000000
--- a/wcs/qommon/static/js/jquery-treeview/demo/prerendered.html
+++ /dev/null
@@ -1,621 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/wcs/qommon/static/js/jquery-treeview/demo/screen.css b/wcs/qommon/static/js/jquery-treeview/demo/screen.css
deleted file mode 100644
index 965653c8e..000000000
--- a/wcs/qommon/static/js/jquery-treeview/demo/screen.css
+++ /dev/null
@@ -1,24 +0,0 @@
-html, body {height:100%; margin: 0; padding: 0; }
-
-html>body {
- font-size: 16px;
- font-size: 68.75%;
-} /* Reset Base Font Size */
-
-body {
- font-family: Verdana, helvetica, arial, sans-serif;
- font-size: 68.75%;
- background: #fff;
- color: #333;
-}
-
-h1, h2 { font-family: 'trebuchet ms', verdana, arial; padding: 10px; margin: 0 }
-h1 { font-size: large }
-
-#banner { padding: 15px; background-color: #06b; color: white; font-size: large; border-bottom: 1px solid #ccc;
- background: url(bg.gif) repeat-x; text-align: center }
-#banner a { color: white; }
-
-#main { padding: 1em; }
-
-a img { border: none; }
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/demo/simple.html b/wcs/qommon/static/js/jquery-treeview/demo/simple.html
deleted file mode 100644
index a35b123d6..000000000
--- a/wcs/qommon/static/js/jquery-treeview/demo/simple.html
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-
-
-
- jQuery treeView
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Main Demo
-
-
- Folder 1
-
- Item 1.1
-
-
- Folder 2
-
- Subfolder 2.1
-
- File 2.1.1
- File 2.1.2
-
-
- Subfolder 2.2
-
- File 2.2.1
- File 2.2.2
-
-
-
-
- Folder 3 (closed at start)
-
-
- File 4
-
-
-
-
-
Add!
-
-
+/- Icons from famfamfam
-
-
-
-
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/demo/source.php b/wcs/qommon/static/js/jquery-treeview/demo/source.php
deleted file mode 100644
index 6ee7cb9ea..000000000
--- a/wcs/qommon/static/js/jquery-treeview/demo/source.php
+++ /dev/null
@@ -1,87 +0,0 @@
-
-[
- {
- "text": "1. Pre Lunch (120 min)",
- "expanded": true,
- "classes": "important",
- "children":
- [
- {
- "text": "1.1 The State of the Powerdome (30 min)"
- },
- {
- "text": "1.2 The Future of jQuery (30 min)"
- },
- {
- "text": "1.2 jQuery UI - A step to richnessy (60 min)"
- }
- ]
- },
- {
- "text": "2. Lunch (60 min)"
- },
- {
- "text": "3. After Lunch (120+ min)",
- "children":
- [
- {
- "text": "3.1 jQuery Calendar Success Story (20 min)"
- },
- {
- "text": "3.2 jQuery and Ruby Web Frameworks (20 min)"
- },
- {
- "text": "3.3 Hey, I Can Do That! (20 min)"
- },
- {
- "text": "3.4 Taconite and Form (20 min)"
- },
- {
- "text": "3.5 Server-side JavaScript with jQuery and AOLserver (20 min)"
- },
- {
- "text": "3.6 The Onion: How to add features without adding features (20 min)",
- "id": "36",
- "hasChildren": true
- },
- {
- "text": "3.7 Visualizations with JavaScript and Canvas (20 min)"
- },
- {
- "text": "3.8 ActiveDOM (20 min)"
- },
- {
- "text": "3.8 Growing jQuery (20 min)"
- }
- ]
- }
-]
-
-[
- {
- "text": "1. Review of existing structures",
- "expanded": true,
- "children":
- [
- {
- "text": "1.1 jQuery core"
- },
- {
- "text": "1.2 metaplugins"
- }
- ]
- },
- {
- "text": "2. Wrapper plugins"
- },
- {
- "text": "3. Summary"
- },
- {
- "text": "4. Questions and answers"
- }
-
-]
-
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/demo/source.phps b/wcs/qommon/static/js/jquery-treeview/demo/source.phps
deleted file mode 100644
index 6ee7cb9ea..000000000
--- a/wcs/qommon/static/js/jquery-treeview/demo/source.phps
+++ /dev/null
@@ -1,87 +0,0 @@
-
-[
- {
- "text": "1. Pre Lunch (120 min)",
- "expanded": true,
- "classes": "important",
- "children":
- [
- {
- "text": "1.1 The State of the Powerdome (30 min)"
- },
- {
- "text": "1.2 The Future of jQuery (30 min)"
- },
- {
- "text": "1.2 jQuery UI - A step to richnessy (60 min)"
- }
- ]
- },
- {
- "text": "2. Lunch (60 min)"
- },
- {
- "text": "3. After Lunch (120+ min)",
- "children":
- [
- {
- "text": "3.1 jQuery Calendar Success Story (20 min)"
- },
- {
- "text": "3.2 jQuery and Ruby Web Frameworks (20 min)"
- },
- {
- "text": "3.3 Hey, I Can Do That! (20 min)"
- },
- {
- "text": "3.4 Taconite and Form (20 min)"
- },
- {
- "text": "3.5 Server-side JavaScript with jQuery and AOLserver (20 min)"
- },
- {
- "text": "3.6 The Onion: How to add features without adding features (20 min)",
- "id": "36",
- "hasChildren": true
- },
- {
- "text": "3.7 Visualizations with JavaScript and Canvas (20 min)"
- },
- {
- "text": "3.8 ActiveDOM (20 min)"
- },
- {
- "text": "3.8 Growing jQuery (20 min)"
- }
- ]
- }
-]
-
-[
- {
- "text": "1. Review of existing structures",
- "expanded": true,
- "children":
- [
- {
- "text": "1.1 jQuery core"
- },
- {
- "text": "1.2 metaplugins"
- }
- ]
- },
- {
- "text": "2. Wrapper plugins"
- },
- {
- "text": "3. Summary"
- },
- {
- "text": "4. Questions and answers"
- }
-
-]
-
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/images/file.gif b/wcs/qommon/static/js/jquery-treeview/images/file.gif
deleted file mode 100644
index 7e6216798..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/file.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/folder-closed.gif b/wcs/qommon/static/js/jquery-treeview/images/folder-closed.gif
deleted file mode 100644
index 541107888..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/folder-closed.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/folder.gif b/wcs/qommon/static/js/jquery-treeview/images/folder.gif
deleted file mode 100644
index 2b31631ca..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/folder.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/minus.gif b/wcs/qommon/static/js/jquery-treeview/images/minus.gif
deleted file mode 100644
index 47fb7b767..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/minus.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/plus.gif b/wcs/qommon/static/js/jquery-treeview/images/plus.gif
deleted file mode 100644
index 690662162..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/plus.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/treeview-black-line.gif b/wcs/qommon/static/js/jquery-treeview/images/treeview-black-line.gif
deleted file mode 100644
index e5496877a..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/treeview-black-line.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/treeview-black.gif b/wcs/qommon/static/js/jquery-treeview/images/treeview-black.gif
deleted file mode 100644
index d549b9fc5..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/treeview-black.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/treeview-default-line.gif b/wcs/qommon/static/js/jquery-treeview/images/treeview-default-line.gif
deleted file mode 100644
index 37114d306..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/treeview-default-line.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/treeview-default.gif b/wcs/qommon/static/js/jquery-treeview/images/treeview-default.gif
deleted file mode 100644
index a12ac52ff..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/treeview-default.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/treeview-famfamfam-line.gif b/wcs/qommon/static/js/jquery-treeview/images/treeview-famfamfam-line.gif
deleted file mode 100644
index 6e289cecc..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/treeview-famfamfam-line.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/treeview-famfamfam.gif b/wcs/qommon/static/js/jquery-treeview/images/treeview-famfamfam.gif
deleted file mode 100644
index 0cb178e89..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/treeview-famfamfam.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/treeview-gray-line.gif b/wcs/qommon/static/js/jquery-treeview/images/treeview-gray-line.gif
deleted file mode 100644
index 37600447d..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/treeview-gray-line.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/treeview-gray.gif b/wcs/qommon/static/js/jquery-treeview/images/treeview-gray.gif
deleted file mode 100644
index cfb8a2f09..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/treeview-gray.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/treeview-red-line.gif b/wcs/qommon/static/js/jquery-treeview/images/treeview-red-line.gif
deleted file mode 100644
index df9e749a8..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/treeview-red-line.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/images/treeview-red.gif b/wcs/qommon/static/js/jquery-treeview/images/treeview-red.gif
deleted file mode 100644
index 3bbb3a157..000000000
Binary files a/wcs/qommon/static/js/jquery-treeview/images/treeview-red.gif and /dev/null differ
diff --git a/wcs/qommon/static/js/jquery-treeview/jquery.treeview.async.js b/wcs/qommon/static/js/jquery-treeview/jquery.treeview.async.js
deleted file mode 100644
index 2597dde17..000000000
--- a/wcs/qommon/static/js/jquery-treeview/jquery.treeview.async.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Async Treeview 0.1 - Lazy-loading extension for Treeview
- *
- * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
- *
- * Copyright (c) 2007 Jörn Zaefferer
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- * Revision: $Id$
- *
- */
-
-;(function($) {
-
-function load(settings, root, child, container) {
- $.getJSON(settings.url, {root: root}, function(response) {
- function createNode(parent) {
- var current = $(" ").attr("id", this.id || "").html("" + this.text + " ").appendTo(parent);
- if (this.classes) {
- current.children("span").addClass(this.classes);
- }
- if (this.expanded) {
- current.addClass("open");
- }
- if (this.hasChildren || this.children && this.children.length) {
- var branch = $("").appendTo(current);
- if (this.hasChildren) {
- current.addClass("hasChildren");
- createNode.call({
- text:"placeholder",
- id:"placeholder",
- children:[]
- }, branch);
- }
- if (this.children && this.children.length) {
- $.each(this.children, createNode, [branch])
- }
- }
- }
- $.each(response, createNode, [child]);
- $(container).treeview({add: child});
- });
-}
-
-var proxied = $.fn.treeview;
-$.fn.treeview = function(settings) {
- if (!settings.url) {
- return proxied.apply(this, arguments);
- }
- var container = this;
- load(settings, "source", this, container);
- var userToggle = settings.toggle;
- return proxied.call(this, $.extend({}, settings, {
- collapsed: true,
- toggle: function() {
- var $this = $(this);
- if ($this.hasClass("hasChildren")) {
- var childList = $this.removeClass("hasChildren").find("ul");
- childList.empty();
- load(settings, this.id, childList, container);
- }
- if (userToggle) {
- userToggle.apply(this, arguments);
- }
- }
- }));
-};
-
-})(jQuery);
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/jquery.treeview.css b/wcs/qommon/static/js/jquery-treeview/jquery.treeview.css
deleted file mode 100644
index 4a9109657..000000000
--- a/wcs/qommon/static/js/jquery-treeview/jquery.treeview.css
+++ /dev/null
@@ -1,68 +0,0 @@
-.treeview, .treeview ul {
- padding: 0;
- margin: 0;
- list-style: none;
-}
-
-.treeview ul {
- background-color: white;
- margin-top: 4px;
-}
-
-.treeview .hitarea {
- background: url(images/treeview-default.gif) -64px -25px no-repeat;
- height: 16px;
- width: 16px;
- margin-left: -16px;
- float: left;
- cursor: pointer;
-}
-/* fix for IE6 */
-* html .hitarea {
- display: inline;
- float:none;
-}
-
-.treeview li {
- margin: 0;
- padding: 3px 0pt 3px 16px;
-}
-
-.treeview a.selected {
- background-color: #eee;
-}
-
-#treecontrol { margin: 1em 0; display: none; }
-
-.treeview .hover { color: red; cursor: pointer; }
-
-.treeview li { background: url(images/treeview-default-line.gif) 0 0 no-repeat; }
-.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; }
-
-.treeview .expandable-hitarea { background-position: -80px -3px; }
-
-.treeview li.last { background-position: 0 -1766px }
-.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: url(images/treeview-default.gif); }
-.treeview li.lastCollapsable { background-position: 0 -111px }
-.treeview li.lastExpandable { background-position: -32px -67px }
-
-.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; }
-
-.treeview-red li { background-image: url(images/treeview-red-line.gif); }
-.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url(images/treeview-red.gif); }
-
-.treeview-black li { background-image: url(images/treeview-black-line.gif); }
-.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url(images/treeview-black.gif); }
-
-.treeview-gray li { background-image: url(images/treeview-gray-line.gif); }
-.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url(images/treeview-gray.gif); }
-
-.treeview-famfamfam li { background-image: url(images/treeview-famfamfam-line.gif); }
-.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url(images/treeview-famfamfam.gif); }
-
-
-.filetree li { padding: 3px 0 2px 16px; }
-.filetree span.folder, .filetree span.file { padding: 1px 0 1px 16px; display: block; }
-.filetree span.folder { background: url(images/folder.gif) 0 0 no-repeat; }
-.filetree li.expandable span.folder { background: url(images/folder-closed.gif) 0 0 no-repeat; }
-.filetree span.file { background: url(images/file.gif) 0 0 no-repeat; }
diff --git a/wcs/qommon/static/js/jquery-treeview/jquery.treeview.js b/wcs/qommon/static/js/jquery-treeview/jquery.treeview.js
deleted file mode 100644
index bc5d9e46b..000000000
--- a/wcs/qommon/static/js/jquery-treeview/jquery.treeview.js
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * Treeview 1.4 - jQuery plugin to hide and show branches of a tree
- *
- * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
- * http://docs.jquery.com/Plugins/Treeview
- *
- * Copyright (c) 2007 Jörn Zaefferer
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $
- *
- */
-
-;(function($) {
-
- $.extend($.fn, {
- swapClass: function(c1, c2) {
- var c1Elements = this.filter('.' + c1);
- this.filter('.' + c2).removeClass(c2).addClass(c1);
- c1Elements.removeClass(c1).addClass(c2);
- return this;
- },
- replaceClass: function(c1, c2) {
- return this.filter('.' + c1).removeClass(c1).addClass(c2).end();
- },
- hoverClass: function(className) {
- className = className || "hover";
- return this.hover(function() {
- $(this).addClass(className);
- }, function() {
- $(this).removeClass(className);
- });
- },
- heightToggle: function(animated, callback) {
- animated ?
- this.animate({ height: "toggle" }, animated, callback) :
- this.each(function(){
- jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
- if(callback)
- callback.apply(this, arguments);
- });
- },
- heightHide: function(animated, callback) {
- if (animated) {
- this.animate({ height: "hide" }, animated, callback);
- } else {
- this.hide();
- if (callback)
- this.each(callback);
- }
- },
- prepareBranches: function(settings) {
- if (!settings.prerendered) {
- // mark last tree items
- this.filter(":last-child:not(ul)").addClass(CLASSES.last);
- // collapse whole tree, or only those marked as closed, anyway except those marked as open
- this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide();
- }
- // return all items with sublists
- return this.filter(":has(>ul)");
- },
- applyClasses: function(settings, toggler) {
- this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event) {
- toggler.apply($(this).next());
- }).add( $("a", this) ).hoverClass();
-
- if (!settings.prerendered) {
- // handle closed ones first
- this.filter(":has(>ul:hidden)")
- .addClass(CLASSES.expandable)
- .replaceClass(CLASSES.last, CLASSES.lastExpandable);
-
- // handle open ones
- this.not(":has(>ul:hidden)")
- .addClass(CLASSES.collapsable)
- .replaceClass(CLASSES.last, CLASSES.lastCollapsable);
-
- // create hitarea
- this.prepend("
").find("div." + CLASSES.hitarea).each(function() {
- var classes = "";
- $.each($(this).parent().attr("class").split(" "), function() {
- classes += this + "-hitarea ";
- });
- $(this).addClass( classes );
- });
- }
-
- // apply event to hitarea
- this.find("div." + CLASSES.hitarea).click( toggler );
- },
- treeview: function(settings) {
-
- settings = $.extend({
- cookieId: "treeview"
- }, settings);
-
- if (settings.add) {
- return this.trigger("add", [settings.add]);
- }
-
- if ( settings.toggle ) {
- var callback = settings.toggle;
- settings.toggle = function() {
- return callback.apply($(this).parent()[0], arguments);
- };
- }
-
- // factory for treecontroller
- function treeController(tree, control) {
- // factory for click handlers
- function handler(filter) {
- return function() {
- // reuse toggle event handler, applying the elements to toggle
- // start searching for all hitareas
- toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() {
- // for plain toggle, no filter is provided, otherwise we need to check the parent element
- return filter ? $(this).parent("." + filter).length : true;
- }) );
- return false;
- };
- }
- // click on first element to collapse tree
- $("a:eq(0)", control).click( handler(CLASSES.collapsable) );
- // click on second to expand tree
- $("a:eq(1)", control).click( handler(CLASSES.expandable) );
- // click on third to toggle tree
- $("a:eq(2)", control).click( handler() );
- }
-
- // handle toggle event
- function toggler() {
- $(this)
- .parent()
- // swap classes for hitarea
- .find(">.hitarea")
- .swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
- .swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
- .end()
- // swap classes for parent li
- .swapClass( CLASSES.collapsable, CLASSES.expandable )
- .swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
- // find child lists
- .find( ">ul" )
- // toggle them
- .heightToggle( settings.animated, settings.toggle );
- if ( settings.unique ) {
- $(this).parent()
- .siblings()
- // swap classes for hitarea
- .find(">.hitarea")
- .replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
- .replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
- .end()
- .replaceClass( CLASSES.collapsable, CLASSES.expandable )
- .replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
- .find( ">ul" )
- .heightHide( settings.animated, settings.toggle );
- }
- }
-
- function serialize() {
- function binary(arg) {
- return arg ? 1 : 0;
- }
- var data = [];
- branches.each(function(i, e) {
- data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0;
- });
- $.cookie(settings.cookieId, data.join("") );
- }
-
- function deserialize() {
- var stored = $.cookie(settings.cookieId);
- if ( stored ) {
- var data = stored.split("");
- branches.each(function(i, e) {
- $(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ]();
- });
- }
- }
-
- // add treeview class to activate styles
- this.addClass("treeview");
-
- // prepare branches and find all tree items with child lists
- var branches = this.find("li").prepareBranches(settings);
-
- switch(settings.persist) {
- case "cookie":
- var toggleCallback = settings.toggle;
- settings.toggle = function() {
- serialize();
- if (toggleCallback) {
- toggleCallback.apply(this, arguments);
- }
- };
- deserialize();
- break;
- case "location":
- var current = this.find("a").filter(function() { return this.href.toLowerCase() == location.href.toLowerCase(); });
- if ( current.length ) {
- current.addClass("selected").parents("ul, li").add( current.next() ).show();
- }
- break;
- }
-
- branches.applyClasses(settings, toggler);
-
- // if control option is set, create the treecontroller and show it
- if ( settings.control ) {
- treeController(this, settings.control);
- $(settings.control).show();
- }
-
- return this.bind("add", function(event, branches) {
- $(branches).prev()
- .removeClass(CLASSES.last)
- .removeClass(CLASSES.lastCollapsable)
- .removeClass(CLASSES.lastExpandable)
- .find(">.hitarea")
- .removeClass(CLASSES.lastCollapsableHitarea)
- .removeClass(CLASSES.lastExpandableHitarea);
- $(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler);
- });
- }
- });
-
- // classes used by the plugin
- // need to be styled via external stylesheet, see first example
- var CLASSES = $.fn.treeview.classes = {
- open: "open",
- closed: "closed",
- expandable: "expandable",
- expandableHitarea: "expandable-hitarea",
- lastExpandableHitarea: "lastExpandable-hitarea",
- collapsable: "collapsable",
- collapsableHitarea: "collapsable-hitarea",
- lastCollapsableHitarea: "lastCollapsable-hitarea",
- lastCollapsable: "lastCollapsable",
- lastExpandable: "lastExpandable",
- last: "last",
- hitarea: "hitarea"
- };
-
- // provide backwards compability
- $.fn.Treeview = $.fn.treeview;
-
-})(jQuery);
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/jquery.treeview.min.js b/wcs/qommon/static/js/jquery-treeview/jquery.treeview.min.js
deleted file mode 100644
index 96202d9cb..000000000
--- a/wcs/qommon/static/js/jquery-treeview/jquery.treeview.min.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * Treeview 1.4 - jQuery plugin to hide and show branches of a tree
- *
- * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
- * http://docs.jquery.com/Plugins/Treeview
- *
- * Copyright (c) 2007 Jörn Zaefferer
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $
- *
- */;(function($){$.extend($.fn,{swapClass:function(c1,c2){var c1Elements=this.filter('.'+c1);this.filter('.'+c2).removeClass(c2).addClass(c1);c1Elements.removeClass(c1).addClass(c2);return this;},replaceClass:function(c1,c2){return this.filter('.'+c1).removeClass(c1).addClass(c2).end();},hoverClass:function(className){className=className||"hover";return this.hover(function(){$(this).addClass(className);},function(){$(this).removeClass(className);});},heightToggle:function(animated,callback){animated?this.animate({height:"toggle"},animated,callback):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();if(callback)callback.apply(this,arguments);});},heightHide:function(animated,callback){if(animated){this.animate({height:"hide"},animated,callback);}else{this.hide();if(callback)this.each(callback);}},prepareBranches:function(settings){if(!settings.prerendered){this.filter(":last-child:not(ul)").addClass(CLASSES.last);this.filter((settings.collapsed?"":"."+CLASSES.closed)+":not(."+CLASSES.open+")").find(">ul").hide();}return this.filter(":has(>ul)");},applyClasses:function(settings,toggler){this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event){toggler.apply($(this).next());}).add($("a",this)).hoverClass();if(!settings.prerendered){this.filter(":has(>ul:hidden)").addClass(CLASSES.expandable).replaceClass(CLASSES.last,CLASSES.lastExpandable);this.not(":has(>ul:hidden)").addClass(CLASSES.collapsable).replaceClass(CLASSES.last,CLASSES.lastCollapsable);this.prepend("").find("div."+CLASSES.hitarea).each(function(){var classes="";$.each($(this).parent().attr("class").split(" "),function(){classes+=this+"-hitarea ";});$(this).addClass(classes);});}this.find("div."+CLASSES.hitarea).click(toggler);},treeview:function(settings){settings=$.extend({cookieId:"treeview"},settings);if(settings.add){return this.trigger("add",[settings.add]);}if(settings.toggle){var callback=settings.toggle;settings.toggle=function(){return callback.apply($(this).parent()[0],arguments);};}function treeController(tree,control){function handler(filter){return function(){toggler.apply($("div."+CLASSES.hitarea,tree).filter(function(){return filter?$(this).parent("."+filter).length:true;}));return false;};}$("a:eq(0)",control).click(handler(CLASSES.collapsable));$("a:eq(1)",control).click(handler(CLASSES.expandable));$("a:eq(2)",control).click(handler());}function toggler(){$(this).parent().find(">.hitarea").swapClass(CLASSES.collapsableHitarea,CLASSES.expandableHitarea).swapClass(CLASSES.lastCollapsableHitarea,CLASSES.lastExpandableHitarea).end().swapClass(CLASSES.collapsable,CLASSES.expandable).swapClass(CLASSES.lastCollapsable,CLASSES.lastExpandable).find(">ul").heightToggle(settings.animated,settings.toggle);if(settings.unique){$(this).parent().siblings().find(">.hitarea").replaceClass(CLASSES.collapsableHitarea,CLASSES.expandableHitarea).replaceClass(CLASSES.lastCollapsableHitarea,CLASSES.lastExpandableHitarea).end().replaceClass(CLASSES.collapsable,CLASSES.expandable).replaceClass(CLASSES.lastCollapsable,CLASSES.lastExpandable).find(">ul").heightHide(settings.animated,settings.toggle);}}function serialize(){function binary(arg){return arg?1:0;}var data=[];branches.each(function(i,e){data[i]=$(e).is(":has(>ul:visible)")?1:0;});$.cookie(settings.cookieId,data.join(""));}function deserialize(){var stored=$.cookie(settings.cookieId);if(stored){var data=stored.split("");branches.each(function(i,e){$(e).find(">ul")[parseInt(data[i])?"show":"hide"]();});}}this.addClass("treeview");var branches=this.find("li").prepareBranches(settings);switch(settings.persist){case"cookie":var toggleCallback=settings.toggle;settings.toggle=function(){serialize();if(toggleCallback){toggleCallback.apply(this,arguments);}};deserialize();break;case"location":var current=this.find("a").filter(function(){return this.href.toLowerCase()==location.href.toLowerCase();});if(current.length){current.addClass("selected").parents("ul, li").add(current.next()).show();}break;}branches.applyClasses(settings,toggler);if(settings.control){treeController(this,settings.control);$(settings.control).show();}return this.bind("add",function(event,branches){$(branches).prev().removeClass(CLASSES.last).removeClass(CLASSES.lastCollapsable).removeClass(CLASSES.lastExpandable).find(">.hitarea").removeClass(CLASSES.lastCollapsableHitarea).removeClass(CLASSES.lastExpandableHitarea);$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings,toggler);});}});var CLASSES=$.fn.treeview.classes={open:"open",closed:"closed",expandable:"expandable",expandableHitarea:"expandable-hitarea",lastExpandableHitarea:"lastExpandable-hitarea",collapsable:"collapsable",collapsableHitarea:"collapsable-hitarea",lastCollapsableHitarea:"lastCollapsable-hitarea",lastCollapsable:"lastCollapsable",lastExpandable:"lastExpandable",last:"last",hitarea:"hitarea"};$.fn.Treeview=$.fn.treeview;})(jQuery);
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/jquery.treeview.pack.js b/wcs/qommon/static/js/jquery-treeview/jquery.treeview.pack.js
deleted file mode 100644
index eddac491f..000000000
--- a/wcs/qommon/static/js/jquery-treeview/jquery.treeview.pack.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Treeview 1.4 - jQuery plugin to hide and show branches of a tree
- *
- * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
- * http://docs.jquery.com/Plugins/Treeview
- *
- * Copyright (c) 2007 Jörn Zaefferer
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $
- *
- */
-eval(function(p,a,c,k,e,r){e=function(c){return(c
35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(4($){$.1l($.F,{E:4(b,c){l a=3.n(\'.\'+b);3.n(\'.\'+c).o(c).m(b);a.o(b).m(c);8 3},s:4(a,b){8 3.n(\'.\'+a).o(a).m(b).P()},1n:4(a){a=a||"1j";8 3.1j(4(){$(3).m(a)},4(){$(3).o(a)})},1h:4(b,a){b?3.1g({1e:"p"},b,a):3.x(4(){T(3)[T(3).1a(":U")?"H":"D"]();7(a)a.A(3,O)})},12:4(b,a){7(b){3.1g({1e:"D"},b,a)}1L{3.D();7(a)3.x(a)}},11:4(a){7(!a.1k){3.n(":r-1H:G(9)").m(k.r);3.n((a.1F?"":"."+k.X)+":G(."+k.W+")").6(">9").D()}8 3.n(":y(>9)")},S:4(b,c){3.n(":y(>9):G(:y(>a))").6(">1z").C(4(a){c.A($(3).19())}).w($("a",3)).1n();7(!b.1k){3.n(":y(>9:U)").m(k.q).s(k.r,k.t);3.G(":y(>9:U)").m(k.u).s(k.r,k.v);3.1r(" ").6("J."+k.5).x(4(){l a="";$.x($(3).B().1o("14").13(" "),4(){a+=3+"-5 "});$(3).m(a)})}3.6("J."+k.5).C(c)},z:4(g){g=$.1l({N:"z"},g);7(g.w){8 3.1K("w",[g.w])}7(g.p){l d=g.p;g.p=4(){8 d.A($(3).B()[0],O)}}4 1m(b,c){4 L(a){8 4(){K.A($("J."+k.5,b).n(4(){8 a?$(3).B("."+a).1i:1I}));8 1G}}$("a:10(0)",c).C(L(k.u));$("a:10(1)",c).C(L(k.q));$("a:10(2)",c).C(L())}4 K(){$(3).B().6(">.5").E(k.Z,k.Y).E(k.I,k.M).P().E(k.u,k.q).E(k.v,k.t).6(">9").1h(g.1f,g.p);7(g.1E){$(3).B().1D().6(">.5").s(k.Z,k.Y).s(k.I,k.M).P().s(k.u,k.q).s(k.v,k.t).6(">9").12(g.1f,g.p)}}4 1d(){4 1C(a){8 a?1:0}l b=[];j.x(4(i,e){b[i]=$(e).1a(":y(>9:1B)")?1:0});$.V(g.N,b.1A(""))}4 1c(){l b=$.V(g.N);7(b){l a=b.13("");j.x(4(i,e){$(e).6(">9")[1y(a[i])?"H":"D"]()})}}3.m("z");l j=3.6("Q").11(g);1x(g.1w){18"V":l h=g.p;g.p=4(){1d();7(h){h.A(3,O)}};1c();17;18"1b":l f=3.6("a").n(4(){8 3.16.15()==1b.16.15()});7(f.1i){f.m("1v").1u("9, Q").w(f.19()).H()}17}j.S(g,K);7(g.R){1m(3,g.R);$(g.R).H()}8 3.1t("w",4(a,b){$(b).1s().o(k.r).o(k.v).o(k.t).6(">.5").o(k.I).o(k.M);$(b).6("Q").1q().11(g).S(g,K)})}});l k=$.F.z.1J={W:"W",X:"X",q:"q",Y:"q-5",M:"t-5",u:"u",Z:"u-5",I:"v-5",v:"v",t:"t",r:"r",5:"5"};$.F.1p=$.F.z})(T);',62,110,'|||this|function|hitarea|find|if|return|ul||||||||||||var|addClass|filter|removeClass|toggle|expandable|last|replaceClass|lastExpandable|collapsable|lastCollapsable|add|each|has|treeview|apply|parent|click|hide|swapClass|fn|not|show|lastCollapsableHitarea|div|toggler|handler|lastExpandableHitarea|cookieId|arguments|end|li|control|applyClasses|jQuery|hidden|cookie|open|closed|expandableHitarea|collapsableHitarea|eq|prepareBranches|heightHide|split|class|toLowerCase|href|break|case|next|is|location|deserialize|serialize|height|animated|animate|heightToggle|length|hover|prerendered|extend|treeController|hoverClass|attr|Treeview|andSelf|prepend|prev|bind|parents|selected|persist|switch|parseInt|span|join|visible|binary|siblings|unique|collapsed|false|child|true|classes|trigger|else'.split('|'),0,{}))
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/lib/jquery.cookie.js b/wcs/qommon/static/js/jquery-treeview/lib/jquery.cookie.js
deleted file mode 100644
index 8e8e1d9e0..000000000
--- a/wcs/qommon/static/js/jquery-treeview/lib/jquery.cookie.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- * Cookie plugin
- *
- * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- */
-
-/**
- * Create a cookie with the given name and value and other optional parameters.
- *
- * @example $.cookie('the_cookie', 'the_value');
- * @desc Set the value of a cookie.
- * @example $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});
- * @desc Create a cookie with all available options.
- * @example $.cookie('the_cookie', 'the_value');
- * @desc Create a session cookie.
- * @example $.cookie('the_cookie', null);
- * @desc Delete a cookie by passing null as value.
- *
- * @param String name The name of the cookie.
- * @param String value The value of the cookie.
- * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
- * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
- * If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
- * If set to null or omitted, the cookie will be a session cookie and will not be retained
- * when the the browser exits.
- * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
- * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
- * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
- * require a secure protocol (like HTTPS).
- * @type undefined
- *
- * @name $.cookie
- * @cat Plugins/Cookie
- * @author Klaus Hartl/klaus.hartl@stilbuero.de
- */
-
-/**
- * Get the value of a cookie with the given name.
- *
- * @example $.cookie('the_cookie');
- * @desc Get the value of a cookie.
- *
- * @param String name The name of the cookie.
- * @return The value of the cookie.
- * @type String
- *
- * @name $.cookie
- * @cat Plugins/Cookie
- * @author Klaus Hartl/klaus.hartl@stilbuero.de
- */
-jQuery.cookie = function(name, value, options) {
- if (typeof value != 'undefined') { // name and value given, set cookie
- options = options || {};
- if (value === null) {
- value = '';
- options.expires = -1;
- }
- var expires = '';
- if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
- var date;
- if (typeof options.expires == 'number') {
- date = new Date();
- date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
- } else {
- date = options.expires;
- }
- expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
- }
- var path = options.path ? '; path=' + options.path : '';
- var domain = options.domain ? '; domain=' + options.domain : '';
- var secure = options.secure ? '; secure' : '';
- document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
- } else { // only name given, get cookie
- var cookieValue = null;
- if (document.cookie && document.cookie != '') {
- var cookies = document.cookie.split(';');
- for (var i = 0; i < cookies.length; i++) {
- var cookie = jQuery.trim(cookies[i]);
- // Does this cookie string begin with the name we want?
- if (cookie.substring(0, name.length + 1) == (name + '=')) {
- cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
- break;
- }
- }
- }
- return cookieValue;
- }
-};
\ No newline at end of file
diff --git a/wcs/qommon/static/js/jquery-treeview/lib/jquery.js b/wcs/qommon/static/js/jquery-treeview/lib/jquery.js
deleted file mode 100644
index b660baab4..000000000
--- a/wcs/qommon/static/js/jquery-treeview/lib/jquery.js
+++ /dev/null
@@ -1,3363 +0,0 @@
-(function(){
-/*
- * jQuery 1.2.2b2 - New Wave Javascript
- *
- * Copyright (c) 2007 John Resig (jquery.com)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * $Date: 2007-12-20 14:36:56 +0100 (Don, 20 Dez 2007) $
- * $Rev: 4251 $
- */
-
-// Map over jQuery in case of overwrite
-if ( window.jQuery )
- var _jQuery = window.jQuery;
-
-var jQuery = window.jQuery = function( selector, context ) {
- // The jQuery object is actually just the init constructor 'enhanced'
- return new jQuery.prototype.init( selector, context );
-};
-
-// Map over the $ in case of overwrite
-if ( window.$ )
- var _$ = window.$;
-
-// Map the jQuery namespace to the '$' one
-window.$ = jQuery;
-
-// A simple way to check for HTML strings or ID strings
-// (both of which we optimize for)
-var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;
-
-// Is it a simple selector
-var isSimple = /^.[^:#\[\.]*$/;
-
-jQuery.fn = jQuery.prototype = {
- init: function( selector, context ) {
- // Make sure that a selection was provided
- selector = selector || document;
-
- // Handle $(DOMElement)
- if ( selector.nodeType ) {
- this[0] = selector;
- this.length = 1;
- return this;
-
- // Handle HTML strings
- } else if ( typeof selector == "string" ) {
- // Are we dealing with HTML string or an ID?
- var match = quickExpr.exec( selector );
-
- // Verify a match, and that no context was specified for #id
- if ( match && (match[1] || !context) ) {
-
- // HANDLE: $(html) -> $(array)
- if ( match[1] )
- selector = jQuery.clean( [ match[1] ], context );
-
- // HANDLE: $("#id")
- else {
- var elem = document.getElementById( match[3] );
-
- // Make sure an element was located
- if ( elem )
- // Handle the case where IE and Opera return items
- // by name instead of ID
- if ( elem.id != match[3] )
- return jQuery().find( selector );
-
- // Otherwise, we inject the element directly into the jQuery object
- else {
- this[0] = elem;
- this.length = 1;
- return this;
- }
-
- else
- selector = [];
- }
-
- // HANDLE: $(expr, [context])
- // (which is just equivalent to: $(content).find(expr)
- } else
- return new jQuery( context ).find( selector );
-
- // HANDLE: $(function)
- // Shortcut for document ready
- } else if ( jQuery.isFunction( selector ) )
- return new jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( selector );
-
- return this.setArray(
- // HANDLE: $(array)
- selector.constructor == Array && selector ||
-
- // HANDLE: $(arraylike)
- // Watch for when an array-like object, contains DOM nodes, is passed in as the selector
- (selector.jquery || selector.length && selector != window && !selector.nodeType && selector[0] != undefined && selector[0].nodeType) && jQuery.makeArray( selector ) ||
-
- // HANDLE: $(*)
- [ selector ] );
- },
-
- // The current version of jQuery being used
- jquery: "@VERSION",
-
- // The number of elements contained in the matched element set
- size: function() {
- return this.length;
- },
-
- // The number of elements contained in the matched element set
- length: 0,
-
- // Get the Nth element in the matched element set OR
- // Get the whole matched element set as a clean array
- get: function( num ) {
- return num == undefined ?
-
- // Return a 'clean' array
- jQuery.makeArray( this ) :
-
- // Return just the object
- this[ num ];
- },
-
- // Take an array of elements and push it onto the stack
- // (returning the new matched element set)
- pushStack: function( elems ) {
- // Build a new jQuery matched element set
- var ret = jQuery( elems );
-
- // Add the old object onto the stack (as a reference)
- ret.prevObject = this;
-
- // Return the newly-formed element set
- return ret;
- },
-
- // Force the current matched set of elements to become
- // the specified array of elements (destroying the stack in the process)
- // You should use pushStack() in order to do this, but maintain the stack
- setArray: function( elems ) {
- // Resetting the length to 0, then using the native Array push
- // is a super-fast way to populate an object with array-like properties
- this.length = 0;
- Array.prototype.push.apply( this, elems );
-
- return this;
- },
-
- // Execute a callback for every element in the matched set.
- // (You can seed the arguments with an array of args, but this is
- // only used internally.)
- each: function( callback, args ) {
- return jQuery.each( this, callback, args );
- },
-
- // Determine the position of an element within
- // the matched set of elements
- index: function( elem ) {
- var ret = -1;
-
- // Locate the position of the desired element
- this.each(function(i){
- if ( this == elem )
- ret = i;
- });
-
- return ret;
- },
-
- attr: function( name, value, type ) {
- var options = name;
-
- // Look for the case where we're accessing a style value
- if ( name.constructor == String )
- if ( value == undefined )
- return this.length && jQuery[ type || "attr" ]( this[0], name ) || undefined;
-
- else {
- options = {};
- options[ name ] = value;
- }
-
- // Check to see if we're setting style values
- return this.each(function(i){
- // Set all the styles
- for ( name in options )
- jQuery.attr(
- type ?
- this.style :
- this,
- name, jQuery.prop( this, options[ name ], type, i, name )
- );
- });
- },
-
- css: function( key, value ) {
- // ignore negative width and height values
- if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 )
- value = undefined;
- return this.attr( key, value, "curCSS" );
- },
-
- text: function( text ) {
- if ( typeof text != "object" && text != null )
- return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
-
- var ret = "";
-
- jQuery.each( text || this, function(){
- jQuery.each( this.childNodes, function(){
- if ( this.nodeType != 8 )
- ret += this.nodeType != 1 ?
- this.nodeValue :
- jQuery.fn.text( [ this ] );
- });
- });
-
- return ret;
- },
-
- wrapAll: function( html ) {
- if ( this[0] )
- // The elements to wrap the target around
- jQuery( html, this[0].ownerDocument )
- .clone()
- .insertBefore( this[0] )
- .map(function(){
- var elem = this;
-
- while ( elem.firstChild )
- elem = elem.firstChild;
-
- return elem;
- })
- .append(this);
-
- return this;
- },
-
- wrapInner: function( html ) {
- return this.each(function(){
- jQuery( this ).contents().wrapAll( html );
- });
- },
-
- wrap: function( html ) {
- return this.each(function(){
- jQuery( this ).wrapAll( html );
- });
- },
-
- append: function() {
- return this.domManip(arguments, true, false, function(elem){
- if (this.nodeType == 1)
- this.appendChild( elem );
- });
- },
-
- prepend: function() {
- return this.domManip(arguments, true, true, function(elem){
- if (this.nodeType == 1)
- this.insertBefore( elem, this.firstChild );
- });
- },
-
- before: function() {
- return this.domManip(arguments, false, false, function(elem){
- this.parentNode.insertBefore( elem, this );
- });
- },
-
- after: function() {
- return this.domManip(arguments, false, true, function(elem){
- this.parentNode.insertBefore( elem, this.nextSibling );
- });
- },
-
- end: function() {
- return this.prevObject || jQuery( [] );
- },
-
- find: function( selector ) {
- var elems = jQuery.map(this, function(elem){
- return jQuery.find( selector, elem );
- });
-
- return this.pushStack( /[^+>] [^+>]/.test( selector ) || selector.indexOf("..") > -1 ?
- jQuery.unique( elems ) :
- elems );
- },
-
- clone: function( events ) {
- // Do the clone
- var ret = this.map(function(){
- if ( jQuery.browser.msie && !jQuery.isXMLDoc(this) ) {
- // IE copies events bound via attachEvent when
- // using cloneNode. Calling detachEvent on the
- // clone will also remove the events from the orignal
- // In order to get around this, we use innerHTML.
- // Unfortunately, this means some modifications to
- // attributes in IE that are actually only stored
- // as properties will not be copied (such as the
- // the name attribute on an input).
- var clone = this.cloneNode(true),
- container = document.createElement("div"),
- container2 = document.createElement("div");
- container.appendChild(clone);
- container2.innerHTML = container.innerHTML;
- return container2.firstChild;
- } else
- return this.cloneNode(true);
- });
-
- // Need to set the expando to null on the cloned set if it exists
- // removeData doesn't work here, IE removes it from the original as well
- // this is primarily for IE but the data expando shouldn't be copied over in any browser
- var clone = ret.find("*").andSelf().each(function(){
- if ( this[ expando ] != undefined )
- this[ expando ] = null;
- });
-
- // Copy the events from the original to the clone
- if ( events === true )
- this.find("*").andSelf().each(function(i){
- var events = jQuery.data( this, "events" );
-
- for ( var type in events )
- for ( var handler in events[ type ] )
- jQuery.event.add( clone[ i ], type, events[ type ][ handler ], events[ type ][ handler ].data );
- });
-
- // Return the cloned set
- return ret;
- },
-
- filter: function( selector ) {
- return this.pushStack(
- jQuery.isFunction( selector ) &&
- jQuery.grep(this, function(elem, i){
- return selector.call( elem, i );
- }) ||
-
- jQuery.multiFilter( selector, this ) );
- },
-
- not: function( selector ) {
- if ( selector.constructor == String )
- // test special case where just one selector is passed in
- if ( isSimple.test( selector ) )
- return this.pushStack( jQuery.multiFilter( selector, this, true ) );
- else
- selector = jQuery.multiFilter( selector, this );
-
- var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType;
- return this.filter(function() {
- return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector;
- });
- },
-
- add: function( selector ) {
- return !selector ? this : this.pushStack( jQuery.merge(
- this.get(),
- selector.constructor == String ?
- jQuery( selector ).get() :
- selector.length != undefined && (!selector.nodeName || jQuery.nodeName(selector, "form")) ?
- selector : [selector] ) );
- },
-
- is: function( selector ) {
- return selector ?
- jQuery.multiFilter( selector, this ).length > 0 :
- false;
- },
-
- hasClass: function( selector ) {
- return this.is( "." + selector );
- },
-
- val: function( value ) {
- if ( value == undefined ) {
-
- if ( this.length ) {
- var elem = this[0];
-
- // We need to handle select boxes special
- if ( jQuery.nodeName( elem, "select" ) ) {
- var index = elem.selectedIndex,
- values = [],
- options = elem.options,
- one = elem.type == "select-one";
-
- // Nothing was selected
- if ( index < 0 )
- return null;
-
- // Loop through all the selected options
- for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
- var option = options[ i ];
-
- if ( option.selected ) {
- // Get the specifc value for the option
- value = jQuery.browser.msie && !option.attributes.value.specified ? option.text : option.value;
-
- // We don't need an array for one selects
- if ( one )
- return value;
-
- // Multi-Selects return an array
- values.push( value );
- }
- }
-
- return values;
-
- // Everything else, we just grab the value
- } else
- return (this[0].value || "").replace(/\r/g, "");
-
- }
-
- return undefined;
- }
-
- return this.each(function(){
- if ( this.nodeType != 1 )
- return;
-
- if ( value.constructor == Array && /radio|checkbox/.test( this.type ) )
- this.checked = (jQuery.inArray(this.value, value) >= 0 ||
- jQuery.inArray(this.name, value) >= 0);
-
- else if ( jQuery.nodeName( this, "select" ) ) {
- var values = value.constructor == Array ?
- value :
- [ value ];
-
- jQuery( "option", this ).each(function(){
- this.selected = (jQuery.inArray( this.value, values ) >= 0 ||
- jQuery.inArray( this.text, values ) >= 0);
- });
-
- if ( !values.length )
- this.selectedIndex = -1;
-
- } else
- this.value = value;
- });
- },
-
- html: function( value ) {
- return value == undefined ?
- (this.length ?
- this[0].innerHTML :
- null) :
- this.empty().append( value );
- },
-
- replaceWith: function( value ) {
- return this.after( value ).remove();
- },
-
- eq: function( i ) {
- return this.slice( i, i + 1 );
- },
-
- slice: function() {
- return this.pushStack( Array.prototype.slice.apply( this, arguments ) );
- },
-
- map: function( callback ) {
- return this.pushStack( jQuery.map(this, function(elem, i){
- return callback.call( elem, i, elem );
- }));
- },
-
- andSelf: function() {
- return this.add( this.prevObject );
- },
-
- domManip: function( args, table, reverse, callback ) {
- var clone = this.length > 1, elems;
-
- return this.each(function(){
- if ( !elems ) {
- elems = jQuery.clean( args, this.ownerDocument );
-
- if ( reverse )
- elems.reverse();
- }
-
- var obj = this;
-
- if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( elems[0], "tr" ) )
- obj = this.getElementsByTagName("tbody")[0] || this.appendChild( this.ownerDocument.createElement("tbody") );
-
- var scripts = jQuery( [] );
-
- jQuery.each(elems, function(){
- var elem = clone ?
- jQuery( this ).clone( true )[0] :
- this;
-
- // execute all scripts after the elements have been injected
- if ( jQuery.nodeName( elem, "script" ) ) {
- scripts = scripts.add( elem );
- } else {
- // Remove any inner scripts for later evaluation
- if ( elem.nodeType == 1 )
- scripts = scripts.add( jQuery( "script", elem ).remove() );
-
- // Inject the elements into the document
- callback.call( obj, elem );
- }
- });
-
- scripts.each( evalScript );
- });
- }
-};
-
-// Give the init function the jQuery prototype for later instantiation
-jQuery.prototype.init.prototype = jQuery.prototype;
-
-function evalScript( i, elem ) {
- if ( elem.src )
- jQuery.ajax({
- url: elem.src,
- async: false,
- dataType: "script"
- });
-
- else
- jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" );
-
- if ( elem.parentNode )
- elem.parentNode.removeChild( elem );
-}
-
-jQuery.extend = jQuery.fn.extend = function() {
- // copy reference to target object
- var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options;
-
- // Handle a deep copy situation
- if ( target.constructor == Boolean ) {
- deep = target;
- target = arguments[1] || {};
- // skip the boolean and the target
- i = 2;
- }
-
- // Handle case when target is a string or something (possible in deep copy)
- if ( typeof target != "object" && typeof target != "function" )
- target = {};
-
- // extend jQuery itself if only one argument is passed
- if ( length == 1 ) {
- target = this;
- i = 0;
- }
-
- for ( ; i < length; i++ )
- // Only deal with non-null/undefined values
- if ( (options = arguments[ i ]) != null )
- // Extend the base object
- for ( var name in options ) {
- // Prevent never-ending loop
- if ( target === options[ name ] )
- continue;
-
- // Recurse if we're merging object values
- if ( deep && options[ name ] && typeof options[ name ] == "object" && target[ name ] && !options[ name ].nodeType )
- target[ name ] = jQuery.extend( target[ name ], options[ name ] );
-
- // Don't bring in undefined values
- else if ( options[ name ] != undefined )
- target[ name ] = options[ name ];
-
- }
-
- // Return the modified object
- return target;
-};
-
-var expando = "jQuery" + (new Date()).getTime(), uuid = 0, windowData = {};
-
-// exclude the following css properties to add px
-var exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i;
-
-jQuery.extend({
- noConflict: function( deep ) {
- window.$ = _$;
-
- if ( deep )
- window.jQuery = _jQuery;
-
- return jQuery;
- },
-
- // This may seem like some crazy code, but trust me when I say that this
- // is the only cross-browser way to do this. --John
- isFunction: function( fn ) {
- return !!fn && typeof fn != "string" && !fn.nodeName &&
- fn.constructor != Array && /function/i.test( fn + "" );
- },
-
- // check if an element is in a (or is an) XML document
- isXMLDoc: function( elem ) {
- return elem.documentElement && !elem.body ||
- elem.tagName && elem.ownerDocument && !elem.ownerDocument.body;
- },
-
- // Evalulates a script in a global context
- globalEval: function( data ) {
- data = jQuery.trim( data );
-
- if ( data ) {
- // Inspired by code by Andrea Giammarchi
- // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
- var head = document.getElementsByTagName("head")[0] || document.documentElement,
- script = document.createElement("script");
-
- script.type = "text/javascript";
- if ( jQuery.browser.msie )
- script.text = data;
- else
- script.appendChild( document.createTextNode( data ) );
-
- head.appendChild( script );
- head.removeChild( script );
- }
- },
-
- nodeName: function( elem, name ) {
- return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();
- },
-
- cache: {},
-
- data: function( elem, name, data ) {
- elem = elem == window ?
- windowData :
- elem;
-
- var id = elem[ expando ];
-
- // Compute a unique ID for the element
- if ( !id )
- id = elem[ expando ] = ++uuid;
-
- // Only generate the data cache if we're
- // trying to access or manipulate it
- if ( name && !jQuery.cache[ id ] )
- jQuery.cache[ id ] = {};
-
- // Prevent overriding the named cache with undefined values
- if ( data != undefined )
- jQuery.cache[ id ][ name ] = data;
-
- // Return the named cache data, or the ID for the element
- return name ?
- jQuery.cache[ id ][ name ] :
- id;
- },
-
- removeData: function( elem, name ) {
- elem = elem == window ?
- windowData :
- elem;
-
- var id = elem[ expando ];
-
- // If we want to remove a specific section of the element's data
- if ( name ) {
- if ( jQuery.cache[ id ] ) {
- // Remove the section of cache data
- delete jQuery.cache[ id ][ name ];
-
- // If we've removed all the data, remove the element's cache
- name = "";
-
- for ( name in jQuery.cache[ id ] )
- break;
-
- if ( !name )
- jQuery.removeData( elem );
- }
-
- // Otherwise, we want to remove all of the element's data
- } else {
- // Clean up the element expando
- try {
- delete elem[ expando ];
- } catch(e){
- // IE has trouble directly removing the expando
- // but it's ok with using removeAttribute
- if ( elem.removeAttribute )
- elem.removeAttribute( expando );
- }
-
- // Completely remove the data cache
- delete jQuery.cache[ id ];
- }
- },
-
- // args is for internal usage only
- each: function( object, callback, args ) {
- if ( args ) {
- if ( object.length == undefined )
- for ( var name in object )
- callback.apply( object[ name ], args );
- else
- for ( var i = 0, length = object.length; i < length; i++ )
- if ( callback.apply( object[ i ], args ) === false )
- break;
-
- // A special, fast, case for the most common use of each
- } else {
- if ( object.length == undefined )
- for ( var name in object )
- callback.call( object[ name ], name, object[ name ] );
- else
- for ( var i = 0, length = object.length, value = object[0];
- i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
- }
-
- return object;
- },
-
- prop: function( elem, value, type, i, name ) {
- // Handle executable functions
- if ( jQuery.isFunction( value ) )
- value = value.call( elem, i );
-
- // Handle passing in a number to a CSS property
- return value && value.constructor == Number && type == "curCSS" && !exclude.test( name ) ?
- value + "px" :
- value;
- },
-
- className: {
- // internal only, use addClass("class")
- add: function( elem, classNames ) {
- jQuery.each((classNames || "").split(/\s+/), function(i, className){
- if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) )
- elem.className += (elem.className ? " " : "") + className;
- });
- },
-
- // internal only, use removeClass("class")
- remove: function( elem, classNames ) {
- if (elem.nodeType == 1)
- elem.className = classNames != undefined ?
- jQuery.grep(elem.className.split(/\s+/), function(className){
- return !jQuery.className.has( classNames, className );
- }).join(" ") :
- "";
- },
-
- // internal only, use is(".class")
- has: function( elem, className ) {
- return jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1;
- }
- },
-
- // A method for quickly swapping in/out CSS properties to get correct calculations
- swap: function( elem, options, callback ) {
- var old = {};
- // Remember the old values, and insert the new ones
- for ( var name in options ) {
- old[ name ] = elem.style[ name ];
- elem.style[ name ] = options[ name ];
- }
-
- callback.call( elem );
-
- // Revert the old values
- for ( var name in options )
- elem.style[ name ] = old[ name ];
- },
-
- css: function( elem, name, force ) {
- if ( name == "width" || name == "height" ) {
- var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ];
-
- function getWH() {
- val = name == "width" ? elem.offsetWidth : elem.offsetHeight;
- var padding = 0, border = 0;
- jQuery.each( which, function() {
- padding += parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0;
- border += parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0;
- });
- val -= Math.round(padding + border);
- }
-
- if ( jQuery(elem).is(":visible") )
- getWH();
- else
- jQuery.swap( elem, props, getWH );
-
- return Math.max(0, val);
- }
-
- return jQuery.curCSS( elem, name, force );
- },
-
- curCSS: function( elem, name, force ) {
- var ret;
-
- // A helper method for determining if an element's values are broken
- function color( elem ) {
- if ( !jQuery.browser.safari )
- return false;
-
- var ret = document.defaultView.getComputedStyle( elem, null );
- return !ret || ret.getPropertyValue("color") == "";
- }
-
- // We need to handle opacity special in IE
- if ( name == "opacity" && jQuery.browser.msie ) {
- ret = jQuery.attr( elem.style, "opacity" );
-
- return ret == "" ?
- "1" :
- ret;
- }
- // Opera sometimes will give the wrong display answer, this fixes it, see #2037
- if ( jQuery.browser.opera && name == "display" ) {
- var save = elem.style.display;
- elem.style.display = "block";
- elem.style.display = save;
- }
-
- // Make sure we're using the right name for getting the float value
- if ( name.match( /float/i ) )
- name = styleFloat;
-
- if ( !force && elem.style[ name ] )
- ret = elem.style[ name ];
-
- else if ( document.defaultView && document.defaultView.getComputedStyle ) {
-
- // Only "float" is needed here
- if ( name.match( /float/i ) )
- name = "float";
-
- name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase();
-
- var getComputedStyle = document.defaultView.getComputedStyle( elem, null );
-
- if ( getComputedStyle && !color( elem ) )
- ret = getComputedStyle.getPropertyValue( name );
-
- // If the element isn't reporting its values properly in Safari
- // then some display: none elements are involved
- else {
- var swap = [], stack = [];
-
- // Locate all of the parent display: none elements
- for ( var a = elem; a && color(a); a = a.parentNode )
- stack.unshift(a);
-
- // Go through and make them visible, but in reverse
- // (It would be better if we knew the exact display type that they had)
- for ( var i = 0; i < stack.length; i++ )
- if ( color( stack[ i ] ) ) {
- swap[ i ] = stack[ i ].style.display;
- stack[ i ].style.display = "block";
- }
-
- // Since we flip the display style, we have to handle that
- // one special, otherwise get the value
- ret = name == "display" && swap[ stack.length - 1 ] != null ?
- "none" :
- ( getComputedStyle && getComputedStyle.getPropertyValue( name ) ) || "";
-
- // Finally, revert the display styles back
- for ( var i = 0; i < swap.length; i++ )
- if ( swap[ i ] != null )
- stack[ i ].style.display = swap[ i ];
- }
-
- // We should always get a number back from opacity
- if ( name == "opacity" && ret == "" )
- ret = "1";
-
- } else if ( elem.currentStyle ) {
- var camelCase = name.replace(/\-(\w)/g, function(all, letter){
- return letter.toUpperCase();
- });
-
- ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];
-
- // From the awesome hack by Dean Edwards
- // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
-
- // If we're not dealing with a regular pixel number
- // but a number that has a weird ending, we need to convert it to pixels
- if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) {
- // Remember the original values
- var style = elem.style.left, runtimeStyle = elem.runtimeStyle.left;
-
- // Put in the new values to get a computed value out
- elem.runtimeStyle.left = elem.currentStyle.left;
- elem.style.left = ret || 0;
- ret = elem.style.pixelLeft + "px";
-
- // Revert the changed values
- elem.style.left = style;
- elem.runtimeStyle.left = runtimeStyle;
- }
- }
-
- return ret;
- },
-
- clean: function( elems, context ) {
- var ret = [];
- context = context || document;
- // !context.createElement fails in IE with an error but returns typeof 'object'
- if (typeof context.createElement == 'undefined')
- context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
-
- jQuery.each(elems, function(i, elem){
- if ( !elem )
- return;
-
- if ( elem.constructor == Number )
- elem = elem.toString();
-
- // Convert html string into DOM nodes
- if ( typeof elem == "string" ) {
- // Fix "XHTML"-style tags in all browsers
- elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){
- return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area)$/i) ?
- all :
- front + ">" + tag + ">";
- });
-
- // Trim whitespace, otherwise indexOf won't work as expected
- var tags = jQuery.trim( elem ).toLowerCase(), div = context.createElement("div");
-
- var wrap =
- // option or optgroup
- !tags.indexOf("", "" ] ||
-
- !tags.indexOf("", "" ] ||
-
- tags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&
- [ 1, "" ] ||
-
- !tags.indexOf("", " " ] ||
-
- // matched above
- (!tags.indexOf(" ", " " ] ||
-
- !tags.indexOf("", " " ] ||
-
- // IE can't serialize and