Compressed jquery plugins using Google Closure Compiler.

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@8655 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
phamt 2011-01-14 16:17:41 +00:00
parent 7adbf0da4a
commit 83198c338a
21 changed files with 384 additions and 8063 deletions

View File

@ -1,117 +0,0 @@
(function($) {
/* hoverIntent by Brian Cherne */
$.fn.hoverIntent = function(f, g) {
// default configuration options
var cfg = {
sensitivity : 7,
interval : 100,
timeout : 0
};
// override configuration options with user supplied object
cfg = $.extend(cfg, g ? {
over : f,
out : g
} : f);
// instantiate variables
// cX, cY = current X and Y position of mouse, updated by mousemove
// event
// pX, pY = previous X and Y position of mouse, set by mouseover and
// polling interval
var cX, cY, pX, pY;
// A private function for getting mouse position
var track = function(ev) {
cX = ev.pageX;
cY = ev.pageY;
};
// A private function for comparing current and previous mouse position
var compare = function(ev, ob) {
ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
// compare mouse positions to see if they've crossed the threshold
if ((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity) {
$(ob).unbind("mousemove", track);
// set hoverIntent state to true (so mouseOut can be called)
ob.hoverIntent_s = 1;
return cfg.over.apply(ob, [ ev ]);
} else {
// set previous coordinates for next time
pX = cX;
pY = cY;
// use self-calling timeout, guarantees intervals are spaced out
// properly (avoids JavaScript timer bugs)
ob.hoverIntent_t = setTimeout(function() {
compare(ev, ob);
}, cfg.interval);
}
};
// A private function for delaying the mouseOut function
var delay = function(ev, ob) {
ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
ob.hoverIntent_s = 0;
return cfg.out.apply(ob, [ ev ]);
};
// A private function for handling mouse 'hovering'
var handleHover = function(e) {
// next three lines copied from jQuery.hover, ignore children
// onMouseOver/onMouseOut
var p = (e.type == "mouseover" ? e.fromElement : e.toElement)
|| e.relatedTarget;
while (p && p != this) {
try {
p = p.parentNode;
} catch (e) {
p = this;
}
}
if (p == this) {
return false;
}
// copy objects to be passed into t (required for event object to be
// passed in IE)
var ev = jQuery.extend( {}, e);
var ob = this;
// cancel hoverIntent timer if it exists
if (ob.hoverIntent_t) {
ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
}
// else e.type == "onmouseover"
if (e.type == "mouseover") {
// set "previous" X and Y position based on initial entry point
pX = ev.pageX;
pY = ev.pageY;
// update "current" X and Y position based on mousemove
$(ob).bind("mousemove", track);
// start polling interval (self-calling timeout) to compare
// mouse coordinates over time
if (ob.hoverIntent_s != 1) {
ob.hoverIntent_t = setTimeout(function() {
compare(ev, ob);
}, cfg.interval);
}
// else e.type == "onmouseout"
} else {
// unbind expensive mousemove event
$(ob).unbind("mousemove", track);
// if hoverIntent state is true, then call the mouseOut function
// after the specified delay
if (ob.hoverIntent_s == 1) {
ob.hoverIntent_t = setTimeout(function() {
delay(ev, ob);
}, cfg.timeout);
}
}
};
// bind the function to the two event listeners
return this.mouseover(handleHover).mouseout(handleHover);
};
})(jQuery);

3
xCAT-UI/js/jquery/hoverIntent.min.js vendored Normal file
View File

@ -0,0 +1,3 @@
(function(e){e.fn.hoverIntent=function(l,m){var d={sensitivity:7,interval:100,timeout:0};d=e.extend(d,m?{over:l,out:m}:l);var g,h,i,j,k=function(c){g=c.pageX;h=c.pageY},n=function(c,a){a.hoverIntent_t=clearTimeout(a.hoverIntent_t);if(Math.abs(i-g)+Math.abs(j-h)<d.sensitivity){e(a).unbind("mousemove",k);a.hoverIntent_s=1;return d.over.apply(a,[c])}else{i=g;j=h;a.hoverIntent_t=setTimeout(function(){n(c,a)},d.interval)}},o=function(c){for(var a=(c.type=="mouseover"?c.fromElement:c.toElement)||c.relatedTarget;a&&
a!=this;)try{a=a.parentNode}catch(p){a=this}if(a==this)return false;var f=jQuery.extend({},c),b=this;if(b.hoverIntent_t)b.hoverIntent_t=clearTimeout(b.hoverIntent_t);if(c.type=="mouseover"){i=f.pageX;j=f.pageY;e(b).bind("mousemove",k);if(b.hoverIntent_s!=1)b.hoverIntent_t=setTimeout(function(){n(f,b)},d.interval)}else{e(b).unbind("mousemove",k);if(b.hoverIntent_s==1)b.hoverIntent_t=setTimeout(function(){b.hoverIntent_t=clearTimeout(b.hoverIntent_t);b.hoverIntent_s=0;d.out.apply(b,[f])},d.timeout)}};
return this.mouseover(o).mouseout(o)}})(jQuery);

View File

@ -1,370 +0,0 @@
/**
* Copyright (c)2005-2009 Matt Kruse (javascripttoolbox.com)
*
* Dual licensed under the MIT and GPL licenses.
* This basically means you can use this code however you want for
* free, but don't claim to have written it yourself!
* Donations always accepted: http://www.JavascriptToolbox.com/donate/
*
* Please do not link to the .js files on javascripttoolbox.com from
* your site. Copy the files locally to your server instead.
*
*/
/**
* jquery.contextmenu.js jQuery Plugin for Context Menus http://www.JavascriptToolbox.com/lib/contextmenu/
*
* Copyright (c) 2008 Matt Kruse (javascripttoolbox.com) Dual licensed under the MIT and GPL licenses.
*
* @version 1.1
* @history 1.1 2010-01-25 Fixed a problem with 1.4 which caused undesired show/hide animations
* @history 1.0 2008-10-20 Initial Release
* @todo slideUp doesn't work in IE - because of iframe?
* @todo Hide all other menus when contextmenu is shown?
* @todo More themes
* @todo Nested context menus
*/
;
(function($) {
$.contextMenu = {
shadow : true,
shadowOffset : 0,
shadowOffsetX : 5,
shadowOffsetY : 5,
shadowWidthAdjust : -3,
shadowHeightAdjust : -3,
shadowOpacity : .2,
shadowClass : 'context-menu-shadow',
shadowColor : 'black',
offsetX : 0,
offsetY : 0,
appendTo : 'body',
direction : 'down',
constrainToScreen : true,
showTransition : 'show',
hideTransition : 'hide',
showSpeed : null,
hideSpeed : null,
showCallback : null,
hideCallback : null,
className : 'context-menu',
itemClassName : 'context-menu-item',
itemHoverClassName : 'context-menu-item-hover',
disabledItemClassName : 'context-menu-item-disabled',
disabledItemHoverClassName : 'context-menu-item-disabled-hover',
separatorClassName : 'context-menu-separator',
innerDivClassName : 'context-menu-item-inner',
themePrefix : 'context-menu-theme-',
theme : 'default',
separator : 'context-menu-separator', // A specific key to identify a separator
target : null, // The target of the context click, to be populated when triggered
menu : null, // The jQuery object containing the HTML object that is the menu itself
shadowObj : null, // Shadow object
bgiframe : null, // The iframe object for IE6
shown : false, // Currently being shown?
useIframe : /* @cc_on @ *//* @if (@_win32) true, @else @ */false,/* @end @ */// This is a better check than
// looking
// at userAgent!
// Create the menu instance
create : function(menu, opts) {
var cmenu = $.extend( {}, this, opts); // Clone all default
// properties to created
// object
// If a selector has been passed in, then use that as the menu
if (typeof menu == "string") {
cmenu.menu = $(menu);
}
// If a function has been passed in, call it each time the menu is shown to create the menu
else if (typeof menu == "function") {
cmenu.menuFunction = menu;
}
// Otherwise parse the Array passed in
else {
cmenu.menu = cmenu.createMenu(menu, cmenu);
}
if (cmenu.menu) {
cmenu.menu.css( {
display : 'none'
});
$(cmenu.appendTo).append(cmenu.menu);
}
// Create the shadow object if shadow is enabled
if (cmenu.shadow) {
cmenu.createShadow(cmenu); // Extracted to method for
// extensibility
if (cmenu.shadowOffset) {
cmenu.shadowOffsetX = cmenu.shadowOffsetY = cmenu.shadowOffset;
}
}
$('body').bind('contextmenu', function() {
cmenu.hide();
}); // If right-clicked somewhere else in the document, hide this
// menu
return cmenu;
},
// Create an iframe object to go behind the menu
createIframe : function() {
return $('<iframe frameborder="0" tabindex="-1" src="javascript:false" style="display:block;position:absolute;z-index:-1;filter:Alpha(Opacity=0);"/>');
},
// Accept an Array representing a menu structure and turn it into HTML
createMenu : function(menu, cmenu) {
var className = cmenu.className;
$.each(cmenu.theme.split(","), function(i, n) {
className += ' ' + cmenu.themePrefix + n
});
var $t = $('<table cellspacing=0 cellpadding=0></table>')
.click(function() {
cmenu.hide();
return false;
}); // We wrap a table around it so width can be flexible
var $tr = $('<tr></tr>');
var $td = $('<td></td>');
var $div = $('<div class="' + className + '"></div>');
// Each menu item is specified as either:
// title:function
// or title: { property:value ... }
for ( var i = 0; i < menu.length; i++) {
var m = menu[i];
if (m == $.contextMenu.separator) {
$div.append(cmenu.createSeparator());
} else {
for ( var opt in menu[i]) {
$div.append(cmenu.createMenuItem(opt, menu[i][opt])); // Extracted
// to
// method
// for
// extensibility
}
}
}
if (cmenu.useIframe) {
$td.append(cmenu.createIframe());
}
$t.append($tr.append($td.append($div)))
return $t;
},
// Create an individual menu item
createMenuItem : function(label, obj) {
var cmenu = this;
if (typeof obj == "function") {
obj = {
onclick : obj
};
} // If passed a simple function, turn it into a property of an object
// Default properties, extended in case properties are passed
var o = $.extend( {
onclick : function() {
},
className : '',
hoverClassName : cmenu.itemHoverClassName,
icon : '',
disabled : false,
title : '',
hoverItem : cmenu.hoverItem,
hoverItemOut : cmenu.hoverItemOut
}, obj);
// If an icon is specified, hard-code the background-image style.
// Themes that don't show images should take this into account in
// their CSS
var iconStyle = (o.icon) ? 'background-image:url(' + o.icon + ');' : '';
var $div = $('<div class="' + cmenu.itemClassName + ' ' +
o.className +
((o.disabled) ? ' ' + cmenu.disabledItemClassName : '') +
'" title="' + o.title + '"></div>')
// If the item is disabled, don't do anything when it is clicked
.click(function(e) {
if (cmenu.isItemDisabled(this)) {
return false;
} else {
return o.onclick.call(cmenu.target, this, cmenu, e)
}
})
// Change the class of the item when hovered over
.hover(function() {
o.hoverItem
.call(this, (cmenu.isItemDisabled(this)) ? cmenu.disabledItemHoverClassName : o.hoverClassName);
}, function() {
o.hoverItemOut
.call(this, (cmenu.isItemDisabled(this)) ? cmenu.disabledItemHoverClassName : o.hoverClassName);
});
var $idiv = $('<div class="' + cmenu.innerDivClassName +
'" style="' + iconStyle + '">' + label + '</div>');
$div.append($idiv);
return $div;
},
// Create a separator row
createSeparator : function() {
return $('<div class="' + this.separatorClassName + '"></div>');
},
// Determine if an individual item is currently disabled. This is called each time the item is hovered or
// clicked because the disabled status may change at any time
isItemDisabled : function(item) {
return $(item).is('.' + this.disabledItemClassName);
},
// Functions to fire on hover. Extracted to methods for extensibility
hoverItem : function(c) {
$(this).addClass(c);
},
hoverItemOut : function(c) {
$(this).removeClass(c);
},
// Create the shadow object
createShadow : function(cmenu) {
cmenu.shadowObj = $('<div class="' + cmenu.shadowClass + '"></div>')
.css( {
display : 'none',
position : "absolute",
zIndex : 9998,
opacity : cmenu.shadowOpacity,
backgroundColor : cmenu.shadowColor
});
$(cmenu.appendTo).append(cmenu.shadowObj);
},
// Display the shadow object, given the position of the menu itself
showShadow : function(x, y, e) {
var cmenu = this;
if (cmenu.shadow) {
cmenu.shadowObj.css( {
width : (cmenu.menu.width() + cmenu.shadowWidthAdjust) +
"px",
height : (cmenu.menu.height() + cmenu.shadowHeightAdjust) +
"px",
top : (y + cmenu.shadowOffsetY) + "px",
left : (x + cmenu.shadowOffsetX) + "px"
}).addClass(cmenu.shadowClass)[cmenu.showTransition]
(cmenu.showSpeed);
}
},
// A hook to call before the menu is shown, in case special processing needs to be done.
// Return false to cancel the default show operation
beforeShow : function() {
return true;
},
// Show the context menu
show : function(t, e) {
var cmenu = this, x = e.pageX, y = e.pageY;
cmenu.target = t; // Preserve the object that triggered this
// context menu so menu item click methods can
// see it
if (cmenu.beforeShow() !== false) {
// If the menu content is a function, call it to populate the menu each time it is displayed
if (cmenu.menuFunction) {
if (cmenu.menu) {
$(cmenu.menu).remove();
}
cmenu.menu = cmenu
.createMenu(cmenu.menuFunction(cmenu, t), cmenu);
cmenu.menu.css( {
display : 'none'
});
$(cmenu.appendTo).append(cmenu.menu);
}
var $c = cmenu.menu;
x += cmenu.offsetX;
y += cmenu.offsetY;
var pos = cmenu.getPosition(x, y, cmenu, e); // Extracted to
// method for
// extensibility
cmenu.showShadow(pos.x, pos.y, e);
// Resize the iframe if needed
if (cmenu.useIframe) {
$c.find('iframe').css( {
width : $c.width() + cmenu.shadowOffsetX +
cmenu.shadowWidthAdjust,
height : $c.height() + cmenu.shadowOffsetY +
cmenu.shadowHeightAdjust
});
}
$c.css( {
top : pos.y + "px",
left : pos.x + "px",
position : "absolute",
zIndex : 9999
})[cmenu.showTransition]
(cmenu.showSpeed, ((cmenu.showCallback) ? function() {
cmenu.showCallback.call(cmenu);
} : null));
cmenu.shown = true;
$(document).one('click', null, function() {
cmenu.hide()
}); // Handle a single click to the document to hide the menu
}
},
// Find the position where the menu should appear, given an x,y of the click event
getPosition : function(clickX, clickY, cmenu, e) {
var x = clickX + cmenu.offsetX;
var y = clickY + cmenu.offsetY
var h = $(cmenu.menu).height();
var w = $(cmenu.menu).width();
var dir = cmenu.direction;
if (cmenu.constrainToScreen) {
var $w = $(window);
var wh = $w.height();
var ww = $w.width();
if (dir == "down" && (y + h - $w.scrollTop() > wh)) {
dir = "up";
}
var maxRight = x + w - $w.scrollLeft();
if (maxRight > ww) {
x -= (maxRight - ww);
}
}
if (dir == "up") {
y -= h;
}
return {
'x' : x, 'y' : y
};
},
// Hide the menu, of course
hide : function() {
var cmenu = this;
if (cmenu.shown) {
if (cmenu.iframe) {
$(cmenu.iframe).hide();
}
if (cmenu.menu) {
cmenu.menu[cmenu.hideTransition]
(cmenu.hideSpeed, ((cmenu.hideCallback) ? function() {
cmenu.hideCallback.call(cmenu);
} : null));
}
if (cmenu.shadow) {
cmenu.shadowObj[cmenu.hideTransition](cmenu.hideSpeed);
}
}
cmenu.shown = false;
}
};
// This actually adds the .contextMenu() function to the jQuery namespace
$.fn.contextMenu = function(menu, options) {
var cmenu = $.contextMenu.create(menu, options);
return this.each(function() {
// Show menu on left click
$(this).bind('click', function(e) {
cmenu.show(this, e);
return false;
});
});
};
})(jQuery);

View File

@ -0,0 +1,22 @@
/*
Copyright (c)2005-2009 Matt Kruse (javascripttoolbox.com)
Dual licensed under the MIT and GPL licenses.
This basically means you can use this code however you want for
free, but don't claim to have written it yourself!
Donations always accepted: http://www.JavascriptToolbox.com/donate/
Please do not link to the .js files on javascripttoolbox.com from
your site. Copy the files locally to your server instead.
*/
(function(c){c.contextMenu={shadow:true,shadowOffset:0,shadowOffsetX:5,shadowOffsetY:5,shadowWidthAdjust:-3,shadowHeightAdjust:-3,shadowOpacity:0.2,shadowClass:"context-menu-shadow",shadowColor:"black",offsetX:0,offsetY:0,appendTo:"body",direction:"down",constrainToScreen:true,showTransition:"show",hideTransition:"hide",showSpeed:null,hideSpeed:null,showCallback:null,hideCallback:null,className:"context-menu",itemClassName:"context-menu-item",itemHoverClassName:"context-menu-item-hover",disabledItemClassName:"context-menu-item-disabled",
disabledItemHoverClassName:"context-menu-item-disabled-hover",separatorClassName:"context-menu-separator",innerDivClassName:"context-menu-item-inner",themePrefix:"context-menu-theme-",theme:"default",separator:"context-menu-separator",target:null,menu:null,shadowObj:null,bgiframe:null,shown:false,useIframe:false,create:function(b,d){var a=c.extend({},this,d);if(typeof b=="string")a.menu=c(b);else if(typeof b=="function")a.menuFunction=b;else a.menu=a.createMenu(b,a);if(a.menu){a.menu.css({display:"none"});
c(a.appendTo).append(a.menu)}if(a.shadow){a.createShadow(a);if(a.shadowOffset)a.shadowOffsetX=a.shadowOffsetY=a.shadowOffset}c("body").bind("contextmenu",function(){a.hide()});return a},createIframe:function(){return c('<iframe frameborder="0" tabindex="-1" src="javascript:false" style="display:block;position:absolute;z-index:-1;filter:Alpha(Opacity=0);"/>')},createMenu:function(b,d){var a=d.className;c.each(d.theme.split(","),function(l,k){a+=" "+d.themePrefix+k});for(var e=c("<table cellspacing=0 cellpadding=0></table>").click(function(){d.hide();
return false}),g=c("<tr></tr>"),f=c("<td></td>"),h=c('<div class="'+a+'"></div>'),i=0;i<b.length;i++)if(b[i]==c.contextMenu.separator)h.append(d.createSeparator());else for(var j in b[i])h.append(d.createMenuItem(j,b[i][j]));d.useIframe&&f.append(d.createIframe());e.append(g.append(f.append(h)));return e},createMenuItem:function(b,d){var a=this;if(typeof d=="function")d={onclick:d};var e=c.extend({onclick:function(){},className:"",hoverClassName:a.itemHoverClassName,icon:"",disabled:false,title:"",
hoverItem:a.hoverItem,hoverItemOut:a.hoverItemOut},d),g=e.icon?"background-image:url("+e.icon+");":"",f=c('<div class="'+a.itemClassName+" "+e.className+(e.disabled?" "+a.disabledItemClassName:"")+'" title="'+e.title+'"></div>').click(function(h){return a.isItemDisabled(this)?false:e.onclick.call(a.target,this,a,h)}).hover(function(){e.hoverItem.call(this,a.isItemDisabled(this)?a.disabledItemHoverClassName:e.hoverClassName)},function(){e.hoverItemOut.call(this,a.isItemDisabled(this)?a.disabledItemHoverClassName:
e.hoverClassName)});g=c('<div class="'+a.innerDivClassName+'" style="'+g+'">'+b+"</div>");f.append(g);return f},createSeparator:function(){return c('<div class="'+this.separatorClassName+'"></div>')},isItemDisabled:function(b){return c(b).is("."+this.disabledItemClassName)},hoverItem:function(b){c(this).addClass(b)},hoverItemOut:function(b){c(this).removeClass(b)},createShadow:function(b){b.shadowObj=c('<div class="'+b.shadowClass+'"></div>').css({display:"none",position:"absolute",zIndex:9998,opacity:b.shadowOpacity,
backgroundColor:b.shadowColor});c(b.appendTo).append(b.shadowObj)},showShadow:function(b,d){this.shadow&&this.shadowObj.css({width:this.menu.width()+this.shadowWidthAdjust+"px",height:this.menu.height()+this.shadowHeightAdjust+"px",top:d+this.shadowOffsetY+"px",left:b+this.shadowOffsetX+"px"}).addClass(this.shadowClass)[this.showTransition](this.showSpeed)},beforeShow:function(){return true},show:function(b,d){var a=this,e=d.pageX,g=d.pageY;a.target=b;if(a.beforeShow()!==false){if(a.menuFunction){a.menu&&
c(a.menu).remove();a.menu=a.createMenu(a.menuFunction(a,b),a);a.menu.css({display:"none"});c(a.appendTo).append(a.menu)}var f=a.menu;e+=a.offsetX;g+=a.offsetY;e=a.getPosition(e,g,a,d);a.showShadow(e.x,e.y,d);a.useIframe&&f.find("iframe").css({width:f.width()+a.shadowOffsetX+a.shadowWidthAdjust,height:f.height()+a.shadowOffsetY+a.shadowHeightAdjust});f.css({top:e.y+"px",left:e.x+"px",position:"absolute",zIndex:9999})[a.showTransition](a.showSpeed,a.showCallback?function(){a.showCallback.call(a)}:null);
a.shown=true;c(document).one("click",null,function(){a.hide()})}},getPosition:function(b,d,a){b=b+a.offsetX;d=d+a.offsetY;var e=c(a.menu).height(),g=c(a.menu).width(),f=a.direction;if(a.constrainToScreen){var h=c(window),i=h.height();a=h.width();if(f=="down"&&d+e-h.scrollTop()>i)f="up";g=b+g-h.scrollLeft();if(g>a)b-=g-a}if(f=="up")d-=e;return{x:b,y:d}},hide:function(){var b=this;if(b.shown){b.iframe&&c(b.iframe).hide();if(b.menu)b.menu[b.hideTransition](b.hideSpeed,b.hideCallback?function(){b.hideCallback.call(b)}:
null);b.shadow&&b.shadowObj[b.hideTransition](b.hideSpeed)}b.shown=false}};c.fn.contextMenu=function(b,d){var a=c.contextMenu.create(b,d);return this.each(function(){c(this).bind("click",function(e){a.show(this,e);return false})})}})(jQuery);

View File

@ -1,110 +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. Keep in mind that you have to use the same path and domain
* used when the cookie was set.
*
* @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
}
// CAUTION: Needed to parenthesize options.path and options.domain
// in the following expressions, otherwise they evaluate to undefined
// in the packed version for some reason...
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;
}
};

11
xCAT-UI/js/jquery/jquery.cookie.min.js vendored Normal file
View File

@ -0,0 +1,11 @@
/*
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
*/
jQuery.cookie=function(d,c,a){if(typeof c!="undefined"){a=a||{};if(c===null){c="";a.expires=-1}var b="";if(a.expires&&(typeof a.expires=="number"||a.expires.toUTCString)){if(typeof a.expires=="number"){b=new Date;b.setTime(b.getTime()+a.expires*24*60*60*1E3)}else b=a.expires;b="; expires="+b.toUTCString()}var e=a.path?"; path="+a.path:"",f=a.domain?"; domain="+a.domain:"";a=a.secure?"; secure":"";document.cookie=[d,"=",encodeURIComponent(c),b,e,f,a].join("")}else{c=null;if(document.cookie&&document.cookie!=
""){a=document.cookie.split(";");for(b=0;b<a.length;b++){e=jQuery.trim(a[b]);if(e.substring(0,d.length+1)==d+"="){c=decodeURIComponent(e.substring(d.length+1));break}}}return c}};

File diff suppressed because it is too large Load Diff

62
xCAT-UI/js/jquery/jquery.flot.min.js vendored Normal file
View File

