',
-+ defaults = {
-+ eventName: 'click',
-+ onShow: function () {},
-+ onBeforeShow: function(){},
-+ onHide: function () {},
-+ onChange: function () {},
-+ onSubmit: function () {},
-+ color: 'ff0000',
-+ livePreview: true,
-+ flat: false
-+ },
-+ fillRGBFields = function (hsb, cal) {
-+ var rgb = HSBToRGB(hsb);
-+ $(cal).data('colorpicker').fields
-+ .eq(1).val(rgb.r).end()
-+ .eq(2).val(rgb.g).end()
-+ .eq(3).val(rgb.b).end();
-+ },
-+ fillHSBFields = function (hsb, cal) {
-+ $(cal).data('colorpicker').fields
-+ .eq(4).val(hsb.h).end()
-+ .eq(5).val(hsb.s).end()
-+ .eq(6).val(hsb.b).end();
-+ },
-+ fillHexFields = function (hsb, cal) {
-+ $(cal).data('colorpicker').fields
-+ .eq(0).val(HSBToHex(hsb)).end();
-+ },
-+ setSelector = function (hsb, cal) {
-+ $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
-+ $(cal).data('colorpicker').selectorIndic.css({
-+ left: parseInt(150 * hsb.s/100, 10),
-+ top: parseInt(150 * (100-hsb.b)/100, 10)
-+ });
-+ },
-+ setHue = function (hsb, cal) {
-+ $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
-+ },
-+ setCurrentColor = function (hsb, cal) {
-+ $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
-+ },
-+ setNewColor = function (hsb, cal) {
-+ $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
-+ },
-+ keyDown = function (ev) {
-+ var pressedKey = ev.charCode || ev.keyCode || -1;
-+ if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
-+ return false;
-+ }
-+ var cal = $(this).parent().parent();
-+ if (cal.data('colorpicker').livePreview === true) {
-+ change.apply(this);
-+ }
-+ },
-+ change = function (ev) {
-+ var cal = $(this).parent().parent(), col;
-+ if (this.parentNode.className.indexOf('_hex') > 0) {
-+ cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
-+ } else if (this.parentNode.className.indexOf('_hsb') > 0) {
-+ cal.data('colorpicker').color = col = fixHSB({
-+ h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
-+ s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
-+ b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
-+ });
-+ } else {
-+ cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
-+ r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
-+ g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
-+ b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
-+ }));
-+ }
-+ if (ev) {
-+ fillRGBFields(col, cal.get(0));
-+ fillHexFields(col, cal.get(0));
-+ fillHSBFields(col, cal.get(0));
-+ }
-+ setSelector(col, cal.get(0));
-+ setHue(col, cal.get(0));
-+ setNewColor(col, cal.get(0));
-+ cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
-+ },
-+ blur = function (ev) {
-+ var cal = $(this).parent().parent();
-+ cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
-+ },
-+ focus = function () {
-+ charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
-+ $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
-+ $(this).parent().addClass('colorpicker_focus');
-+ },
-+ downIncrement = function (ev) {
-+ var field = $(this).parent().find('input').focus();
-+ var current = {
-+ el: $(this).parent().addClass('colorpicker_slider'),
-+ max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
-+ y: ev.pageY,
-+ field: field,
-+ val: parseInt(field.val(), 10),
-+ preview: $(this).parent().parent().data('colorpicker').livePreview
-+ };
-+ $(document).bind('mouseup', current, upIncrement);
-+ $(document).bind('mousemove', current, moveIncrement);
-+ },
-+ moveIncrement = function (ev) {
-+ ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
-+ if (ev.data.preview) {
-+ change.apply(ev.data.field.get(0), [true]);
-+ }
-+ return false;
-+ },
-+ upIncrement = function (ev) {
-+ change.apply(ev.data.field.get(0), [true]);
-+ ev.data.el.removeClass('colorpicker_slider').find('input').focus();
-+ $(document).unbind('mouseup', upIncrement);
-+ $(document).unbind('mousemove', moveIncrement);
-+ return false;
-+ },
-+ downHue = function (ev) {
-+ var current = {
-+ cal: $(this).parent(),
-+ y: $(this).offset().top
-+ };
-+ current.preview = current.cal.data('colorpicker').livePreview;
-+ $(document).bind('mouseup', current, upHue);
-+ $(document).bind('mousemove', current, moveHue);
-+ },
-+ moveHue = function (ev) {
-+ change.apply(
-+ ev.data.cal.data('colorpicker')
-+ .fields
-+ .eq(4)
-+ .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
-+ .get(0),
-+ [ev.data.preview]
-+ );
-+ return false;
-+ },
-+ upHue = function (ev) {
-+ fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-+ fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-+ $(document).unbind('mouseup', upHue);
-+ $(document).unbind('mousemove', moveHue);
-+ return false;
-+ },
-+ downSelector = function (ev) {
-+ var current = {
-+ cal: $(this).parent(),
-+ pos: $(this).offset()
-+ };
-+ current.preview = current.cal.data('colorpicker').livePreview;
-+ $(document).bind('mouseup', current, upSelector);
-+ $(document).bind('mousemove', current, moveSelector);
-+ },
-+ moveSelector = function (ev) {
-+ change.apply(
-+ ev.data.cal.data('colorpicker')
-+ .fields
-+ .eq(6)
-+ .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
-+ .end()
-+ .eq(5)
-+ .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
-+ .get(0),
-+ [ev.data.preview]
-+ );
-+ return false;
-+ },
-+ upSelector = function (ev) {
-+ fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-+ fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-+ $(document).unbind('mouseup', upSelector);
-+ $(document).unbind('mousemove', moveSelector);
-+ return false;
-+ },
-+ enterSubmit = function (ev) {
-+ $(this).addClass('colorpicker_focus');
-+ },
-+ leaveSubmit = function (ev) {
-+ $(this).removeClass('colorpicker_focus');
-+ },
-+ clickSubmit = function (ev) {
-+ var cal = $(this).parent();
-+ var col = cal.data('colorpicker').color;
-+ cal.data('colorpicker').origColor = col;
-+ setCurrentColor(col, cal.get(0));
-+ cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
-+ },
-+ show = function (ev) {
-+ var cal = $('#' + $(this).data('colorpickerId'));
-+ cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
-+ var pos = $(this).offset();
-+ var viewPort = getViewport();
-+ var top = pos.top + this.offsetHeight;
-+ var left = pos.left;
-+ if (top + 176 > viewPort.t + viewPort.h) {
-+ top -= this.offsetHeight + 176;
-+ }
-+ if (left + 356 > viewPort.l + viewPort.w) {
-+ left -= 356;
-+ }
-+ cal.css({left: left + 'px', top: top + 'px'});
-+ if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
-+ cal.show();
-+ }
-+ $(document).bind('mousedown', {cal: cal}, hide);
-+ return false;
-+ },
-+ hide = function (ev) {
-+ if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
-+ if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
-+ ev.data.cal.hide();
-+ }
-+ $(document).unbind('mousedown', hide);
-+ }
-+ },
-+ isChildOf = function(parentEl, el, container) {
-+ if (parentEl == el) {
-+ return true;
-+ }
-+ if (parentEl.contains) {
-+ return parentEl.contains(el);
-+ }
-+ if ( parentEl.compareDocumentPosition ) {
-+ return !!(parentEl.compareDocumentPosition(el) & 16);
-+ }
-+ var prEl = el.parentNode;
-+ while(prEl && prEl != container) {
-+ if (prEl == parentEl)
-+ return true;
-+ prEl = prEl.parentNode;
-+ }
-+ return false;
-+ },
-+ getViewport = function () {
-+ var m = document.compatMode == 'CSS1Compat';
-+ return {
-+ l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
-+ t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
-+ w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
-+ h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
-+ };
-+ },
-+ fixHSB = function (hsb) {
-+ return {
-+ h: Math.min(360, Math.max(0, hsb.h)),
-+ s: Math.min(100, Math.max(0, hsb.s)),
-+ b: Math.min(100, Math.max(0, hsb.b))
-+ };
-+ },
-+ fixRGB = function (rgb) {
-+ return {
-+ r: Math.min(255, Math.max(0, rgb.r)),
-+ g: Math.min(255, Math.max(0, rgb.g)),
-+ b: Math.min(255, Math.max(0, rgb.b))
-+ };
-+ },
-+ fixHex = function (hex) {
-+ var len = 6 - hex.length;
-+ if (len > 0) {
-+ var o = [];
-+ for (var i=0; i -1) ? hex.substring(1) : hex), 16);
-+ return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
-+ },
-+ HexToHSB = function (hex) {
-+ return RGBToHSB(HexToRGB(hex));
-+ },
-+ RGBToHSB = function (rgb) {
-+ var hsb = {
-+ h: 0,
-+ s: 0,
-+ b: 0
-+ };
-+ var min = Math.min(rgb.r, rgb.g, rgb.b);
-+ var max = Math.max(rgb.r, rgb.g, rgb.b);
-+ var delta = max - min;
-+ hsb.b = max;
-+ if (max != 0) {
-+
-+ }
-+ hsb.s = max != 0 ? 255 * delta / max : 0;
-+ if (hsb.s != 0) {
-+ if (rgb.r == max) {
-+ hsb.h = (rgb.g - rgb.b) / delta;
-+ } else if (rgb.g == max) {
-+ hsb.h = 2 + (rgb.b - rgb.r) / delta;
-+ } else {
-+ hsb.h = 4 + (rgb.r - rgb.g) / delta;
-+ }
-+ } else {
-+ hsb.h = -1;
-+ }
-+ hsb.h *= 60;
-+ if (hsb.h < 0) {
-+ hsb.h += 360;
-+ }
-+ hsb.s *= 100/255;
-+ hsb.b *= 100/255;
-+ return hsb;
-+ },
-+ HSBToRGB = function (hsb) {
-+ var rgb = {};
-+ var h = Math.round(hsb.h);
-+ var s = Math.round(hsb.s*255/100);
-+ var v = Math.round(hsb.b*255/100);
-+ if(s == 0) {
-+ rgb.r = rgb.g = rgb.b = v;
-+ } else {
-+ var t1 = v;
-+ var t2 = (255-s)*v/255;
-+ var t3 = (t1-t2)*(h%60)/60;
-+ if(h==360) h = 0;
-+ if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3}
-+ else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3}
-+ else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3}
-+ else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3}
-+ else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3}
-+ else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3}
-+ else {rgb.r=0; rgb.g=0; rgb.b=0}
-+ }
-+ return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
-+ },
-+ RGBToHex = function (rgb) {
-+ var hex = [
-+ rgb.r.toString(16),
-+ rgb.g.toString(16),
-+ rgb.b.toString(16)
-+ ];
-+ $.each(hex, function (nr, val) {
-+ if (val.length == 1) {
-+ hex[nr] = '0' + val;
-+ }
-+ });
-+ return hex.join('');
-+ },
-+ HSBToHex = function (hsb) {
-+ return RGBToHex(HSBToRGB(hsb));
-+ },
-+ restoreOriginal = function () {
-+ var cal = $(this).parent();
-+ var col = cal.data('colorpicker').origColor;
-+ cal.data('colorpicker').color = col;
-+ fillRGBFields(col, cal.get(0));
-+ fillHexFields(col, cal.get(0));
-+ fillHSBFields(col, cal.get(0));
-+ setSelector(col, cal.get(0));
-+ setHue(col, cal.get(0));
-+ setNewColor(col, cal.get(0));
-+ };
-+ return {
-+ init: function (opt) {
-+ opt = $.extend({}, defaults, opt||{});
-+ if (typeof opt.color == 'string') {
-+ opt.color = HexToHSB(opt.color);
-+ } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
-+ opt.color = RGBToHSB(opt.color);
-+ } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
-+ opt.color = fixHSB(opt.color);
-+ } else {
-+ return this;
-+ }
-+ return this.each(function () {
-+ if (!$(this).data('colorpickerId')) {
-+ var options = $.extend({}, opt);
-+ options.origColor = opt.color;
-+ var id = 'collorpicker_' + parseInt(Math.random() * 1000);
-+ $(this).data('colorpickerId', id);
-+ var cal = $(tpl).attr('id', id);
-+ if (options.flat) {
-+ cal.appendTo(this).show();
-+ } else {
-+ cal.appendTo(document.body);
-+ }
-+ options.fields = cal
-+ .find('input')
-+ .bind('keyup', keyDown)
-+ .bind('change', change)
-+ .bind('blur', blur)
-+ .bind('focus', focus);
-+ cal
-+ .find('span').bind('mousedown', downIncrement).end()
-+ .find('>div.colorpicker_current_color').bind('click', restoreOriginal);
-+ options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
-+ options.selectorIndic = options.selector.find('div div');
-+ options.el = this;
-+ options.hue = cal.find('div.colorpicker_hue div');
-+ cal.find('div.colorpicker_hue').bind('mousedown', downHue);
-+ options.newColor = cal.find('div.colorpicker_new_color');
-+ options.currentColor = cal.find('div.colorpicker_current_color');
-+ cal.data('colorpicker', options);
-+ cal.find('div.colorpicker_submit')
-+ .bind('mouseenter', enterSubmit)
-+ .bind('mouseleave', leaveSubmit)
-+ .bind('click', clickSubmit);
-+ fillRGBFields(options.color, cal.get(0));
-+ fillHSBFields(options.color, cal.get(0));
-+ fillHexFields(options.color, cal.get(0));
-+ setHue(options.color, cal.get(0));
-+ setSelector(options.color, cal.get(0));
-+ setCurrentColor(options.color, cal.get(0));
-+ setNewColor(options.color, cal.get(0));
-+ if (options.flat) {
-+ cal.css({
-+ position: 'relative',
-+ display: 'block'
-+ });
-+ } else {
-+ $(this).bind(options.eventName, show);
-+ }
-+ }
-+ });
-+ },
-+ showPicker: function() {
-+ return this.each( function () {
-+ if ($(this).data('colorpickerId')) {
-+ show.apply(this);
-+ }
-+ });
-+ },
-+ hidePicker: function() {
-+ return this.each( function () {
-+ if ($(this).data('colorpickerId')) {
-+ $('#' + $(this).data('colorpickerId')).hide();
-+ }
-+ });
-+ },
-+ setColor: function(col) {
-+ if (typeof col == 'string') {
-+ col = HexToHSB(col);
-+ } else if (col.r != undefined && col.g != undefined && col.b != undefined) {
-+ col = RGBToHSB(col);
-+ } else if (col.h != undefined && col.s != undefined && col.b != undefined) {
-+ col = fixHSB(col);
-+ } else {
-+ return this;
-+ }
-+ return this.each(function(){
-+ if ($(this).data('colorpickerId')) {
-+ var cal = $('#' + $(this).data('colorpickerId'));
-+ cal.data('colorpicker').color = col;
-+ cal.data('colorpicker').origColor = col;
-+ fillRGBFields(col, cal.get(0));
-+ fillHSBFields(col, cal.get(0));
-+ fillHexFields(col, cal.get(0));
-+ setHue(col, cal.get(0));
-+ setSelector(col, cal.get(0));
-+ setCurrentColor(col, cal.get(0));
-+ setNewColor(col, cal.get(0));
-+ }
-+ });
-+ }
-+ };
-+ }();
-+ $.fn.extend({
-+ ColorPicker: ColorPicker.init,
-+ ColorPickerHide: ColorPicker.hidePicker,
-+ ColorPickerShow: ColorPicker.showPicker,
-+ ColorPickerSetColor: ColorPicker.setColor
-+ });
-+})(jQuery)
-\ No newline at end of file
-diff -up cacti-0.8.8a/include/js/jquery/jquery.cookie.js.legal cacti-0.8.8a/include/js/jquery/jquery.cookie.js
---- cacti-0.8.8a/include/js/jquery/jquery.cookie.js.legal 2013-01-04 15:44:38.027416060 -0500
-+++ cacti-0.8.8a/include/js/jquery/jquery.cookie.js 2013-01-04 15:43:12.644377988 -0500
-@@ -0,0 +1,91 @@
-+/*jslint browser: true */ /*global jQuery: true */
-+
-+/**
-+ * jQuery Cookie plugin
-+ *
-+ * Copyright (c) 2010 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
-+ *
-+ */
-+
-+// TODO JsDoc
-+
-+/**
-+ * Create a cookie with the given key 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. Keep in mind that you have to use the same path and domain
-+ * used when the cookie was set.
-+ *
-+ * @param String key The key 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 key.
-+ *
-+ * @example $.cookie('the_cookie');
-+ * @desc Get the value of a cookie.
-+ *
-+ * @param String key The key 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 (key, value, options) {
-+
-+ // key and at least value given, set cookie...
-+ if (arguments.length > 1 && String(value) !== "[object Object]") {
-+ options = jQuery.extend({}, options);
-+
-+ if (value === null || value === undefined) {
-+ options.expires = -1;
-+ }
-+
-+ if (typeof options.expires === 'number') {
-+ var days = options.expires, t = options.expires = new Date();
-+ t.setDate(t.getDate() + days);
-+ }
-+
-+ value = String(value);
-+
-+ return (document.cookie = [
-+ encodeURIComponent(key), '=',
-+ options.raw ? value : encodeURIComponent(value),
-+ options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
-+ options.path ? '; path=' + options.path : '',
-+ options.domain ? '; domain=' + options.domain : '',
-+ options.secure ? '; secure' : ''
-+ ].join(''));
-+ }
-+
-+ // key and possibly options given, get cookie...
-+ options = value || {};
-+ var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
-+ return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
-+};
-diff -up cacti-0.8.8a/include/js/jquery/jquery.dd.js.legal cacti-0.8.8a/include/js/jquery/jquery.dd.js
---- cacti-0.8.8a/include/js/jquery/jquery.dd.js.legal 2013-01-04 15:44:38.030416069 -0500
-+++ cacti-0.8.8a/include/js/jquery/jquery.dd.js 2013-01-04 15:43:12.644377988 -0500
-@@ -0,0 +1,11 @@
-+// MSDropDown - jquery.dd.js
-+// author: Marghoob Suleman - Search me on google
-+// Date: 12th Aug, 2009, {18 Dec, 2010 (2.36)}
-+// Version: 2.37.5 {date: 17 June, 2011}
-+// Revision: 34
-+// web: www.giftlelo.com | www.marghoobsuleman.com
-+/*
-+// msDropDown is free jQuery Plugin: you can redistribute it and/or modify
-+// it under the terms of the either the MIT License or the Gnu General Public License (GPL) Version 2
-+*/
-+;eval(function(p,a,c,k,e,r){e=function(c){return(c35?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}(';(5($){3 1L="";3 3m=5(p,q){3 r=p;3 s=1a;3 q=$.3n({1d:4c,2q:7,3o:23,1U:6,1M:4d,3p:\'28\',1N:15,3q:\'4e\',2I:\'\',1j:\'\'},q);1a.1V=2r 3r();3 u="";3 v={};v.2J=6;v.2s=15;v.2t=1o;3 x=15;3 y={2K:\'4f\',1O:\'4g\',1H:\'4h\',29:\'4i\',1h:\'4j\',2L:\'4k\',2M:\'4l\',4m:\'4n\',2u:\'4o\',3s:\'4p\'};3 z={28:q.3p,2N:\'2N\',2O:\'2O\',2P:\'2P\',1t:\'1t\',1k:.30,2a:\'2a\',2v:\'2v\',2w:\'2w\',11:\'11\'};3 A={3t:"2x,2Q,2R,1P,2y,2z,1u,1B,2A,1Q,4q,1W,2S",18:"1C,1v,1k,4r"};1a.1R=2r 3r();3 B=$(r).18("1b");4(1w(B)=="14"||B.1c<=0){B="4s"+$.1S.3u++;$(r).2B("1b",B)};3 C=$(r).18("1j");q.1j+=(C==14)?"":C;3 D=$(r).3v();x=($(r).18("1C")>1||$(r).18("1v")==6)?6:15;4(x){q.2q=$(r).18("1C")};3 E={};3 F=0;3 G=15;3 H;3 I={};3 J=5(a){4(1w(I[a])=="14"){I[a]=1p.4t(a)}12 I[a]};3 K=5(a){12 B+y[a]};3 L=5(a){3 b=a;3 c=$(b).18("1j");12 c};3 M=5(a){3 b=$("#"+B+" 2T:11");4(b.1c>1){1D(3 i=0;i \'};3 j=$(a).1q();3 k=$(a).4u();3 l=($(a).18("1k")==6)?"1k":"2W";E[g]={1I:h+j,2b:k,1q:j,1i:a.1i,1b:g};3 m=L(a);4(M(a.1i)==6){e+=\'\';e+=h+\'<1x 1r="\'+z.1t+\'">\'+j+\'1x>\';12 e};3 O=5(t){3 b=t.3E();4(b.1c==0)12-1;3 a="";1D(3 i 2c E){3 c=E[i].1q.3E();4(c.3F(0,b.1c)==b){a+="#"+E[i].1b+", "}};12(a=="")?-1:a};3 P=5(){3 f=D;4(f.1c==0)12"";3 g="";3 h=K("2L");3 i=K("2M");f.2X(5(c){3 d=f[c];4(d.4v=="4w"){g+="<1y 1r=\'4x\'>";g+="<1x 1j=\'3G-4y:4z;3G-1j:4A; 4B:4C;\'>"+$(d).18("4D")+"1x>";3 e=$(d).3v();e.2X(5(a){3 b=e[a];g+=N(b,c,a,"2U")});g+="1y>"}19{g+=N(d,c,"","")}});12 g};3 Q=5(){3 a=K("1O");3 b=K("1h");3 c=q.1j;1Y="";1Y+=\'<1y 1b="\'+b+\'" 1r="\'+z.2P+\'"\';4(!x){1Y+=(c!="")?\' 1j="\'+c+\'"\':\'\'}19{1Y+=(c!="")?\' 1j="2C-1m:4E 4F #4G;1s:2d;1n:2Y;\'+c+\'"\':\'\'};1Y+=\'>\';12 1Y};3 R=5(){3 a=K("1H");3 b=K("2u");3 c=K("29");3 d=K("3s");3 e="";3 f="";4(J(B).1E.1c>0){e=$("#"+B+" 2T:11").1q();f=$("#"+B+" 2T:11").18("1X")};f=(f.1c==0||f==14||q.1U==15||q.1N!=15)?"":\'<3x 3y="\'+f+\'" 3z="3A" /> \';3 g=\'<1y 1b="\'+a+\'" 1r="\'+z.2N+\'"\';g+=\'>\';g+=\'<1x 1b="\'+b+\'" 1r="\'+z.2O+\'">1x><1x 1r="\'+z.1t+\'" 1b="\'+c+\'">\'+f+\'<1x 1r="\'+z.1t+\'">\'+e+\'1x>1x>1y>\';12 g};3 S=5(){3 c=K("1h");$("#"+c+" a.2W").1J("1P");$("#"+c+" a.2W").1e("1P",5(a){a.1Z();V(1a);21();4(!x){$("#"+c).1J("1B");X(15);3 b=(q.1U==15)?$(1a).1q():$(1a).1I();1T(b);s.2e()}})};3 T=5(){3 d=15;3 e=K("1O");3 f=K("1H");3 g=K("29");3 h=K("1h");3 i=K("2u");3 j=$("#"+B).2Z();j=j+2;3 k=q.1j;4($("#"+e).1c>0){$("#"+e).2D();d=6};3 l=\'<1y 1b="\'+e+\'" 1r="\'+z.28+\'"\';l+=(k!="")?\' 1j="\'+k+\'"\':\'\';l+=\'>\';l+=R();l+=Q();l+=P();l+="1y>";l+="1y>";4(d==6){3 m=K("2K");$("#"+m).31(l)}19{$("#"+B).31(l)};4(x){3 f=K("1H");$("#"+f).2f()};$("#"+e).9("2Z",j+"1z");$("#"+h).9("2Z",(j-2)+"1z");4(D.1c>q.2q){3 n=2g($("#"+h+" a:3H").9("2h-3I"))+2g($("#"+h+" a:3H").9("2h-1m"));3 o=((q.3o)*q.2q)-n;$("#"+h).9("1d",o+"1z")}19 4(x){3 o=$("#"+B).1d();$("#"+h).9("1d",o+"1z")};4(d==15){3J();W(B)};4($("#"+B).18("1k")==6){$("#"+e).9("2E",z.1k)};Z();$("#"+f).1e("1B",5(a){32(1)});$("#"+f).1e("1Q",5(a){32(0)});S();$("#"+h+" a.1k").9("2E",z.1k);4(x){$("#"+h).1e("1B",5(c){4(!v.2s){v.2s=6;$(1p).1e("1W",5(a){3 b=a.3K;v.2t=b;4(b==39||b==40){a.1Z();a.2i();33();21()};4(b==37||b==38){a.1Z();a.2i();34();21()}})}})};$("#"+h).1e("1Q",5(a){X(15);$(1p).1J("1W");v.2s=15;v.2t=1o});$("#"+f).1e("1P",5(b){X(15);4($("#"+h+":2j").1c==1){$("#"+h).1J("1B")}19{$("#"+h).1e("1B",5(a){X(6)});s.3L()}});$("#"+f).1e("1Q",5(a){X(15)});4(q.1U&&q.1N!=15){2k()}};3 U=5(a){1D(3 i 2c E){4(E[i].1i==a){12 E[i]}};12-1};3 V=5(a){3 b=K("1h");4($("#"+b+" a."+z.11).1c==1){u=$("#"+b+" a."+z.11).1q()};4(!x){$("#"+b+" a."+z.11).1K(z.11)};3 c=$("#"+b+" a."+z.11).18("1b");4(c!=14){3 d=(v.22==14||v.22==1o)?E[c].1i:v.22};4(a&&!x){$(a).1F(z.11)};4(x){3 e=v.2t;4($("#"+B).18("1v")==6){4(e==17){v.22=E[$(a).18("1b")].1i;$(a).4H(z.11)}19 4(e==16){$("#"+b+" a."+z.11).1K(z.11);$(a).1F(z.11);3 f=$(a).18("1b");3 g=E[f].1i;1D(3 i=35.4I(d,g);i<=35.4J(d,g);i++){$("#"+U(i).1b).1F(z.11)}}19{$("#"+b+" a."+z.11).1K(z.11);$(a).1F(z.11);v.22=E[$(a).18("1b")].1i}}19{$("#"+b+" a."+z.11).1K(z.11);$(a).1F(z.11);v.22=E[$(a).18("1b")].1i}}};3 W=5(a){3 b=a;J(b).4K=5(e){$("#"+b).1S(q)}};3 X=5(a){v.2J=a};3 Y=5(){12 v.2J};3 Z=5(){3 b=K("1O");3 c=A.3t.4L(",");1D(3 d=0;d1y>");$("#"+B).4N($("#"+a))};3 1T=5(a){3 b=K("29");$("#"+b).1I(a)};3 3a=5(w){3 a=w;3 b=K("1h");3 c=$("#"+b+" a:2j");3 d=c.1c;3 e=$("#"+b+" a:2j").1i($("#"+b+" a.11:2j"));3 f;2F(a){1f"3b":4(e0){e--;f=c[e]};1g};4(1w(f)=="14"){12 15};$("#"+b+" a."+z.11).1K(z.11);$(f).1F(z.11);3 g=f.1b;4(!x){3 h=(q.1U==15)?E[g].1q:$("#"+g).1I();1T(h);2k(E[g].1i)};4(a=="3b"){4(2g(($("#"+g).1n().1m+$("#"+g).1d()))>=2g($("#"+b).1d())){$("#"+b).2l(($("#"+b).2l())+$("#"+g).1d()+$("#"+g).1d())}}19{4(2g(($("#"+g).1n().1m+$("#"+g).1d()))<=0){$("#"+b).2l(($("#"+b).2l()-$("#"+b).1d())-$("#"+g).1d())}}};3 33=5(){3a("3b")};3 34=5(){3a("3P")};3 2k=5(i){4(q.1N!=15){3 a=K("29");3 b=(1w(i)=="14")?J(B).1l:i;3 c=J(B).1E[b].3w;4(c.1c>0){3 d=K("1h");3 e=$("#"+d+" a."+c).18("1b");3 f=$("#"+e).9("2m-4O");3 g=$("#"+e).9("2m-1n");3 h=$("#"+e).9("2h-3Q");4(f!=14){$("#"+a).2n("."+z.1t).2B(\'1j\',"2m:"+f)};4(g!=14){$("#"+a).2n("."+z.1t).9(\'2m-1n\',g)};4(h!=14){$("#"+a).2n("."+z.1t).9(\'2h-3Q\',h)};$("#"+a).2n("."+z.1t).9(\'2m-3R\',\'4P-3R\');$("#"+a).2n("."+z.1t).9(\'2h-3I\',\'4Q\')}}};3 21=5(){3 a=K("1h");3 b=$("#"+a+" a."+z.11);4(b.1c==1){3 c=$("#"+a+" a."+z.11).1q();3 d=$("#"+a+" a."+z.11).18("1b");4(d!=14){3 e=E[d].2b;J(B).1l=E[d].1i};4(q.1U&&q.1N!=15)2k()}19 4(b.1c>1){1D(3 i=0;i46){f+=4W.4X(b)};3 c=O(f);4(c!=-1){$("#"+e).9({1d:\'4Y\'});$("#"+e+" a").2f();$(c).25();3 d=2G();$("#"+e).9(d.9);$("#"+e).9({1s:\'2d\'})}19{$("#"+e+" a").25();$("#"+e).9({1d:H+\'1z\'})};1g};4(24("1W")==6){J(B).4Z()}});$(1p).1e("2S",5(a){4($("#"+B).18("45")!=14){J(B).45()}});$(1p).1e("1u",5(a){4(Y()==15){s.2e()}});3 g=2G();$("#"+e).9(g.9);4(g.3d==6){$("#"+e).9({1s:\'2d\'});$("#"+e).1F(g.2C);3e()}19{$("#"+e)[g.3Z]("3g",5(){$("#"+e).1F(g.2C);3e()})};4(e!=1L){1L=e}}};1a.2e=5(){3 b=K("1h");3 c=$("#"+K("1H")).1n().1m;3 d=2G();G=15;4(d.3d==6){$("#"+b).50({1d:0,1m:c},5(){$("#"+b).9({1d:H+\'1z\',1s:\'2o\'});3f()})}19{$("#"+b).43("3g",5(a){3f();$("#"+b).9({1M:\'0\'});$("#"+b).9({1d:H+\'1z\'})})};2k();$(1p).1J("1W");$(1p).1J("2S");$(1p).1J("1u")};1a.1l=5(i){4(1w(i)=="14"){12 s.26("1l")}19{s.1A("1l",i)}};1a.51=5(a){4(1w(a)=="14"||a==6){$("."+z.2a).52("1j")}19{$("."+z.2a).2B("1j","1d:3M;3N:3O;1n:36")}};1a.1A=5(a,b,c){4(a==14||b==14)47{48:"1A 53 54?"};s.1V[a]=b;4(c!=6){2F(a){1f"1l":3W(a,b);1g;1f"1k":s.1k(b,6);1g;1f"1v":J(B)[a]=b;x=($(r).18("1C")>0||$(r).18("1v")==6)?6:15;4(x){3 d=$("#"+B).1d();3 f=K("1h");$("#"+f).9("1d",d+"1z");3 g=K("1H");$("#"+g).2f();3 f=K("1h");$("#"+f).9({1s:\'2d\',1n:\'2Y\'});S()};1g;1f"1C":J(B)[a]=b;4(b==0){J(B).1v=15};x=($(r).18("1C")>0||$(r).18("1v")==6)?6:15;4(b==0){3 g=K("1H");$("#"+g).25();3 f=K("1h");$("#"+f).9({1s:\'2o\',1n:\'36\'});3 h="";4(J(B).1l>=0){3 i=U(J(B).1l);h=i.1I;V($("#"+i.1b))};1T(h)}19{3 g=K("1H");$("#"+g).2f();3 f=K("1h");$("#"+f).9({1s:\'2d\',1n:\'2Y\'})};1g;44:55{J(B)[a]=b}56(e){};1g}}};1a.26=5(a,b){4(a==14&&b==14){12 s.1V};4(a!=14&&b==14){12(s.1V[a]!=14)?s.1V[a]:1o};4(a!=14&&b!=14){12 J(B)[a]}};1a.2j=5(a){3 b=K("1O");4(a==6){$("#"+b).25()}19 4(a==15){$("#"+b).2f()}19{12 $("#"+b).9("1s")}};1a.57=5(a,b){3 c=a;3 d=c.1q;3 e=(c.2b==14||c.2b==1o)?d:c.2b;3 f=(c["1X"]==14||c["1X"]==1o)?\'\':c["1X"];3 i=(b==14||b==1o)?J(B).1E.1c:b;J(B).1E[i]=2r 58(d,e);4(f!=\'\')J(B).1E[i]["1X"]=f;3 g=U(i);4(g!=-1){3 h=N(J(B).1E[i],i,"","");$("#"+g.1b).1I(h)}19{3 h=N(J(B).1E[i],i,"","");3 j=K("1h");$("#"+j).59(h);S()}};1a.2D=5(i){J(B).2D(i);4((U(i))!=-1){$("#"+U(i).1b).2D();3X(i,\'d\')};4(J(B).1c==0){1T("")}19{3 a=U(J(B).1l).1I;1T(a)};s.1A("1l",J(B).1l)};1a.1k=5(a,b){J(B).1k=a;3 c=K("1O");4(a==6){$("#"+c).9("2E",z.1k);s.2e()}19 4(a==15){$("#"+c).9("2E",1)};4(b!=6){s.1A("1k",a)}};1a.3h=5(){12(J(B).3h==14)?1o:J(B).3h};1a.3i=5(){4(2p.1c==1){12 J(B).3i(2p[0])}19 4(2p.1c==2){12 J(B).3i(2p[0],2p[1])}19{47{48:"5a 1i 5b 5c!"}}};1a.49=5(a){12 J(B).49(a)};1a.1v=5(a){4(1w(a)=="14"){12 s.26("1v")}19{s.1A("1v",a)}};1a.1C=5(a){4(1w(a)=="14"){12 s.26("1C")}19{s.1A("1C",a)}};1a.5d=5(a,b){s.1R[a]=b};1a.5e=5(a){2H(s.1R[a])(s)};3 4a=5(){s.1A("3j",$.1S.3j);s.1A("3k",$.1S.3k)};3 4b=5(){T();3V();4a();4(q.2I!=\'\'){2H(q.2I)(s)}};4b()};$.1S={3j:2.37,3k:"5f 5g",3u:20,5h:5(a,b){12 $(a).1S(b).3c("28")}};$.3l.3n({1S:5(b){12 1a.2X(5(){3 a=2r 3m(1a,b);$(1a).3c(\'28\',a)})}});4(1w($.3l.18)==\'14\'){$.3l.18=5(w){12 $(1a).2B(w)}}})(5i);',62,329,'|||var|if|function|true|||css||||||||||||||||||||||||||||||||||||||||||||||||||||||selected|return||undefined|false|||prop|else|this|id|length|height|bind|case|break|postChildID|index|style|disabled|selectedIndex|top|position|null|document|text|class|display|ddTitleText|mouseup|multiple|typeof|span|div|px|set|mouseover|size|for|options|addClass|trigger|postTitleID|html|unbind|removeClass|bs|zIndex|useSprite|postID|click|mouseout|onActions|msDropDown|bv|showIcon|ddProp|keydown|title|sDiv|preventDefault||bA|oldIndex||bB|show|get||dd|postTitleTextID|ddOutOfVision|value|in|block|close|hide|parseInt|padding|stopPropagation|visible|bz|scrollTop|background|find|none|arguments|visibleRows|new|keyboardAction|currentKey|postArrowID|borderTop|noBorderTop|focus|dblclick|mousedown|mousemove|attr|border|remove|opacity|switch|bH|eval|onInit|insideWindow|postElementHolder|postAID|postOPTAID|ddTitle|arrow|ddChild|blur|change|keyup|option|opt|_|enabled|each|relative|width||after|bD|bx|by|Math|absolute||||bw|next|data|opp|bI|bJ|fast|form|item|version|author|fn|bt|extend|rowHeight|mainCSS|animStyle|Object|postInputhidden|actions|counter|children|className|img|src|align|absmiddle|href|javascript|void|toLowerCase|substr|font|first|bottom|bu|keyCode|open|0px|overflow|hidden|previous|left|repeat|bC|trim|backgroundPosition|bE|bF|bG|window|ani||onOpen|onClose|slideUp|default|onkeyup||throw|message|namedItem|bK|bL|120|9999|slideDown|_msddHolder|_msdd|_title|_titletext|_child|_msa|_msopta|postInputID|_msinput|_arrow|_inp|keypress|tabindex|msdrpdd|getElementById|val|nodeName|OPTGROUP|opta|weight|bold|italic|clear|both|label|1px|solid|c3c3c3|toggleClass|min|max|refresh|split|mouseenter|appendTo|image|no|2px|on|events|100|delete|floor|String|fromCharCode|auto|onkeydown|animate|debug|removeAttr|to|what|try|catch|add|Option|append|An|is|required|addMyEvent|fireEvent|Marghoob|Suleman|create|jQuery'.split('|'),0,{}))
-\ No newline at end of file
-diff -up cacti-0.8.8a/include/js/jquery/jquery.dropdown.js.legal cacti-0.8.8a/include/js/jquery/jquery.dropdown.js
---- cacti-0.8.8a/include/js/jquery/jquery.dropdown.js.legal 2013-01-04 15:44:38.032416068 -0500
-+++ cacti-0.8.8a/include/js/jquery/jquery.dropdown.js 2013-01-04 15:43:12.644377988 -0500
-@@ -0,0 +1,227 @@
-+/*
-+ +-------------------------------------------------------------------------+
-+ | Copyright (C) 2004-2013 The Cacti Group |
-+ | |
-+ | This program is free software; you can redistribute it and/or |
-+ | modify it under the terms of the GNU General Public License |
-+ | as published by the Free Software Foundation; either version 2 |
-+ | of the License, or (at your option) any later version. |
-+ | |
-+ | This program is distributed in the hope that it will be useful, |
-+ | but WITHOUT ANY WARRANTY; without even the implied warranty of |
-+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
-+ | GNU General Public License for more details. |
-+ +-------------------------------------------------------------------------+
-+ | Cacti: The Complete RRDTool-based Graphing Solution |
-+ +-------------------------------------------------------------------------+
-+ | This code is designed, written, and maintained by the Cacti Group. See |
-+ | about.php and/or the AUTHORS file for specific developer information. |
-+ +-------------------------------------------------------------------------+
-+ | http://www.cacti.net/ |
-+ +-------------------------------------------------------------------------+
-+*/
-+
-+(function($){
-+ $.fn.DropDownMenu = function(options) {
-+
-+ var defaults = {
-+ title: false,
-+ subtitle: false,
-+ name: 'myName',
-+ maxHeight: 300,
-+ width: 'auto',
-+ timeout: 500,
-+ auto_close: 10000,
-+ html: '
empty
',
-+ offsetX: 0,
-+ offsetY: 0,
-+ simultaneous: false,
-+ textAlign: 'left'
-+ };
-+
-+ var timerref = null;
-+ var menu = null;
-+ var menuHeight = 0;
-+ var options = $.extend(defaults, options);
-+ var contentHeight = 0;
-+
-+ /* do nothing if requested menu is still loaded */
-+ if($('#' + options.name).is(":visible")) { return; }
-+
-+ /* remove all open menus from DOM if they should not stay in front at the same time */
-+ var oldMenus = $(".cacti_dd_menu");
-+ if(options.simultaneous == false) {
-+ oldMenus.css({'overflow-y':'hidden'}).slideUp('200');
-+ oldMenus.queue(function () {
-+ oldMenus.remove();
-+ oldMenus.dequeue();
-+ });
-+ }
-+
-+ return this.each(function() {
-+ obj = $(this);
-+ newMenu = _init_menu(obj);
-+ _open_menu(newMenu);
-+ });
-+
-+ function _init_menu(initiator){
-+ /* create the main menu structure */
-+ $("
"
-+ + "
" + options.title + "
"
-+ + ""
-+ + ""
-+ + "
" + options.subtitle + "
"
-+ + ""
-+ + "
").appendTo("body");
-+
-+ /* define references to the menu and its different sections */
-+ menu = $('#' + options.name);
-+ menu_head = $('#' + options.name + '_title');
-+ menu_content = $('#' + options.name + '_content');
-+ menu_back = $('#' + options.name + '_back');
-+ menu_subhead = $('#' + options.name + '_subtitle');
-+ menu_html = $('#' + options.name + '_html');
-+
-+ /* while div container "myName_html" holds the raw data ... */
-+ menu_html.append(options.html);
-+ i=1;
-+ menu_html.find("h6:has(div)").each(function() {
-+ var subMenu = $(this);
-+ var subMenuClass = options.name + '_' + i;
-+ var subMenuTitle = subMenu.find('a:first').html();
-+ subMenu.addClass(subMenuClass);
-+ $('.'+subMenuClass).die().live("click", function(){ _switch_layer( subMenuClass); } );
-+ subMenu.children("div").hide();
-+ subMenu.find('a:first').html('' + subMenuTitle + '');
-+ i++;
-+ });
-+
-+ /* ... "myName_content" will have the visible menu data */
-+ menu_content.append(menu_html.html());
-+
-+ /* if necessary show title, subtitle ... */
-+ if(options.title !== false) { menu_head.show(); }
-+ if(options.subtitle !== false) { menu_subhead.show(); }
-+
-+ /* make content visible */
-+ menu_content.show();
-+
-+ /* reduce height to a minimum for best fit */
-+ menuHeight = (menu.outerHeight() > options.maxHeight) ? options.maxHeight : menu.outerHeight();
-+
-+ /* set the width to a fixed value */
-+ if(!isNaN(parseInt(options.width))) {
-+ menu.css({
-+ 'min-width' : options.width + 'px',
-+ 'max-width' : options.width + 'px'
-+ });
-+ menu.width(options.width);
-+ }else {
-+ // use real width plus 15 percent
-+ var width = menu.outerWidth(true)*1.15;
-+ menu.css({
-+ 'min-width' : width + 'px',
-+ 'max-width' : width + 'px'
-+ });
-+ menu.width(width);
-+ }
-+
-+ /* default position of the menu container */
-+ menu.css({
-+ // x-position in relation to the initiator
-+ 'left' : initiator.offset().left + options.offsetX + 'px',
-+ // y-position in relation to the initiator
-+ 'top' : initiator.offset().top + initiator.height() + options.offsetY + 'px'
-+ });
-+
-+ /* change the orientation from right to left if width exceeds the windows size */
-+ if((initiator.offset().left + initiator.width() + options.offsetX + menu.outerWidth(true)) > $(window).width()) {
-+ menu.css({'left' : (initiator.offset().left + initiator.width() - menu.outerWidth(true)) + 'px'});
-+ }
-+
-+ menu.css({'height':0, 'text-align':options.textAlign});
-+ menu.bind('mouseover', _cancel_timer);
-+ menu.bind('mouseout', _set_timer);
-+ return menu;
-+ }
-+
-+
-+ function _switch_layer(subMenuClass){
-+ if(subMenuClass == null) {
-+ var content = menu_html;
-+ menu_back.empty().hide();
-+ menu_content.height(contentHeight);
-+ }else {
-+ var content = menu_html.find('.' + subMenuClass + ' div:first');
-+ menu_back.show();
-+ }
-+
-+ parentClass = menu_html.find('.' + subMenuClass).parents('h6').attr('class');
-+
-+ menu_back.empty().append( menu_html.find('.' + subMenuClass + ' a:first').html() );
-+ menu_back.find('span:last').removeClass('ui-icon-triangle-1-e').addClass('ui-icon-triangle-1-s');
-+ menu_back.unbind('click').click( function() { _switch_layer( parentClass); });
-+
-+ menu_content.empty().append(content.html());
-+
-+ /* re-calculate content height */
-+ if(subMenuClass != null) {
-+ menu_head_height = menu_head.is(":visible") ? menu_head.outerHeight() : 0;
-+ menu_back_height = menu_back.is(":visible") ? menu_back.outerHeight() : 0;
-+ menu_subhead_height = menu_subhead.is(":visible") ? menu_subhead.outerHeight() : 0;
-+
-+ menu_content.height(menuHeight - menu_head_height - menu_back_height - menu_subhead_height);
-+ }
-+
-+ /* return false to suppress unwanted click events*/
-+ return false;
-+ }
-+
-+ function _set_timer(timer){
-+ timer = ( typeof(timer) != 'number' ) ? options.timeout : timer;
-+ timerref = window.setTimeout( _close_menu, timer);
-+ }
-+
-+ function _cancel_timer() {
-+ if(timerref) {
-+ window.clearTimeout(timerref);
-+ timerref = null;
-+ }
-+ }
-+
-+ function _close_menu(){
-+ menu = $('#' + options.name);
-+ menu.slideUp(menuHeight*3);
-+ menu.queue(function () {
-+ menu.remove();
-+ menu.dequeue();
-+ });
-+ }
-+
-+ function _open_menu(obj){
-+ //wait until oldMenu is completey closed before opening a new one
-+ var wait = setInterval(function() {
-+ if( !oldMenus.is(":animated") ) {
-+ clearInterval(wait);
-+ obj.show().animate({height: menuHeight}, menuHeight*3);
-+
-+ //setup contentHeight;
-+ menu_head_height = menu_head.is(":visible") ? menu_head.outerHeight() : 0;
-+ menu_back_height = menu_back.is(":visible") ? menu_back.outerHeight() : 0;
-+ menu_subhead_height = menu_subhead.is(":visible") ? menu_subhead.outerHeight() : 0;
-+
-+ menu_content.height(menuHeight - menu_head_height - menu_back_height - menu_subhead_height);
-+
-+ contentHeight = $('#' + options.name + '_content').height();
-+ $('#' + options.name + '_content').css({'overflow-y':'auto'});
-+
-+ obj.find('h6').eq(0).focus();
-+ if(options.auto_close !== false) {
-+ _set_timer(options.auto_close);
-+ }
-+ }
-+ }, 200);
-+ }
-+
-+ };
-+})(jQuery);
-\ No newline at end of file
-diff -up cacti-0.8.8a/include/js/jquery/jquery.js.legal cacti-0.8.8a/include/js/jquery/jquery.js
---- cacti-0.8.8a/include/js/jquery/jquery.js.legal 2013-01-04 15:44:38.035416071 -0500
-+++ cacti-0.8.8a/include/js/jquery/jquery.js 2013-01-04 15:43:12.644377988 -0500
-@@ -0,0 +1,4 @@
-+/*! jQuery v1.7.1 jquery.com | jquery.org/license */
-+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
" . htmlspecialchars($data_query["name"]) . "\n";
-
-- /* fetch a list of field names that are sorted by the preferred sort field */
-- $sort_field_data = get_formatted_data_query_indexes($leaf["host_id"], $data_query["id"]);
-+ /* fetch a list of field names that are sorted by the preferred sort field */
-+ $sort_field_data = get_formatted_data_query_indexes($leaf["host_id"], $data_query["id"]);
-
-- if ($data_query["id"] > 0) {
-- while (list($snmp_index, $sort_field_value) = each($sort_field_data)) {
-+ if ($data_query["id"] > 0) {
-+ $i++;
-+ $dhtml_tree[$i] = "\t\t\t\t\t\t\t
Thanks for taking the time to download and install cacti, the complete graphing
- solution for your network. Before you can start making cool graphs, there are a few
-@@ -530,7 +531,7 @@
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.