芝麻web文件管理V1.00
编辑当前文件:/home/asmplong/www/ancien-site-2019/site/media/com_akeeba/js/gui-helpers.js
// ============================================================================= (function(jQuery){ // <<< DO NOT REMOVE - USED FOR JQUERY COMPATIBILITY <<< // ============================================================================= /* * jQuery Tooltip plugin 1.3 * * http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/ * http://docs.jquery.com/Plugins/Tooltip * * Copyright (c) 2006 - 2008 Jörn Zaefferer * * $Id: gui-helpers.js 599 2011-05-12 12:59:53Z nikosdion $ * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html */ (function($){var helper={},current,title,tID,IE=$.browser.msie&&/MSIE\s(5\.5|6\.)/.test(navigator.userAgent),track=false;$.tooltip={blocked:false,defaults:{delay:200,fade:false,showURL:true,extraClass:"",top:'auto',left:'auto',id:"tooltip"},block:function(){$.tooltip.blocked=!$.tooltip.blocked;}};$.fn.extend({tooltip:function(settings){settings=$.extend({},$.tooltip.defaults,settings);createHelper(settings);return this.each(function(){$.data(this,"tooltip",settings);this.tOpacity=helper.parent.css("opacity");this.tooltipText=this.title;$(this).removeAttr("title");this.alt="";}).mouseover(save).mouseout(hide).click(hide);},fixPNG:IE?function(){return this.each(function(){var image=$(this).css('backgroundImage');if(image.match(/^url\(["']?(.*\.png)["']?\)$/i)){image=RegExp.$1;$(this).css({'backgroundImage':'none','filter':"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='"+image+"')"}).each(function(){var position=$(this).css('position');if(position!='absolute'&&position!='relative') $(this).css('position','relative');});}});}:function(){return this;},unfixPNG:IE?function(){return this.each(function(){$(this).css({'filter':'',backgroundImage:''});});}:function(){return this;},hideWhenEmpty:function(){return this.each(function(){$(this)[$(this).html()?"show":"hide"]();});},url:function(){return this.attr('href')||this.attr('src');}});function createHelper(settings){if(helper.parent) return;helper.parent=$('
').appendTo(document.body).hide();if($.fn.bgiframe) helper.parent.bgiframe();helper.title=$('h3',helper.parent);helper.body=$('div.body',helper.parent);helper.url=$('div.url',helper.parent);} function settings(element){return $.data(element,"tooltip");} function handle(event){if(settings(this).delay) tID=setTimeout(show,settings(this).delay);else show();track=!!settings(this).track;$(document.body).bind('mousemove',update);update(event);} function save(){if($.tooltip.blocked||this==current||(!this.tooltipText&&!settings(this).bodyHandler)) return;current=this;title=this.tooltipText;if(settings(this).bodyHandler){helper.title.hide();var bodyContent=settings(this).bodyHandler.call(this);if(bodyContent.nodeType||bodyContent.jquery){helper.body.empty().append(bodyContent)}else{helper.body.html(bodyContent);} helper.body.show();}else if(settings(this).showBody){var parts=title.split(settings(this).showBody);helper.title.html(parts.shift()).show();helper.body.empty();for(var i=0,part;(part=parts[i]);i++){if(i>0) helper.body.append("
");helper.body.append(part);} helper.body.hideWhenEmpty();}else{helper.title.html(title).show();helper.body.hide();} if(settings(this).showURL&&$(this).url()) helper.url.html($(this).url().replace('http://','')).show(); helper.parent.addClass(settings(this).extraClass);if(settings(this).fixPNG) helper.parent.fixPNG();handle.apply(this,arguments);} function show(){tID=null;if((!IE||!$.fn.bgiframe)&&settings(current).fade){if(helper.parent.is(":animated")) helper.parent.stop().show().fadeTo(settings(current).fade,current.tOpacity);else helper.parent.is(':visible')?helper.parent.fadeTo(settings(current).fade,current.tOpacity):helper.parent.fadeIn(settings(current).fade);}else{helper.parent.show();} update();} function update(event){if($.tooltip.blocked) return;if(event&&event.target.tagName=="OPTION"){return;} if(!track&&helper.parent.is(":visible")){$(document.body).unbind('mousemove',update)} if(current==null){$(document.body).unbind('mousemove',update);return;} helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");var left=helper.parent[0].offsetLeft;var top=helper.parent[0].offsetTop;if(event){var elementCoords=$(current).offset();if(settings(current).left=='auto'){left=event.pageX+15;}else{left=elementCoords.left+settings(current).left} if(settings(current).top=='auto'){top=event.pageY+settings(current).top;}else{top=elementCoords.top+settings(current).top;} var right='auto';if(settings(current).positionLeft){right=$(window).width()-left;left='auto';} helper.parent.css({left:left,right:right,top:top});} var v=viewport(),h=helper.parent[0];if(v.x+v.cx
times&×!==0)||fn.call(element,counter)===false) jQuery.timer.remove(element,label,fn);};handler.timerID=fn.timerID;if(!timers[label][fn.timerID]) timers[label][fn.timerID]=window.setInterval(handler,interval);this.global.push(element);},remove:function(element,label,fn){var timers=jQuery.data(element,this.dataKey),ret;if(timers){if(!label){for(label in timers) this.remove(element,label,fn);}else if(timers[label]){if(fn){if(fn.timerID){window.clearInterval(timers[label][fn.timerID]);delete timers[label][fn.timerID];}}else{for(var fn in timers[label]){window.clearInterval(timers[label][fn]);delete timers[label][fn];}} for(ret in timers[label])break;if(!ret){ret=null;delete timers[label];}} for(ret in timers)break;if(!ret) jQuery.removeData(element,this.dataKey);}}}});jQuery(window).bind("unload",function(){jQuery.each(jQuery.timer.global,function(index,item){jQuery.timer.remove(item);});}); /* * http://www.JSON.org/json2.js * 2009-09-29 * Public Domain. * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. * See http://www.JSON.org/js.html */ if(!this.JSON){this.JSON={};} (function(){function f(n){return n<10?'0'+n:n;} if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+'-'+ f(this.getUTCMonth()+1)+'-'+ f(this.getUTCDate())+'T'+ f(this.getUTCHours())+':'+ f(this.getUTCMinutes())+':'+ f(this.getUTCSeconds())+'Z':null;};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};} var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';} function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);} if(typeof rep==='function'){value=rep.call(holder,key,value);} switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';} gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i
3 ? j % 3 : 0; return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ""); } function size_format (filesize) { if (filesize >= 1073741824) { filesize = number_format(filesize / 1073741824, 2, '.', '') + ' Gb'; } else { if (filesize >= 1048576) { filesize = number_format(filesize / 1048576, 2, '.', '') + ' Mb'; } else { filesize = number_format(filesize / 1024, 2, '.', '') + ' Kb'; } } return filesize; } /** * Checks if a varriable is empty. From the php.js library. */ function empty (mixed_var) { var key; if (mixed_var === "" || mixed_var === 0 || mixed_var === "0" || mixed_var === null || mixed_var === false || typeof mixed_var === 'undefined' ){ return true; } if (typeof mixed_var == 'object') { for (key in mixed_var) { return false; } return true; } return false; } function ltrim ( str, charlist ) { // Strips whitespace from the beginning of a string // // version: 1008.1718 // discuss at: http://phpjs.org/functions/ltrim // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + input by: Erkekjetter // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + bugfixed by: Onno Marsman // * example 1: ltrim(' Kevin van Zonneveld '); // * returns 1: 'Kevin van Zonneveld ' charlist = !charlist ? ' \\s\u00A0' : (charlist+'').replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1'); var re = new RegExp('^[' + charlist + ']+', 'g'); return (str+'').replace(re, ''); } function array_shift (inputArr) { // http://kevin.vanzonneveld.net // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: Martijn Wieringa // % note 1: Currently does not handle objects // * example 1: array_shift(['Kevin', 'van', 'Zonneveld']); // * returns 1: 'Kevin' var props = false, shift = undefined, pr = '', allDigits = /^\d$/, int_ct=-1, _checkToUpIndices = function (arr, ct, key) { // Deal with situation, e.g., if encounter index 4 and try to set it to 0, but 0 exists later in loop (need to // increment all subsequent (skipping current key, since we need its value below) until find unused) if (arr[ct] !== undefined) { var tmp = ct; ct += 1; if (ct === key) { ct += 1; } ct = _checkToUpIndices(arr, ct, key); arr[ct] = arr[tmp]; delete arr[tmp]; } return ct; }; if (inputArr.length === 0) { return null; } if (inputArr.length > 0) { return inputArr.shift(); } } function trim (str, charlist) { var whitespace, l = 0, i = 0; str += ''; if (!charlist) { // default list whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000"; } else { // preg_quote custom list charlist += ''; whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1'); } l = str.length; for (i = 0; i < l; i++) { if (whitespace.indexOf(str.charAt(i)) === -1) { str = str.substring(i); break; } } l = str.length; for (i = l - 1; i >= 0; i--) { if (whitespace.indexOf(str.charAt(i)) === -1) { str = str.substring(0, i + 1); break; } } return whitespace.indexOf(str.charAt(0)) === -1 ? str : ''; } function array_merge () { // Merges elements from passed arrays into one array // // version: 1103.1210 // discuss at: http://phpjs.org/functions/array_merge // + original by: Brett Zamir (http://brett-zamir.me) // + bugfixed by: Nate // + input by: josh // + bugfixed by: Brett Zamir (http://brett-zamir.me) // * example 1: arr1 = {"color": "red", 0: 2, 1: 4} // * example 1: arr2 = {0: "a", 1: "b", "color": "green", "shape": "trapezoid", 2: 4} // * example 1: array_merge(arr1, arr2) // * returns 1: {"color": "green", 0: 2, 1: 4, 2: "a", 3: "b", "shape": "trapezoid", 4: 4} // * example 2: arr1 = [] // * example 2: arr2 = {1: "data"} // * example 2: array_merge(arr1, arr2) // * returns 2: {0: "data"} var args = Array.prototype.slice.call(arguments), retObj = {}, k, j = 0, i = 0, retArr = true; for (i = 0; i < args.length; i++) { if (!(args[i] instanceof Array)) { retArr = false; break; } } if (retArr) { retArr = []; for (i = 0; i < args.length; i++) { retArr = retArr.concat(args[i]); } return retArr; } var ct = 0; for (i = 0, ct = 0; i < args.length; i++) { if (args[i] instanceof Array) { for (j = 0; j < args[i].length; j++) { retObj[ct++] = args[i][j]; } } else { for (k in args[i]) { if (args[i].hasOwnProperty(k)) { if (parseInt(k, 10) + '' === k) { retObj[ct++] = args[i][k]; } else { retObj[k] = args[i][k]; } } } } } return retObj; }