@ -0,0 +1,62 @@
/*
Javascript plotting library for jQuery, v. 0.6.
Released under the MIT license by IOLA, December 2007.
*/
(function(){jQuery.color={};jQuery.color.make=function(E,y,x,M){var z={};z.r=E||0;z.g=y||0;z.b=x||0;z.a=M!=null?M:1;z.add=function(G,H){for(var F=0;F<G.length;++F)z[G.charAt(F)]+=H;return z.normalize()};z.scale=function(G,H){for(var F=0;F<G.length;++F)z[G.charAt(F)]*=H;return z.normalize()};z.toString=function(){return z.a>=1?"rgb("+[z.r,z.g,z.b].join(",")+")":"rgba("+[z.r,z.g,z.b,z.a].join(",")+")"};z.normalize=function(){function G(H,F,J){return F<H?H:F>J?J:F}z.r=G(0,parseInt(z.r),255);z.g=G(0,
parseInt(z.g),255);z.b=G(0,parseInt(z.b),255);z.a=G(0,z.a,1);return z};z.clone=function(){return jQuery.color.make(z.r,z.b,z.g,z.a)};return z.normalize()};jQuery.color.extract=function(E,y){var x;do{x=E.css(y).toLowerCase();if(x!=""&&x!="transparent")break;E=E.parent()}while(!jQuery.nodeName(E.get(0),"body"));if(x=="rgba(0, 0, 0, 0)")x="transparent";return jQuery.color.parse(x)};jQuery.color.parse=function(E){var y,x=jQuery.color.make;if(y=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(E))return x(parseInt(y[1],
10),parseInt(y[2],10),parseInt(y[3],10));if(y=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(E))return x(parseInt(y[1],10),parseInt(y[2],10),parseInt(y[3],10),parseFloat(y[4]));if(y=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(E))return x(parseFloat(y[1])*2.55,parseFloat(y[2])*2.55,parseFloat(y[3])*2.55);if(y=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(E))return x(parseFloat(y[1])*
2.55,parseFloat(y[2])*2.55,parseFloat(y[3])*2.55,parseFloat(y[4]));if(y=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(E))return x(parseInt(y[1],16),parseInt(y[2],16),parseInt(y[3],16));if(y=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(E))return x(parseInt(y[1]+y[1],16),parseInt(y[2]+y[2],16),parseInt(y[3]+y[3],16));E=jQuery.trim(E).toLowerCase();if(E=="transparent")return x(255,255,255,0);else{y=A[E];return x(y[0],y[1],y[2])}};var A={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,
220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],
lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})();
(function(A){function E(x,M,z,G){function H(a,e){e=[D].concat(e);for(var b=0;b<a.length;++b)a[b].apply(this,e)}function F(a){for(var e=[],b=0;b<a.length;++b){var c=A.extend(true,{},r.series);if(a[b].data){c.data=a[b].data;delete a[b].data;A.extend(true,c,a[b]);a[b].data=c.data}else c.data=a[b];e.push(c)}C=e;e=C.length;b=[];c=[];for(a=0;a<C.length;++a){var d=C[a].color;if(d!=null){--e;typeof d=="number"?c.push(d):b.push(A.color.parse(C[a].color))}}for(a=0;a<c.length;++a)e=Math.max(e,c[a]+1);b=[];for(a=
c=0;b.length<e;){d=r.colors.length==a?A.color.make(100,100,100):A.color.parse(r.colors[a]);d.scale("rgb",1+(c%2==1?-1:1)*Math.ceil(c/2)*0.2);b.push(d);++a;if(a>=r.colors.length){a=0;++c}}for(a=e=0;a<C.length;++a){c=C[a];if(c.color==null){c.color=b[e].toString();++e}else if(typeof c.color=="number")c.color=b[c.color].toString();if(c.lines.show==null){var f;d=true;for(f in c)if(c[f].show){d=false;break}if(d)c.lines.show=true}c.xaxis=J(c,"xaxis");c.yaxis=J(c,"yaxis")}Y()}function J(a,e){var b=a[e];if(!b||
b==1)return u[e];if(typeof b=="number")return u[e.charAt(0)+b+e.slice(1)];return b}function Y(){function a(t,B,O){if(B<t.datamin)t.datamin=B;if(O>t.datamax)t.datamax=O}var e=Number.POSITIVE_INFINITY,b=Number.NEGATIVE_INFINITY,c,d,f,k,g,j,h,m,l,v,s;for(m in u){u[m].datamin=e;u[m].datamax=b;u[m].used=false}for(c=0;c<C.length;++c){g=C[c];g.datapoints={points:[]};H(S.processRawData,[g,g.data,g.datapoints])}for(c=0;c<C.length;++c){g=C[c];var q=g.data,n=g.datapoints.format;if(!n){n=[];n.push({x:true,number:true,
required:true});n.push({y:true,number:true,required:true});g.bars.show&&n.push({y:true,number:true,required:false,defaultValue:0});g.datapoints.format=n}if(g.datapoints.pointsize==null){if(g.datapoints.pointsize==null)g.datapoints.pointsize=n.length;h=g.datapoints.pointsize;j=g.datapoints.points;insertSteps=g.lines.show&&g.lines.steps;g.xaxis.used=g.yaxis.used=true;for(d=f=0;d<q.length;++d,f+=h){s=q[d];var p=s==null;if(!p)for(k=0;k<h;++k){l=s[k];if(v=n[k]){if(v.number&&l!=null){l=+l;if(isNaN(l))l=
null}if(l==null){if(v.required)p=true;if(v.defaultValue!=null)l=v.defaultValue}}j[f+k]=l}if(p)for(k=0;k<h;++k){l=j[f+k];if(l!=null){v=n[k];v.x&&a(g.xaxis,l,l);v.y&&a(g.yaxis,l,l)}j[f+k]=null}else if(insertSteps&&f>0&&j[f-h]!=null&&j[f-h]!=j[f]&&j[f-h+1]!=j[f+1]){for(k=0;k<h;++k)j[f+h+k]=j[f+k];j[f+1]=j[f-h+1];f+=h}}}}for(c=0;c<C.length;++c){g=C[c];H(S.processDatapoints,[g,g.datapoints])}for(c=0;c<C.length;++c){g=C[c];j=g.datapoints.points;h=g.datapoints.pointsize;s=f=e;p=q=b;for(d=0;d<j.length;d+=
h)if(j[d]!=null)for(k=0;k<h;++k){l=j[d+k];if(v=n[k]){if(v.x){if(l<f)f=l;if(l>q)q=l}if(v.y){if(l<s)s=l;if(l>p)p=l}}}if(g.bars.show){d=g.bars.align=="left"?0:-g.bars.barWidth/2;if(g.bars.horizontal){s+=d;p+=d+g.bars.barWidth}else{f+=d;q+=d+g.bars.barWidth}}a(g.xaxis,f,q);a(g.yaxis,s,p)}for(m in u){if(u[m].datamin==e)u[m].datamin=null;if(u[m].datamax==b)u[m].datamax=null}}function W(){function a(d,f){function k(l){return l}var g,j,h=f.transform||k,m=f.inverseTransform;if(d==u.xaxis||d==u.x2axis){g=d.scale=
P/(h(d.max)-h(d.min));j=h(d.min);d.p2c=h==k?function(l){return(l-j)*g}:function(l){return(h(l)-j)*g};d.c2p=m?function(l){return m(j+l/g)}:function(l){return j+l/g}}else{g=d.scale=Q/(h(d.max)-h(d.min));j=h(d.max);d.p2c=h==k?function(l){return(j-l)*g}:function(l){return(j-h(l))*g};d.c2p=m?function(l){return m(j-l/g)}:function(l){return j-l/g}}}function e(d,f){var k,g=[],j;d.labelWidth=f.labelWidth;d.labelHeight=f.labelHeight;if(d==u.xaxis||d==u.x2axis){if(d.labelWidth==null)d.labelWidth=R/(d.ticks.length>
0?d.ticks.length:1);if(d.labelHeight==null){g=[];for(k=0;k<d.ticks.length;++k)(j=d.ticks[k].label)&&g.push('<div class="tickLabel" style="float:left;width:'+d.labelWidth+'px">'+j+"</div>");if(g.length>0){k=A('<div style="position:absolute;top:-10000px;width:10000px;font-size:smaller">'+g.join("")+'<div style="clear:left"></div></div>').appendTo(x);d.labelHeight=k.height();k.remove()}}}else if(d.labelWidth==null||d.labelHeight==null){for(k=0;k<d.ticks.length;++k)(j=d.ticks[k].label)&&g.push('<div class="tickLabel">'+
j+"</div>");if(g.length>0){k=A('<div style="position:absolute;top:-10000px;font-size:smaller">'+g.join("")+"</div>").appendTo(x);if(d.labelWidth==null)d.labelWidth=k.width();if(d.labelHeight==null)d.labelHeight=k.find("div").height();k.remove()}}if(d.labelWidth==null)d.labelWidth=0;if(d.labelHeight==null)d.labelHeight=0}function b(){var d=r.grid.borderWidth;for(i=0;i<C.length;++i)d=Math.max(d,2*(C[i].points.radius+C[i].points.lineWidth/2));w.left=w.right=w.top=w.bottom=d;var f=r.grid.labelMargin+
r.grid.borderWidth;if(u.xaxis.labelHeight>0)w.bottom=Math.max(d,u.xaxis.labelHeight+f);if(u.yaxis.labelWidth>0)w.left=Math.max(d,u.yaxis.labelWidth+f);if(u.x2axis.labelHeight>0)w.top=Math.max(d,u.x2axis.labelHeight+f);if(u.y2axis.labelWidth>0)w.right=Math.max(d,u.y2axis.labelWidth+f);P=R-w.left-w.right;Q=T-w.bottom-w.top}for(var c in u)I(u[c],r[c]);if(r.grid.show){for(c in u){V(u[c],r[c]);ma(u[c],r[c]);e(u[c],r[c])}b()}else{w.left=w.right=w.top=w.bottom=0;P=R;Q=T}for(c in u)a(u[c],r[c]);r.grid.show&&
na();oa()}function I(a,e){var b=+(e.min!=null?e.min:a.datamin),c=+(e.max!=null?e.max:a.datamax),d=c-b;if(d==0){d=c==0?1:0.01;if(e.min==null)b-=d;if(e.max==null||e.min!=null)c+=d}else{var f=e.autoscaleMargin;if(f!=null){if(e.min==null){b-=d*f;if(b<0&&a.datamin!=null&&a.datamin>=0)b=0}if(e.max==null){c+=d*f;if(c>0&&a.datamax!=null&&a.datamax<=0)c=0}}}a.min=b;a.max=c}function V(a,e){var b=(a.max-a.min)/(typeof e.ticks=="number"&&e.ticks>0?e.ticks:a==u.xaxis||a==u.x2axis?0.3*Math.sqrt(R):0.3*Math.sqrt(T)),
c,d,f;if(e.mode=="time"){var k={second:1E3,minute:6E4,hour:36E5,day:864E5,month:2592E6,year:525949.2*60*1E3};f=[[1,"second"],[2,"second"],[5,"second"],[10,"second"],[30,"second"],[1,"minute"],[2,"minute"],[5,"minute"],[10,"minute"],[30,"minute"],[1,"hour"],[2,"hour"],[4,"hour"],[8,"hour"],[12,"hour"],[1,"day"],[2,"day"],[3,"day"],[0.25,"month"],[0.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]];c=0;if(e.minTickSize!=null)c=typeof e.tickSize=="number"?e.tickSize:e.minTickSize[0]*
k[e.minTickSize[1]];for(d=0;d<f.length-1;++d)if(b<(f[d][0]*k[f[d][1]]+f[d+1][0]*k[f[d+1][1]])/2&&f[d][0]*k[f[d][1]]>=c)break;c=f[d][0];d=f[d][1];if(d=="year"){f=Math.pow(10,Math.floor(Math.log(b/k.year)/Math.LN10));b=b/k.year/f;c=b<1.5?1:b<3?2:b<7.5?5:10;c*=f}if(e.tickSize){c=e.tickSize[0];d=e.tickSize[1]}b=function(h){var m=[],l=h.tickSize[0],v=h.tickSize[1],s=new Date(h.min),q=l*k[v];v=="second"&&s.setUTCSeconds(y(s.getUTCSeconds(),l));v=="minute"&&s.setUTCMinutes(y(s.getUTCMinutes(),l));v=="hour"&&
s.setUTCHours(y(s.getUTCHours(),l));v=="month"&&s.setUTCMonth(y(s.getUTCMonth(),l));v=="year"&&s.setUTCFullYear(y(s.getUTCFullYear(),l));s.setUTCMilliseconds(0);q>=k.minute&&s.setUTCSeconds(0);q>=k.hour&&s.setUTCMinutes(0);q>=k.day&&s.setUTCHours(0);q>=k.day*4&&s.setUTCDate(1);q>=k.year&&s.setUTCMonth(0);var n=0,p=Number.NaN,t;do{t=p;p=s.getTime();m.push({v:p,label:h.tickFormatter(p,h)});if(v=="month")if(l<1){s.setUTCDate(1);var B=s.getTime();s.setUTCMonth(s.getUTCMonth()+1);var O=s.getTime();s.setTime(p+
n*k.hour+(O-B)*l);n=s.getUTCHours();s.setUTCHours(0)}else s.setUTCMonth(s.getUTCMonth()+l);else v=="year"?s.setUTCFullYear(s.getUTCFullYear()+l):s.setTime(p+q)}while(p<h.max&&p!=t);return m};f=function(h,m){var l=new Date(h);if(e.timeformat!=null)return A.plot.formatDate(l,e.timeformat,e.monthNames);var v=m.tickSize[0]*k[m.tickSize[1]],s=m.max-m.min,q=e.twelveHourClock?" %p":"";fmt=v<k.minute?"%h:%M:%S"+q:v<k.day?s<2*k.day?"%h:%M"+q:"%b %d %h:%M"+q:v<k.month?"%b %d":v<k.year?s<k.year?"%b":"%b %y":
"%y";return A.plot.formatDate(l,fmt,e.monthNames)}}else{var g=e.tickDecimals,j=-Math.floor(Math.log(b)/Math.LN10);if(g!=null&&j>g)j=g;f=Math.pow(10,-j);b=b/f;if(b<1.5)c=1;else if(b<3){c=2;if(b>2.25&&(g==null||j+1<=g)){c=2.5;++j}}else c=b<7.5?5:10;c*=f;if(e.minTickSize!=null&&c<e.minTickSize)c=e.minTickSize;if(e.tickSize!=null)c=e.tickSize;a.tickDecimals=Math.max(0,g!=null?g:j);b=function(h){var m=[],l=y(h.min,h.tickSize),v=0,s=Number.NaN,q;do{q=s;s=l+v*h.tickSize;m.push({v:s,label:h.tickFormatter(s,
h)});++v}while(s<h.max&&s!=q);return m};f=function(h,m){return h.toFixed(m.tickDecimals)}}a.tickSize=d?[c,d]:c;a.tickGenerator=b;a.tickFormatter=A.isFunction(e.tickFormatter)?function(h,m){return""+e.tickFormatter(h,m)}:f}function ma(a,e){a.ticks=[];if(a.used){if(e.ticks==null)a.ticks=a.tickGenerator(a);else if(typeof e.ticks=="number"){if(e.ticks>0)a.ticks=a.tickGenerator(a)}else if(e.ticks){var b=e.ticks;if(A.isFunction(b))b=b({min:a.min,max:a.max});var c,d;for(c=0;c<b.length;++c){var f=null,k=
b[c];if(typeof k=="object"){d=k[0];if(k.length>1)f=k[1]}else d=k;if(f==null)f=a.tickFormatter(d,a);a.ticks[c]={v:d,label:f}}}if(e.autoscaleMargin!=null&&a.ticks.length>0){if(e.min==null)a.min=Math.min(a.min,a.ticks[0].v);if(e.max==null&&a.ticks.length>1)a.max=Math.max(a.max,a.ticks[a.ticks.length-1].v)}}}function da(){o.clearRect(0,0,R,T);var a=r.grid;a.show&&!a.aboveData&&ea();for(var e=0;e<C.length;++e){var b=C[e];b.lines.show&&pa(b);b.bars.show&&qa(b);b.points.show&&ra(b)}H(S.draw,[o]);a.show&&
a.aboveData&&ea()}function fa(a,e){var b=e+"axis",c=e+"2axis",d,f;if(a[b]){d=u[b];f=a[b].from;b=a[b].to}else if(a[c]){d=u[c];f=a[c].from;b=a[c].to}else{d=u[b];f=a[e+"1"];b=a[e+"2"]}if(f!=null&&b!=null&&f>b)return{from:b,to:f,axis:d};return{from:f,to:b,axis:d}}function ea(){var a;o.save();o.translate(w.left,w.top);if(r.grid.backgroundColor){o.fillStyle=ga(r.grid.backgroundColor,Q,0,"rgba(255, 255, 255, 0)");o.fillRect(0,0,P,Q)}var e=r.grid.markings;if(e){if(A.isFunction(e))e=e({xmin:u.xaxis.min,xmax:u.xaxis.max,
ymin:u.yaxis.min,ymax:u.yaxis.max,xaxis:u.xaxis,yaxis:u.yaxis,x2axis:u.x2axis,y2axis:u.y2axis});for(a=0;a<e.length;++a){var b=e[a],c=fa(b,"x"),d=fa(b,"y");if(c.from==null)c.from=c.axis.min;if(c.to==null)c.to=c.axis.max;if(d.from==null)d.from=d.axis.min;if(d.to==null)d.to=d.axis.max;if(!(c.to<c.axis.min||c.from>c.axis.max||d.to<d.axis.min||d.from>d.axis.max)){c.from=Math.max(c.from,c.axis.min);c.to=Math.min(c.to,c.axis.max);d.from=Math.max(d.from,d.axis.min);d.to=Math.min(d.to,d.axis.max);if(!(c.from==
c.to&&d.from==d.to)){c.from=c.axis.p2c(c.from);c.to=c.axis.p2c(c.to);d.from=d.axis.p2c(d.from);d.to=d.axis.p2c(d.to);if(c.from==c.to||d.from==d.to){o.beginPath();o.strokeStyle=b.color||r.grid.markingsColor;o.lineWidth=b.lineWidth||r.grid.markingsLineWidth;o.moveTo(c.from,d.from);o.lineTo(c.to,d.to);o.stroke()}else{o.fillStyle=b.color||r.grid.markingsColor;o.fillRect(c.from,d.to,c.to-c.from,d.from-d.to)}}}}}o.lineWidth=1;o.strokeStyle=r.grid.tickColor;o.beginPath();b=u.xaxis;for(a=0;a<b.ticks.length;++a){e=
b.ticks[a].v;if(!(e<=b.min||e>=u.xaxis.max)){o.moveTo(Math.floor(b.p2c(e))+o.lineWidth/2,0);o.lineTo(Math.floor(b.p2c(e))+o.lineWidth/2,Q)}}b=u.yaxis;for(a=0;a<b.ticks.length;++a){e=b.ticks[a].v;if(!(e<=b.min||e>=b.max)){o.moveTo(0,Math.floor(b.p2c(e))+o.lineWidth/2);o.lineTo(P,Math.floor(b.p2c(e))+o.lineWidth/2)}}b=u.x2axis;for(a=0;a<b.ticks.length;++a){e=b.ticks[a].v;if(!(e<=b.min||e>=b.max)){o.moveTo(Math.floor(b.p2c(e))+o.lineWidth/2,-5);o.lineTo(Math.floor(b.p2c(e))+o.lineWidth/2,5)}}b=u.y2axis;
for(a=0;a<b.ticks.length;++a){e=b.ticks[a].v;if(!(e<=b.min||e>=b.max)){o.moveTo(P-5,Math.floor(b.p2c(e))+o.lineWidth/2);o.lineTo(P+5,Math.floor(b.p2c(e))+o.lineWidth/2)}}o.stroke();if(r.grid.borderWidth){a=r.grid.borderWidth;o.lineWidth=a;o.strokeStyle=r.grid.borderColor;o.strokeRect(-a/2,-a/2,P+a,Q+a)}o.restore()}function na(){function a(c,d){for(var f=0;f<c.ticks.length;++f){var k=c.ticks[f];!k.label||k.v<c.min||k.v>c.max||e.push(d(k,c))}}x.find(".tickLabels").remove();var e=['<div class="tickLabels" style="font-size:smaller;color:'+
r.grid.color+'">'],b=r.grid.labelMargin+r.grid.borderWidth;a(u.xaxis,function(c,d){return'<div style="position:absolute;top:'+(w.top+Q+b)+"px;left:"+Math.round(w.left+d.p2c(c.v)-d.labelWidth/2)+"px;width:"+d.labelWidth+'px;text-align:center" class="tickLabel">'+c.label+"</div>"});a(u.yaxis,function(c,d){return'<div style="position:absolute;top:'+Math.round(w.top+d.p2c(c.v)-d.labelHeight/2)+"px;right:"+(w.right+P+b)+"px;width:"+d.labelWidth+'px;text-align:right" class="tickLabel">'+c.label+"</div>"});
a(u.x2axis,function(c,d){return'<div style="position:absolute;bottom:'+(w.bottom+Q+b)+"px;left:"+Math.round(w.left+d.p2c(c.v)-d.labelWidth/2)+"px;width:"+d.labelWidth+'px;text-align:center" class="tickLabel">'+c.label+"</div>"});a(u.y2axis,function(c,d){return'<div style="position:absolute;top:'+Math.round(w.top+d.p2c(c.v)-d.labelHeight/2)+"px;left:"+(w.left+P+b)+"px;width:"+d.labelWidth+'px;text-align:left" class="tickLabel">'+c.label+"</div>"});e.push("</div>");x.append(e.join(""))}function pa(a){function e(k,
g,j,h,m){var l=k.points;k=k.pointsize;var v=null,s=null;o.beginPath();for(var q=k;q<l.length;q+=k){var n=l[q-k],p=l[q-k+1],t=l[q],B=l[q+1];if(!(n==null||t==null)){if(p<=B&&p<m.min){if(B<m.min)continue;n=(m.min-p)/(B-p)*(t-n)+n;p=m.min}else if(B<=p&&B<m.min){if(p<m.min)continue;t=(m.min-p)/(B-p)*(t-n)+n;B=m.min}if(p>=B&&p>m.max){if(B>m.max)continue;n=(m.max-p)/(B-p)*(t-n)+n;p=m.max}else if(B>=p&&B>m.max){if(p>m.max)continue;t=(m.max-p)/(B-p)*(t-n)+n;B=m.max}if(n<=t&&n<h.min){if(t<h.min)continue;p=
(h.min-n)/(t-n)*(B-p)+p;n=h.min}else if(t<=n&&t<h.min){if(n<h.min)continue;B=(h.min-n)/(t-n)*(B-p)+p;t=h.min}if(n>=t&&n>h.max){if(t>h.max)continue;p=(h.max-n)/(t-n)*(B-p)+p;n=h.max}else if(t>=n&&t>h.max){if(n>h.max)continue;B=(h.max-n)/(t-n)*(B-p)+p;t=h.max}if(n!=v||p!=s)o.moveTo(h.p2c(n)+g,m.p2c(p)+j);v=t;s=B;o.lineTo(h.p2c(t)+g,m.p2c(B)+j)}}o.stroke()}function b(k,g,j){var h=k.points;k=k.pointsize;var m=Math.min(Math.max(0,j.min),j.max),l;l=0;for(var v=false,s=k;s<h.length;s+=k){var q=h[s-k],n=
h[s-k+1],p=h[s],t=h[s+1];if(v&&q!=null&&p==null){o.lineTo(g.p2c(l),j.p2c(m));o.fill();v=false}else if(!(q==null||p==null)){if(q<=p&&q<g.min){if(p<g.min)continue;n=(g.min-q)/(p-q)*(t-n)+n;q=g.min}else if(p<=q&&p<g.min){if(q<g.min)continue;t=(g.min-q)/(p-q)*(t-n)+n;p=g.min}if(q>=p&&q>g.max){if(p>g.max)continue;n=(g.max-q)/(p-q)*(t-n)+n;q=g.max}else if(p>=q&&p>g.max){if(q>g.max)continue;t=(g.max-q)/(p-q)*(t-n)+n;p=g.max}if(!v){o.beginPath();o.moveTo(g.p2c(q),j.p2c(m));v=true}if(n>=j.max&&t>=j.max){o.lineTo(g.p2c(q),
j.p2c(j.max));o.lineTo(g.p2c(p),j.p2c(j.max));l=p}else if(n<=j.min&&t<=j.min){o.lineTo(g.p2c(q),j.p2c(j.min));o.lineTo(g.p2c(p),j.p2c(j.min));l=p}else{var B=q,O=p;if(n<=t&&n<j.min&&t>=j.min){q=(j.min-n)/(t-n)*(p-q)+q;n=j.min}else if(t<=n&&t<j.min&&n>=j.min){p=(j.min-n)/(t-n)*(p-q)+q;t=j.min}if(n>=t&&n>j.max&&t<=j.max){q=(j.max-n)/(t-n)*(p-q)+q;n=j.max}else if(t>=n&&t>j.max&&n<=j.max){p=(j.max-n)/(t-n)*(p-q)+q;t=j.max}if(q!=B){l=n<=j.min?j.min:j.max;o.lineTo(g.p2c(B),j.p2c(l));o.lineTo(g.p2c(q),j.p2c(l))}o.lineTo(g.p2c(q),
j.p2c(n));o.lineTo(g.p2c(p),j.p2c(t));if(p!=O){l=t<=j.min?j.min:j.max;o.lineTo(g.p2c(p),j.p2c(l));o.lineTo(g.p2c(O),j.p2c(l))}l=Math.max(p,O)}}}if(v){o.lineTo(g.p2c(l),j.p2c(m));o.fill()}}o.save();o.translate(w.left,w.top);o.lineJoin="round";var c=a.lines.lineWidth,d=a.shadowSize;if(c>0&&d>0){o.lineWidth=d;o.strokeStyle="rgba(0,0,0,0.1)";var f=Math.PI/18;e(a.datapoints,Math.sin(f)*(c/2+d/2),Math.cos(f)*(c/2+d/2),a.xaxis,a.yaxis);o.lineWidth=d/2;e(a.datapoints,Math.sin(f)*(c/2+d/4),Math.cos(f)*(c/
2+d/4),a.xaxis,a.yaxis)}o.lineWidth=c;o.strokeStyle=a.color;if(d=aa(a.lines,a.color,0,Q)){o.fillStyle=d;b(a.datapoints,a.xaxis,a.yaxis)}c>0&&e(a.datapoints,0,0,a.xaxis,a.yaxis);o.restore()}function ra(a){function e(f,k,g,j,h,m,l){var v=f.points;f=f.pointsize;for(var s=0;s<v.length;s+=f){var q=v[s],n=v[s+1];if(!(q==null||q<m.min||q>m.max||n<l.min||n>l.max)){o.beginPath();o.arc(m.p2c(q),l.p2c(n)+j,k,0,h,false);if(g){o.fillStyle=g;o.fill()}o.stroke()}}}o.save();o.translate(w.left,w.top);var b=a.lines.lineWidth,
c=a.shadowSize,d=a.points.radius;if(b>0&&c>0){c=c/2;o.lineWidth=c;o.strokeStyle="rgba(0,0,0,0.1)";e(a.datapoints,d,null,c+c/2,Math.PI,a.xaxis,a.yaxis);o.strokeStyle="rgba(0,0,0,0.2)";e(a.datapoints,d,null,c/2,Math.PI,a.xaxis,a.yaxis)}o.lineWidth=b;o.strokeStyle=a.color;e(a.datapoints,d,aa(a.points,a.color),0,2*Math.PI,a.xaxis,a.yaxis);o.restore()}function ha(a,e,b,c,d,f,k,g,j,h,m){var l,v,s,q;if(m){q=v=s=true;l=false;m=b;a=a;b=e+c;d=e+d;if(a<m){e=a;a=m;m=e;l=true;v=false}}else{l=v=s=true;q=false;
m=a+c;a=a+d;d=b;b=e;if(b<d){e=b;b=d;d=e;q=true;s=false}}if(!(a<g.min||m>g.max||b<j.min||d>j.max)){if(m<g.min){m=g.min;l=false}if(a>g.max){a=g.max;v=false}if(d<j.min){d=j.min;q=false}if(b>j.max){b=j.max;s=false}m=g.p2c(m);d=j.p2c(d);a=g.p2c(a);b=j.p2c(b);if(k){h.beginPath();h.moveTo(m,d);h.lineTo(m,b);h.lineTo(a,b);h.lineTo(a,d);h.fillStyle=k(d,b);h.fill()}if(l||v||s||q){h.beginPath();h.moveTo(m,d+f);l?h.lineTo(m,b+f):h.moveTo(m,b+f);s?h.lineTo(a,b+f):h.moveTo(a,b+f);v?h.lineTo(a,d+f):h.moveTo(a,d+
f);q?h.lineTo(m,d+f):h.moveTo(m,d+f);h.stroke()}}}function qa(a){o.save();o.translate(w.left,w.top);o.lineWidth=a.bars.lineWidth;o.strokeStyle=a.color;var e=a.bars.align=="left"?0:-a.bars.barWidth/2;(function(b,c,d,f,k,g,j){var h=b.points;b=b.pointsize;for(var m=0;m<h.length;m+=b)h[m]!=null&&ha(h[m],h[m+1],h[m+2],c,d,f,k,g,j,o,a.bars.horizontal)})(a.datapoints,e,e+a.bars.barWidth,0,a.bars.fill?function(b,c){return aa(a.bars,a.color,b,c)}:null,a.xaxis,a.yaxis);o.restore()}function aa(a,e,b,c){var d=
a.fill;if(!d)return null;if(a.fillColor)return ga(a.fillColor,b,c,e);a=A.color.parse(e);a.a=typeof d=="number"?d:0.4;a.normalize();return a.toString()}function oa(){x.find(".legend").remove();if(r.legend.show){var a=[],e=false,b=r.legend.labelFormatter,c,d;for(i=0;i<C.length;++i){c=C[i];if(d=c.label){if(i%r.legend.noColumns==0){e&&a.push("</tr>");a.push("<tr>");e=true}if(b)d=b(d,c);a.push('<td class="legendColorBox"><div style="border:1px solid '+r.legend.labelBoxBorderColor+';padding:1px"><div style="width:4px;height:0;border:5px solid '+
c.color+';overflow:hidden"></div></div></td><td class="legendLabel">'+d+"</td>")}}e&&a.push("</tr>");if(a.length!=0){e='<table style="font-size:smaller;color:'+r.grid.color+'">'+a.join("")+"</table>";if(r.legend.container!=null)A(r.legend.container).html(e);else{a="";b=r.legend.position;c=r.legend.margin;if(c[0]==null)c=[c,c];if(b.charAt(0)=="n")a+="top:"+(c[1]+w.top)+"px;";else if(b.charAt(0)=="s")a+="bottom:"+(c[1]+w.bottom)+"px;";if(b.charAt(1)=="e")a+="right:"+(c[0]+w.right)+"px;";else if(b.charAt(1)==
"w")a+="left:"+(c[0]+w.left)+"px;";e=A('<div class="legend">'+e.replace('style="','style="position:absolute;'+a+";")+"</div>").appendTo(x);if(r.legend.backgroundOpacity!=0){b=r.legend.backgroundColor;if(b==null){b=(b=r.grid.backgroundColor)&&typeof b=="string"?A.color.parse(b):A.color.extract(e,"background-color");b.a=1;b=b.toString()}c=e.children();A('<div style="position:absolute;width:'+c.width()+"px;height:"+c.height()+"px;"+a+"background-color:"+b+';"> </div>').prependTo(e).css("opacity",r.legend.backgroundOpacity)}}}}}
function sa(a){r.grid.hoverable&&ia("plothover",a,function(e){return e.hoverable!=false})}function ta(a){ia("plotclick",a,function(e){return e.clickable!=false})}function ia(a,e,b){var c=X.offset(),d={pageX:e.pageX,pageY:e.pageY},f=e.pageX-c.left-w.left;e=e.pageY-c.top-w.top;if(u.xaxis.used)d.x=u.xaxis.c2p(f);if(u.yaxis.used)d.y=u.yaxis.c2p(e);if(u.x2axis.used)d.x2=u.x2axis.c2p(f);if(u.y2axis.used)d.y2=u.y2axis.c2p(e);var k=r.grid.mouseActiveRadius,g=k*k+1,j=null,h,m;for(h=0;h<C.length;++h)if(b(C[h])){var l=
C[h],v=l.xaxis,s=l.yaxis,q=l.datapoints.points,n=l.datapoints.pointsize,p=v.c2p(f),t=s.c2p(e),B=k/v.scale,O=k/s.scale;if(l.lines.show||l.points.show)for(m=0;m<q.length;m+=n){var N=q[m],L=q[m+1];if(N!=null)if(!(N-p>B||N-p<-B||L-t>O||L-t<-O)){N=Math.abs(v.p2c(N)-f);L=Math.abs(s.p2c(L)-e);L=N*N+L*L;if(L<=g){g=L;j=[h,m/n]}}}if(l.bars.show&&!j){v=l.bars.align=="left"?0:-l.bars.barWidth/2;l=v+l.bars.barWidth;for(m=0;m<q.length;m+=n){N=q[m];L=q[m+1];s=q[m+2];if(N!=null)if(C[h].bars.horizontal?p<=Math.max(s,
N)&&p>=Math.min(s,N)&&t>=L+v&&t<=L+l:p>=N+v&&p<=N+l&&t>=Math.min(s,L)&&t<=Math.max(s,L))j=[h,m/n]}}}if(j){h=j[0];m=j[1];n=C[h].datapoints.pointsize;b={datapoint:C[h].datapoints.points.slice(m*n,(m+1)*n),dataIndex:m,series:C[h],seriesIndex:h}}else b=null;if(b){b.pageX=parseInt(b.series.xaxis.p2c(b.datapoint[0])+c.left+w.left);b.pageY=parseInt(b.series.yaxis.p2c(b.datapoint[1])+c.top+w.top)}if(r.grid.autoHighlight){for(c=0;c<U.length;++c){f=U[c];f.auto==a&&!(b&&f.series==b.series&&f.point==b.datapoint)&&
ja(f.series,f.point)}b&&ka(b.series,b.datapoint,a)}x.trigger(a,[d,b])}function Z(){ba||(ba=setTimeout(ua,30))}function ua(){ba=null;K.save();K.clearRect(0,0,R,T);K.translate(w.left,w.top);var a,e;for(a=0;a<U.length;++a){e=U[a];if(e.series.bars.show)va(e.series,e.point);else{var b=e.series,c=e.point;e=c[0];c=c[1];var d=b.xaxis,f=b.yaxis;if(!(e<d.min||e>d.max||c<f.min||c>f.max)){var k=b.points.radius+b.points.lineWidth/2;K.lineWidth=k;K.strokeStyle=A.color.parse(b.color).scale("a",0.5).toString();b=
1.5*k;K.beginPath();K.arc(d.p2c(e),f.p2c(c),b,0,2*Math.PI,false);K.stroke()}}}K.restore();H(S.drawOverlay,[K])}function ka(a,e,b){if(typeof a=="number")a=C[a];if(typeof e=="number")e=a.data[e];var c=la(a,e);if(c==-1){U.push({series:a,point:e,auto:b});Z()}else if(!b)U[c].auto=false}function ja(a,e){if(a==null&&e==null){U=[];Z()}if(typeof a=="number")a=C[a];if(typeof e=="number")e=a.data[e];var b=la(a,e);if(b!=-1){U.splice(b,1);Z()}}function la(a,e){for(var b=0;b<U.length;++b){var c=U[b];if(c.series==
a&&c.point[0]==e[0]&&c.point[1]==e[1])return b}return-1}function va(a,e){K.lineWidth=a.bars.lineWidth;K.strokeStyle=A.color.parse(a.color).scale("a",0.5).toString();var b=A.color.parse(a.color).scale("a",0.5).toString(),c=a.bars.align=="left"?0:-a.bars.barWidth/2;ha(e[0],e[1],e[2]||0,c,c+a.bars.barWidth,0,function(){return b},a.xaxis,a.yaxis,K,a.bars.horizontal)}function ga(a,e,b,c){if(typeof a=="string")return a;else{e=o.createLinearGradient(0,b,0,e);b=0;for(var d=a.colors.length;b<d;++b){var f=
a.colors[b];if(typeof f!="string"){f=A.color.parse(c).scale("rgb",f.brightness);f.a*=f.opacity;f=f.toString()}e.addColorStop(b/(d-1),f)}return e}}var C=[],r={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85},xaxis:{mode:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,
labelHeight:null,tickDecimals:null,tickSize:null,minTickSize:null,monthNames:null,timeformat:null,twelveHourClock:false},yaxis:{autoscaleMargin:0.02},x2axis:{autoscaleMargin:null},y2axis:{autoscaleMargin:0.02},series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false},shadowSize:3},grid:{show:true,aboveData:false,color:"#545454",
backgroundColor:null,tickColor:"rgba(0,0,0,0.15)",labelMargin:5,borderWidth:2,borderColor:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},hooks:{}},$=null,ca=null,X=null,o=null,K=null,u={xaxis:{},yaxis:{},x2axis:{},y2axis:{}},w={left:0,right:0,top:0,bottom:0},R=0,T=0,P=0,Q=0,S={processOptions:[],processRawData:[],processDatapoints:[],draw:[],bindEvents:[],drawOverlay:[]},D=this;D.setData=F;D.setupGrid=W;D.draw=
da;D.getPlaceholder=function(){return x};D.getCanvas=function(){return $};D.getPlotOffset=function(){return w};D.width=function(){return P};D.height=function(){return Q};D.offset=function(){var a=X.offset();a.left+=w.left;a.top+=w.top;return a};D.getData=function(){return C};D.getAxes=function(){return u};D.getOptions=function(){return r};D.highlight=ka;D.unhighlight=ja;D.triggerRedrawOverlay=Z;D.pointOffset=function(a){return{left:parseInt(J(a,"xaxis").p2c(+a.x)+w.left),top:parseInt(J(a,"yaxis").p2c(+a.y)+
w.top)}};D.hooks=S;(function(){for(var a=0;a<G.length;++a){var e=G[a];e.init(D);e.options&&A.extend(true,r,e.options)}})(D);(function(a){A.extend(true,r,a);if(r.grid.borderColor==null)r.grid.borderColor=r.grid.color;if(r.xaxis.noTicks&&r.xaxis.ticks==null)r.xaxis.ticks=r.xaxis.noTicks;if(r.yaxis.noTicks&&r.yaxis.ticks==null)r.yaxis.ticks=r.yaxis.noTicks;if(r.grid.coloredAreas)r.grid.markings=r.grid.coloredAreas;if(r.grid.coloredAreasColor)r.grid.markingsColor=r.grid.coloredAreasColor;r.lines&&A.extend(true,
r.series.lines,r.lines);r.points&&A.extend(true,r.series.points,r.points);r.bars&&A.extend(true,r.series.bars,r.bars);if(r.shadowSize)r.series.shadowSize=r.shadowSize;for(var e in S)if(r.hooks[e]&&r.hooks[e].length)S[e]=S[e].concat(r.hooks[e]);H(S.processOptions,[r])})(z);(function(){function a(e,b){var c=document.createElement("canvas");c.width=e;c.height=b;if(A.browser.msie)c=window.G_vmlCanvasManager.initElement(c);return c}R=x.width();T=x.height();x.html("");x.css("position")=="static"&&x.css("position",
"relative");if(R<=0||T<=0)throw"Invalid dimensions for plot, width = "+R+", height = "+T;A.browser.msie&&window.G_vmlCanvasManager.init_(document);$=A(a(R,T)).appendTo(x).get(0);o=$.getContext("2d");ca=A(a(R,T)).css({position:"absolute",left:0,top:0}).appendTo(x).get(0);K=ca.getContext("2d");K.stroke()})();F(M);W();da();X=A([ca,$]);r.grid.hoverable&&X.mousemove(sa);r.grid.clickable&&X.click(ta);H(S.bindEvents,[X]);var U=[],ba=null}function y(x,M){return M*Math.floor(x/M)}A.plot=function(x,M,z){return new E(A(x),
M,z,A.plot.plugins)};A.plot.plugins=[];A.plot.formatDate=function(x,M,z){var G=function(V){V=""+V;return V.length==1?"0"+V:V},H=[],F=false,J=x.getUTCHours(),Y=J<12;if(z==null)z=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];if(M.search(/%p|%P/)!=-1)if(J>12)J-=12;else if(J==0)J=12;for(var W=0;W<M.length;++W){var I=M.charAt(W);if(F){switch(I){case "h":I=""+J;break;case "H":I=G(J);break;case "M":I=G(x.getUTCMinutes());break;case "S":I=G(x.getUTCSeconds());break;case "d":I=
""+x.getUTCDate();break;case "m":I=""+(x.getUTCMonth()+1);break;case "y":I=""+x.getUTCFullYear();break;case "b":I=""+z[x.getUTCMonth()];break;case "p":I=Y?"am":"pm";break;case "P":I=Y?"AM":"PM"}H.push(I);F=false}else if(I=="%")F=true;else H.push(I)}return H.join("")}})(jQuery);

View File

@ -1,675 +0,0 @@
/*!
* jQuery Form Plugin
* version: 2.43 (12-MAR-2010)
* @requires jQuery v1.3.2 or later
*
* Examples and documentation at: http://malsup.com/jquery/form/
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/
;(function($) {
/*
Usage Note:
-----------
Do not use both ajaxSubmit and ajaxForm on the same form. These
functions are intended to be exclusive. Use ajaxSubmit if you want
to bind your own submit handler to the form. For example,
$(document).ready(function() {
$('#myForm').bind('submit', function() {
$(this).ajaxSubmit({
target: '#output'
});
return false; // <-- important!
});
});
Use ajaxForm when you want the plugin to manage all the event binding
for you. For example,
$(document).ready(function() {
$('#myForm').ajaxForm({
target: '#output'
});
});
When using ajaxForm, the ajaxSubmit function will be invoked for you
at the appropriate time.
*/
/**
* ajaxSubmit() provides a mechanism for immediately submitting
* an HTML form using AJAX.
*/
$.fn.ajaxSubmit = function(options) {
// fast fail if nothing selected (http://dev.jquery.com/ticket/2752)
if (!this.length) {
log('ajaxSubmit: skipping submit process - no element selected');
return this;
}
if (typeof options == 'function')
options = { success: options };
var url = $.trim(this.attr('action'));
if (url) {
// clean url (don't include hash vaue)
url = (url.match(/^([^#]+)/)||[])[1];
}
url = url || window.location.href || '';
options = $.extend({
url: url,
type: this.attr('method') || 'GET',
iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
}, options || {});
// hook for manipulating the form data before it is extracted;
// convenient for use with rich editors like tinyMCE or FCKEditor
var veto = {};
this.trigger('form-pre-serialize', [this, options, veto]);
if (veto.veto) {
log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
return this;
}
// provide opportunity to alter form data before it is serialized
if (options.beforeSerialize && options.beforeSerialize(this, options) === false) {
log('ajaxSubmit: submit aborted via beforeSerialize callback');
return this;
}
var a = this.formToArray(options.semantic);
if (options.data) {
options.extraData = options.data;
for (var n in options.data) {
if(options.data[n] instanceof Array) {
for (var k in options.data[n])
a.push( { name: n, value: options.data[n][k] } );
}
else
a.push( { name: n, value: options.data[n] } );
}
}
// give pre-submit callback an opportunity to abort the submit
if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
log('ajaxSubmit: submit aborted via beforeSubmit callback');
return this;
}
// fire vetoable 'validate' event
this.trigger('form-submit-validate', [a, this, options, veto]);
if (veto.veto) {
log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
return this;
}
var q = $.param(a);
if (options.type.toUpperCase() == 'GET') {
options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
options.data = null; // data is null for 'get'
}
else
options.data = q; // data is the query string for 'post'
var $form = this, callbacks = [];
if (options.resetForm) callbacks.push(function() { $form.resetForm(); });
if (options.clearForm) callbacks.push(function() { $form.clearForm(); });
// perform a load on the target only if dataType is not provided
if (!options.dataType && options.target) {
var oldSuccess = options.success || function(){};
callbacks.push(function(data) {
var fn = options.replaceTarget ? 'replaceWith' : 'html';
$(options.target)[fn](data).each(oldSuccess, arguments);
});
}
else if (options.success)
callbacks.push(options.success);
options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg
for (var i=0, max=callbacks.length; i < max; i++)
callbacks[i].apply(options, [data, status, xhr || $form, $form]);
};
// are there files to upload?
var files = $('input:file', this).fieldValue();
var found = false;
for (var j=0; j < files.length; j++)
if (files[j])
found = true;
var multipart = false;
// var mp = 'multipart/form-data';
// multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);
// options.iframe allows user to force iframe mode
// 06-NOV-09: now defaulting to iframe mode if file input is detected
if ((files.length && options.iframe !== false) || options.iframe || found || multipart) {
// hack to fix Safari hang (thanks to Tim Molendijk for this)
// see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
if (options.closeKeepAlive)
$.get(options.closeKeepAlive, fileUpload);
else
fileUpload();
}
else
$.ajax(options);
// fire 'notify' event
this.trigger('form-submit-notify', [this, options]);
return this;
// private function for handling file uploads (hat tip to YAHOO!)
function fileUpload() {
var form = $form[0];
if ($(':input[name=submit]', form).length) {
alert('Error: Form elements must not be named "submit".');
return;
}
var opts = $.extend({}, $.ajaxSettings, options);
var s = $.extend(true, {}, $.extend(true, {}, $.ajaxSettings), opts);
var id = 'jqFormIO' + (new Date().getTime());
var $io = $('<iframe id="' + id + '" name="' + id + '" src="'+ opts.iframeSrc +'" onload="(jQuery(this).data(\'form-plugin-onload\'))()" />');
var io = $io[0];
$io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
var xhr = { // mock object
aborted: 0,
responseText: null,
responseXML: null,
status: 0,
statusText: 'n/a',
getAllResponseHeaders: function() {},
getResponseHeader: function() {},
setRequestHeader: function() {},
abort: function() {
this.aborted = 1;
$io.attr('src', opts.iframeSrc); // abort op in progress
}
};
var g = opts.global;
// trigger ajax global events so that activity/block indicators work like normal
if (g && ! $.active++) $.event.trigger("ajaxStart");
if (g) $.event.trigger("ajaxSend", [xhr, opts]);
if (s.beforeSend && s.beforeSend(xhr, s) === false) {
s.global && $.active--;
return;
}
if (xhr.aborted)
return;
var cbInvoked = false;
var timedOut = 0;
// add submitting element to data if we know it
var sub = form.clk;
if (sub) {
var n = sub.name;
if (n && !sub.disabled) {
opts.extraData = opts.extraData || {};
opts.extraData[n] = sub.value;
if (sub.type == "image") {
opts.extraData[n+'.x'] = form.clk_x;
opts.extraData[n+'.y'] = form.clk_y;
}
}
}
// take a breath so that pending repaints get some cpu time before the upload starts
function doSubmit() {
// make sure form attrs are set
var t = $form.attr('target'), a = $form.attr('action');
// update form attrs in IE friendly way
form.setAttribute('target',id);
if (form.getAttribute('method') != 'POST')
form.setAttribute('method', 'POST');
if (form.getAttribute('action') != opts.url)
form.setAttribute('action', opts.url);
// ie borks in some cases when setting encoding
if (! opts.skipEncodingOverride) {
$form.attr({
encoding: 'multipart/form-data',
enctype: 'multipart/form-data'
});
}
// support timout
if (opts.timeout)
setTimeout(function() { timedOut = true; cb(); }, opts.timeout);
// add "extra" data to form if provided in options
var extraInputs = [];
try {
if (opts.extraData)
for (var n in opts.extraData)
extraInputs.push(
$('<input type="hidden" name="'+n+'" value="'+opts.extraData[n]+'" />')
.appendTo(form)[0]);
// add iframe to doc and submit the form
$io.appendTo('body');
$io.data('form-plugin-onload', cb);
form.submit();
}
finally {
// reset attrs and remove "extra" input elements
form.setAttribute('action',a);
t ? form.setAttribute('target', t) : $form.removeAttr('target');
$(extraInputs).remove();
}
};
if (opts.forceSync)
doSubmit();
else
setTimeout(doSubmit, 10); // this lets dom updates render
var domCheckCount = 100;
function cb() {
if (cbInvoked)
return;
var ok = true;
try {
if (timedOut) throw 'timeout';
// extract the server response from the iframe
var data, doc;
doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document;
var isXml = opts.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
log('isXml='+isXml);
if (!isXml && (doc.body == null || doc.body.innerHTML == '')) {
if (--domCheckCount) {
// in some browsers (Opera) the iframe DOM is not always traversable when
// the onload callback fires, so we loop a bit to accommodate
log('requeing onLoad callback, DOM not available');
setTimeout(cb, 250);
return;
}
log('Could not access iframe DOM after 100 tries.');
return;
}
log('response detected');
cbInvoked = true;
xhr.responseText = doc.body ? doc.body.innerHTML : null;
xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
xhr.getResponseHeader = function(header){
var headers = {'content-type': opts.dataType};
return headers[header];
};
if (opts.dataType == 'json' || opts.dataType == 'script') {
// see if user embedded response in textarea
var ta = doc.getElementsByTagName('textarea')[0];
if (ta)
xhr.responseText = ta.value;
else {
// account for browsers injecting pre around json response
var pre = doc.getElementsByTagName('pre')[0];
if (pre)
xhr.responseText = pre.innerHTML;
}
}
else if (opts.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
xhr.responseXML = toXml(xhr.responseText);
}
data = $.httpData(xhr, opts.dataType);
}
catch(e){
log('error caught:',e);
ok = false;
xhr.error = e;
$.handleError(opts, xhr, 'error', e);
}
// ordering of these callbacks/triggers is odd, but that's how $.ajax does it
if (ok) {
opts.success(data, 'success');
if (g) $.event.trigger("ajaxSuccess", [xhr, opts]);
}
if (g) $.event.trigger("ajaxComplete", [xhr, opts]);
if (g && ! --$.active) $.event.trigger("ajaxStop");
if (opts.complete) opts.complete(xhr, ok ? 'success' : 'error');
// clean up
setTimeout(function() {
$io.removeData('form-plugin-onload');
$io.remove();
xhr.responseXML = null;
}, 100);
};
function toXml(s, doc) {
if (window.ActiveXObject) {
doc = new ActiveXObject('Microsoft.XMLDOM');
doc.async = 'false';
doc.loadXML(s);
}
else
doc = (new DOMParser()).parseFromString(s, 'text/xml');
return (doc && doc.documentElement && doc.documentElement.tagName != 'parsererror') ? doc : null;
};
};
};
/**
* ajaxForm() provides a mechanism for fully automating form submission.
*
* The advantages of using this method instead of ajaxSubmit() are:
*
* 1: This method will include coordinates for <input type="image" /> elements (if the element
* is used to submit the form).
* 2. This method will include the submit element's name/value data (for the element that was
* used to submit the form).
* 3. This method binds the submit() method to the form for you.
*
* The options argument for ajaxForm works exactly as it does for ajaxSubmit. ajaxForm merely
* passes the options argument along after properly binding events for submit elements and
* the form itself.
*/
$.fn.ajaxForm = function(options) {
return this.ajaxFormUnbind().bind('submit.form-plugin', function(e) {
e.preventDefault();
$(this).ajaxSubmit(options);
}).bind('click.form-plugin', function(e) {
var target = e.target;
var $el = $(target);
if (!($el.is(":submit,input:image"))) {
// is this a child element of the submit el? (ex: a span within a button)
var t = $el.closest(':submit');
if (t.length == 0)
return;
target = t[0];
}
var form = this;
form.clk = target;
if (target.type == 'image') {
if (e.offsetX != undefined) {
form.clk_x = e.offsetX;
form.clk_y = e.offsetY;
} else if (typeof $.fn.offset == 'function') { // try to use dimensions plugin
var offset = $el.offset();
form.clk_x = e.pageX - offset.left;
form.clk_y = e.pageY - offset.top;
} else {
form.clk_x = e.pageX - target.offsetLeft;
form.clk_y = e.pageY - target.offsetTop;
}
}
// clear form vars
setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100);
});
};
// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
$.fn.ajaxFormUnbind = function() {
return this.unbind('submit.form-plugin click.form-plugin');
};
/**
* formToArray() gathers form element data into an array of objects that can
* be passed to any of the following ajax functions: $.get, $.post, or load.
* Each object in the array has both a 'name' and 'value' property. An example of
* an array for a simple login form might be:
*
* [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
*
* It is this array that is passed to pre-submit callback functions provided to the
* ajaxSubmit() and ajaxForm() methods.
*/
$.fn.formToArray = function(semantic) {
var a = [];
if (this.length == 0) return a;
var form = this[0];
var els = semantic ? form.getElementsByTagName('*') : form.elements;
if (!els) return a;
for(var i=0, max=els.length; i < max; i++) {
var el = els[i];
var n = el.name;
if (!n) continue;
if (semantic && form.clk && el.type == "image") {
// handle image inputs on the fly when semantic == true
if(!el.disabled && form.clk == el) {
a.push({name: n, value: $(el).val()});
a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
}
continue;
}
var v = $.fieldValue(el, true);
if (v && v.constructor == Array) {
for(var j=0, jmax=v.length; j < jmax; j++)
a.push({name: n, value: v[j]});
}
else if (v !== null && typeof v != 'undefined')
a.push({name: n, value: v});
}
if (!semantic && form.clk) {
// input type=='image' are not found in elements array! handle it here
var $input = $(form.clk), input = $input[0], n = input.name;
if (n && !input.disabled && input.type == 'image') {
a.push({name: n, value: $input.val()});
a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
}
}
return a;
};
/**
* Serializes form data into a 'submittable' string. This method will return a string
* in the format: name1=value1&amp;name2=value2
*/
$.fn.formSerialize = function(semantic) {
//hand off to jQuery.param for proper encoding
return $.param(this.formToArray(semantic));
};
/**
* Serializes all field elements in the jQuery object into a query string.
* This method will return a string in the format: name1=value1&amp;name2=value2
*/
$.fn.fieldSerialize = function(successful) {
var a = [];
this.each(function() {
var n = this.name;
if (!n) return;
var v = $.fieldValue(this, successful);
if (v && v.constructor == Array) {
for (var i=0,max=v.length; i < max; i++)
a.push({name: n, value: v[i]});
}
else if (v !== null && typeof v != 'undefined')
a.push({name: this.name, value: v});
});
//hand off to jQuery.param for proper encoding
return $.param(a);
};
/**
* Returns the value(s) of the element in the matched set. For example, consider the following form:
*
* <form><fieldset>
* <input name="A" type="text" />
* <input name="A" type="text" />
* <input name="B" type="checkbox" value="B1" />
* <input name="B" type="checkbox" value="B2"/>
* <input name="C" type="radio" value="C1" />
* <input name="C" type="radio" value="C2" />
* </fieldset></form>
*
* var v = $(':text').fieldValue();
* // if no values are entered into the text inputs
* v == ['','']
* // if values entered into the text inputs are 'foo' and 'bar'
* v == ['foo','bar']
*
* var v = $(':checkbox').fieldValue();
* // if neither checkbox is checked
* v === undefined
* // if both checkboxes are checked
* v == ['B1', 'B2']
*
* var v = $(':radio').fieldValue();
* // if neither radio is checked
* v === undefined
* // if first radio is checked
* v == ['C1']
*
* The successful argument controls whether or not the field element must be 'successful'
* (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls).
* The default value of the successful argument is true. If this value is false the value(s)
* for each element is returned.
*
* Note: This method *always* returns an array. If no valid value can be determined the
* array will be empty, otherwise it will contain one or more values.
*/
$.fn.fieldValue = function(successful) {
for (var val=[], i=0, max=this.length; i < max; i++) {
var el = this[i];
var v = $.fieldValue(el, successful);
if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length))
continue;
v.constructor == Array ? $.merge(val, v) : val.push(v);
}
return val;
};
/**
* Returns the value of the field element.
*/
$.fieldValue = function(el, successful) {
var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
if (typeof successful == 'undefined') successful = true;
if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
(t == 'checkbox' || t == 'radio') && !el.checked ||
(t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
tag == 'select' && el.selectedIndex == -1))
return null;
if (tag == 'select') {
var index = el.selectedIndex;
if (index < 0) return null;
var a = [], ops = el.options;
var one = (t == 'select-one');
var max = (one ? index+1 : ops.length);
for(var i=(one ? index : 0); i < max; i++) {
var op = ops[i];
if (op.selected) {
var v = op.value;
if (!v) // extra pain for IE...
v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value;
if (one) return v;
a.push(v);
}
}
return a;
}
return el.value;
};
/**
* Clears the form data. Takes the following actions on the form's input fields:
* - input text fields will have their 'value' property set to the empty string
* - select elements will have their 'selectedIndex' property set to -1
* - checkbox and radio inputs will have their 'checked' property set to false
* - inputs of type submit, button, reset, and hidden will *not* be effected
* - button elements will *not* be effected
*/
$.fn.clearForm = function() {
return this.each(function() {
$('input,select,textarea', this).clearFields();
});
};
/**
* Clears the selected form elements.
*/
$.fn.clearFields = $.fn.clearInputs = function() {
return this.each(function() {
var t = this.type, tag = this.tagName.toLowerCase();
if (t == 'text' || t == 'password' || tag == 'textarea')
this.value = '';
else if (t == 'checkbox' || t == 'radio')
this.checked = false;
else if (tag == 'select')
this.selectedIndex = -1;
});
};
/**
* Resets the form data. Causes all form elements to be reset to their original value.
*/
$.fn.resetForm = function() {
return this.each(function() {
// guard against an input with the name of 'reset'
// note that IE reports the reset function as an 'object'
if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType))
this.reset();
});
};
/**
* Enables or disables any matching elements.
*/
$.fn.enable = function(b) {
if (b == undefined) b = true;
return this.each(function() {
this.disabled = !b;
});
};
/**
* Checks/unchecks any matching checkboxes or radio buttons and
* selects/deselects and matching option elements.
*/
$.fn.selected = function(select) {
if (select == undefined) select = true;
return this.each(function() {
var t = this.type;
if (t == 'checkbox' || t == 'radio')
this.checked = select;
else if (this.tagName.toLowerCase() == 'option') {
var $sel = $(this).parent('select');
if (select && $sel[0] && $sel[0].type == 'select-one') {
// deselect all other options
$sel.find('option').selected(false);
}
this.selected = select;
}
});
};
// helper fn for console logging
// set $.fn.ajaxSubmit.debug to true to enable debug logging
function log() {
if ($.fn.ajaxSubmit.debug) {
var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
if (window.console && window.console.log)
window.console.log(msg);
else if (window.opera && window.opera.postError)
window.opera.postError(msg);
}
};
})(jQuery);

28
xCAT-UI/js/jquery/jquery.form.min.js vendored Normal file
View File

@ -0,0 +1,28 @@
/*
jQuery Form Plugin
version: 2.43 (12-MAR-2010)
@requires jQuery v1.3.2 or later
Examples and documentation at: http://malsup.com/jquery/form/
Dual licensed under the MIT and GPL licenses:
http://www.opensource.org/licenses/mit-license.php
http://www.gnu.org/licenses/gpl.html
*/
(function(b){function o(){if(b.fn.ajaxSubmit.debug){var a="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log)window.console.log(a);else window.opera&&window.opera.postError&&window.opera.postError(a)}}b.fn.ajaxSubmit=function(a){function e(){function s(){var q=h.attr("target"),n=h.attr("action");k.setAttribute("target",z);k.getAttribute("method")!="POST"&&k.setAttribute("method","POST");k.getAttribute("action")!=g.url&&k.setAttribute("action",g.url);g.skipEncodingOverride||
h.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});g.timeout&&setTimeout(function(){C=true;t()},g.timeout);var m=[];try{if(g.extraData)for(var v in g.extraData)m.push(b('<input type="hidden" name="'+v+'" value="'+g.extraData[v]+'" />').appendTo(k)[0]);u.appendTo("body");u.data("form-plugin-onload",t);k.submit()}finally{k.setAttribute("action",n);q?k.setAttribute("target",q):h.removeAttr("target");b(m).remove()}}function t(){if(!D){var q=true;try{if(C)throw"timeout";var n,m;m=w.contentWindow?
w.contentWindow.document:w.contentDocument?w.contentDocument:w.document;var v=g.dataType=="xml"||m.XMLDocument||b.isXMLDoc(m);o("isXml="+v);if(!v&&(m.body==null||m.body.innerHTML=="")){if(--G){o("requeing onLoad callback, DOM not available");setTimeout(t,250);return}o("Could not access iframe DOM after 100 tries.");return}o("response detected");D=true;j.responseText=m.body?m.body.innerHTML:null;j.responseXML=m.XMLDocument?m.XMLDocument:m;j.getResponseHeader=function(H){return{"content-type":g.dataType}[H]};
if(g.dataType=="json"||g.dataType=="script"){var E=m.getElementsByTagName("textarea")[0];if(E)j.responseText=E.value;else{var F=m.getElementsByTagName("pre")[0];if(F)j.responseText=F.innerHTML}}else if(g.dataType=="xml"&&!j.responseXML&&j.responseText!=null)j.responseXML=A(j.responseText);n=b.httpData(j,g.dataType)}catch(B){o("error caught:",B);q=false;j.error=B;b.handleError(g,j,"error",B)}if(q){g.success(n,"success");x&&b.event.trigger("ajaxSuccess",[j,g])}x&&b.event.trigger("ajaxComplete",[j,g]);
x&&!--b.active&&b.event.trigger("ajaxStop");if(g.complete)g.complete(j,q?"success":"error");setTimeout(function(){u.removeData("form-plugin-onload");u.remove();j.responseXML=null},100)}}function A(q,n){if(window.ActiveXObject){n=new ActiveXObject("Microsoft.XMLDOM");n.async="false";n.loadXML(q)}else n=(new DOMParser).parseFromString(q,"text/xml");return n&&n.documentElement&&n.documentElement.tagName!="parsererror"?n:null}var k=h[0];if(b(":input[name=submit]",k).length)alert('Error: Form elements must not be named "submit".');
else{var g=b.extend({},b.ajaxSettings,a),r=b.extend(true,{},b.extend(true,{},b.ajaxSettings),g),z="jqFormIO"+(new Date).getTime(),u=b('<iframe id="'+z+'" name="'+z+'" src="'+g.iframeSrc+'" onload="(jQuery(this).data(\'form-plugin-onload\'))()" />'),w=u[0];u.css({position:"absolute",top:"-1000px",left:"-1000px"});var j={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=
1;u.attr("src",g.iframeSrc)}},x=g.global;x&&!b.active++&&b.event.trigger("ajaxStart");x&&b.event.trigger("ajaxSend",[j,g]);if(r.beforeSend&&r.beforeSend(j,r)===false)r.global&&b.active--;else if(!j.aborted){var D=false,C=0;if(r=k.clk){var y=r.name;if(y&&!r.disabled){g.extraData=g.extraData||{};g.extraData[y]=r.value;if(r.type=="image"){g.extraData[y+".x"]=k.clk_x;g.extraData[y+".y"]=k.clk_y}}}g.forceSync?s():setTimeout(s,10);var G=100}}}if(!this.length){o("ajaxSubmit: skipping submit process - no element selected");
return this}if(typeof a=="function")a={success:a};var c=b.trim(this.attr("action"));if(c)c=(c.match(/^([^#]+)/)||[])[1];c=c||window.location.href||"";a=b.extend({url:c,type:this.attr("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},a||{});c={};this.trigger("form-pre-serialize",[this,a,c]);if(c.veto){o("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(a.beforeSerialize&&a.beforeSerialize(this,a)===false){o("ajaxSubmit: submit aborted via beforeSerialize callback");
return this}var f=this.formToArray(a.semantic);if(a.data){a.extraData=a.data;for(var d in a.data)if(a.data[d]instanceof Array)for(var l in a.data[d])f.push({name:d,value:a.data[d][l]});else f.push({name:d,value:a.data[d]})}if(a.beforeSubmit&&a.beforeSubmit(f,this,a)===false){o("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[f,this,a,c]);if(c.veto){o("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}d=b.param(f);if(a.type.toUpperCase()==
"GET"){a.url+=(a.url.indexOf("?")>=0?"&":"?")+d;a.data=null}else a.data=d;var h=this,i=[];a.resetForm&&i.push(function(){h.resetForm()});a.clearForm&&i.push(function(){h.clearForm()});if(!a.dataType&&a.target){var p=a.success||function(){};i.push(function(s){var t=a.replaceTarget?"replaceWith":"html";b(a.target)[t](s).each(p,arguments)})}else a.success&&i.push(a.success);a.success=function(s,t,A){for(var k=0,g=i.length;k<g;k++)i[k].apply(a,[s,t,A||h,h])};d=b("input:file",this).fieldValue();l=false;
for(c=0;c<d.length;c++)if(d[c])l=true;if(d.length&&a.iframe!==false||a.iframe||l||0)a.closeKeepAlive?b.get(a.closeKeepAlive,e):e();else b.ajax(a);this.trigger("form-submit-notify",[this,a]);return this};b.fn.ajaxForm=function(a){return this.ajaxFormUnbind().bind("submit.form-plugin",function(e){e.preventDefault();b(this).ajaxSubmit(a)}).bind("click.form-plugin",function(e){var c=e.target,f=b(c);if(!f.is(":submit,input:image")){c=f.closest(":submit");if(c.length==0)return;c=c[0]}var d=this;d.clk=c;
if(c.type=="image")if(e.offsetX!=undefined){d.clk_x=e.offsetX;d.clk_y=e.offsetY}else if(typeof b.fn.offset=="function"){f=f.offset();d.clk_x=e.pageX-f.left;d.clk_y=e.pageY-f.top}else{d.clk_x=e.pageX-c.offsetLeft;d.clk_y=e.pageY-c.offsetTop}setTimeout(function(){d.clk=d.clk_x=d.clk_y=null},100)})};b.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(a){var e=[];if(this.length==0)return e;var c=this[0],f=a?c.getElementsByTagName("*"):c.elements;
if(!f)return e;for(var d=0,l=f.length;d<l;d++){var h=f[d],i=h.name;if(i)if(a&&c.clk&&h.type=="image"){if(!h.disabled&&c.clk==h){e.push({name:i,value:b(h).val()});e.push({name:i+".x",value:c.clk_x},{name:i+".y",value:c.clk_y})}}else if((h=b.fieldValue(h,true))&&h.constructor==Array)for(var p=0,s=h.length;p<s;p++)e.push({name:i,value:h[p]});else h!==null&&typeof h!="undefined"&&e.push({name:i,value:h})}if(!a&&c.clk){a=b(c.clk);f=a[0];if((i=f.name)&&!f.disabled&&f.type=="image"){e.push({name:i,value:a.val()});
e.push({name:i+".x",value:c.clk_x},{name:i+".y",value:c.clk_y})}}return e};b.fn.formSerialize=function(a){return b.param(this.formToArray(a))};b.fn.fieldSerialize=function(a){var e=[];this.each(function(){var c=this.name;if(c){var f=b.fieldValue(this,a);if(f&&f.constructor==Array)for(var d=0,l=f.length;d<l;d++)e.push({name:c,value:f[d]});else f!==null&&typeof f!="undefined"&&e.push({name:this.name,value:f})}});return b.param(e)};b.fn.fieldValue=function(a){for(var e=[],c=0,f=this.length;c<f;c++){var d=
b.fieldValue(this[c],a);d===null||typeof d=="undefined"||d.constructor==Array&&!d.length||(d.constructor==Array?b.merge(e,d):e.push(d))}return e};b.fieldValue=function(a,e){var c=a.name,f=a.type,d=a.tagName.toLowerCase();if(typeof e=="undefined")e=true;if(e&&(!c||a.disabled||f=="reset"||f=="button"||(f=="checkbox"||f=="radio")&&!a.checked||(f=="submit"||f=="image")&&a.form&&a.form.clk!=a||d=="select"&&a.selectedIndex==-1))return null;if(d=="select"){var l=a.selectedIndex;if(l<0)return null;c=[];d=
a.options;var h=(f=f=="select-one")?l+1:d.length;for(l=f?l:0;l<h;l++){var i=d[l];if(i.selected){var p=i.value;p||(p=i.attributes&&i.attributes.value&&!i.attributes.value.specified?i.text:i.value);if(f)return p;c.push(p)}}return c}return a.value};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var a=this.type,e=this.tagName.toLowerCase();if(a=="text"||a=="password"||e=="textarea")this.value=
"";else if(a=="checkbox"||a=="radio")this.checked=false;else if(e=="select")this.selectedIndex=-1})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||typeof this.reset=="object"&&!this.reset.nodeType)this.reset()})};b.fn.enable=function(a){if(a==undefined)a=true;return this.each(function(){this.disabled=!a})};b.fn.selected=function(a){if(a==undefined)a=true;return this.each(function(){var e=this.type;if(e=="checkbox"||e=="radio")this.checked=a;else if(this.tagName.toLowerCase()==
"option"){e=b(this).parent("select");a&&e[0]&&e[0].type=="select-one"&&e.find("option").selected(false);this.selected=a}})}})(jQuery);

View File

@ -1,543 +0,0 @@
/*
* Jeditable - jQuery in place edit plugin
*
* Copyright (c) 2006-2009 Mika Tuupola, Dylan Verheul
*
* Licensed under the MIT license:
* http://www.opensource.org/licenses/mit-license.php
*
* Project home:
* http://www.appelsiini.net/projects/jeditable
*
* Based on editable by Dylan Verheul <dylan_at_dyve.net>:
* http://www.dyve.net/jquery/?editable
*
*/
/**
* Version 1.7.1
*
* ** means there is basic unit tests for this parameter.
*
* @name Jeditable
* @type jQuery
* @param String target (POST) URL or function to send edited content to **
* @param Hash options additional options
* @param String options[method] method to use to send edited content (POST or PUT) **
* @param Function options[callback] Function to run after submitting edited content **
* @param String options[name] POST parameter name of edited content
* @param String options[id] POST parameter name of edited div id
* @param Hash options[submitdata] Extra parameters to send when submitting edited content.
* @param String options[type] text, textarea or select (or any 3rd party input type) **
* @param Integer options[rows] number of rows if using textarea **
* @param Integer options[cols] number of columns if using textarea **
* @param Mixed options[height] 'auto', 'none' or height in pixels **
* @param Mixed options[width] 'auto', 'none' or width in pixels **
* @param String options[loadurl] URL to fetch input content before editing **
* @param String options[loadtype] Request type for load url. Should be GET or POST.
* @param String options[loadtext] Text to display while loading external content.
* @param Mixed options[loaddata] Extra parameters to pass when fetching content before editing.
* @param Mixed options[data] Or content given as paramameter. String or function.**
* @param String options[indicator] indicator html to show when saving
* @param String options[tooltip] optional tooltip text via title attribute **
* @param String options[event] jQuery event such as 'click' of 'dblclick' **
* @param String options[submit] submit button value, empty means no button **
* @param String options[cancel] cancel button value, empty means no button **
* @param String options[cssclass] CSS class to apply to input form. 'inherit' to copy from parent. **
* @param String options[style] Style to apply to input form 'inherit' to copy from parent. **
* @param String options[select] true or false, when true text is highlighted ??
* @param String options[placeholder] Placeholder text or html to insert when element is empty. **
* @param String options[onblur] 'cancel', 'submit', 'ignore' or function ??
*
* @param Function options[onsubmit] function(settings, original) { ... } called before submit
* @param Function options[onreset] function(settings, original) { ... } called before reset
* @param Function options[onerror] function(settings, original, xhr) { ... } called on error
*
* @param Hash options[ajaxoptions] jQuery Ajax options. See docs.jquery.com.
*
*/
(function($) {
$.fn.editable = function(target, options) {
if ('disable' == target) {
$(this).data('disabled.editable', true);
return;
}
if ('enable' == target) {
$(this).data('disabled.editable', false);
return;
}
if ('destroy' == target) {
$(this)
.unbind($(this).data('event.editable'))
.removeData('disabled.editable')
.removeData('event.editable');
return;
}
var settings = $.extend({}, $.fn.editable.defaults, {target:target}, options);
/* setup some functions */
var plugin = $.editable.types[settings.type].plugin || function() { };
var submit = $.editable.types[settings.type].submit || function() { };
var buttons = $.editable.types[settings.type].buttons
|| $.editable.types['defaults'].buttons;
var content = $.editable.types[settings.type].content
|| $.editable.types['defaults'].content;
var element = $.editable.types[settings.type].element
|| $.editable.types['defaults'].element;
var reset = $.editable.types[settings.type].reset
|| $.editable.types['defaults'].reset;
var callback = settings.callback || function() { };
var onedit = settings.onedit || function() { };
var onsubmit = settings.onsubmit || function() { };
var onreset = settings.onreset || function() { };
var onerror = settings.onerror || reset;
/* show tooltip */
if (settings.tooltip) {
$(this).attr('title', settings.tooltip);
}
settings.autowidth = 'auto' == settings.width;
settings.autoheight = 'auto' == settings.height;
return this.each(function() {
/* save this to self because this changes when scope changes */
var self = this;
/* inlined block elements lose their width and height after first edit */
/* save them for later use as workaround */
var savedwidth = $(self).width();
var savedheight = $(self).height();
/* save so it can be later used by $.editable('destroy') */
$(this).data('event.editable', settings.event);
/* if element is empty add something clickable (if requested) */
if (!$.trim($(this).html())) {
$(this).html(settings.placeholder);
}
$(this).bind(settings.event, function(e) {
/* abort if disabled for this element */
if (true === $(this).data('disabled.editable')) {
return;
}
/* prevent throwing an exeption if edit field is clicked again */
if (self.editing) {
return;
}
/* abort if onedit hook returns false */
if (false === onedit.apply(this, [settings, self])) {
return;
}
/* prevent default action and bubbling */
e.preventDefault();
e.stopPropagation();
/* remove tooltip */
if (settings.tooltip) {
$(self).removeAttr('title');
}
/* figure out how wide and tall we are, saved width and height */
/* are workaround for http://dev.jquery.com/ticket/2190 */
if (0 == $(self).width()) {
//$(self).css('visibility', 'hidden');
settings.width = savedwidth;
settings.height = savedheight;
} else {
if (settings.width != 'none') {
settings.width =
settings.autowidth ? $(self).width() : settings.width;
}
if (settings.height != 'none') {
settings.height =
settings.autoheight ? $(self).height() : settings.height;
}
}
//$(this).css('visibility', '');
/* remove placeholder text, replace is here because of IE */
if ($(this).html().toLowerCase().replace(/(;|")/g, '') ==
settings.placeholder.toLowerCase().replace(/(;|")/g, '')) {
$(this).html('');
}
self.editing = true;
self.revert = $(self).html();
$(self).html('');
/* create the form object */
var form = $('<form />');
/* apply css or style or both */
if (settings.cssclass) {
if ('inherit' == settings.cssclass) {
form.attr('class', $(self).attr('class'));
} else {
form.attr('class', settings.cssclass);
}
}
if (settings.style) {
if ('inherit' == settings.style) {
form.attr('style', $(self).attr('style'));
/* IE needs the second line or display wont be inherited */
form.css('display', $(self).css('display'));
} else {
form.attr('style', settings.style);
}
}
/* add main input element to form and store it in input */
var input = element.apply(form, [settings, self]);
/* set input content via POST, GET, given data or existing value */
var input_content;
if (settings.loadurl) {
var t = setTimeout(function() {
input.disabled = true;
content.apply(form, [settings.loadtext, settings, self]);
}, 100);
var loaddata = {};
loaddata[settings.id] = self.id;
if ($.isFunction(settings.loaddata)) {
$.extend(loaddata, settings.loaddata.apply(self, [self.revert, settings]));
} else {
$.extend(loaddata, settings.loaddata);
}
$.ajax({
type : settings.loadtype,
url : settings.loadurl,
data : loaddata,
async : false,
success: function(result) {
window.clearTimeout(t);
input_content = result;
input.disabled = false;
}
});
} else if (settings.data) {
input_content = settings.data;
if ($.isFunction(settings.data)) {
input_content = settings.data.apply(self, [self.revert, settings]);
}
} else {
input_content = self.revert;
}
content.apply(form, [input_content, settings, self]);
input.attr('name', settings.name);
/* add buttons to the form */
buttons.apply(form, [settings, self]);
/* add created form to self */
$(self).append(form);
/* attach 3rd party plugin if requested */
plugin.apply(form, [settings, self]);
/* focus to first visible form element */
$(':input:visible:enabled:first', form).focus();
/* highlight input contents when requested */
if (settings.select) {
input.select();
}
/* discard changes if pressing esc */
input.keydown(function(e) {
if (e.keyCode == 27) {
e.preventDefault();
//self.reset();
reset.apply(form, [settings, self]);
}
});
/* discard, submit or nothing with changes when clicking outside */
/* do nothing is usable when navigating with tab */
var t;
if ('cancel' == settings.onblur) {
input.blur(function(e) {
/* prevent canceling if submit was clicked */
t = setTimeout(function() {
reset.apply(form, [settings, self]);
}, 500);
});
} else if ('submit' == settings.onblur) {
input.blur(function(e) {
/* prevent double submit if submit was clicked */
t = setTimeout(function() {
form.submit();
}, 200);
});
} else if ($.isFunction(settings.onblur)) {
input.blur(function(e) {
settings.onblur.apply(self, [input.val(), settings]);
});
} else {
input.blur(function(e) {
/* TODO: maybe something here */
});
}
form.submit(function(e) {
if (t) {
clearTimeout(t);
}
/* do no submit */
e.preventDefault();
/* call before submit hook. */
/* if it returns false abort submitting */
if (false !== onsubmit.apply(form, [settings, self])) {
/* custom inputs call before submit hook. */
/* if it returns false abort submitting */
if (false !== submit.apply(form, [settings, self])) {
/* check if given target is function */
if ($.isFunction(settings.target)) {
var str = settings.target.apply(self, [input.val(), settings]);
$(self).html(str);
self.editing = false;
callback.apply(self, [self.innerHTML, settings]);
/* TODO: this is not dry */
if (!$.trim($(self).html())) {
$(self).html(settings.placeholder);
}
} else {
/* add edited content and id of edited element to POST */
var submitdata = {};
submitdata[settings.name] = input.val();
submitdata[settings.id] = self.id;
/* add extra data to be POST:ed */
if ($.isFunction(settings.submitdata)) {
$.extend(submitdata, settings.submitdata.apply(self, [self.revert, settings]));
} else {
$.extend(submitdata, settings.submitdata);
}
/* quick and dirty PUT support */
if ('PUT' == settings.method) {
submitdata['_method'] = 'put';
}
/* show the saving indicator */
$(self).html(settings.indicator);
/* defaults for ajaxoptions */
var ajaxoptions = {
type : 'POST',
data : submitdata,
dataType: 'html',
url : settings.target,
success : function(result, status) {
if (ajaxoptions.dataType == 'html') {
$(self).html(result);
}
self.editing = false;
callback.apply(self, [result, settings]);
if (!$.trim($(self).html())) {
$(self).html(settings.placeholder);
}
},
error : function(xhr, status, error) {
onerror.apply(form, [settings, self, xhr]);
}
};
/* override with what is given in settings.ajaxoptions */
$.extend(ajaxoptions, settings.ajaxoptions);
$.ajax(ajaxoptions);
}
}
}
/* show tooltip again */
$(self).attr('title', settings.tooltip);
return false;
});
});
/* privileged methods */
this.reset = function(form) {
/* prevent calling reset twice when blurring */
if (this.editing) {
/* before reset hook, if it returns false abort reseting */
if (false !== onreset.apply(form, [settings, self])) {
$(self).html(self.revert);
self.editing = false;
if (!$.trim($(self).html())) {
$(self).html(settings.placeholder);
}
/* show tooltip again */
if (settings.tooltip) {
$(self).attr('title', settings.tooltip);
}
}
}
};
});
};
$.editable = {
types: {
defaults: {
element : function(settings, original) {
var input = $('<input type="hidden"></input>');
$(this).append(input);
return(input);
},
content : function(string, settings, original) {
$(':input:first', this).val(string);
},
reset : function(settings, original) {
original.reset(this);
},
buttons : function(settings, original) {
var form = this;
if (settings.submit) {
/* if given html string use that */
if (settings.submit.match(/>$/)) {
var submit = $(settings.submit).click(function() {
if (submit.attr("type") != "submit") {
form.submit();
}
});
/* otherwise use button with given string as text */
} else {
var submit = $('<button type="submit" />');
submit.html(settings.submit);
}
$(this).append(submit);
}
if (settings.cancel) {
/* if given html string use that */
if (settings.cancel.match(/>$/)) {
var cancel = $(settings.cancel);
/* otherwise use button with given string as text */
} else {
var cancel = $('<button type="cancel" />');
cancel.html(settings.cancel);
}
$(this).append(cancel);
$(cancel).click(function(event) {
//original.reset();
if ($.isFunction($.editable.types[settings.type].reset)) {
var reset = $.editable.types[settings.type].reset;
} else {
var reset = $.editable.types['defaults'].reset;
}
reset.apply(form, [settings, original]);
return false;
});
}
}
},
text: {
element : function(settings, original) {
var input = $('<input />');
if (settings.width != 'none') { input.width(settings.width); }
if (settings.height != 'none') { input.height(settings.height); }
/* https://bugzilla.mozilla.org/show_bug.cgi?id=236791 */
//input[0].setAttribute('autocomplete','off');
input.attr('autocomplete','off');
$(this).append(input);
return(input);
}
},
textarea: {
element : function(settings, original) {
var textarea = $('<textarea />');
if (settings.rows) {
textarea.attr('rows', settings.rows);
} else if (settings.height != "none") {
textarea.height(settings.height);
}
if (settings.cols) {
textarea.attr('cols', settings.cols);
} else if (settings.width != "none") {
textarea.width(settings.width);
}
$(this).append(textarea);
return(textarea);
}
},
select: {
element : function(settings, original) {
var select = $('<select />');
$(this).append(select);
return(select);
},
content : function(data, settings, original) {
/* If it is string assume it is json. */
if (String == data.constructor) {
eval ('var json = ' + data);
} else {
/* Otherwise assume it is a hash already. */
var json = data;
}
for (var key in json) {
if (!json.hasOwnProperty(key)) {
continue;
}
if ('selected' == key) {
continue;
}
var option = $('<option />').val(key).append(json[key]);
$('select', this).append(option);
}
/* Loop option again to set selected. IE needed this... */
$('select', this).children().each(function() {
if ($(this).val() == json['selected'] ||
$(this).text() == $.trim(original.revert)) {
$(this).attr('selected', 'selected');
}
});
}
}
},
/* Add new input type */
addInputType: function(name, input) {
$.editable.types[name] = input;
}
};
// publicly accessible defaults
$.fn.editable.defaults = {
name : 'value',
id : 'id',
type : 'text',
width : 'auto',
height : 'auto',
event : 'click.editable',
onblur : 'cancel',
loadtype : 'GET',
loadtext : 'Loading...',
placeholder: 'Click to edit',
loaddata : {},
submitdata : {},
ajaxoptions: {}
};
})(jQuery);

View File

@ -0,0 +1,25 @@
/*
Jeditable - jQuery in place edit plugin
Copyright (c) 2006-2009 Mika Tuupola, Dylan Verheul
Licensed under the MIT license:
http://www.opensource.org/licenses/mit-license.php
Project home:
http://www.appelsiini.net/projects/jeditable
Based on editable by Dylan Verheul <dylan_at_dyve.net>:
http://www.dyve.net/jquery/?editable
*/
(function(a){a.fn.editable=function(d,e){if("disable"==d)a(this).data("disabled.editable",true);else if("enable"==d)a(this).data("disabled.editable",false);else if("destroy"==d)a(this).unbind(a(this).data("event.editable")).removeData("disabled.editable").removeData("event.editable");else{var b=a.extend({},a.fn.editable.defaults,{target:d},e),i=a.editable.types[b.type].plugin||function(){},j=a.editable.types[b.type].submit||function(){},s=a.editable.types[b.type].buttons||a.editable.types.defaults.buttons,
q=a.editable.types[b.type].content||a.editable.types.defaults.content,t=a.editable.types[b.type].element||a.editable.types.defaults.element,o=a.editable.types[b.type].reset||a.editable.types.defaults.reset,r=b.callback||function(){},u=b.onedit||function(){},v=b.onsubmit||function(){},w=b.onreset||function(){},x=b.onerror||o;b.tooltip&&a(this).attr("title",b.tooltip);b.autowidth="auto"==b.width;b.autoheight="auto"==b.height;return this.each(function(){var c=this,y=a(c).width(),z=a(c).height();a(this).data("event.editable",
b.event);a.trim(a(this).html())||a(this).html(b.placeholder);a(this).bind(b.event,function(k){if(true!==a(this).data("disabled.editable"))if(!c.editing)if(false!==u.apply(this,[b,c])){k.preventDefault();k.stopPropagation();b.tooltip&&a(c).removeAttr("title");if(0==a(c).width()){b.width=y;b.height=z}else{if(b.width!="none")b.width=b.autowidth?a(c).width():b.width;if(b.height!="none")b.height=b.autoheight?a(c).height():b.height}a(this).html().toLowerCase().replace(/(;|")/g,"")==b.placeholder.toLowerCase().replace(/(;|")/g,
"")&&a(this).html("");c.editing=true;c.revert=a(c).html();a(c).html("");var f=a("<form />");if(b.cssclass)"inherit"==b.cssclass?f.attr("class",a(c).attr("class")):f.attr("class",b.cssclass);if(b.style)if("inherit"==b.style){f.attr("style",a(c).attr("style"));f.css("display",a(c).css("display"))}else f.attr("style",b.style);var h=t.apply(f,[b,c]),l;if(b.loadurl){var m=setTimeout(function(){h.disabled=true;q.apply(f,[b.loadtext,b,c])},100);k={};k[b.id]=c.id;a.isFunction(b.loaddata)?a.extend(k,b.loaddata.apply(c,
[c.revert,b])):a.extend(k,b.loaddata);a.ajax({type:b.loadtype,url:b.loadurl,data:k,async:false,success:function(g){window.clearTimeout(m);l=g;h.disabled=false}})}else if(b.data){l=b.data;if(a.isFunction(b.data))l=b.data.apply(c,[c.revert,b])}else l=c.revert;q.apply(f,[l,b,c]);h.attr("name",b.name);s.apply(f,[b,c]);a(c).append(f);i.apply(f,[b,c]);a(":input:visible:enabled:first",f).focus();b.select&&h.select();h.keydown(function(g){if(g.keyCode==27){g.preventDefault();o.apply(f,[b,c])}});if("cancel"==
b.onblur)h.blur(function(){m=setTimeout(function(){o.apply(f,[b,c])},500)});else if("submit"==b.onblur)h.blur(function(){m=setTimeout(function(){f.submit()},200)});else a.isFunction(b.onblur)?h.blur(function(){b.onblur.apply(c,[h.val(),b])}):h.blur(function(){});f.submit(function(g){m&&clearTimeout(m);g.preventDefault();if(false!==v.apply(f,[b,c]))if(false!==j.apply(f,[b,c]))if(a.isFunction(b.target)){g=b.target.apply(c,[h.val(),b]);a(c).html(g);c.editing=false;r.apply(c,[c.innerHTML,b]);a.trim(a(c).html())||
a(c).html(b.placeholder)}else{g={};g[b.name]=h.val();g[b.id]=c.id;a.isFunction(b.submitdata)?a.extend(g,b.submitdata.apply(c,[c.revert,b])):a.extend(g,b.submitdata);if("PUT"==b.method)g._method="put";a(c).html(b.indicator);var p={type:"POST",data:g,dataType:"html",url:b.target,success:function(n){p.dataType=="html"&&a(c).html(n);c.editing=false;r.apply(c,[n,b]);a.trim(a(c).html())||a(c).html(b.placeholder)},error:function(n){x.apply(f,[b,c,n])}};a.extend(p,b.ajaxoptions);a.ajax(p)}a(c).attr("title",
b.tooltip);return false})}});this.reset=function(k){if(this.editing)if(false!==w.apply(k,[b,c])){a(c).html(c.revert);c.editing=false;a.trim(a(c).html())||a(c).html(b.placeholder);b.tooltip&&a(c).attr("title",b.tooltip)}}})}};a.editable={types:{defaults:{element:function(){var d=a('<input type="hidden"></input>');a(this).append(d);return d},content:function(d){a(":input:first",this).val(d)},reset:function(d,e){e.reset(this)},buttons:function(d,e){var b=this;if(d.submit){if(d.submit.match(/>$/))var i=
a(d.submit).click(function(){i.attr("type")!="submit"&&b.submit()});else{i=a('<button type="submit" />');i.html(d.submit)}a(this).append(i)}if(d.cancel){if(d.cancel.match(/>$/))var j=a(d.cancel);else{j=a('<button type="cancel" />');j.html(d.cancel)}a(this).append(j);a(j).click(function(){(a.isFunction(a.editable.types[d.type].reset)?a.editable.types[d.type].reset:a.editable.types.defaults.reset).apply(b,[d,e]);return false})}}},text:{element:function(d){var e=a("<input />");d.width!="none"&&e.width(d.width);
d.height!="none"&&e.height(d.height);e.attr("autocomplete","off");a(this).append(e);return e}},textarea:{element:function(d){var e=a("<textarea />");if(d.rows)e.attr("rows",d.rows);else d.height!="none"&&e.height(d.height);if(d.cols)e.attr("cols",d.cols);else d.width!="none"&&e.width(d.width);a(this).append(e);return e}},select:{element:function(){var d=a("<select />");a(this).append(d);return d},content:function(d,e,b){if(String==d.constructor)eval("var json = "+d);else var i=d;for(var j in i)if(i.hasOwnProperty(j))if("selected"!=
j){d=a("<option />").val(j).append(i[j]);a("select",this).append(d)}a("select",this).children().each(function(){if(a(this).val()==i.selected||a(this).text()==a.trim(b.revert))a(this).attr("selected","selected")})}}},addInputType:function(d,e){a.editable.types[d]=e}};a.fn.editable.defaults={name:"value",id:"id",type:"text",width:"auto",height:"auto",event:"click.editable",onblur:"cancel",loadtype:"GET",loadtext:"Loading...",placeholder:"Click to edit",loaddata:{},submitdata:{},ajaxoptions:{}}})(jQuery);

File diff suppressed because it is too large Load Diff

176
xCAT-UI/js/jquery/jquery.jstree.min.js vendored Normal file
View File

@ -0,0 +1,176 @@
/*
jsTree 1.0-rc1
http://jstree.com/
Copyright (c) 2010 Ivan Bozhanov (vakata.com)
Dual licensed under the MIT and GPL licenses (same as jQuery):
http://www.opensource.org/licenses/mit-license.php
http://www.gnu.org/licenses/gpl.html
*/
(function(b){b.vakata={};b.vakata.css={get_css:function(a,d,e){a=a.toLowerCase();var g=e.cssRules||e.rules,i=0;do{if(g.length&&i>g.length+5)break;if(g[i].selectorText&&g[i].selectorText.toLowerCase()==a)if(d===true){e.removeRule&&e.removeRule(i);e.deleteRule&&e.deleteRule(i);return true}else return g[i]}while(g[++i]);return false},add_css:function(a,d){if(b.jstree.css.get_css(a,false,d))return false;d.insertRule?d.insertRule(a+" { }",0):d.addRule(a,null,0);return b.vakata.css.get_css(a)},remove_css:function(a,
d){return b.vakata.css.get_css(a,true,d)},add_sheet:function(a){var d;if(a.str){d=document.createElement("style");d.setAttribute("type","text/css");if(d.styleSheet){document.getElementsByTagName("head")[0].appendChild(d);d.styleSheet.cssText=a.str}else{d.appendChild(document.createTextNode(a.str));document.getElementsByTagName("head")[0].appendChild(d)}return d.sheet||d.styleSheet}if(a.url)if(document.createStyleSheet)try{document.createStyleSheet(a.url)}catch(e){}else{d=document.createElement("link");
d.rel="stylesheet";d.type="text/css";d.media="all";d.href=a.url;document.getElementsByTagName("head")[0].appendChild(d);return d.styleSheet}}}})(jQuery);
(function(b){var a=[],d=-1,e={},g={},i=false;b.fn.jstree=function(c){var f=typeof c=="string",h=Array.prototype.slice.call(arguments,1),j=this;!f&&b.meta&&h.push(b.metadata.get(this).jstree);c=!f&&h.length?b.extend.apply(null,[true,c].concat(h)):c;if(f&&c.substring(0,1)=="_")return j;f?this.each(function(){var l=a[b.data(this,"jstree-instance-id")];l=l&&b.isFunction(l[c])?l[c].apply(l,h):l;if(typeof l!=="undefined"&&(c.indexOf("is_"===0)||l!==true&&l!==false)){j=l;return false}}):this.each(function(){var l=
b.data(this,"jstree-instance-id"),k=false;typeof l!=="undefined"&&a[l]&&a[l].destroy();l=parseInt(a.push({}),10)-1;b.data(this,"jstree-instance-id",l);c||(c={});c.plugins=b.isArray(c.plugins)?c.plugins:b.jstree.defaults.plugins;b.inArray("core",c.plugins)===-1&&c.plugins.unshift("core");k=b.extend(true,{},b.jstree.defaults,c);k.plugins=c.plugins;b.each(e,function(m){if(b.inArray(m,k.plugins)===-1){k[m]=null;delete k[m]}});a[l]=new b.jstree._instance(l,b(this).addClass("jstree jstree-"+l),k);b.each(a[l]._get_settings().plugins,
function(m,n){a[l].data[n]={}});b.each(a[l]._get_settings().plugins,function(m,n){e[n]&&e[n].__init.apply(a[l])});a[l].init()});return j};b.jstree={defaults:{plugins:[]},_focused:function(){return a[d]||null},_reference:function(c){if(a[c])return a[c];var f=b(c);if(!f.length&&typeof c==="string")f=b("#"+c);if(!f.length)return null;return a[f.closest(".jstree").data("jstree-instance-id")]||null},_instance:function(c,f,h){this.data={core:{}};this.get_settings=function(){return b.extend(true,{},h)};
this._get_settings=function(){return h};this.get_index=function(){return c};this.get_container=function(){return f};this._set_settings=function(j){h=b.extend(true,{},h,j)}},_fn:{},plugin:function(c,f){f=b.extend({},{__init:b.noop,__destroy:b.noop,_fn:{},defaults:false},f);e[c]=f;b.jstree.defaults[c]=f.defaults;b.each(f._fn,function(h,j){j.plugin=c;j.old=b.jstree._fn[h];b.jstree._fn[h]=function(){var l,k=j,m=Array.prototype.slice.call(arguments);l=new b.Event("before.jstree");var n=false;do{if(k&&
k.plugin&&b.inArray(k.plugin,this._get_settings().plugins)!==-1)break;k=k.old}while(k);if(k){l=this.get_container().triggerHandler(l,{func:h,inst:this,args:m});if(l!==false){if(typeof l!=="undefined")m=l;return l=h.indexOf("_")===0?k.apply(this,m):k.apply(b.extend({},this,{__callback:function(p){this.get_container().triggerHandler(h+".jstree",{inst:this,args:m,rslt:p,rlbk:n})},__rollback:function(){return n=this.get_rollback()},__call_old:function(p){return k.old.apply(this,p?Array.prototype.slice.call(arguments,
1):m)}}),m)}}};b.jstree._fn[h].old=j.old;b.jstree._fn[h].plugin=c})},rollback:function(c){if(c){b.isArray(c)||(c=[c]);b.each(c,function(f,h){a[h.i].set_rollback(h.h,h.d)})}}};b.jstree._fn=b.jstree._instance.prototype={};b(function(){var c=navigator.userAgent.toLowerCase(),f=(c.match(/.+?(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],h=".jstree ul, .jstree li { display:block; margin:0 0 0 0; padding:0 0 0 0; list-style-type:none; } .jstree li { display:block; min-height:18px; line-height:18px; white-space:nowrap; margin-left:18px; } .jstree-rtl li { margin-left:0; margin-right:18px; } .jstree > ul > li { margin-left:0px; } .jstree-rtl > ul > li { margin-right:0px; } .jstree ins { display:inline-block; text-decoration:none; width:18px; height:18px; margin:0 0 0 0; padding:0; } .jstree a { display:inline-block; line-height:16px; height:16px; color:black; white-space:nowrap; text-decoration:none; padding:1px 2px; margin:0; } .jstree a:focus { outline: none; } .jstree a > ins { height:16px; width:16px; } .jstree a > .jstree-icon { margin-right:3px; } .jstree-rtl a > .jstree-icon { margin-left:3px; margin-right:0; } li.jstree-open > ul { display:block; } li.jstree-closed > ul { display:none; } ";
if(/msie/.test(c)&&parseInt(f,10)==6){i=true;h+=".jstree li { height:18px; margin-left:0; margin-right:0; } .jstree li li { margin-left:18px; } .jstree-rtl li li { margin-left:0px; margin-right:18px; } li.jstree-open ul { display:block; } li.jstree-closed ul { display:none !important; } .jstree li a { display:inline; border-width:0 !important; padding:0px 2px !important; } .jstree li a ins { height:16px; width:16px; margin-right:3px; } .jstree-rtl li a ins { margin-right:0px; margin-left:3px; } "}if(/msie/.test(c)&&
parseInt(f,10)==7)h+=".jstree li a { border-width:0 !important; padding:0px 2px !important; } ";b.vakata.css.add_sheet({str:h})});b.jstree.plugin("core",{__init:function(){this.data.core.to_open=b.map(b.makeArray(this.get_settings().core.initially_open),function(c){return"#"+c.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/")})},defaults:{html_titles:false,animation:500,initially_open:[],rtl:false,strings:{loading:"Loading ...",new_node:"New node"}},_fn:{init:function(){this.set_focus();
this._get_settings().core.rtl&&this.get_container().addClass("jstree-rtl").css("direction","rtl");this.get_container().html("<ul><li class='jstree-last jstree-leaf'><ins>&#160;</ins><a class='jstree-loading' href='#'><ins class='jstree-icon'>&#160;</ins>"+this._get_settings().core.strings.loading+"</a></li></ul>");this.data.core.li_height=this.get_container().find("ul li.jstree-closed, ul li.jstree-leaf").eq(0).height()||18;this.get_container().delegate("li > ins","click.jstree",b.proxy(function(c){var f=
b(c.target);f.is("ins")&&c.pageY-f.offset().top<this.data.core.li_height&&this.toggle_node(f)},this)).bind("mousedown.jstree",b.proxy(function(){this.set_focus()},this)).bind("dblclick.jstree",function(){var c;if(document.selection&&document.selection.empty)document.selection.empty();else if(window.getSelection){c=window.getSelection();try{c.removeAllRanges();c.collapse()}catch(f){}}});this.__callback();this.load_node(-1,function(){this.loaded();this.reopen()})},destroy:function(){var c,f=this.get_index(),
h=this._get_settings(),j=this;b.each(h.plugins,function(l,k){try{e[k].__destroy.apply(j)}catch(m){}});this.__callback();if(this.is_focused())for(c in a)if(a.hasOwnProperty(c)&&c!=f){a[c].set_focus();break}if(f===d)d=-1;this.get_container().unbind(".jstree").undelegate(".jstree").removeData("jstree-instance-id").find("[class^='jstree']").andSelf().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/ig,"")});a[f]=null;delete a[f]},save_opened:function(){var c=this;this.data.core.to_open=
[];this.get_container().find(".jstree-open").each(function(){c.data.core.to_open.push("#"+this.id.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/"))});this.__callback(c.data.core.to_open)},reopen:function(c){var f=this,h=true,j=[],l=[];if(!c){this.data.core.reopen=false;this.data.core.refreshing=true}if(this.data.core.to_open.length){b.each(this.data.core.to_open,function(k,m){if(m=="#")return true;b(m).length&&b(m).is(".jstree-closed")?j.push(m):l.push(m)});if(j.length){this.data.core.to_open=
l;b.each(j,function(k,m){f.open_node(m,function(){f.reopen(true)},true)});h=false}}if(h){this.data.core.reopen&&clearTimeout(this.data.core.reopen);this.data.core.reopen=setTimeout(function(){f.__callback({},f)},50);this.data.core.refreshing=false}},refresh:function(c){var f=this;this.save_opened();c||(c=-1);(c=this._get_node(c))||(c=-1);c!==-1&&c.children("UL").remove();this.load_node(c,function(){f.__callback({obj:c});f.reopen()})},loaded:function(){this.__callback()},set_focus:function(){var c=
b.jstree._focused();c&&c!==this&&c.get_container().removeClass("jstree-focused");if(c!==this){this.get_container().addClass("jstree-focused");d=this.get_index()}this.__callback()},is_focused:function(){return d==this.get_index()},_get_node:function(c){var f=b(c,this.get_container());if(f.is(".jstree")||c==-1)return-1;f=f.closest("li",this.get_container());return f.length?f:false},_get_next:function(c,f){c=this._get_node(c);if(c===-1)return this.get_container().find("> ul > li:first-child");if(!c.length)return false;
if(f)return c.nextAll("li").size()>0?c.nextAll("li:eq(0)"):false;return c.hasClass("jstree-open")?c.find("li:eq(0)"):c.nextAll("li").size()>0?c.nextAll("li:eq(0)"):c.parentsUntil(".jstree","li").next("li").eq(0)},_get_prev:function(c,f){c=this._get_node(c);if(c===-1)return this.get_container().find("> ul > li:last-child");if(!c.length)return false;if(f)return c.prevAll("li").length>0?c.prevAll("li:eq(0)"):false;if(c.prev("li").length){for(c=c.prev("li").eq(0);c.hasClass("jstree-open");)c=c.children("ul:eq(0)").children("li:last");
return c}else{var h=c.parentsUntil(".jstree","li:eq(0)");return h.length?h:false}},_get_parent:function(c){c=this._get_node(c);if(c==-1||!c.length)return false;c=c.parentsUntil(".jstree","li:eq(0)");return c.length?c:-1},_get_children:function(c){c=this._get_node(c);if(c===-1)return this.get_container().children("ul:eq(0)").children("li");if(!c.length)return false;return c.children("ul:eq(0)").children("li")},get_path:function(c,f){var h=[],j=this;c=this._get_node(c);if(c===-1||!c||!c.length)return false;
c.parentsUntil(".jstree","li").each(function(){h.push(f?this.id:j.get_text(this))});h.reverse();h.push(f?c.attr("id"):this.get_text(c));return h},is_open:function(c){return(c=this._get_node(c))&&c!==-1&&c.hasClass("jstree-open")},is_closed:function(c){return(c=this._get_node(c))&&c!==-1&&c.hasClass("jstree-closed")},is_leaf:function(c){return(c=this._get_node(c))&&c!==-1&&c.hasClass("jstree-leaf")},open_node:function(c,f,h){c=this._get_node(c);if(!c.length)return false;if(!c.hasClass("jstree-closed")){f&&
f.call();return false}var j=h||i?0:this._get_settings().core.animation,l=this;if(this._is_loaded(c)){j&&c.children("ul").css("display","none");c.removeClass("jstree-closed").addClass("jstree-open").children("a").removeClass("jstree-loading");j&&c.children("ul").stop(true).slideDown(j,function(){this.style.display=""});this.__callback({obj:c});f&&f.call()}else{c.children("a").addClass("jstree-loading");this.load_node(c,function(){l.open_node(c,f,h)},f)}},close_node:function(c,f){c=this._get_node(c);
var h=f||i?0:this._get_settings().core.animation;if(!c.length||!c.hasClass("jstree-open"))return false;h&&c.children("ul").attr("style","display:block !important");c.removeClass("jstree-open").addClass("jstree-closed");h&&c.children("ul").stop(true).slideUp(h,function(){this.style.display=""});this.__callback({obj:c})},toggle_node:function(c){c=this._get_node(c);if(c.hasClass("jstree-closed"))return this.open_node(c);if(c.hasClass("jstree-open"))return this.close_node(c)},open_all:function(c,f){c=
c?this._get_node(c):this.get_container();if(!c||c===-1)c=this.get_container();if(f)c=c.find("li.jstree-closed");else{f=c;c=c.is(".jstree-closed")?c.find("li.jstree-closed").andSelf():c.find("li.jstree-closed")}var h=this;c.each(function(){var j=this;h._is_loaded(this)?h.open_node(this,false,true):h.open_node(this,function(){h.open_all(j,f)},true)});f.find("li.jstree-closed").length===0&&this.__callback({obj:f})},close_all:function(c){var f=this;c=c?this._get_node(c):this.get_container();if(!c||c===
-1)c=this.get_container();c.find("li.jstree-open").andSelf().each(function(){f.close_node(this)});this.__callback({obj:c})},clean_node:function(c){c=c&&c!=-1?b(c):this.get_container();c=c.is("li")?c.find("li").andSelf():c.find("li");c.removeClass("jstree-last").filter("li:last-child").addClass("jstree-last").end().filter(":has(li)").not(".jstree-open").removeClass("jstree-leaf").addClass("jstree-closed");c.not(".jstree-open, .jstree-closed").addClass("jstree-leaf").children("ul").remove();this.__callback({obj:c})},
get_rollback:function(){this.__callback();return{i:this.get_index(),h:this.get_container().children("ul").clone(true),d:this.data}},set_rollback:function(c,f){this.get_container().empty().append(c);this.data=f;this.__callback()},load_node:function(c){this.__callback({obj:c})},_is_loaded:function(){return true},create_node:function(c,f,h,j,l){c=this._get_node(c);f=typeof f==="undefined"?"last":f;var k=b("<li>"),m=this._get_settings().core,n;if(c!==-1&&!c.length)return false;if(!l&&!this._is_loaded(c)){this.load_node(c,
function(){this.create_node(c,f,h,j,true)});return false}this.__rollback();if(typeof h==="string")h={data:h};h||(h={});h.attr&&k.attr(h.attr);h.state&&k.addClass("jstree-"+h.state);if(!h.data)h.data=m.strings.new_node;if(!b.isArray(h.data)){n=h.data;h.data=[];h.data.push(n)}b.each(h.data,function(p,o){n=b("<a>");if(b.isFunction(o))o=o.call(this,h);if(typeof o=="string")n.attr("href","#")[m.html_titles?"html":"text"](o);else{if(!o.attr)o.attr={};if(!o.attr.href)o.attr.href="#";n.attr(o.attr)[m.html_titles?
"html":"text"](o.title);o.language&&n.addClass(o.language)}n.prepend("<ins class='jstree-icon'>&#160;</ins>");if(o.icon)o.icon.indexOf("/")===-1?n.children("ins").addClass(o.icon):n.children("ins").css("background","url('"+o.icon+"') center center no-repeat");k.append(n)});k.prepend("<ins class='jstree-icon'>&#160;</ins>");if(c===-1){c=this.get_container();if(f==="before")f="first";if(f==="after")f="last"}switch(f){case "before":c.before(k);n=this._get_parent(c);break;case "after":c.after(k);n=this._get_parent(c);
break;case "inside":case "first":c.children("ul").length||c.append("<ul>");c.children("ul").prepend(k);n=c;break;case "last":c.children("ul").length||c.append("<ul>");c.children("ul").append(k);n=c;break;default:c.children("ul").length||c.append("<ul>");f||(f=0);n=c.children("ul").children("li").eq(f);n.length?n.before(k):c.children("ul").append(k);n=c}if(n===-1||n.get(0)===this.get_container().get(0))n=-1;this.clean_node(n);this.__callback({obj:k,parent:n});j&&j.call(this,k);return k},get_text:function(c){c=
this._get_node(c);if(!c.length)return false;var f=this._get_settings().core.html_titles;c=c.children("a:eq(0)");if(f){c=c.clone();c.children("INS").remove();return c.html()}else{c=c.contents().filter(function(){return this.nodeType==3})[0];return c.nodeValue}},set_text:function(c,f){c=this._get_node(c);if(!c.length)return false;c=c.children("a:eq(0)");if(this._get_settings().core.html_titles){var h=c.children("INS").clone();c.html(f).prepend(h);this.__callback({obj:c,name:f});return true}else{c=c.contents().filter(function(){return this.nodeType==
3})[0];this.__callback({obj:c,name:f});return c.nodeValue=f}},rename_node:function(c,f){c=this._get_node(c);this.__rollback();c&&c.length&&this.set_text.apply(this,Array.prototype.slice.call(arguments))&&this.__callback({obj:c,name:f})},delete_node:function(c){c=this._get_node(c);if(!c.length)return false;this.__rollback();var f=this._get_parent(c),h=this._get_prev(c);c=c.remove();f!==-1&&f.find("> ul > li").length===0&&f.removeClass("jstree-open jstree-closed").addClass("jstree-leaf");this.clean_node(f);
this.__callback({obj:c,prev:h});return c},prepare_move:function(c,f,h,j,l){var k={};k.ot=b.jstree._reference(k.o)||this;k.o=k.ot._get_node(c);k.r=f===-1?-1:this._get_node(f);k.p=typeof k==="undefined"?"last":h;if(!(!l&&g.o&&g.o[0]===k.o[0]&&g.r[0]===k.r[0]&&g.p===k.p)){k.ot=b.jstree._reference(k.o)||this;k.rt=f===-1?k.ot:b.jstree._reference(k.r)||this;if(k.r===-1){k.cr=-1;switch(k.p){case "first":case "before":case "inside":k.cp=0;break;case "after":case "last":k.cp=k.rt.get_container().find(" > ul > li").length;
break;default:k.cp=k.p}}else{if(!/^(before|after)$/.test(k.p)&&!this._is_loaded(k.r))return this.load_node(k.r,function(){this.prepare_move(c,f,h,j,true)});switch(k.p){case "before":k.cp=k.r.index();k.cr=k.rt._get_parent(k.r);break;case "after":k.cp=k.r.index()+1;k.cr=k.rt._get_parent(k.r);break;case "inside":case "first":k.cp=0;k.cr=k.r;break;case "last":k.cp=k.r.find(" > ul > li").length;k.cr=k.r;break;default:k.cp=k.p;k.cr=k.r}}k.np=k.cr==-1?k.rt.get_container():k.cr;k.op=k.ot._get_parent(k.o);
k.or=k.np.find(" > ul > li:nth-child("+(k.cp+1)+")");g=k}this.__callback(g);j&&j.call(this,g)},check_move:function(){var c=g,f=true;if(c.or[0]===c.o[0])return false;c.o.each(function(){if(c.r.parentsUntil(".jstree").andSelf().filter("li").index(this)!==-1)return f=false});return f},move_node:function(c,f,h,j,l,k){if(!l)return this.prepare_move(c,f,h,function(n){this.move_node(n,false,false,j,true,k)});if(!k&&!this.check_move())return false;this.__rollback();f=false;if(j){f=c.o.clone();f.find("*[id]").andSelf().each(function(){if(this.id)this.id=
"copy_"+this.id})}else f=c.o;if(c.or.length)c.or.before(f);else{c.np.children("ul").length||b("<ul>").appendTo(c.np);c.np.children("ul:eq(0)").append(f)}try{c.ot.clean_node(c.op);c.rt.clean_node(c.np);c.op.find("> ul > li").length||c.op.removeClass("jstree-open jstree-closed").addClass("jstree-leaf").children("ul").remove()}catch(m){}if(j){g.cy=true;g.oc=f}this.__callback(g);return g},_get_move:function(){return g}}})})(jQuery);
(function(b){b.jstree.plugin("ui",{__init:function(){this.data.ui.selected=b();this.data.ui.last_selected=false;this.data.ui.hovered=null;this.data.ui.to_select=this.get_settings().ui.initially_select;this.get_container().delegate("a","click.jstree",b.proxy(function(a){a.preventDefault();this.select_node(a.currentTarget,true,a)},this)).delegate("a","mouseenter.jstree",b.proxy(function(a){this.hover_node(a.target)},this)).delegate("a","mouseleave.jstree",b.proxy(function(a){this.dehover_node(a.target)},
this)).bind("reopen.jstree",b.proxy(function(){this.reselect()},this)).bind("get_rollback.jstree",b.proxy(function(){this.dehover_node();this.save_selected()},this)).bind("set_rollback.jstree",b.proxy(function(){this.reselect()},this)).bind("close_node.jstree",b.proxy(function(a,d){var e=this._get_settings().ui,g=this._get_node(d.rslt.obj),i=g&&g.length?g.children("ul").find(".jstree-clicked"):b(),c=this;e.selected_parent_close===false||!i.length||i.each(function(){c.deselect_node(this);e.selected_parent_close===
"select_parent"&&c.select_node(g)})},this)).bind("delete_node.jstree",b.proxy(function(a,d){var e=this._get_settings().ui.select_prev_on_delete,g=this._get_node(d.rslt.obj);g=g&&g.length?g.find(".jstree-clicked"):[];var i=this;g.each(function(){i.deselect_node(this)});e&&g.length&&this.select_node(d.rslt.prev)},this)).bind("move_node.jstree",b.proxy(function(a,d){d.rslt.cy&&d.rslt.oc.find(".jstree-clicked").removeClass("jstree-clicked")},this))},defaults:{select_limit:-1,select_multiple_modifier:"ctrl",
selected_parent_close:"select_parent",select_prev_on_delete:true,disable_selecting_children:false,initially_select:[]},_fn:{_get_node:function(a,d){if(typeof a==="undefined"||a===null)return d?this.data.ui.selected:this.data.ui.last_selected;var e=b(a,this.get_container());if(e.is(".jstree")||a==-1)return-1;e=e.closest("li",this.get_container());return e.length?e:false},save_selected:function(){var a=this;this.data.ui.to_select=[];this.data.ui.selected.each(function(){a.data.ui.to_select.push("#"+
this.id.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/"))});this.__callback(this.data.ui.to_select)},reselect:function(){var a=this,d=this.data.ui.to_select;d=b.map(b.makeArray(d),function(e){return"#"+e.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/")});this.deselect_all();b.each(d,function(e,g){g&&g!=="#"&&a.select_node(g)});this.__callback()},refresh:function(){this.save_selected();return this.__call_old()},hover_node:function(a){a=this._get_node(a);if(!a.length)return false;
a.hasClass("jstree-hovered")||this.dehover_node();this.data.ui.hovered=a.children("a").addClass("jstree-hovered").parent();this.__callback({obj:a})},dehover_node:function(){var a=this.data.ui.hovered;if(!a||!a.length)return false;if(this.data.ui.hovered[0]===a.children("a").removeClass("jstree-hovered").parent()[0])this.data.ui.hovered=null;this.__callback({obj:a})},select_node:function(a,d,e){a=this._get_node(a);if(a==-1||!a||!a.length)return false;var g=this._get_settings().ui;e=g.select_multiple_modifier==
"on"||g.select_multiple_modifier!==false&&e&&e[g.select_multiple_modifier+"Key"];var i=this.is_selected(a),c=true;if(d){if(g.disable_selecting_children&&e&&a.parents("li",this.get_container()).children(".jstree-clicked").length)return false;c=false;switch(true){case i&&!e:this.deselect_all();i=false;c=true;break;case !i&&!e:if(g.select_limit==-1||g.select_limit>0){this.deselect_all();c=true}break;case i&&e:this.deselect_node(a);break;case !i&&e:if(g.select_limit==-1||this.data.ui.selected.length+
1<=g.select_limit)c=true}}if(c&&!i){a.children("a").addClass("jstree-clicked");this.data.ui.selected=this.data.ui.selected.add(a);this.data.ui.last_selected=a;this.__callback({obj:a})}},deselect_node:function(a){a=this._get_node(a);if(!a.length)return false;if(this.is_selected(a)){a.children("a").removeClass("jstree-clicked");this.data.ui.selected=this.data.ui.selected.not(a);if(this.data.ui.last_selected.get(0)===a.get(0))this.data.ui.last_selected=this.data.ui.selected.eq(0);this.__callback({obj:a})}},
toggle_select:function(a){a=this._get_node(a);if(!a.length)return false;this.is_selected(a)?this.deselect_node(a):this.select_node(a)},is_selected:function(a){return this.data.ui.selected.index(this._get_node(a))>=0},get_selected:function(a){return a?b(a).find(".jstree-clicked").parent():this.data.ui.selected},deselect_all:function(a){a?b(a).find(".jstree-clicked").removeClass("jstree-clicked"):this.get_container().find(".jstree-clicked").removeClass("jstree-clicked");this.data.ui.selected=b([]);
this.data.ui.last_selected=false;this.__callback()}}});b.jstree.defaults.plugins.push("ui")})(jQuery);
(function(b){b.jstree.plugin("crrm",{__init:function(){this.get_container().bind("move_node.jstree",b.proxy(function(a,d){if(this._get_settings().crrm.move.open_onmove){var e=this;d.rslt.np.parentsUntil(".jstree").andSelf().filter(".jstree-closed").each(function(){e.open_node(this,false,true)})}},this))},defaults:{input_width_limit:200,move:{always_copy:false,open_onmove:true,default_position:"last",check_move:function(){return true}}},_fn:{_show_input:function(a,d){a=this._get_node(a);var e=this._get_settings().core.rtl,
g=this._get_settings().crrm.input_width_limit,i=a.children("ins").width(),c=a.find("> a:visible > ins").width()*a.find("> a:visible > ins").length,f=this.get_text(a),h=b("<div>",{css:{position:"absolute",top:"-200px",left:e?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),j=a.css("position","relative").append(b("<input>",{value:f,css:{padding:"0",border:"1px solid silver",position:"absolute",left:e?"auto":i+c+4+"px",right:e?i+c+4+"px":"auto",top:"0px",height:this.data.core.li_height-2+"px",
lineHeight:this.data.core.li_height-2+"px",width:"150px"},blur:b.proxy(function(){var l=a.children("input"),k=l.val();if(k==="")k=f;l.remove();this.set_text(a,f);this.rename_node(a,k);d.call(this,a,k,f);a.css("position","")},this),keyup:function(l){l=l.keyCode||l.which;if(l==27){this.value=f;this.blur()}else l==13?this.blur():j.width(Math.min(h.text("pW"+this.value).width(),g))}})).children("input");this.set_text(a,"");h.css({fontFamily:j.css("fontFamily")||"",fontSize:j.css("fontSize")||"",fontWeight:j.css("fontWeight")||
"",fontStyle:j.css("fontStyle")||"",fontStretch:j.css("fontStretch")||"",fontVariant:j.css("fontVariant")||"",letterSpacing:j.css("letterSpacing")||"",wordSpacing:j.css("wordSpacing")||""});j.width(Math.min(h.text("pW"+j[0].value).width(),g))[0].select()},rename:function(a){a=this._get_node(a);this.__rollback();var d=this.__callback;this._show_input(a,function(e,g,i){d.call(this,{obj:e,new_name:g,old_name:i})})},create:function(a,d,e,g,i){var c=this;(a=this._get_node(a))||(a=-1);this.__rollback();
return this.create_node(a,d,e,function(f){var h=this._get_parent(f),j=b(f).index();g&&g.call(this,f);h.length&&h.hasClass("jstree-closed")&&this.open_node(h,false,true);i?c.__callback({obj:f,name:this.get_text(f),parent:h,position:j}):this._show_input(f,function(l,k){c.__callback({obj:l,name:k,parent:h,position:j})})})},remove:function(a){a=this._get_node(a,true);this.__rollback();this.delete_node(a);this.__callback({obj:a})},check_move:function(){if(!this.__call_old())return false;if(!this._get_settings().crrm.move.check_move.call(this,
this._get_move()))return false;return true},move_node:function(a,d,e,g,i,c){var f=this._get_settings().crrm.move;if(!i){if(!e)e=f.default_position;if(e==="inside"&&!f.default_position.match(/^(before|after)$/))e=f.default_position;return this.__call_old(true,a,d,e,g,false,c)}if(f.always_copy===true||f.always_copy==="multitree"&&a.rt.get_index()!==a.ot.get_index())g=true;this.__call_old(true,a,d,e,g,true,c)},cut:function(a){a=this._get_node(a);this.data.crrm.cp_nodes=false;this.data.crrm.ct_nodes=
false;if(!a||!a.length)return false;this.data.crrm.ct_nodes=a},copy:function(a){a=this._get_node(a);this.data.crrm.cp_nodes=false;this.data.crrm.ct_nodes=false;if(!a||!a.length)return false;this.data.crrm.cp_nodes=a},paste:function(a){a=this._get_node(a);if(!a||!a.length)return false;if(!this.data.crrm.ct_nodes&&!this.data.crrm.cp_nodes)return false;this.data.crrm.ct_nodes&&this.move_node(this.data.crrm.ct_nodes,a);this.data.crrm.cp_nodes&&this.move_node(this.data.crrm.cp_nodes,a,false,true);this.data.crrm.cp_nodes=
false;this.data.crrm.ct_nodes=false}}});b.jstree.defaults.plugins.push("crrm")})(jQuery);
(function(b){var a=[];b.jstree._themes=false;b.jstree.plugin("themes",{__init:function(){this.get_container().bind("init.jstree",b.proxy(function(){var d=this._get_settings().themes;this.data.themes.dots=d.dots;this.data.themes.icons=d.icons;this.set_theme(d.theme,d.url)},this)).bind("loaded.jstree",b.proxy(function(){this.data.themes.dots?this.show_dots():this.hide_dots();this.data.themes.icons?this.show_icons():this.hide_icons()},this))},defaults:{theme:"default",url:false,dots:true,icons:true},
_fn:{set_theme:function(d,e){if(!d)return false;e||(e=b.jstree._themes+d+"/style.css");if(b.inArray(e,a)==-1){b.vakata.css.add_sheet({url:e,rel:"jstree"});a.push(e)}if(this.data.themes.theme!=d){this.get_container().removeClass("jstree-"+this.data.themes.theme);this.data.themes.theme=d}this.get_container().addClass("jstree-"+d);this.data.themes.dots?this.show_dots():this.hide_dots();this.data.themes.icons?this.show_icons():this.hide_icons();this.__callback()},get_theme:function(){return this.data.themes.theme},
show_dots:function(){this.data.themes.dots=true;this.get_container().children("ul").removeClass("jstree-no-dots")},hide_dots:function(){this.data.themes.dots=false;this.get_container().children("ul").addClass("jstree-no-dots")},toggle_dots:function(){this.data.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this.data.themes.icons=true;this.get_container().children("ul").removeClass("jstree-no-icons")},hide_icons:function(){this.data.themes.icons=false;this.get_container().children("ul").addClass("jstree-no-icons")},
toggle_icons:function(){this.data.themes.icons?this.hide_icons():this.show_icons()}}});b(function(){b.jstree._themes===false&&b("script").each(function(){if(this.src.toString().match(/jquery\.jstree[^\/]*?\.js(\?.*)?$/)){b.jstree._themes=this.src.toString().replace(/jquery\.jstree[^\/]*?\.js(\?.*)?$/,"")+"themes/";return false}});if(b.jstree._themes===false)b.jstree._themes="themes/"});b.jstree.defaults.plugins.push("themes")})(jQuery);
(function(b){var a=[];b.jstree.plugin("hotkeys",{__init:function(){if(typeof b.hotkeys==="undefined")throw"jsTree hotkeys: jQuery hotkeys plugin not included.";if(!this.data.ui)throw"jsTree hotkeys: jsTree UI plugin not included.";b.each(this._get_settings().hotkeys,function(d){if(b.inArray(d,a)==-1){b(document).bind("keydown",d,function(e){var g;var i=b.jstree._focused(),c;if(i&&i.data&&i.data.hotkeys&&i.data.hotkeys.enabled)if(c=i._get_settings().hotkeys[d])g=c.call(i,e);return g});a.push(d)}});
this.enable_hotkeys()},defaults:{up:function(){this.hover_node(this._get_prev(this.data.ui.hovered||this.data.ui.last_selected||-1));return false},down:function(){this.hover_node(this._get_next(this.data.ui.hovered||this.data.ui.last_selected||-1));return false},left:function(){var d=this.data.ui.hovered||this.data.ui.last_selected;if(d)d.hasClass("jstree-open")?this.close_node(d):this.hover_node(this._get_prev(d));return false},right:function(){var d=this.data.ui.hovered||this.data.ui.last_selected;
if(d&&d.length)d.hasClass("jstree-closed")?this.open_node(d):this.hover_node(this._get_next(d));return false},space:function(){this.data.ui.hovered&&this.data.ui.hovered.children("a:eq(0)").click();return false},"ctrl+space":function(d){d.type="click";this.data.ui.hovered&&this.data.ui.hovered.children("a:eq(0)").trigger(d);return false},f2:function(){this.rename(this.data.ui.hovered||this.data.ui.last_selected)},del:function(){this.remove(this.data.ui.hovered||this._get_node(null))}},_fn:{enable_hotkeys:function(){this.data.hotkeys.enabled=
true},disable_hotkeys:function(){this.data.hotkeys.enabled=false}}})})(jQuery);
(function(b){b.jstree.plugin("json_data",{defaults:{data:false,ajax:false,correct_state:true,progressive_render:false},_fn:{load_node:function(a,d,e){var g=this;this.load_node_json(a,function(){g.__callback({obj:a});d.call(this)},e)},_is_loaded:function(a){var d=this._get_settings().json_data;if((a=this._get_node(a))&&a!==-1&&d.progressive_render&&!a.is(".jstree-open, .jstree-leaf")&&a.children("ul").children("li").length===0&&a.data("jstree-children")){if(d=this._parse_json(a.data("jstree-children"))){a.append(d);
b.removeData(a,"jstree-children")}this.clean_node(a);return true}return a==-1||!a||!d.ajax||a.is(".jstree-open, .jstree-leaf")||a.children("ul").children("li").size()>0},load_node_json:function(a,d,e){var g=this.get_settings().json_data,i,c=function(){};i=function(){};if((a=this._get_node(a))&&a!==-1)if(a.data("jstree-is-loading"))return;else a.data("jstree-is-loading",true);switch(true){case !g.data&&!g.ajax:throw"Neither data nor ajax settings supplied.";case !!g.data&&!g.ajax||!!g.data&&!!g.ajax&&
(!a||a===-1):if(!a||a==-1)if(i=this._parse_json(g.data)){this.get_container().children("ul").empty().append(i.children());this.clean_node()}else g.correct_state&&this.get_container().children("ul").empty();d&&d.call(this);break;case !g.data&&!!g.ajax||!!g.data&&!!g.ajax&&a&&a!==-1:c=function(f,h,j){var l=this.get_settings().json_data.ajax.error;l&&l.call(this,f,h,j);if(a!=-1&&a.length){a.children(".jstree-loading").removeClass("jstree-loading");a.data("jstree-is-loading",false);h==="success"&&g.correct_state&&
a.removeClass("jstree-open jstree-closed").addClass("jstree-leaf")}else h==="success"&&g.correct_state&&this.get_container().children("ul").empty();e&&e.call(this)};i=function(f,h,j){var l=this.get_settings().json_data.ajax.success;if(l)f=l.call(this,f,h,j)||f;if(f===""||!b.isArray(f)&&!b.isPlainObject(f))return c.call(this,j,h,"");if(f=this._parse_json(f)){if(a===-1||!a)this.get_container().children("ul").empty().append(f.children());else{a.append(f).children(".jstree-loading").removeClass("jstree-loading");
a.data("jstree-is-loading",false)}this.clean_node(a);d&&d.call(this)}else if(a===-1||!a){if(g.correct_state){this.get_container().children("ul").empty();d&&d.call(this)}}else{a.children(".jstree-loading").removeClass("jstree-loading");a.data("jstree-is-loading",false);if(g.correct_state){a.removeClass("jstree-open jstree-closed").addClass("jstree-leaf");d&&d.call(this)}}};g.ajax.context=this;g.ajax.error=c;g.ajax.success=i;if(!g.ajax.dataType)g.ajax.dataType="json";if(b.isFunction(g.ajax.url))g.ajax.url=
g.ajax.url.call(this,a);if(b.isFunction(g.ajax.data))g.ajax.data=g.ajax.data.call(this,a);b.ajax(g.ajax)}},_parse_json:function(a,d){var e=false,g=this._get_settings(),i=g.json_data,c=g.core.html_titles,f;if(!a)return e;if(b.isFunction(a))a=a.call(this);if(b.isArray(a)){e=b();if(!a.length)return false;g=0;for(i=a.length;g<i;g++){f=this._parse_json(a[g],true);if(f.length)e=e.add(f)}}else{if(typeof a=="string")a={data:a};if(!a.data&&a.data!=="")return e;e=b("<li>");a.attr&&e.attr(a.attr);a.metadata&&
e.data("jstree",a.metadata);a.state&&e.addClass("jstree-"+a.state);if(!b.isArray(a.data)){f=a.data;a.data=[];a.data.push(f)}b.each(a.data,function(h,j){f=b("<a>");if(b.isFunction(j))j=j.call(this,a);if(typeof j=="string")f.attr("href","#")[c?"html":"text"](j);else{if(!j.attr)j.attr={};if(!j.attr.href)j.attr.href="#";f.attr(j.attr)[c?"html":"text"](j.title);j.language&&f.addClass(j.language)}f.prepend("<ins class='jstree-icon'>&#160;</ins>");if(!j.icon&&a.icon)j.icon=a.icon;if(j.icon)j.icon.indexOf("/")===
-1?f.children("ins").addClass(j.icon):f.children("ins").css("background","url('"+j.icon+"') center center no-repeat");e.append(f)});e.prepend("<ins class='jstree-icon'>&#160;</ins>");if(a.children)if(i.progressive_render&&a.state!=="open")e.addClass("jstree-closed").data("jstree-children",a.children);else{if(b.isFunction(a.children))a.children=a.children.call(this,a);if(b.isArray(a.children)&&a.children.length){f=this._parse_json(a.children,true);if(f.length){g=b("<ul>");g.append(f);e.append(g)}}}}if(!d){g=
b("<ul>");g.append(e);e=g}return e},get_json:function(a,d,e,g){var i=[],c=this._get_settings(),f=this,h,j,l,k,m,n;a=this._get_node(a);if(!a||a===-1)a=this.get_container().find("> ul > li");d=b.isArray(d)?d:["id","class"];!g&&this.data.types&&d.push(c.types.type_attr);e=b.isArray(e)?e:[];a.each(function(){l=b(this);h={data:[]};if(d.length)h.attr={};b.each(d,function(p,o){if((j=l.attr(o))&&j.length&&j.replace(/jstree[^ ]*|$/ig,"").length)h.attr[o]=j.replace(/jstree[^ ]*|$/ig,"")});if(l.hasClass("jstree-open"))h.state=
"open";if(l.hasClass("jstree-closed"))h.state="closed";k=l.children("a");k.each(function(){m=b(this);if(e.length||b.inArray("languages",c.plugins)!==-1||m.children("ins").get(0).style.backgroundImage.length||m.children("ins").get(0).className&&m.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,"").length){n=false;b.inArray("languages",c.plugins)!==-1&&b.isArray(c.languages)&&c.languages.length&&b.each(c.languages,function(p,o){if(m.hasClass(o)){n=o;return false}});j={attr:{},title:f.get_text(m,
n)};b.each(e,function(p,o){h.attr[o]=(m.attr(o)||"").replace(/jstree[^ ]*|$/ig,"")});b.each(c.languages,function(p,o){if(m.hasClass(o)){j.language=o;return true}});if(m.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,"").replace(/^\s+$/ig,"").length)j.icon=m.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,"").replace(/^\s+$/ig,"");if(m.children("ins").get(0).style.backgroundImage.length)j.icon=m.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","")}else j=
f.get_text(m);if(k.length>1)h.data.push(j);else h.data=j});l=l.find("> ul > li");if(l.length)h.children=f.get_json(l,d,e,true);i.push(h)});return i}}})})(jQuery);
(function(b){b.jstree.plugin("languages",{__init:function(){this._load_css()},defaults:[],_fn:{set_lang:function(a){var d=this._get_settings().languages,e=false,g=".jstree-"+this.get_index()+" a";if(!b.isArray(d)||d.length===0)return false;if(b.inArray(a,d)==-1)if(d[a])a=d[a];else return false;if(a==this.data.languages.current_language)return true;e=b.vakata.css.get_css(g+"."+this.data.languages.current_language,false,this.data.languages.language_css);if(e!==false)e.style.display="none";e=b.vakata.css.get_css(g+
"."+a,false,this.data.languages.language_css);if(e!==false)e.style.display="";this.data.languages.current_language=a;this.__callback(a);return true},get_lang:function(){return this.data.languages.current_language},get_text:function(a,d){a=this._get_node(a)||this.data.ui.last_selected;if(!a.size())return false;var e=this._get_settings().languages,g=this._get_settings().core.html_titles;if(b.isArray(e)&&e.length){d=d&&b.inArray(d,e)!=-1?d:this.data.languages.current_language;a=a.children("a."+d)}else a=
a.children("a:eq(0)");if(g){a=a.clone();a.children("INS").remove();return a.html()}else{a=a.contents().filter(function(){return this.nodeType==3})[0];return a.nodeValue}},set_text:function(a,d,e){a=this._get_node(a)||this.data.ui.last_selected;if(!a.size())return false;var g=this._get_settings().languages,i=this._get_settings().core.html_titles;if(b.isArray(g)&&g.length){e=e&&b.inArray(e,g)!=-1?e:this.data.languages.current_language;a=a.children("a."+e)}else a=a.children("a:eq(0)");if(i){g=a.children("INS").clone();
a.html(d).prepend(g);this.__callback({obj:a,name:d,lang:e});return true}else{a=a.contents().filter(function(){return this.nodeType==3})[0];this.__callback({obj:a,name:d,lang:e});return a.nodeValue=d}},_load_css:function(){var a=this._get_settings().languages,d="/* languages css */",e=".jstree-"+this.get_index()+" a",g;if(b.isArray(a)&&a.length){this.data.languages.current_language=a[0];for(g=0;g<a.length;g++){d+=e+"."+a[g]+" {";if(a[g]!=this.data.languages.current_language)d+=" display:none; ";d+=
" } "}this.data.languages.language_css=b.vakata.css.add_sheet({str:d})}},create_node:function(a,d,e,g){return this.__call_old(true,a,d,e,function(i){var c=this._get_settings().languages,f=i.children("a"),h;if(b.isArray(c)&&c.length){for(h=0;h<c.length;h++)f.is("."+c[h])||i.append(f.eq(0).clone().removeClass(c.join(" ")).addClass(c[h]));f.not("."+c.join(", .")).remove()}g&&g.call(this,i)})}}})})(jQuery);
(function(b){b.jstree.plugin("cookies",{__init:function(){if(typeof b.cookie==="undefined")throw"jsTree cookie: jQuery cookie plugin not included.";var a=this._get_settings().cookies,d;if(a.save_opened)if((d=b.cookie(a.save_opened))&&d.length)this.data.core.to_open=d.split(",");if(a.save_selected)if((d=b.cookie(a.save_selected))&&d.length&&this.data.ui)this.data.ui.to_select=d.split(",");this.get_container().one((this.data.ui?"reselect":"reopen")+".jstree",b.proxy(function(){this.get_container().bind("open_node.jstree close_node.jstree select_node.jstree deselect_node.jstree",
b.proxy(function(e){this._get_settings().cookies.auto_save&&this.save_cookie((e.handleObj.namespace+e.handleObj.type).replace("jstree",""))},this))},this))},defaults:{save_opened:"jstree_open",save_selected:"jstree_select",auto_save:true,cookie_options:{}},_fn:{save_cookie:function(a){if(!this.data.core.refreshing){var d=this._get_settings().cookies;if(a)switch(a){case "open_node":case "close_node":if(d.save_opened){this.save_opened();b.cookie(d.save_opened,this.data.core.to_open.join(","),d.cookie_options)}break;
case "select_node":case "deselect_node":if(d.save_selected&&this.data.ui){this.save_selected();b.cookie(d.save_selected,this.data.ui.to_select.join(","),d.cookie_options)}}else{if(d.save_opened){this.save_opened();b.cookie(d.save_opened,this.data.core.to_open.join(","),d.cookie_options)}if(d.save_selected&&this.data.ui){this.save_selected();b.cookie(d.save_selected,this.data.ui.to_select.join(","),d.cookie_options)}}}}}});b.jstree.defaults.plugins.push("cookies")})(jQuery);
(function(b){b.jstree.plugin("sort",{__init:function(){this.get_container().bind("load_node.jstree",b.proxy(function(a,d){var e=this._get_node(d.rslt.obj);e=e===-1?this.get_container().children("ul"):e.children("ul");this.sort(e)},this)).bind("rename_node.jstree",b.proxy(function(a,d){this.sort(d.rslt.obj.parent())},this)).bind("move_node.jstree",b.proxy(function(a,d){this.sort((d.rslt.np==-1?this.get_container():d.rslt.np).children("ul"))},this))},defaults:function(a,d){return this.get_text(a)>this.get_text(d)?
1:-1},_fn:{sort:function(a){var d=this._get_settings().sort,e=this;a.append(b.makeArray(a.children("li")).sort(b.proxy(d,e)));a.find("> li > ul").each(function(){e.sort(b(this))});this.clean_node(a)}}})})(jQuery);
(function(b){var a=false,d=false,e=false,g=false,i=false,c=false,f=false;b.vakata.dnd={is_down:false,is_drag:false,helper:false,scroll_spd:10,init_x:0,init_y:0,threshold:5,user_data:{},drag_start:function(h,j,l){b.vakata.dnd.is_drag&&b.vakata.drag_stop({});try{h.currentTarget.unselectable="on";h.currentTarget.onselectstart=function(){return false};if(h.currentTarget.style)h.currentTarget.style.MozUserSelect="none"}catch(k){}b.vakata.dnd.init_x=h.pageX;b.vakata.dnd.init_y=h.pageY;b.vakata.dnd.user_data=
j;b.vakata.dnd.is_down=true;b.vakata.dnd.helper=b("<div id='vakata-dragged'>").html(l).css("opacity","0.75");b(document).bind("mousemove",b.vakata.dnd.drag);b(document).bind("mouseup",b.vakata.dnd.drag_stop);return false},drag:function(h){if(b.vakata.dnd.is_down){if(!b.vakata.dnd.is_drag)if(Math.abs(h.pageX-b.vakata.dnd.init_x)>5||Math.abs(h.pageY-b.vakata.dnd.init_y)>5){b.vakata.dnd.helper.appendTo("body");b.vakata.dnd.is_drag=true;b(document).triggerHandler("drag_start.vakata",{event:h,data:b.vakata.dnd.user_data})}else return;
if(h.type==="mousemove"){var j=b(document),l=j.scrollTop();j=j.scrollLeft();if(h.pageY-l<20){if(i&&c==="down"){clearInterval(i);i=false}if(!i){c="up";i=setInterval(function(){b(document).scrollTop(b(document).scrollTop()-b.vakata.dnd.scroll_spd)},150)}}else if(i&&c==="up"){clearInterval(i);i=false}if(b(window).height()-(h.pageY-l)<20){if(i&&c==="up"){clearInterval(i);i=false}if(!i){c="down";i=setInterval(function(){b(document).scrollTop(b(document).scrollTop()+b.vakata.dnd.scroll_spd)},150)}}else if(i&&
c==="down"){clearInterval(i);i=false}if(h.pageX-j<20){if(g&&f==="right"){clearInterval(g);g=false}if(!g){f="left";g=setInterval(function(){b(document).scrollLeft(b(document).scrollLeft()-b.vakata.dnd.scroll_spd)},150)}}else if(g&&f==="left"){clearInterval(g);g=false}if(b(window).width()-(h.pageX-j)<20){if(g&&f==="left"){clearInterval(g);g=false}if(!g){f="right";g=setInterval(function(){b(document).scrollLeft(b(document).scrollLeft()+b.vakata.dnd.scroll_spd)},150)}}else if(g&&f==="right"){clearInterval(g);
g=false}}b.vakata.dnd.helper.css({left:h.pageX+5+"px",top:h.pageY+10+"px"});b(document).triggerHandler("drag.vakata",{event:h,data:b.vakata.dnd.user_data})}},drag_stop:function(h){b(document).unbind("mousemove",b.vakata.dnd.drag);b(document).unbind("mouseup",b.vakata.dnd.drag_stop);b(document).triggerHandler("drag_stop.vakata",{event:h,data:b.vakata.dnd.user_data});b.vakata.dnd.helper.remove();b.vakata.dnd.init_x=0;b.vakata.dnd.init_y=0;b.vakata.dnd.user_data={};b.vakata.dnd.is_down=false;b.vakata.dnd.is_drag=
false}};b(function(){b.vakata.css.add_sheet({str:"#vakata-dragged { display:block; margin:0 0 0 0; padding:4px 4px 4px 24px; position:absolute; top:-2000px; line-height:16px; z-index:10000; } "})});b.jstree.plugin("dnd",{__init:function(){this.data.dnd={active:false,after:false,inside:false,before:false,off:false,prepared:false,w:0,to1:false,to2:false,cof:false,cw:false,ch:false,i1:false,i2:false};this.get_container().bind("mouseenter.jstree",b.proxy(function(){if(b.vakata.dnd.is_drag&&b.vakata.dnd.user_data.jstree&&
this.data.themes){e.attr("class","jstree-"+this.data.themes.theme);b.vakata.dnd.helper.attr("class","jstree-dnd-helper jstree-"+this.data.themes.theme)}},this)).bind("mouseleave.jstree",b.proxy(function(){if(b.vakata.dnd.is_drag&&b.vakata.dnd.user_data.jstree){this.data.dnd.i1&&clearInterval(this.data.dnd.i1);this.data.dnd.i2&&clearInterval(this.data.dnd.i2)}},this)).bind("mousemove.jstree",b.proxy(function(j){if(b.vakata.dnd.is_drag&&b.vakata.dnd.user_data.jstree){var l=this.get_container()[0];if(j.pageX+
24>this.data.dnd.cof.left+this.data.dnd.cw){this.data.dnd.i1&&clearInterval(this.data.dnd.i1);this.data.dnd.i1=setInterval(b.proxy(function(){this.scrollLeft+=b.vakata.dnd.scroll_spd},l),100)}else if(j.pageX-24<this.data.dnd.cof.left){this.data.dnd.i1&&clearInterval(this.data.dnd.i1);this.data.dnd.i1=setInterval(b.proxy(function(){this.scrollLeft-=b.vakata.dnd.scroll_spd},l),100)}else this.data.dnd.i1&&clearInterval(this.data.dnd.i1);if(j.pageY+24>this.data.dnd.cof.top+this.data.dnd.ch){this.data.dnd.i2&&
clearInterval(this.data.dnd.i2);this.data.dnd.i2=setInterval(b.proxy(function(){this.scrollTop+=b.vakata.dnd.scroll_spd},l),100)}else if(j.pageY-24<this.data.dnd.cof.top){this.data.dnd.i2&&clearInterval(this.data.dnd.i2);this.data.dnd.i2=setInterval(b.proxy(function(){this.scrollTop-=b.vakata.dnd.scroll_spd},l),100)}else this.data.dnd.i2&&clearInterval(this.data.dnd.i2)}},this)).delegate("a","mousedown.jstree",b.proxy(function(j){if(j.which===1){this.start_drag(j.currentTarget,j);return false}},this)).delegate("a",
"mouseenter.jstree",b.proxy(function(j){b.vakata.dnd.is_drag&&b.vakata.dnd.user_data.jstree&&this.dnd_enter(j.currentTarget)},this)).delegate("a","mousemove.jstree",b.proxy(function(j){if(b.vakata.dnd.is_drag&&b.vakata.dnd.user_data.jstree){if(typeof this.data.dnd.off.top==="undefined")this.data.dnd.off=b(j.target).offset();this.data.dnd.w=(j.pageY-(this.data.dnd.off.top||0))%this.data.core.li_height;if(this.data.dnd.w<0)this.data.dnd.w+=this.data.core.li_height;this.dnd_show()}},this)).delegate("a",
"mouseleave.jstree",b.proxy(function(j){if(b.vakata.dnd.is_drag&&b.vakata.dnd.user_data.jstree){this.data.dnd.after=false;this.data.dnd.before=false;this.data.dnd.inside=false;b.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");e.hide();if(d&&d[0]===j.target.parentNode){if(this.data.dnd.to1){clearTimeout(this.data.dnd.to1);this.data.dnd.to1=false}if(this.data.dnd.to2){clearTimeout(this.data.dnd.to2);this.data.dnd.to2=false}}}},this)).delegate("a","mouseup.jstree",b.proxy(function(j){b.vakata.dnd.is_drag&&
b.vakata.dnd.user_data.jstree&&this.dnd_finish(j)},this));b(document).bind("drag_stop.vakata",b.proxy(function(){this.data.dnd.after=false;this.data.dnd.before=false;this.data.dnd.inside=false;this.data.dnd.off=false;this.data.dnd.prepared=false;this.data.dnd.w=false;this.data.dnd.to1=false;this.data.dnd.to2=false;this.data.dnd.active=false;this.data.dnd.foreign=false;e&&e.css({top:"-2000px"})},this)).bind("drag_start.vakata",b.proxy(function(j,l){if(l.data.jstree){var k=b(l.event.target);k.closest(".jstree").hasClass("jstree-"+
this.get_index())&&this.dnd_enter(k)}},this));var h=this._get_settings().dnd;h.drag_target&&b(document).delegate(h.drag_target,"mousedown.jstree",b.proxy(function(j){a=j.target;b.vakata.dnd.drag_start(j,{jstree:true,obj:j.target},"<ins class='jstree-icon'></ins>"+b(j.target).text());if(this.data.themes){e.attr("class","jstree-"+this.data.themes.theme);b.vakata.dnd.helper.attr("class","jstree-dnd-helper jstree-"+this.data.themes.theme)}b.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");
j=this.get_container();this.data.dnd.cof=j.offset();this.data.dnd.cw=parseInt(j.width(),10);this.data.dnd.ch=parseInt(j.height(),10);this.data.dnd.foreign=true;return false},this));h.drop_target&&b(document).delegate(h.drop_target,"mouseenter.jstree",b.proxy(function(j){this.data.dnd.active&&this._get_settings().dnd.drop_check.call(this,{o:a,r:b(j.target)})&&b.vakata.dnd.helper.children("ins").attr("class","jstree-ok")},this)).delegate(h.drop_target,"mouseleave.jstree",b.proxy(function(){this.data.dnd.active&&
b.vakata.dnd.helper.children("ins").attr("class","jstree-invalid")},this)).delegate(h.drop_target,"mouseup.jstree",b.proxy(function(j){this.data.dnd.active&&b.vakata.dnd.helper.children("ins").hasClass("jstree-ok")&&this._get_settings().dnd.drop_finish.call(this,{o:a,r:b(j.target)})},this))},defaults:{copy_modifier:"ctrl",check_timeout:200,open_timeout:500,drop_target:".jstree-drop",drop_check:function(){return true},drop_finish:b.noop,drag_target:".jstree-draggable",drag_finish:b.noop,drag_check:function(){return{after:false,
before:false,inside:true}}},_fn:{dnd_prepare:function(){if(d&&d.length){this.data.dnd.off=d.offset();if(this._get_settings().core.rtl)this.data.dnd.off.right=this.data.dnd.off.left+d.width();if(this.data.dnd.foreign){var h=this._get_settings().dnd.drag_check.call(this,{o:a,r:d});this.data.dnd.after=h.after;this.data.dnd.before=h.before;this.data.dnd.inside=h.inside;this.data.dnd.prepared=true;return this.dnd_show()}this.prepare_move(a,d,"before");this.data.dnd.before=this.check_move();this.prepare_move(a,
d,"after");this.data.dnd.after=this.check_move();if(this._is_loaded(d)){this.prepare_move(a,d,"inside");this.data.dnd.inside=this.check_move()}else this.data.dnd.inside=false;this.data.dnd.prepared=true;return this.dnd_show()}},dnd_show:function(){if(this.data.dnd.prepared){var h=["before","inside","after"],j=false,l=this._get_settings().core.rtl;h=this.data.dnd.w<this.data.core.li_height/3?["before","inside","after"]:this.data.dnd.w<=this.data.core.li_height*2/3?this.data.dnd.w<this.data.core.li_height/
2?["inside","before","after"]:["inside","after","before"]:["after","inside","before"];b.each(h,b.proxy(function(k,m){if(this.data.dnd[m]){b.vakata.dnd.helper.children("ins").attr("class","jstree-ok");j=m;return false}},this));j===false&&b.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");h=l?this.data.dnd.off.right-18:this.data.dnd.off.left+10;switch(j){case "before":e.css({left:h+"px",top:this.data.dnd.off.top-6+"px"}).show();break;case "after":e.css({left:h+"px",top:this.data.dnd.off.top+
this.data.core.li_height-7+"px"}).show();break;case "inside":e.css({left:h+(l?-4:4)+"px",top:this.data.dnd.off.top+this.data.core.li_height/2-5+"px"}).show();break;default:e.hide()}return j}},dnd_open:function(){this.data.dnd.to2=false;this.open_node(d,b.proxy(this.dnd_prepare,this),true)},dnd_finish:function(h){if(this.data.dnd.foreign){if(this.data.dnd.after||this.data.dnd.before||this.data.dnd.inside)this._get_settings().dnd.drag_finish.call(this,{o:a,r:d})}else{this.dnd_prepare();this.move_node(a,
d,this.dnd_show(),h[this._get_settings().dnd.copy_modifier+"Key"])}d=a=false;e.hide()},dnd_enter:function(h){var j=this._get_settings().dnd;this.data.dnd.prepared=false;d=this._get_node(h);if(j.check_timeout){this.data.dnd.to1&&clearTimeout(this.data.dnd.to1);this.data.dnd.to1=setTimeout(b.proxy(this.dnd_prepare,this),j.check_timeout)}else this.dnd_prepare();if(j.open_timeout){this.data.dnd.to2&&clearTimeout(this.data.dnd.to2);if(d&&d.length&&d.hasClass("jstree-closed"))this.data.dnd.to2=setTimeout(b.proxy(this.dnd_open,
this),j.open_timeout)}else d&&d.length&&d.hasClass("jstree-closed")&&this.dnd_open()},start_drag:function(h,j){a=this._get_node(h);if(this.data.ui&&this.is_selected(a))a=this._get_node(null,true);b.vakata.dnd.drag_start(j,{jstree:true,obj:a},"<ins class='jstree-icon'></ins>"+(a.length>1?"Multiple selection":this.get_text(a)));if(this.data.themes){e.attr("class","jstree-"+this.data.themes.theme);b.vakata.dnd.helper.attr("class","jstree-dnd-helper jstree-"+this.data.themes.theme)}var l=this.get_container();
this.data.dnd.cof=l.children("ul").offset();this.data.dnd.cw=parseInt(l.width(),10);this.data.dnd.ch=parseInt(l.height(),10);this.data.dnd.active=true}}});b(function(){b.vakata.css.add_sheet({str:"#vakata-dragged ins { display:block; text-decoration:none; width:16px; height:16px; margin:0 0 0 0; padding:0; position:absolute; top:4px; left:4px; } #vakata-dragged .jstree-ok { background:green; } #vakata-dragged .jstree-invalid { background:red; } #jstree-marker { padding:0; margin:0; line-height:12px; font-size:1px; overflow:hidden; height:12px; width:8px; position:absolute; top:-30px; z-index:10000; background-repeat:no-repeat; display:none; background-color:silver; } "});
e=b("<div>").attr({id:"jstree-marker"}).hide().appendTo("body");b(document).bind("drag_start.vakata",function(h,j){j.data.jstree&&e.show()});b(document).bind("drag_stop.vakata",function(h,j){j.data.jstree&&e.hide()})})})(jQuery);
(function(b){b.jstree.plugin("checkbox",{__init:function(){this.select_node=this.deselect_node=this.deselect_all=b.noop;this.get_selected=this.get_checked;this.get_container().bind("open_node.jstree create_node.jstree clean_node.jstree",b.proxy(function(a,d){this._prepare_checkboxes(d.rslt.obj)},this)).bind("loaded.jstree",b.proxy(function(){this._prepare_checkboxes()},this)).delegate("a","click.jstree",b.proxy(function(a){this._get_node(a.target).hasClass("jstree-checked")?this.uncheck_node(a.target):
this.check_node(a.target);this.data.ui&&this.save_selected();this.data.cookies&&this.save_cookie("select_node");a.preventDefault()},this))},__destroy:function(){this.get_container().find(".jstree-checkbox").remove()},_fn:{_prepare_checkboxes:function(a){a=!a||a==-1?this.get_container():this._get_node(a);var d,e=this,g;a.each(function(){g=b(this);d=g.is("li")&&g.hasClass("jstree-checked")?"jstree-checked":"jstree-unchecked";g.find("a").not(":has(.jstree-checkbox)").prepend("<ins class='jstree-checkbox'>&#160;</ins>").parent().not(".jstree-checked, .jstree-unchecked").addClass(d)});
a.is("li")?this._repair_state(a):a.find("> ul > li").each(function(){e._repair_state(this)})},change_state:function(a,d){a=this._get_node(a);if(d=d===false||d===true?d:a.hasClass("jstree-checked"))a.find("li").andSelf().removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked");else{a.find("li").andSelf().removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked");if(this.data.ui)this.data.ui.last_selected=a;this.data.checkbox.last_selected=a}a.parentsUntil(".jstree",
"li").each(function(){var e=b(this);if(d)if(e.children("ul").children(".jstree-checked, .jstree-undetermined").length){e.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");return false}else e.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked");else if(e.children("ul").children(".jstree-unchecked, .jstree-undetermined").length){e.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");
return false}else e.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked")});if(this.data.ui)this.data.ui.selected=this.get_checked();this.__callback(a)},check_node:function(a){this.change_state(a,false)},uncheck_node:function(a){this.change_state(a,true)},check_all:function(){var a=this;this.get_container().children("ul").children("li").each(function(){a.check_node(this,false)})},uncheck_all:function(){var a=this;this.get_container().children("ul").children("li").each(function(){a.change_state(this,
true)})},is_checked:function(a){a=this._get_node(a);return a.length?a.is(".jstree-checked"):false},get_checked:function(a){a=!a||a===-1?this.get_container():this._get_node(a);return a.find("> ul > .jstree-checked, .jstree-undetermined > ul > .jstree-checked")},get_unchecked:function(a){a=!a||a===-1?this.get_container():this._get_node(a);return a.find("> ul > .jstree-unchecked, .jstree-undetermined > ul > .jstree-unchecked")},show_checkboxes:function(){this.get_container().children("ul").removeClass("jstree-no-checkboxes")},
hide_checkboxes:function(){this.get_container().children("ul").addClass("jstree-no-checkboxes")},_repair_state:function(a){a=this._get_node(a);if(a.length){var d=a.find("> ul > .jstree-checked").length,e=a.find("> ul > .jstree-undetermined").length,g=a.find("> ul > li").length;if(g===0)a.hasClass("jstree-undetermined")&&this.check_node(a);else if(d===0&&e===0)this.uncheck_node(a);else d===g?this.check_node(a):a.parentsUntil(".jstree","li").removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined")}},
reselect:function(){if(this.data.ui){var a=this,d=this.data.ui.to_select;d=b.map(b.makeArray(d),function(e){return"#"+e.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/")});this.deselect_all();b.each(d,function(e,g){a.check_node(g)});this.__callback()}}}})})(jQuery);
(function(b){b.vakata.xslt=function(d,e,g){var i="",c;if(document.recalc){c=document.createElement("xml");i=document.createElement("xml");c.innerHTML=d;i.innerHTML=e;b("body").append(c).append(i);setTimeout(function(f,h,j){return function(){j.call(null,f.transformNode(h.XMLDocument));setTimeout(function(l,k){return function(){jQuery("body").remove(l).remove(k)}}(f,h),200)}}(c,i,g),100);return true}if(typeof window.DOMParser!=="undefined"&&typeof window.XMLHttpRequest!=="undefined"&&typeof window.XSLTProcessor!==
"undefined"){c=new XSLTProcessor;i=b.isFunction(c.transformDocument)?typeof window.XMLSerializer!=="undefined":true;if(!i)return false;d=(new DOMParser).parseFromString(d,"text/xml");e=(new DOMParser).parseFromString(e,"text/xml");if(b.isFunction(c.transformDocument)){i=document.implementation.createDocument("","",null);c.transformDocument(d,e,i,null);g.call(null,XMLSerializer().serializeToString(i))}else{c.importStylesheet(e);i=c.transformToFragment(d,document);g.call(null,b("<div>").append(i).html())}return true}return false};
var a={nest:'<?xml version="1.0" encoding="utf-8" ?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ><xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/html" /><xsl:template match="/">\t<xsl:call-template name="nodes">\t\t<xsl:with-param name="node" select="/root" />\t</xsl:call-template></xsl:template><xsl:template name="nodes">\t<xsl:param name="node" />\t<ul>\t<xsl:for-each select="$node/item">\t\t<xsl:variable name="children" select="count(./item) &gt; 0" />\t\t<li>\t\t\t<xsl:attribute name="class">\t\t\t\t<xsl:if test="position() = last()">jstree-last </xsl:if>\t\t\t\t<xsl:choose>\t\t\t\t\t<xsl:when test="@state = \'open\'">jstree-open </xsl:when>\t\t\t\t\t<xsl:when test="$children or @hasChildren or @state = \'closed\'">jstree-closed </xsl:when>\t\t\t\t\t<xsl:otherwise>jstree-leaf </xsl:otherwise>\t\t\t\t</xsl:choose>\t\t\t\t<xsl:value-of select="@class" />\t\t\t</xsl:attribute>\t\t\t<xsl:for-each select="@*">\t\t\t\t<xsl:if test="name() != \'class\' and name() != \'state\' and name() != \'hasChildren\'">\t\t\t\t\t<xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>\t\t\t\t</xsl:if>\t\t\t</xsl:for-each>\t<ins class="jstree-icon"><xsl:text>&#xa0;</xsl:text></ins>\t\t\t<xsl:for-each select="content/name">\t\t\t\t<a>\t\t\t\t<xsl:attribute name="href">\t\t\t\t\t<xsl:choose>\t\t\t\t\t<xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>\t\t\t\t\t<xsl:otherwise>#</xsl:otherwise>\t\t\t\t\t</xsl:choose>\t\t\t\t</xsl:attribute>\t\t\t\t<xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>\t\t\t\t<xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>\t\t\t\t<xsl:for-each select="@*">\t\t\t\t\t<xsl:if test="name() != \'style\' and name() != \'class\' and name() != \'href\'">\t\t\t\t\t\t<xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>\t\t\t\t\t</xsl:if>\t\t\t\t</xsl:for-each>\t\t\t\t\t<ins>\t\t\t\t\t\t<xsl:attribute name="class">jstree-icon \t\t\t\t\t\t\t<xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>\t\t\t\t\t\t</xsl:attribute>\t\t\t\t\t\t<xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>\t\t\t\t\t\t<xsl:text>&#xa0;</xsl:text>\t\t\t\t\t</ins>\t\t\t\t\t<xsl:value-of select="current()" />\t\t\t\t</a>\t\t\t</xsl:for-each>\t\t\t<xsl:if test="$children or @hasChildren"><xsl:call-template name="nodes"><xsl:with-param name="node" select="current()" /></xsl:call-template></xsl:if>\t\t</li>\t</xsl:for-each>\t</ul></xsl:template></xsl:stylesheet>',
flat:'<?xml version="1.0" encoding="utf-8" ?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ><xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/xml" /><xsl:template match="/">\t<ul>\t<xsl:for-each select="//item[not(@parent_id) or @parent_id=0 or not(@parent_id = //item/@id)]">\t\t<xsl:call-template name="nodes">\t\t\t<xsl:with-param name="node" select="." />\t\t\t<xsl:with-param name="is_last" select="number(position() = last())" />\t\t</xsl:call-template>\t</xsl:for-each>\t</ul></xsl:template><xsl:template name="nodes">\t<xsl:param name="node" />\t<xsl:param name="is_last" />\t<xsl:variable name="children" select="count(//item[@parent_id=$node/attribute::id]) &gt; 0" />\t<li>\t<xsl:attribute name="class">\t\t<xsl:if test="$is_last = true()">jstree-last </xsl:if>\t\t<xsl:choose>\t\t\t<xsl:when test="@state = \'open\'">jstree-open </xsl:when>\t\t\t<xsl:when test="$children or @hasChildren or @state = \'closed\'">jstree-closed </xsl:when>\t\t\t<xsl:otherwise>jstree-leaf </xsl:otherwise>\t\t</xsl:choose>\t\t<xsl:value-of select="@class" />\t</xsl:attribute>\t<xsl:for-each select="@*">\t\t<xsl:if test="name() != \'parent_id\' and name() != \'hasChildren\' and name() != \'class\' and name() != \'state\'">\t\t<xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>\t\t</xsl:if>\t</xsl:for-each>\t<ins class="jstree-icon"><xsl:text>&#xa0;</xsl:text></ins>\t<xsl:for-each select="content/name">\t\t<a>\t\t<xsl:attribute name="href">\t\t\t<xsl:choose>\t\t\t<xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>\t\t\t<xsl:otherwise>#</xsl:otherwise>\t\t\t</xsl:choose>\t\t</xsl:attribute>\t\t<xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>\t\t<xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>\t\t<xsl:for-each select="@*">\t\t\t<xsl:if test="name() != \'style\' and name() != \'class\' and name() != \'href\'">\t\t\t\t<xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>\t\t\t</xsl:if>\t\t</xsl:for-each>\t\t\t<ins>\t\t\t\t<xsl:attribute name="class">jstree-icon \t\t\t\t\t<xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>\t\t\t\t</xsl:attribute>\t\t\t\t<xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>\t\t\t\t<xsl:text>&#xa0;</xsl:text>\t\t\t</ins>\t\t\t<xsl:value-of select="current()" />\t\t</a>\t</xsl:for-each>\t<xsl:if test="$children">\t\t<ul>\t\t<xsl:for-each select="//item[@parent_id=$node/attribute::id]">\t\t\t<xsl:call-template name="nodes">\t\t\t\t<xsl:with-param name="node" select="." />\t\t\t\t<xsl:with-param name="is_last" select="number(position() = last())" />\t\t\t</xsl:call-template>\t\t</xsl:for-each>\t\t</ul>\t</xsl:if>\t</li></xsl:template></xsl:stylesheet>'};
b.jstree.plugin("xml_data",{defaults:{data:false,ajax:false,xsl:"flat",clean_node:false,correct_state:true},_fn:{load_node:function(d,e,g){var i=this;this.load_node_xml(d,function(){i.__callback({obj:d});e.call(this)},g)},_is_loaded:function(d){var e=this._get_settings().xml_data;d=this._get_node(d);return d==-1||!d||!e.ajax||d.is(".jstree-open, .jstree-leaf")||d.children("ul").children("li").size()>0},load_node_xml:function(d,e,g){var i=this.get_settings().xml_data,c=function(){},f=function(){};
if((d=this._get_node(d))&&d!==-1)if(d.data("jstree-is-loading"))return;else d.data("jstree-is-loading",true);switch(true){case !i.data&&!i.ajax:throw"Neither data nor ajax settings supplied.";case !!i.data&&!i.ajax||!!i.data&&!!i.ajax&&(!d||d===-1):if(!d||d==-1)this.parse_xml(i.data,b.proxy(function(h){if(h){h=h.replace(/ ?xmlns="[^"]*"/ig,"");if(h.length>10){h=b(h);this.get_container().children("ul").empty().append(h.children());i.clean_node&&this.clean_node(d);e&&e.call(this)}}else if(i.correct_state){this.get_container().children("ul").empty();
e&&e.call(this)}},this));break;case !i.data&&!!i.ajax||!!i.data&&!!i.ajax&&d&&d!==-1:c=function(h,j,l){var k=this.get_settings().xml_data.ajax.error;k&&k.call(this,h,j,l);if(d!==-1&&d.length){d.children(".jstree-loading").removeClass("jstree-loading");d.data("jstree-is-loading",false);j==="success"&&i.correct_state&&d.removeClass("jstree-open jstree-closed").addClass("jstree-leaf")}else j==="success"&&i.correct_state&&this.get_container().children("ul").empty();g&&g.call(this)};f=function(h,j,l){h=
l.responseText;var k=this.get_settings().xml_data.ajax.success;if(k)h=k.call(this,h,j,l)||h;if(h=="")return c.call(this,l,j,"");this.parse_xml(h,b.proxy(function(m){if(m){m=m.replace(/ ?xmlns="[^"]*"/ig,"");if(m.length>10){m=b(m);if(d===-1||!d)this.get_container().children("ul").empty().append(m.children());else{d.children(".jstree-loading").removeClass("jstree-loading");d.append(m);d.data("jstree-is-loading",false)}i.clean_node&&this.clean_node(d);e&&e.call(this)}else if(d&&d!==-1){d.children(".jstree-loading").removeClass("jstree-loading");
d.data("jstree-is-loading",false);if(i.correct_state){d.removeClass("jstree-open jstree-closed").addClass("jstree-leaf");e&&e.call(this)}}else if(i.correct_state){this.get_container().children("ul").empty();e&&e.call(this)}}},this))};i.ajax.context=this;i.ajax.error=c;i.ajax.success=f;if(!i.ajax.dataType)i.ajax.dataType="xml";if(b.isFunction(i.ajax.url))i.ajax.url=i.ajax.url.call(this,d);if(b.isFunction(i.ajax.data))i.ajax.data=i.ajax.data.call(this,d);b.ajax(i.ajax)}},parse_xml:function(d,e){var g=
this._get_settings().xml_data;b.vakata.xslt(d,a[g.xsl],e)},get_xml:function(d,e,g,i,c){var f="",h=this._get_settings(),j=this,l,k,m,n,p;d||(d="flat");c||(c=0);e=this._get_node(e);if(!e||e===-1)e=this.get_container().find("> ul > li");g=b.isArray(g)?g:["id","class"];!c&&this.data.types&&b.inArray(h.types.type_attr,g)===-1&&g.push(h.types.type_attr);i=b.isArray(i)?i:[];c||(f+="<root>");e.each(function(){f+="<item";m=b(this);b.each(g,function(o,q){f+=" "+q+'="'+(m.attr(q)||"").replace(/jstree[^ ]*|$/ig,
"").replace(/^\s+$/ig,"")+'"'});if(m.hasClass("jstree-open"))f+=' state="open"';if(m.hasClass("jstree-closed"))f+=' state="closed"';if(d==="flat")f+=' parent_id="'+c+'"';f+=">";f+="<content>";n=m.children("a");n.each(function(){l=b(this);p=false;f+="<name";b.inArray("languages",h.plugins)!==-1&&b.each(h.languages,function(o,q){if(l.hasClass(q)){f+=' lang="'+q+'"';p=q;return false}});i.length&&b.each(i,function(o,q){f+=" "+q+'="'+(l.attr(q)||"").replace(/jstree[^ ]*|$/ig,"")+'"'});if(l.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,
"").replace(/^\s+$/ig,"").length)f+=' icon="'+l.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,"").replace(/^\s+$/ig,"")+'"';if(l.children("ins").get(0).style.backgroundImage.length)f+=' icon="'+l.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","")+'"';f+=">";f+="<![CDATA["+j.get_text(l,p)+"]]\>";f+="</name>"});f+="</content>";k=m[0].id;m=m.find("> ul > li");k=m.length?j.get_xml(d,m,g,i,k):"";if(d=="nest")f+=k;f+="</item>";if(d=="flat")f+=k});c||(f+="</root>");
return f}}})})(jQuery);
(function(b){b.expr[":"].jstree_contains=function(a,d,e){return(a.textContent||a.innerText||"").toLowerCase().indexOf(e[3].toLowerCase())>=0};b.jstree.plugin("search",{__init:function(){this.data.search.str="";this.data.search.result=b()},defaults:{ajax:false,case_insensitive:false},_fn:{search:function(a,d){if(a!==""){var e=this.get_settings().search,g=this,i=function(){},c=function(){};this.data.search.str=a;if(!d&&e.ajax!==false&&this.get_container().find(".jstree-closed:eq(0)").length>0){this.search.supress_callback=
true;i=function(){};c=function(f,h,j){var l=this.get_settings().search.ajax.success;if(l)f=l.call(this,f,h,j)||f;this.data.search.to_open=f;this._search_open()};e.ajax.context=this;e.ajax.error=i;e.ajax.success=c;if(b.isFunction(e.ajax.url))e.ajax.url=e.ajax.url.call(this,a);if(b.isFunction(e.ajax.data))e.ajax.data=e.ajax.data.call(this,a);if(!e.ajax.data)e.ajax.data={search_string:a};if(!e.ajax.dataType||/^json/.exec(e.ajax.dataType))e.ajax.dataType="json";b.ajax(e.ajax)}else{this.data.search.result.length&&
this.clear_search();this.data.search.result=this.get_container().find("a"+(this.data.languages?"."+this.get_lang():"")+":"+(e.case_insensitive?"jstree_contains":"contains")+"("+this.data.search.str+")");this.data.search.result.addClass("jstree-search").parents(".jstree-closed").each(function(){g.open_node(this,false,true)});this.__callback({nodes:this.data.search.result,str:a})}}},clear_search:function(){this.data.search.result.removeClass("jstree-search");this.__callback(this.data.search.result);
this.data.search.result=b()},_search_open:function(){var a=this,d=true,e=[],g=[];if(this.data.search.to_open.length){b.each(this.data.search.to_open,function(i,c){if(c=="#")return true;b(c).length&&b(c).is(".jstree-closed")?e.push(c):g.push(c)});if(e.length){this.data.search.to_open=g;b.each(e,function(i,c){a.open_node(c,function(){a._search_open(true)})});d=false}}d&&this.search(this.data.search.str,true)}}})})(jQuery);
(function(b){b.vakata.context={cnt:b("<div id='vakata-contextmenu'>"),vis:false,tgt:false,par:false,func:false,data:false,show:function(a,d,e,g,i,c){if(a=b.vakata.context.parse(a)){b.vakata.context.vis=true;b.vakata.context.tgt=d;b.vakata.context.par=c||d||null;b.vakata.context.data=i||null;b.vakata.context.cnt.html(a).css({visibility:"hidden",display:"block",left:0,top:0});i=b.vakata.context.cnt.height();c=b.vakata.context.cnt.width();if(e+c>b(document).width()){e=b(document).width()-(c+5);b.vakata.context.cnt.find("li > ul").addClass("right")}if(g+
i>b(document).height()){g-=i+d[0].offsetHeight;b.vakata.context.cnt.find("li > ul").addClass("bottom")}b.vakata.context.cnt.css({left:e,top:g}).find("li:has(ul)").bind("mouseenter",function(){var f=b(document).width(),h=b(document).height(),j=b(this).children("ul").show();f!==b(document).width()&&j.toggleClass("right");h!==b(document).height()&&j.toggleClass("bottom")}).bind("mouseleave",function(){b(this).children("ul").hide()}).end().css({visibility:"visible"}).show();b(document).triggerHandler("context_show.vakata")}},
hide:function(){b.vakata.context.vis=false;b.vakata.context.cnt.attr("class","").hide();b(document).triggerHandler("context_hide.vakata")},parse:function(a,d){if(!a)return false;var e="",g=false,i=true;if(!d)b.vakata.context.func={};e+="<ul>";b.each(a,function(c,f){if(!f)return true;b.vakata.context.func[c]=f.action;if(!i&&f.separator_before)e+="<li class='vakata-separator vakata-separator-before'></li>";i=false;e+="<li class='"+(f._class||"")+(f._disabled?" jstree-contextmenu-disabled ":"")+"'><ins ";
if(f.icon&&f.icon.indexOf("/")===-1)e+=" class='"+f.icon+"' ";if(f.icon&&f.icon.indexOf("/")!==-1)e+=" style='background:url("+f.icon+") center center no-repeat;' ";e+=">&#160;</ins><a href='#' rel='"+c+"'>";if(f.submenu)e+="<span style='float:right;'>&raquo;</span>";e+=f.label+"</a>";if(f.submenu)if(g=b.vakata.context.parse(f.submenu,true))e+=g;e+="</li>";if(f.separator_after){e+="<li class='vakata-separator vakata-separator-after'></li>";i=true}});e=e.replace(/<li class\='vakata-separator vakata-separator-after'\><\/li\>$/,
"");e+="</ul>";return e.length>10?e:false},exec:function(a){if(b.isFunction(b.vakata.context.func[a])){b.vakata.context.func[a].call(b.vakata.context.data,b.vakata.context.par);return true}else return false}};b(function(){b.vakata.css.add_sheet({str:"#vakata-contextmenu { display:none; position:absolute; margin:0; padding:0; min-width:180px; background:#ebebeb; border:1px solid silver; z-index:10000; *width:180px; } #vakata-contextmenu ul { min-width:180px; *width:180px; } #vakata-contextmenu ul, #vakata-contextmenu li { margin:0; padding:0; list-style-type:none; display:block; } #vakata-contextmenu li { line-height:20px; min-height:20px; position:relative; padding:0px; } #vakata-contextmenu li a { padding:1px 6px; line-height:17px; display:block; text-decoration:none; margin:1px 1px 0 1px; } #vakata-contextmenu li ins { float:left; width:16px; height:16px; text-decoration:none; margin-right:2px; } #vakata-contextmenu li a:hover, #vakata-contextmenu li.vakata-hover > a { background:gray; color:white; } #vakata-contextmenu li ul { display:none; position:absolute; top:-2px; left:100%; background:#ebebeb; border:1px solid gray; } #vakata-contextmenu .right { right:100%; left:auto; } #vakata-contextmenu .bottom { bottom:-1px; top:auto; } #vakata-contextmenu li.vakata-separator { min-height:0; height:1px; line-height:1px; font-size:1px; overflow:hidden; margin:0 2px; background:silver; /* border-top:1px solid #fefefe; */ padding:0; } "});
b.vakata.context.cnt.delegate("a","click",function(a){a.preventDefault()}).delegate("a","mouseup",function(){!b(this).parent().hasClass("jstree-contextmenu-disabled")&&b.vakata.context.exec(b(this).attr("rel"))?b.vakata.context.hide():b(this).blur()}).delegate("a","mouseover",function(){b.vakata.context.cnt.find(".vakata-hover").removeClass("vakata-hover")}).appendTo("body");b(document).bind("mousedown",function(a){b.vakata.context.vis&&!b.contains(b.vakata.context.cnt[0],a.target)&&b.vakata.context.hide()});
typeof b.hotkeys!=="undefined"&&b(document).bind("keydown","up",function(a){if(b.vakata.context.vis){var d=b.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").prevAll("li:not(.vakata-separator)").first();d.length||(d=b.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").last());d.addClass("vakata-hover");a.stopImmediatePropagation();a.preventDefault()}}).bind("keydown","down",function(a){if(b.vakata.context.vis){var d=
b.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").nextAll("li:not(.vakata-separator)").first();d.length||(d=b.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").first());d.addClass("vakata-hover");a.stopImmediatePropagation();a.preventDefault()}}).bind("keydown","right",function(a){if(b.vakata.context.vis){b.vakata.context.cnt.find(".vakata-hover").children("ul").show().children("li:not(.vakata-separator)").removeClass("vakata-hover").first().addClass("vakata-hover");
a.stopImmediatePropagation();a.preventDefault()}}).bind("keydown","left",function(a){if(b.vakata.context.vis){b.vakata.context.cnt.find(".vakata-hover").children("ul").hide().children(".vakata-separator").removeClass("vakata-hover");a.stopImmediatePropagation();a.preventDefault()}}).bind("keydown","esc",function(a){b.vakata.context.hide();a.preventDefault()}).bind("keydown","space",function(a){b.vakata.context.cnt.find(".vakata-hover").last().children("a").click();a.preventDefault()})});b.jstree.plugin("contextmenu",
{__init:function(){this.get_container().delegate("a","contextmenu.jstree",b.proxy(function(a){a.preventDefault();this.show_contextmenu(a.currentTarget,a.pageX,a.pageY)},this)).bind("destroy.jstree",b.proxy(function(){this.data.contextmenu&&b.vakata.context.hide()},this));b(document).bind("context_hide.vakata",b.proxy(function(){this.data.contextmenu=false},this))},defaults:{select_node:false,show_at_node:true,items:{create:{separator_before:false,separator_after:true,label:"Create",action:function(a){this.create(a)}},
rename:{separator_before:false,separator_after:false,label:"Rename",action:function(a){this.rename(a)}},remove:{separator_before:false,icon:false,separator_after:false,label:"Delete",action:function(a){this.remove(a)}},ccp:{separator_before:true,icon:false,separator_after:false,label:"Edit",action:false,submenu:{cut:{separator_before:false,separator_after:false,label:"Cut",action:function(a){this.cut(a)}},copy:{separator_before:false,icon:false,separator_after:false,label:"Copy",action:function(a){this.copy(a)}},
paste:{separator_before:false,icon:false,separator_after:false,label:"Paste",action:function(a){this.paste(a)}}}}}},_fn:{show_contextmenu:function(a,d,e){a=this._get_node(a);var g=this.get_settings().contextmenu,i=a.children("a:visible:eq(0)"),c=false;if(g.select_node&&this.data.ui&&!this.is_selected(a)){this.deselect_all();this.select_node(a,true)}if(g.show_at_node||typeof d==="undefined"||typeof e==="undefined"){c=i.offset();d=c.left;e=c.top+this.data.core.li_height}if(b.isFunction(g.items))g.items=
g.items.call(this,a);this.data.contextmenu=true;b.vakata.context.show(g.items,i,d,e,this,a);this.data.themes&&b.vakata.context.cnt.attr("class","jstree-"+this.data.themes.theme+"-context")}}})})(jQuery);
(function(b){b.jstree.plugin("types",{__init:function(){var a=this._get_settings().types;this.data.types.attach_to=[];this.get_container().bind("init.jstree",b.proxy(function(){var d=a.type_attr,e="",g=this;b.each(a.types,function(i,c){b.each(c,function(f){/^(max_depth|max_children|icon|valid_children)$/.test(f)||g.data.types.attach_to.push(f)});if(!c.icon)return true;if(c.icon.image||c.icon.position){e+=i=="default"?".jstree-"+g.get_index()+" a > .jstree-icon { ":".jstree-"+g.get_index()+" li["+
d+"="+i+"] > a > .jstree-icon { ";if(c.icon.image)e+=" background-image:url("+c.icon.image+"); ";e+=c.icon.position?" background-position:"+c.icon.position+"; ":" background-position:0 0; ";e+="} "}});e!=""&&b.vakata.css.add_sheet({str:e})},this)).bind("before.jstree",b.proxy(function(d,e){if(b.inArray(e.func,this.data.types.attach_to)!==-1){var g=this._get_settings().types.types,i=this._get_type(e.args[0]);if((g[i]&&typeof g[i][e.func]!=="undefined"||g["default"]&&typeof g["default"][e.func]!=="undefined")&&
!this._check(e.func,e.args[0])){d.stopImmediatePropagation();return false}}},this))},defaults:{max_children:-1,max_depth:-1,valid_children:"all",type_attr:"rel",types:{"default":{max_children:-1,max_depth:-1,valid_children:"all"}}},_fn:{_get_type:function(a){a=this._get_node(a);return!a||!a.length?false:a.attr(this._get_settings().types.type_attr)||"default"},set_type:function(a,d){d=this._get_node(d);return!d.length||!a?false:d.attr(this._get_settings().types.type_attr,a)},_check:function(a,d,e){var g=
false,i=this._get_type(d),c=0,f=this,h=this._get_settings().types;if(d===-1)if(h[a])g=h[a];else return;else{if(i===false)return;if(h.types[i]&&h.types[i][a])g=h.types[i][a];else if(h.types["default"]&&h.types["default"][a])g=h.types["default"][a]}if(b.isFunction(g))g=g.call(this,d);a==="max_depth"&&d!==-1&&e!==false&&h.max_depth!==-2&&g!==0&&this._get_node(d).children("a:eq(0)").parentsUntil(".jstree","li").each(function(j){if(h.max_depth!==-1&&h.max_depth-(j+1)<=0){g=0;return false}c=j===0?g:f._check(a,
this,false);if(c!==-1&&c-(j+1)<=0){g=0;return false}if(c>=0&&(c-(j+1)<g||g<0))g=c-(j+1);if(h.max_depth>=0&&(h.max_depth-(j+1)<g||g<0))g=h.max_depth-(j+1)});return g},check_move:function(){if(!this.__call_old())return false;var a=this._get_move(),d=a.rt._get_settings().types,e=a.rt._check("max_children",a.cr),g=a.rt._check("max_depth",a.cr),i=a.rt._check("valid_children",a.cr),c=0,f=1;if(i==="none")return false;if(b.isArray(i)&&a.ot&&a.ot._get_type){a.o.each(function(){if(b.inArray(a.ot._get_type(this),
i)===-1)return f=false});if(f===false)return false}if(d.max_children!==-2&&e!==-1){c=a.cr===-1?this.get_container().children("> ul > li").not(a.o).length:a.cr.children("> ul > li").not(a.o).length;if(c+a.o.length>e)return false}if(d.max_depth!==-2&&g!==-1){f=0;if(g===0)return false;if(typeof a.o.d==="undefined"){for(d=a.o;d.length>0;){d=d.find("> ul > li");f++}a.o.d=f}if(g-a.o.d<0)return false}return true},create_node:function(a,d,e,g,i,c){if(!c&&(i||this._is_loaded(a))){var f=d&&d.match(/^before|after$/i)&&
a!==-1?this._get_parent(a):this._get_node(a),h=this._get_settings().types,j=this._check("max_children",f),l=this._check("max_depth",f),k=this._check("valid_children",f);e||(e={});if(k==="none")return false;if(b.isArray(k))if(!e.attr||!e.attr[h.type_attr]){if(!e.attr)e.attr={};e.attr[h.type_attr]=k[0]}else if(b.inArray(e.attr[h.type_attr],k)===-1)return false;if(h.max_children!==-2&&j!==-1){f=f===-1?this.get_container().children("> ul > li").length:f.children("> ul > li").length;if(f+1>j)return false}if(h.max_depth!==
-2&&l!==-1&&l-1<0)return false}return this.__call_old(true,a,d,e,g,i,c)}}})})(jQuery);
(function(b){b.jstree.plugin("html_data",{__init:function(){this.data.html_data.original_container_html=this.get_container().find(" > ul > li").clone(true);this.data.html_data.original_container_html.find("li").andSelf().contents().filter(function(){return this.nodeType==3}).remove()},defaults:{data:false,ajax:false,correct_state:true},_fn:{load_node:function(a,d,e){var g=this;this.load_node_html(a,function(){g.__callback({obj:a});d.call(this)},e)},_is_loaded:function(a){a=this._get_node(a);return a==
-1||!a||!this._get_settings().html_data.ajax||a.is(".jstree-open, .jstree-leaf")||a.children("ul").children("li").size()>0},load_node_html:function(a,d,e){var g,i=this.get_settings().html_data,c=function(){};g=function(){};if((a=this._get_node(a))&&a!==-1)if(a.data("jstree-is-loading"))return;else a.data("jstree-is-loading",true);switch(true){case !i.data&&!i.ajax:if(!a||a==-1){this.get_container().children("ul").empty().append(this.data.html_data.original_container_html).find("li, a").filter(function(){return this.firstChild.tagName!==
"INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");this.clean_node()}d&&d.call(this);break;case !!i.data&&!i.ajax||!!i.data&&!!i.ajax&&(!a||a===-1):if(!a||a==-1){g=b(i.data);g.is("ul")||(g=b("<ul>").append(g));this.get_container().children("ul").empty().append(g.children()).find("li, a").filter(function(){return this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");
this.clean_node()}d&&d.call(this);break;case !i.data&&!!i.ajax||!!i.data&&!!i.ajax&&a&&a!==-1:a=this._get_node(a);c=function(f,h,j){var l=this.get_settings().html_data.ajax.error;l&&l.call(this,f,h,j);if(a!=-1&&a.length){a.children(".jstree-loading").removeClass("jstree-loading");a.data("jstree-is-loading",false);h==="success"&&i.correct_state&&a.removeClass("jstree-open jstree-closed").addClass("jstree-leaf")}else h==="success"&&i.correct_state&&this.get_container().children("ul").empty();e&&e.call(this)};
g=function(f,h,j){var l=this.get_settings().html_data.ajax.success;if(l)f=l.call(this,f,h,j)||f;if(f=="")return c.call(this,j,h,"");if(f){f=b(f);f.is("ul")||(f=b("<ul>").append(f));if(a==-1||!a)this.get_container().children("ul").empty().append(f.children()).find("li, a").filter(function(){return this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");else{a.children(".jstree-loading").removeClass("jstree-loading");
a.append(f).find("li, a").filter(function(){return this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");a.data("jstree-is-loading",false)}this.clean_node(a);d&&d.call(this)}else if(a&&a!==-1){a.children(".jstree-loading").removeClass("jstree-loading");a.data("jstree-is-loading",false);if(i.correct_state){a.removeClass("jstree-open jstree-closed").addClass("jstree-leaf");d&&d.call(this)}}else if(i.correct_state){this.get_container().children("ul").empty();
d&&d.call(this)}};i.ajax.context=this;i.ajax.error=c;i.ajax.success=g;if(!i.ajax.dataType)i.ajax.dataType="html";if(b.isFunction(i.ajax.url))i.ajax.url=i.ajax.url.call(this,a);if(b.isFunction(i.ajax.data))i.ajax.data=i.ajax.data.call(this,a);b.ajax(i.ajax)}}}});b.jstree.defaults.plugins.push("html_data")})(jQuery);
(function(b){b.jstree.plugin("themeroller",{__init:function(){var a=this._get_settings().themeroller;this.get_container().addClass("ui-widget-content").delegate("a","mouseenter.jstree",function(){b(this).addClass(a.item_h)}).delegate("a","mouseleave.jstree",function(){b(this).removeClass(a.item_h)}).bind("open_node.jstree create_node.jstree",b.proxy(function(d,e){this._themeroller(e.rslt.obj)},this)).bind("loaded.jstree refresh.jstree",b.proxy(function(){this._themeroller()},this)).bind("close_node.jstree",
b.proxy(function(d,e){e.rslt.obj.children("ins").removeClass(a.opened).addClass(a.closed)},this)).bind("select_node.jstree",b.proxy(function(d,e){e.rslt.obj.children("a").addClass(a.item_a)},this)).bind("deselect_node.jstree deselect_all.jstree",b.proxy(function(){this.get_container().find("."+a.item_a).removeClass(a.item_a).end().find(".jstree-clicked").addClass(a.item_a)},this)).bind("move_node.jstree",b.proxy(function(d,e){this._themeroller(e.rslt.o)},this))},__destroy:function(){var a=this._get_settings().themeroller,
d=["ui-icon"];b.each(a,function(e,g){g=g.split(" ");if(g.length)d=d.concat(g)});this.get_container().removeClass("ui-widget-content").find("."+d.join(", .")).removeClass(d.join(" "))},_fn:{_themeroller:function(a){var d=this._get_settings().themeroller;a=!a||a==-1?this.get_container():this._get_node(a).parent();a.find("li.jstree-closed > ins.jstree-icon").removeClass(d.opened).addClass("ui-icon "+d.closed).end().find("li.jstree-open > ins.jstree-icon").removeClass(d.closed).addClass("ui-icon "+d.opened).end().find("a").addClass(d.item).children("ins.jstree-icon").addClass("ui-icon "+
d.item_icon)}},defaults:{opened:"ui-icon-triangle-1-se",closed:"ui-icon-triangle-1-e",item:"ui-state-default",item_h:"ui-state-hover",item_a:"ui-state-active",item_icon:"ui-icon-folder-collapsed"}});b(function(){b.vakata.css.add_sheet({str:".jstree .ui-icon { overflow:visible; } .jstree a { padding:0 2px; }"})})})(jQuery);
(function(b){b.jstree.plugin("unique",{__init:function(){this.get_container().bind("before.jstree",b.proxy(function(a,d){var e=[],g=true,i;if(d.func=="move_node")if(d.args[4]===true)if(d.args[0].o&&d.args[0].o.length){d.args[0].o.children("a").each(function(){e.push(b(this).text().replace(/^\s+/g,""))});g=this._check_unique(e,d.args[0].np.find("> ul > li").not(d.args[0].o))}if(d.func=="create_node")if(d.args[4]||this._is_loaded(d.args[0])){g=this._get_node(d.args[0]);if(d.args[1]&&(d.args[1]==="before"||
d.args[1]==="after")){g=this._get_parent(d.args[0]);if(!g||g===-1)g=this.get_container()}if(typeof d.args[2]==="string")e.push(d.args[2]);else!d.args[2]||!d.args[2].data?e.push(this._get_settings().core.strings.new_node):e.push(d.args[2].data);g=this._check_unique(e,g.find("> ul > li"))}if(d.func=="rename_node"){e.push(d.args[1]);i=this._get_node(d.args[0]);g=this._get_parent(i);if(!g||g===-1)g=this.get_container();g=this._check_unique(e,g.find("> ul > li").not(i))}if(!g){a.stopPropagation();return false}},
this))},_fn:{_check_unique:function(a,d){var e=[];d.children("a").each(function(){e.push(b(this).text().replace(/^\s+/g,""))});if(!e.length||!a.length)return true;e=e.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");if(e.length+a.length!=e.concat(a).sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",").length)return false;return true},check_move:function(){if(!this.__call_old())return false;
var a=this._get_move(),d=[];if(a.o&&a.o.length){a.o.children("a").each(function(){d.push(b(this).text().replace(/^\s+/g,""))});return this._check_unique(d,a.np.find("> ul > li").not(a.o))}return true}}})})(jQuery);

View File

@ -1,465 +0,0 @@
/*
author: ApmeM (artem.votincev@gmail.com)
date: 9-June-2010
version: 1.4
download: http://code.google.com/p/jq-serverbrowse/
*/
(function($) {
$.fn.serverBrowser = function(settings) {
this.each(function() {
var config = {
// Event function
// Appear when user click 'Ok' button, or doubleclick on file
onSelect : function(file) {
alert('You select: ' + file);
},
onLoad : function() {
return config.basePath;
},
multiselect : false,
// Image parameters
// System images (loading.gif, unknown.png, folder.png and
// images from knownPaths) will be referenced to systemImageUrl
// if systemImageUrl is empty or not specified - imageUrl will
// be taken
// All other images (like images for extension) will be taken
// from imageUrl
imageUrl : 'img/',
systemImageUrl : '',
showUpInList : false,
// Path properties
// Base path, that links should start from.
// If opened path is not under this path, alert will be shown
// and nothing will be opened
// Path separator, that will be used to split specified paths
// and join paths to a string
basePath : 'C:',
separatorPath : '/',
// Paths, that will be displayed on the left side of the dialog
// This is a link to specified paths on the server
useKnownPaths : true,
knownPaths : [ {
text : 'Desktop',
image : 'desktop.png',
path : 'C:/Users/All Users/Desktop'
}, {
text : 'Documents',
image : 'documents.png',
path : 'C:/Users/All Users/Documents'
} ],
// Images for known extension (like 'png', 'exe', 'zip'), that
// will be displayed with its real names
// Images, that is not in this list will be referenced to
// 'unknown.png' image
// If list is empty - all images is known.
knownExt : [],
// Server path to this plugin handler
handlerUrl : 'browserDlg.txt',
// JQuery-ui dialog settings
title : 'Browse',
width : 300,
height : 300,
position : [ 'center', 'center' ],
// Administrative parameters used to
// help programmer or system administrator
requestMethod : 'POST'
};
if (settings)
$.extend(config, settings);
// Required configuration elements
// We need to set some configuration elements without user
// For example there should be 2 buttons on the bottom,
// And dialog should be opened after button is pressed, not when it
// created
// Also we need to know about dialog resizing
$.extend(config, {
autoOpen : false,
modal : true,
buttons : {
"Open" : function() {
doneOk();
},
"Cancel" : function() {
browserDlg.dialog("close");
}
},
resize : function(event, ui) {
recalculateSize(event, ui);
}
});
function systemImageUrl() {
if (config.systemImageUrl.length == 0) {
return config.imageUrl;
} else {
return config.systemImageUrl;
}
}
var privateConfig = {
// This stack array will store history navigation data
// When user open new directory, old directory will be added to
// this list
// If user want, he will be able to move back by this history
browserHistory : [],
// This array contains all currently selected items
// When user select element, it will add associated path into
// this array
// When user deselect element - associated path will be removed
// Exception: if 'config.multiselect' is false, only one element
// will be stored in this array.
selectedItems : []
};
// Main dialog div
// It will be converted into jQuery-ui dialog box using my
// configuration parameters
// It contains 3 divs
var browserDlg = $('<div title="' + config.title + '"></div>').css( {
'overflow' : 'hidden'
}).appendTo(document.body);
browserDlg.dialog(config);
// First div on the top
// It contains textbox field and buttons
// User can enter any paths he want to open in this textbox and
// press enter
// There is 3 buttons on the panel:
var enterPathDiv = $('<div></div>').addClass('ui-widget-content').appendTo(browserDlg).css( {
'height' : '30px',
'width' : '100%',
'padding-top' : '7px'
});
var enterButton = $('<div></div>').css( {
'float' : 'left',
'vertical-align' : 'middle',
'margin-left' : '6px'
}).addClass('ui-corner-all').hover(function() {
$(this).addClass('ui-state-hover');
}, function() {
$(this).removeClass('ui-state-hover');
});
var enterLabel = $('<span></span>').text('Look in: ').appendTo(enterButton.clone(false).appendTo(enterPathDiv));
var enterText = $('<input type="text">').keypress(function(e) {
if (e.keyCode == '13') {
e.preventDefault();
loadPath(enterText.val());
}
}).css('width', '200px').appendTo(enterButton.clone(false).appendTo(enterPathDiv));
// Back button.
// When user click on it, 2 last elements of the history pop from
// the list, and reload second of them.
var enterBack = $('<div></div>').addClass('ui-corner-all ui-icon ui-icon-circle-arrow-w').click(function() {
privateConfig.browserHistory.pop(); // Remove current element.
// It is not required now.
var backPath = config.basePath;
if (privateConfig.browserHistory.length > 0) {
backPath = privateConfig.browserHistory.pop();
}
loadPath(backPath);
}).appendTo(enterButton.clone(true).appendTo(enterPathDiv));
// Level Up Button
// When user click on it, last element of the history will be taken,
// and '..' will be applied to the end of the array.
var enterUp = $('<div></div>').addClass('ui-corner-all ui-icon ui-icon-arrowreturnthick-1-n').click(function() {
backPath = privateConfig.browserHistory[privateConfig.browserHistory.length - 1];
if (backPath != config.basePath) {
loadPath(backPath + config.separatorPath + '..');
}
}).appendTo(enterButton.clone(true).appendTo(enterPathDiv));
// Second div is on the left
// It contains images and texts for pre-defined paths
// User just click on them and it will open pre-defined path
var knownPathDiv = $('<div></div>').addClass('ui-widget-content').css( {
'text-align' : 'center',
'overflow' : 'auto',
'float' : 'left',
'width' : '100px'
});
if (config.useKnownPaths) {
knownPathDiv.appendTo(browserDlg);
$.each(config.knownPaths, function(index, path) {
var knownDiv = $('<div></div>').css( {
'margin' : '10px'
}).hover(function() {
$(this).addClass('ui-state-hover');
}, function() {
$(this).removeClass('ui-state-hover');
}).click(function() {
loadPath(path.path);
}).appendTo(knownPathDiv);
$('<img />').attr( {
src : systemImageUrl() + config.separatorPath + path.image
}).css( {
width : '32px',
margin : '5px 10px 5px 5px'
}).appendTo(knownDiv);
$('<br/>').appendTo(knownDiv);
$('<span></span>').text(path.text).appendTo(knownDiv);
});
}
// Third div is everywhere :)
// It show files and folders in the current path
// User can click on path to select or deselect it
// Doubleclick on path will open it
// Also doubleclick on file will select this file and close dialog
var browserPathDiv = $('<div></div>').addClass('ui-widget-content').css( {
'float' : 'right',
'overflow' : 'auto'
}).appendTo(browserDlg);
// Now everything is done
// When user will be ready - he just click on the area you select
// for this plugin and dialog will appear
$(this).click(function() {
privateConfig.browserHistory = [];
var startpath = removeBackPath(config.onLoad());
startpath = startpath.split(config.separatorPath);
startpath.pop();
startpath = startpath.join(config.separatorPath);
if (!checkBasePath(startpath)) {
startpath = config.basePath;
}
loadPath(startpath);
browserDlg.dialog('open');
recalculateSize();
});
// Function check if specified path is a child path of a
// 'config.basePath'
// If it is not - user should see message, that path invalid, or
// path should be changed to valid.
function checkBasePath(path) {
if (config.basePath == '')
return true;
var confPath = config.basePath.split(config.separatorPath);
var curPath = path.split(config.separatorPath);
if (confPath.length > curPath.length)
return false;
var result = true;
$.each(confPath, function(index, partConfPath) {
if (partConfPath != curPath[index]) {
result = false;
}
});
return result;
}
// Function remove '..' parts of the path
// Process depend on config.separatorPath option
// On the server side you need to check / or \ separators
function removeBackPath(path) {
var confPath = config.basePath.split(config.separatorPath);
var curPath = path.split(config.separatorPath);
var newcurPath = [];
$.each(curPath, function(index, partCurPath) {
if (partCurPath == "..") {
newcurPath.pop();
} else {
newcurPath.push(partCurPath);
}
});
return newcurPath.join(config.separatorPath);
}
// This function will be called when user click 'Open'
// It check if any path is selected, and call config.onSelect
// function with path list
function doneOk() {
var newCurPath = [];
$.each(privateConfig.selectedItems, function(index, item) {
newCurPath.push($.data(item, 'path'));
});
if (newCurPath.length == 0) {
newCurPath.push(privateConfig.browserHistory.pop());
}
if (config.multiselect)
config.onSelect(newCurPath);
else {
if (newCurPath.length == 1) {
config.onSelect(newCurPath[0]);
} else if (newCurPath.length > 1) {
alert('Plugin work incorrectly. If error repeat, please add issue into http://code.google.com/p/jq-serverbrowse/issues/list with steps to reproduce.');
return;
}
}
browserDlg.dialog("close");
}
// Function recalculate and set new width and height for left and
// right div elements
// height have '-2' because of the borders
// width have '-4' because of a border an 2 pixels space between
// divs
function recalculateSize(event, ui) {
knownPathDiv.css( {
'height' : browserDlg.height() - enterPathDiv.outerHeight(true) - 2
});
browserPathDiv.css( {
'height' : browserDlg.height() - enterPathDiv.outerHeight(true) - 2,
'width' : browserDlg.width() - knownPathDiv.outerWidth(true) - 4
});
}
// Function adds new element into browserPathDiv element depends on
// file parameters
// If file.isError is set, error message will be displayed instead
// of clickable area
// Clickable div contain image from extension and text from file
// parameter
function addElement(file) {
var itemDiv = $('<div></div>').css( {
margin : '2px'
}).appendTo(browserPathDiv);
if (file.isError) {
itemDiv.addClass('ui-state-error ui-corner-all').css( {
padding : '0pt 0.7em'
});
var p = $('<p></p>').appendTo(itemDiv);
$('<span></span>').addClass('ui-icon ui-icon-alert').css( {
'float' : 'left',
'margin-right' : '0.3em'
}).appendTo(p);
$('<span></span>').text(file.name).appendTo(p);
} else {
var fullPath = file.path + config.separatorPath + file.name;
itemDiv.hover(function() {
$(this).addClass('ui-state-hover');
}, function() {
$(this).removeClass('ui-state-hover');
});
var itemImage = $('<img />').css( {
width : '16px',
margin : '0 5px 0 0'
}).appendTo(itemDiv);
var itemText = $('<span></span>').text(file.name).appendTo(itemDiv);
if (file.isFolder)
itemImage.attr( {
src : systemImageUrl() + 'folder.png'
});
else {
ext = file.name.split('.').pop();
var res = '';
if (ext == '' || ext == file.name || (config.knownExt.length > 0 && $.inArray(ext, config.knownExt) < 0))
itemImage.attr( {
src : systemImageUrl() + 'unknown.png'
});
else
itemImage.attr( {
src : config.imageUrl + ext + '.png'
});
}
$.data(itemDiv, 'path', fullPath);
itemDiv.unbind('click').bind('click', function(e) {
if (!$(this).hasClass('ui-state-active')) {
if (!config.multiselect && privateConfig.selectedItems.length > 0) {
$(privateConfig.selectedItems[0]).click();
}
privateConfig.selectedItems.push(itemDiv);
} else {
var newCurPath = [];
$.each(privateConfig.selectedItems, function(index, item) {
if ($.data(item, 'path') != fullPath)
newCurPath.push(item);
});
privateConfig.selectedItems = newCurPath;
}
$(this).toggleClass('ui-state-active');
});
itemDiv.unbind('dblclick').bind('dblclick', function(e) {
if (file.isFolder) {
loadPath(fullPath);
} else {
privateConfig.selectedItems = [ itemDiv ];
doneOk();
}
});
}
}
// Main plugin function
// When user enter path manually, select it from pre-defined path,
// or doubleclick in browser this function will call
// It send a request on the server to retrieve child directories and
// files of the specified path
// If path is not under 'config.basePath', alert will be shown and
// nothing will be opened
function loadPath(path) {
privateConfig.selectedItems = [];
// First we need to remove all '..' parts of the path
path = removeBackPath(path);
// Then we need to check, if path based on 'config.basePath'
if (!checkBasePath(path)) {
alert('Path should be based from ' + config.basePath);
return;
}
// Then we can put this path into history
privateConfig.browserHistory.push(path);
// Show it to user
enterText.val(path);
// And load
$.ajax( {
url : config.handlerUrl,
type : config.requestMethod,
data : {
action : 'browse',
path : path,
time : new Date().getTime()
},
beforeSend : function() {
browserPathDiv.empty().css( {
'text-align' : 'center'
});
$('<img />').attr( {
src : systemImageUrl() + 'loading.gif'
}).css( {
width : '32px'
}).appendTo(browserPathDiv);
},
success : function(files) {
browserPathDiv.empty().css( {
'text-align' : 'left'
});
if (path != config.basePath && config.showUpInList) {
addElement( {
name : '..',
isFolder : true,
isError : false,
path : path
});
}
$.each(files, function(index, file) {
addElement($.extend(file, {
path : path
}));
});
},
dataType : 'json'
});
}
});
return this;
};
})(jQuery);

View File

@ -0,0 +1,17 @@
/*
Author: ApmeM (artem.votincev@gmail.com)
Date: 9-June-2010
Version: 1.4
Download: http://code.google.com/p/jq-serverbrowse/
*/
(function(b){b.fn.serverBrowser=function(p){this.each(function(){function l(){return c.systemImageUrl.length==0?c.imageUrl:c.systemImageUrl}function q(a){if(c.basePath=="")return true;var d=c.basePath.split(c.separatorPath),e=a.split(c.separatorPath);if(d.length>e.length)return false;var g=true;b.each(d,function(m,r){if(r!=e[m])g=false});return g}function s(a){c.basePath.split(c.separatorPath);a=a.split(c.separatorPath);var d=[];b.each(a,function(e,g){g==".."?d.pop():d.push(g)});return d.join(c.separatorPath)}
function t(){var a=[];b.each(f.selectedItems,function(d,e){a.push(b.data(e,"path"))});a.length==0&&a.push(f.browserHistory.pop());if(c.multiselect)c.onSelect(a);else if(a.length==1)c.onSelect(a[0]);else if(a.length>1){alert("Plugin work incorrectly. If error repeat, please add issue into http://code.google.com/p/jq-serverbrowse/issues/list with steps to reproduce.");return}h.dialog("close")}function u(){n.css({height:h.height()-i.outerHeight(true)-2});k.css({height:h.height()-i.outerHeight(true)-
2,width:h.width()-n.outerWidth(true)-4})}function v(a){var d=b("<div></div>").css({margin:"2px"}).appendTo(k);if(a.isError){d.addClass("ui-state-error ui-corner-all").css({padding:"0pt 0.7em"});var e=b("<p></p>").appendTo(d);b("<span></span>").addClass("ui-icon ui-icon-alert").css({"float":"left","margin-right":"0.3em"}).appendTo(e);b("<span></span>").text(a.name).appendTo(e)}else{var g=a.path+c.separatorPath+a.name;d.hover(function(){b(this).addClass("ui-state-hover")},function(){b(this).removeClass("ui-state-hover")});
e=b("<img />").css({width:"16px",margin:"0 5px 0 0"}).appendTo(d);b("<span></span>").text(a.name).appendTo(d);if(a.isFolder)e.attr({src:l()+"folder.png"});else{ext=a.name.split(".").pop();ext==""||ext==a.name||c.knownExt.length>0&&b.inArray(ext,c.knownExt)<0?e.attr({src:l()+"unknown.png"}):e.attr({src:c.imageUrl+ext+".png"})}b.data(d,"path",g);d.unbind("click").bind("click",function(){if(b(this).hasClass("ui-state-active")){var m=[];b.each(f.selectedItems,function(r,w){b.data(w,"path")!=g&&m.push(w)});
f.selectedItems=m}else{!c.multiselect&&f.selectedItems.length>0&&b(f.selectedItems[0]).click();f.selectedItems.push(d)}b(this).toggleClass("ui-state-active")});d.unbind("dblclick").bind("dblclick",function(){if(a.isFolder)j(g);else{f.selectedItems=[d];t()}})}}function j(a){f.selectedItems=[];a=s(a);if(q(a)){f.browserHistory.push(a);x.val(a);b.ajax({url:c.handlerUrl,type:c.requestMethod,data:{action:"browse",path:a,time:(new Date).getTime()},beforeSend:function(){k.empty().css({"text-align":"center"});
b("<img />").attr({src:l()+"loading.gif"}).css({width:"32px"}).appendTo(k)},success:function(d){k.empty().css({"text-align":"left"});a!=c.basePath&&c.showUpInList&&v({name:"..",isFolder:true,isError:false,path:a});b.each(d,function(e,g){v(b.extend(g,{path:a}))})},dataType:"json"})}else alert("Path should be based from "+c.basePath)}var c={onSelect:function(a){alert("You select: "+a)},onLoad:function(){return c.basePath},multiselect:false,imageUrl:"img/",systemImageUrl:"",showUpInList:false,basePath:"C:",
separatorPath:"/",useKnownPaths:true,knownPaths:[{text:"Desktop",image:"desktop.png",path:"C:/Users/All Users/Desktop"},{text:"Documents",image:"documents.png",path:"C:/Users/All Users/Documents"}],knownExt:[],handlerUrl:"browserDlg.txt",title:"Browse",width:300,height:300,position:["center","center"],requestMethod:"POST"};p&&b.extend(c,p);b.extend(c,{autoOpen:false,modal:true,buttons:{Open:function(){t()},Cancel:function(){h.dialog("close")}},resize:function(a,d){u(a,d)}});var f={browserHistory:[],
selectedItems:[]},h=b('<div title="'+c.title+'"></div>').css({overflow:"hidden"}).appendTo(document.body);h.dialog(c);var i=b("<div></div>").addClass("ui-widget-content").appendTo(h).css({height:"30px",width:"100%","padding-top":"7px"}),o=b("<div></div>").css({"float":"left","vertical-align":"middle","margin-left":"6px"}).addClass("ui-corner-all").hover(function(){b(this).addClass("ui-state-hover")},function(){b(this).removeClass("ui-state-hover")});b("<span></span>").text("Look in: ").appendTo(o.clone(false).appendTo(i));
var x=b('<input type="text">').keypress(function(a){if(a.keyCode=="13"){a.preventDefault();j(x.val())}}).css("width","200px").appendTo(o.clone(false).appendTo(i));b("<div></div>").addClass("ui-corner-all ui-icon ui-icon-circle-arrow-w").click(function(){f.browserHistory.pop();var a=c.basePath;if(f.browserHistory.length>0)a=f.browserHistory.pop();j(a)}).appendTo(o.clone(true).appendTo(i));b("<div></div>").addClass("ui-corner-all ui-icon ui-icon-arrowreturnthick-1-n").click(function(){backPath=f.browserHistory[f.browserHistory.length-
1];backPath!=c.basePath&&j(backPath+c.separatorPath+"..")}).appendTo(o.clone(true).appendTo(i));var n=b("<div></div>").addClass("ui-widget-content").css({"text-align":"center",overflow:"auto","float":"left",width:"100px"});if(c.useKnownPaths){n.appendTo(h);b.each(c.knownPaths,function(a,d){var e=b("<div></div>").css({margin:"10px"}).hover(function(){b(this).addClass("ui-state-hover")},function(){b(this).removeClass("ui-state-hover")}).click(function(){j(d.path)}).appendTo(n);b("<img />").attr({src:l()+
c.separatorPath+d.image}).css({width:"32px",margin:"5px 10px 5px 5px"}).appendTo(e);b("<br/>").appendTo(e);b("<span></span>").text(d.text).appendTo(e)})}var k=b("<div></div>").addClass("ui-widget-content").css({"float":"right",overflow:"auto"}).appendTo(h);b(this).click(function(){f.browserHistory=[];var a=s(c.onLoad());a=a.split(c.separatorPath);a.pop();a=a.join(c.separatorPath);if(!q(a))a=c.basePath;j(a);h.dialog("open");u()})});return this}})(jQuery);

View File

@ -1,8 +1,8 @@
/*
TopZIndex 1.2 (October 21, 2010) plugin for jQuery
http://topzindex.googlecode.com/
Copyright (c) 2009-2011 Todd Northrop
http://www.speednet.biz/
Licensed under GPL 3, see <http://www.gnu.org/licenses/>
*/
* TopZIndex 1.2 (October 21, 2010) plugin for jQuery
* http://topzindex.googlecode.com/
* Copyright (c) 2009-2011 Todd Northrop
* http://www.speednet.biz/
* Licensed under GPL 3, see <http://www.gnu.org/licenses/>
*/
(function(a){a.topZIndex=function(b){return Math.max(0,Math.max.apply(null,a.map((b||"*")==="*"?a.makeArray(document.getElementsByTagName("*")):a(b),function(b){return parseFloat(a(b).css("z-index"))||null})))};a.fn.topZIndex=function(b){if(this.length===0)return this;b=a.extend({increment:1},b);var c=a.topZIndex(b.selector),d=b.increment;return this.each(function(){this.style.zIndex=c+=d})}})(jQuery);

View File

@ -1,121 +0,0 @@
/*
* Superfish v1.4.8 - jQuery menu widget
* Copyright (c) 2008 Joel Birch
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
*/
;(function($){
$.fn.superfish = function(op){
var sf = $.fn.superfish,
c = sf.c,
$arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
over = function(){
var $$ = $(this), menu = getMenu($$);
clearTimeout(menu.sfTimer);
$$.showSuperfishUl().siblings().hideSuperfishUl();
},
out = function(){
var $$ = $(this), menu = getMenu($$), o = sf.op;
clearTimeout(menu.sfTimer);
menu.sfTimer=setTimeout(function(){
o.retainPath=($.inArray($$[0],o.$path)>-1);
$$.hideSuperfishUl();
if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
},o.delay);
},
getMenu = function($menu){
var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
sf.op = sf.o[menu.serial];
return menu;
},
addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
return this.each(function() {
var s = this.serial = sf.o.length;
var o = $.extend({},sf.defaults,op);
o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
$(this).addClass([o.hoverClass,c.bcClass].join(' '))
.filter('li:has(ul)').removeClass(o.pathClass);
});
sf.o[s] = sf.op = o;
$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
if (o.autoArrows) addArrow( $('>a:first-child',this) );
})
.not('.'+c.bcClass)
.hideSuperfishUl();
var $a = $('a',this);
$a.each(function(i){
var $li = $a.eq(i).parents('li');
$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
});
o.onInit.call(this);
}).each(function() {
var menuClasses = [c.menuClass];
if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
$(this).addClass(menuClasses.join(' '));
});
};
var sf = $.fn.superfish;
sf.o = [];
sf.op = {};
sf.IE7fix = function(){
var o = sf.op;
if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
this.toggleClass(sf.c.shadowClass+'-off');
};
sf.c = {
bcClass : 'sf-breadcrumb',
menuClass : 'sf-js-enabled',
anchorClass : 'sf-with-ul',
arrowClass : 'sf-sub-indicator',
shadowClass : 'sf-shadow'
};
sf.defaults = {
hoverClass : 'sfHover',
pathClass : 'overideThisToUse',
pathLevels : 1,
delay : 800,
animation : {opacity:'show'},
speed : 'normal',
autoArrows : true,
dropShadows : true,
disableHI : false, // true disables hoverIntent detection
onInit : function(){}, // callback functions
onBeforeShow: function(){},
onShow : function(){},
onHide : function(){}
};
$.fn.extend({
hideSuperfishUl : function(){
var o = sf.op,
not = (o.retainPath===true) ? o.$path : '';
o.retainPath = false;
var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
.find('>ul').hide().css('visibility','hidden');
o.onHide.call($ul);
return this;
},
showSuperfishUl : function(){
var o = sf.op,
sh = sf.c.shadowClass+'-off',
$ul = this.addClass(o.hoverClass)
.find('>ul:hidden').css('visibility','visible');
sf.IE7fix.call($ul);
o.onBeforeShow.call($ul);
$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
return this;
}
});
})(jQuery);

15
xCAT-UI/js/jquery/superfish.min.js vendored Normal file
View File

@ -0,0 +1,15 @@
/*
Superfish v1.4.8 - jQuery menu widget
Copyright (c) 2008 Joel Birch
Dual licensed under the MIT and GPL licenses:
http://www.opensource.org/licenses/mit-license.php
http://www.gnu.org/licenses/gpl.html
CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
*/
(function(a){a.fn.superfish=function(c){var b=a.fn.superfish,h=b.c,n=a(['<span class="',h.arrowClass,'"> &#187;</span>'].join("")),i=function(){var d=a(this),e=j(d);clearTimeout(e.sfTimer);d.showSuperfishUl().siblings().hideSuperfishUl()},k=function(){var d=a(this),e=j(d),g=b.op;clearTimeout(e.sfTimer);e.sfTimer=setTimeout(function(){g.retainPath=a.inArray(d[0],g.$path)>-1;d.hideSuperfishUl();g.$path.length&&d.parents(["li.",g.hoverClass].join("")).length<1&&i.call(g.$path)},g.delay)},j=function(d){d=
d.parents(["ul.",h.menuClass,":first"].join(""))[0];b.op=b.o[d.serial];return d};return this.each(function(){var d=this.serial=b.o.length,e=a.extend({},b.defaults,c);e.$path=a("li."+e.pathClass,this).slice(0,e.pathLevels).each(function(){a(this).addClass([e.hoverClass,h.bcClass].join(" ")).filter("li:has(ul)").removeClass(e.pathClass)});b.o[d]=b.op=e;a("li:has(ul)",this)[a.fn.hoverIntent&&!e.disableHI?"hoverIntent":"hover"](i,k).each(function(){e.autoArrows&&a(">a:first-child",this).addClass(h.anchorClass).append(n.clone())}).not("."+
h.bcClass).hideSuperfishUl();var g=a("a",this);g.each(function(l){var m=g.eq(l).parents("li");g.eq(l).focus(function(){i.call(m)}).blur(function(){k.call(m)})});e.onInit.call(this)}).each(function(){var d=[h.menuClass];b.op.dropShadows&&!(a.browser.msie&&a.browser.version<7)&&d.push(h.shadowClass);a(this).addClass(d.join(" "))})};var f=a.fn.superfish;f.o=[];f.op={};f.IE7fix=function(){var c=f.op;a.browser.msie&&a.browser.version>6&&c.dropShadows&&c.animation.opacity!=undefined&&this.toggleClass(f.c.shadowClass+
"-off")};f.c={bcClass:"sf-breadcrumb",menuClass:"sf-js-enabled",anchorClass:"sf-with-ul",arrowClass:"sf-sub-indicator",shadowClass:"sf-shadow"};f.defaults={hoverClass:"sfHover",pathClass:"overideThisToUse",pathLevels:1,delay:800,animation:{opacity:"show"},speed:"normal",autoArrows:true,dropShadows:true,disableHI:false,onInit:function(){},onBeforeShow:function(){},onShow:function(){},onHide:function(){}};a.fn.extend({hideSuperfishUl:function(){var c=f.op,b=c.retainPath===true?c.$path:"";c.retainPath=
false;b=a(["li.",c.hoverClass].join(""),this).add(this).not(b).removeClass(c.hoverClass).find(">ul").hide().css("visibility","hidden");c.onHide.call(b);return this},showSuperfishUl:function(){var c=f.op,b=this.addClass(c.hoverClass).find(">ul:hidden").css("visibility","visible");f.IE7fix.call(b);c.onBeforeShow.call(b);b.animate(c.animation,c.speed,function(){f.IE7fix.call(b);c.onShow.call(b)});return this}})})(jQuery);

View File

@ -1,18 +1,10 @@
/*
jQuery Tools 1.2.5 Tooltip - UI essentials
NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
http://flowplayer.org/tools/tooltip/
Since: November 2008
Date: Wed Sep 22 06:02:10 2010 +0000
*/
(function(f){function p(a,b,c){var h=c.relative?a.position().top:a.offset().top,d=c.relative?a.position().left:a.offset().left,i=c.position[0];h-=b.outerHeight()-c.offset[0];d+=a.outerWidth()+c.offset[1];if(/iPad/i.test(navigator.userAgent))h-=f(window).scrollTop();var j=b.outerHeight()+a.outerHeight();if(i=="center")h+=j/2;if(i=="bottom")h+=j;i=c.position[1];a=b.outerWidth()+a.outerWidth();if(i=="center")d-=a/2;if(i=="left")d-=a;return{top:h,left:d}}function u(a,b){var c=this,h=a.add(c),d,i=0,j=
0,m=a.attr("title"),q=a.attr("data-tooltip"),r=o[b.effect],l,s=a.is(":input"),v=s&&a.is(":checkbox, :radio, select, :button, :submit"),t=a.attr("type"),k=b.events[t]||b.events[s?v?"widget":"input":"def"];if(!r)throw'Nonexistent effect "'+b.effect+'"';k=k.split(/,\s*/);if(k.length!=2)throw"Tooltip: bad events configuration for "+t;a.bind(k[0],function(e){clearTimeout(i);if(b.predelay)j=setTimeout(function(){c.show(e)},b.predelay);else c.show(e)}).bind(k[1],function(e){clearTimeout(j);if(b.delay)i=
setTimeout(function(){c.hide(e)},b.delay);else c.hide(e)});if(m&&b.cancelDefault){a.removeAttr("title");a.data("title",m)}f.extend(c,{show:function(e){if(!d){if(q)d=f(q);else if(b.tip)d=f(b.tip).eq(0);else if(m)d=f(b.layout).addClass(b.tipClass).appendTo(document.body).hide().append(m);else{d=a.next();d.length||(d=a.parent().next())}if(!d.length)throw"Cannot find tooltip for "+a;}if(c.isShown())return c;d.stop(true,true);var g=p(a,d,b);b.tip&&d.html(a.data("title"));e=e||f.Event();e.type="onBeforeShow";
h.trigger(e,[g]);if(e.isDefaultPrevented())return c;g=p(a,d,b);d.css({position:"absolute",top:g.top,left:g.left});l=true;r[0].call(c,function(){e.type="onShow";l="full";h.trigger(e)});g=b.events.tooltip.split(/,\s*/);if(!d.data("__set")){d.bind(g[0],function(){clearTimeout(i);clearTimeout(j)});g[1]&&!a.is("input:not(:checkbox, :radio), textarea")&&d.bind(g[1],function(n){n.relatedTarget!=a[0]&&a.trigger(k[1].split(" ")[0])});d.data("__set",true)}return c},hide:function(e){if(!d||!c.isShown())return c;
e=e||f.Event();e.type="onBeforeHide";h.trigger(e);if(!e.isDefaultPrevented()){l=false;o[b.effect][1].call(c,function(){e.type="onHide";h.trigger(e)});return c}},isShown:function(e){return e?l=="full":l},getConf:function(){return b},getTip:function(){return d},getTrigger:function(){return a}});f.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(e,g){f.isFunction(b[g])&&f(c).bind(g,b[g]);c[g]=function(n){n&&f(c).bind(g,n);return c}})}f.tools=f.tools||{version:"1.2.5"};f.tools.tooltip=
{conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,position:["top","center"],offset:[0,0],relative:false,cancelDefault:true,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(a,b,c){o[a]=[b,c]}};var o={toggle:[function(a){var b=this.getConf(),c=this.getTip();b=b.opacity;b<1&&c.css({opacity:b});c.show();a.call()},function(a){this.getTip().hide();
a.call()}],fade:[function(a){var b=this.getConf();this.getTip().fadeTo(b.fadeInSpeed,b.opacity,a)},function(a){this.getTip().fadeOut(this.getConf().fadeOutSpeed,a)}]};f.fn.tooltip=function(a){var b=this.data("tooltip");if(b)return b;a=f.extend(true,{},f.tools.tooltip.conf,a);if(typeof a.position=="string")a.position=a.position.split(/,?\s/);this.each(function(){b=new u(f(this),a);f(this).data("tooltip",b)});return a.api?b:this}})(jQuery);
/*
* jQuery Tools 1.2.5 Tooltip - UI essentials
*/
(function(f){function p(a,b,c){var h=c.relative?a.position().top:a.offset().top,d=c.relative?a.position().left:a.offset().left,i=c.position[0];h-=b.outerHeight()-c.offset[0];d+=a.outerWidth()+c.offset[1];if(/iPad/i.test(navigator.userAgent))h-=f(window).scrollTop();var j=b.outerHeight()+a.outerHeight();if(i=="center")h+=j/2;if(i=="bottom")h+=j;i=c.position[1];a=b.outerWidth()+a.outerWidth();if(i=="center")d-=a/2;if(i=="left")d-=a;return{top:h,left:d}}function u(a,b){var c=this,h=a.add(c),d,i=0,j=
0,m=a.attr("title"),q=a.attr("data-tooltip"),r=o[b.effect],l,s=a.is(":input"),v=s&&a.is(":checkbox, :radio, select, :button, :submit"),t=a.attr("type"),k=b.events[t]||b.events[s?v?"widget":"input":"def"];if(!r)throw'Nonexistent effect "'+b.effect+'"';k=k.split(/,\s*/);if(k.length!=2)throw"Tooltip: bad events configuration for "+t;a.bind(k[0],function(e){clearTimeout(i);if(b.predelay)j=setTimeout(function(){c.show(e)},b.predelay);else c.show(e)}).bind(k[1],function(e){clearTimeout(j);if(b.delay)i=
setTimeout(function(){c.hide(e)},b.delay);else c.hide(e)});if(m&&b.cancelDefault){a.removeAttr("title");a.data("title",m)}f.extend(c,{show:function(e){if(!d){if(q)d=f(q);else if(b.tip)d=f(b.tip).eq(0);else if(m)d=f(b.layout).addClass(b.tipClass).appendTo(document.body).hide().append(m);else{d=a.next();d.length||(d=a.parent().next())}if(!d.length)throw"Cannot find tooltip for "+a;}if(c.isShown())return c;d.stop(true,true);var g=p(a,d,b);b.tip&&d.html(a.data("title"));e=e||f.Event();e.type="onBeforeShow";
h.trigger(e,[g]);if(e.isDefaultPrevented())return c;g=p(a,d,b);d.css({position:"absolute",top:g.top,left:g.left});l=true;r[0].call(c,function(){e.type="onShow";l="full";h.trigger(e)});g=b.events.tooltip.split(/,\s*/);if(!d.data("__set")){d.bind(g[0],function(){clearTimeout(i);clearTimeout(j)});g[1]&&!a.is("input:not(:checkbox, :radio), textarea")&&d.bind(g[1],function(n){n.relatedTarget!=a[0]&&a.trigger(k[1].split(" ")[0])});d.data("__set",true)}return c},hide:function(e){if(!d||!c.isShown())return c;
e=e||f.Event();e.type="onBeforeHide";h.trigger(e);if(!e.isDefaultPrevented()){l=false;o[b.effect][1].call(c,function(){e.type="onHide";h.trigger(e)});return c}},isShown:function(e){return e?l=="full":l},getConf:function(){return b},getTip:function(){return d},getTrigger:function(){return a}});f.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(e,g){f.isFunction(b[g])&&f(c).bind(g,b[g]);c[g]=function(n){n&&f(c).bind(g,n);return c}})}f.tools=f.tools||{version:"1.2.5"};f.tools.tooltip=
{conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,position:["top","center"],offset:[0,0],relative:false,cancelDefault:true,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(a,b,c){o[a]=[b,c]}};var o={toggle:[function(a){var b=this.getConf(),c=this.getTip();b=b.opacity;b<1&&c.css({opacity:b});c.show();a.call()},function(a){this.getTip().hide();
a.call()}],fade:[function(a){var b=this.getConf();this.getTip().fadeTo(b.fadeInSpeed,b.opacity,a)},function(a){this.getTip().fadeOut(this.getConf().fadeOutSpeed,a)}]};f.fn.tooltip=function(a){var b=this.data("tooltip");if(b)return b;a=f.extend(true,{},f.tools.tooltip.conf,a);if(typeof a.position=="string")a.position=a.position.split(/,?\s/);this.each(function(){b=new u(f(this),a);f(this).data("tooltip",b)});return a.api?b:this}})(jQuery);

View File

@ -414,16 +414,16 @@ function createMenu(items) {
function initPage() {
// JQuery plugins
includeJs("js/jquery/jquery.dataTables.min.js");
includeJs("js/jquery/jquery.form.js");
includeJs("js/jquery/jquery.jeditable.js");
includeJs("js/jquery/jquery.contextmenu.js");
includeJs("js/jquery/jquery.cookie.js");
includeJs("js/jquery/superfish.js");
includeJs("js/jquery/hoverIntent.js");
includeJs("js/jquery/jquery.jstree.js");
includeJs("js/jquery/jquery.flot.js");
includeJs("js/jquery/jquery.form.min.js");
includeJs("js/jquery/jquery.jeditable.min.js");
includeJs("js/jquery/jquery.contextmenu.min.js");
includeJs("js/jquery/jquery.cookie.min.js");
includeJs("js/jquery/superfish.min.js");
includeJs("js/jquery/hoverIntent.min.js");
includeJs("js/jquery/jquery.jstree.min.js");
includeJs("js/jquery/jquery.flot.min.js");
includeJs("js/jquery/tooltip.min.js");
includeJs("js/jquery/jquery.serverBrowser.js");
includeJs("js/jquery/jquery.serverBrowser.min.js");
// Page plugins
includeJs("js/configure/configure.js");