--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/res/metadataplayer/test/css-dock-menu/js/iutil.js Wed Apr 06 16:26:16 2011 +0200
@@ -0,0 +1,245 @@
+/**
+ * Interface Elements for jQuery
+ * utility function
+ *
+ * http://interface.eyecon.ro
+ *
+ * Copyright (c) 2006 Stefan Petre
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ *
+ */
+
+jQuery.iUtil = {
+ getPosition : function(e)
+ {
+ var x = 0;
+ var y = 0;
+ var es = e.style;
+ var restoreStyles = false;
+ if (jQuery(e).css('display') == 'none') {
+ var oldVisibility = es.visibility;
+ var oldPosition = es.position;
+ restoreStyles = true;
+ es.visibility = 'hidden';
+ es.display = 'block';
+ es.position = 'absolute';
+ }
+ var el = e;
+ while (el){
+ x += el.offsetLeft + (el.currentStyle && !jQuery.browser.opera ?parseInt(el.currentStyle.borderLeftWidth)||0:0);
+ y += el.offsetTop + (el.currentStyle && !jQuery.browser.opera ?parseInt(el.currentStyle.borderTopWidth)||0:0);
+ el = el.offsetParent;
+ }
+ el = e;
+ while (el && el.tagName && el.tagName.toLowerCase() != 'body')
+ {
+ x -= el.scrollLeft||0;
+ y -= el.scrollTop||0;
+ el = el.parentNode;
+ }
+ if (restoreStyles == true) {
+ es.display = 'none';
+ es.position = oldPosition;
+ es.visibility = oldVisibility;
+ }
+ return {x:x, y:y};
+ },
+ getPositionLite : function(el)
+ {
+ var x = 0, y = 0;
+ while(el) {
+ x += el.offsetLeft || 0;
+ y += el.offsetTop || 0;
+ el = el.offsetParent;
+ }
+ return {x:x, y:y};
+ },
+ getSize : function(e)
+ {
+ var w = jQuery.css(e,'width');
+ var h = jQuery.css(e,'height');
+ var wb = 0;
+ var hb = 0;
+ var es = e.style;
+ if (jQuery(e).css('display') != 'none') {
+ wb = e.offsetWidth;
+ hb = e.offsetHeight;
+ } else {
+ var oldVisibility = es.visibility;
+ var oldPosition = es.position;
+ es.visibility = 'hidden';
+ es.display = 'block';
+ es.position = 'absolute';
+ wb = e.offsetWidth;
+ hb = e.offsetHeight;
+ es.display = 'none';
+ es.position = oldPosition;
+ es.visibility = oldVisibility;
+ }
+ return {w:w, h:h, wb:wb, hb:hb};
+ },
+ getSizeLite : function(el)
+ {
+ return {
+ wb:el.offsetWidth||0,
+ hb:el.offsetHeight||0
+ };
+ },
+ getClient : function(e)
+ {
+ var h, w, de;
+ if (e) {
+ w = e.clientWidth;
+ h = e.clientHeight;
+ } else {
+ de = document.documentElement;
+ w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
+ h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
+ }
+ return {w:w,h:h};
+ },
+ getScroll : function (e)
+ {
+ var t=0, l=0, w=0, h=0, iw=0, ih=0;
+ if (e && e.nodeName.toLowerCase() != 'body') {
+ t = e.scrollTop;
+ l = e.scrollLeft;
+ w = e.scrollWidth;
+ h = e.scrollHeight;
+ iw = 0;
+ ih = 0;
+ } else {
+ if (document.documentElement) {
+ t = document.documentElement.scrollTop;
+ l = document.documentElement.scrollLeft;
+ w = document.documentElement.scrollWidth;
+ h = document.documentElement.scrollHeight;
+ } else if (document.body) {
+ t = document.body.scrollTop;
+ l = document.body.scrollLeft;
+ w = document.body.scrollWidth;
+ h = document.body.scrollHeight;
+ }
+ iw = self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0;
+ ih = self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0;
+ }
+ return { t: t, l: l, w: w, h: h, iw: iw, ih: ih };
+ },
+ getMargins : function(e, toInteger)
+ {
+ var el = jQuery(e);
+ var t = el.css('marginTop') || '';
+ var r = el.css('marginRight') || '';
+ var b = el.css('marginBottom') || '';
+ var l = el.css('marginLeft') || '';
+ if (toInteger)
+ return {
+ t: parseInt(t)||0,
+ r: parseInt(r)||0,
+ b: parseInt(b)||0,
+ l: parseInt(l)
+ };
+ else
+ return {t: t, r: r, b: b, l: l};
+ },
+ getPadding : function(e, toInteger)
+ {
+ var el = jQuery(e);
+ var t = el.css('paddingTop') || '';
+ var r = el.css('paddingRight') || '';
+ var b = el.css('paddingBottom') || '';
+ var l = el.css('paddingLeft') || '';
+ if (toInteger)
+ return {
+ t: parseInt(t)||0,
+ r: parseInt(r)||0,
+ b: parseInt(b)||0,
+ l: parseInt(l)
+ };
+ else
+ return {t: t, r: r, b: b, l: l};
+ },
+ getBorder : function(e, toInteger)
+ {
+ var el = jQuery(e);
+ var t = el.css('borderTopWidth') || '';
+ var r = el.css('borderRightWidth') || '';
+ var b = el.css('borderBottomWidth') || '';
+ var l = el.css('borderLeftWidth') || '';
+ if (toInteger)
+ return {
+ t: parseInt(t)||0,
+ r: parseInt(r)||0,
+ b: parseInt(b)||0,
+ l: parseInt(l)||0
+ };
+ else
+ return {t: t, r: r, b: b, l: l};
+ },
+ getPointer : function(event)
+ {
+ var x = event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)) || 0;
+ var y = event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop)) || 0;
+ return {x:x, y:y};
+ },
+ traverseDOM : function(nodeEl, func)
+ {
+ func(nodeEl);
+ nodeEl = nodeEl.firstChild;
+ while(nodeEl){
+ jQuery.iUtil.traverseDOM(nodeEl, func);
+ nodeEl = nodeEl.nextSibling;
+ }
+ },
+ purgeEvents : function(nodeEl)
+ {
+ jQuery.iUtil.traverseDOM(
+ nodeEl,
+ function(el)
+ {
+ for(var attr in el){
+ if(typeof el[attr] === 'function') {
+ el[attr] = null;
+ }
+ }
+ }
+ );
+ },
+ centerEl : function(el, axis)
+ {
+ var clientScroll = jQuery.iUtil.getScroll();
+ var windowSize = jQuery.iUtil.getSize(el);
+ if (!axis || axis == 'vertically')
+ jQuery(el).css(
+ {
+ top: clientScroll.t + ((Math.max(clientScroll.h,clientScroll.ih) - clientScroll.t - windowSize.hb)/2) + 'px'
+ }
+ );
+ if (!axis || axis == 'horizontally')
+ jQuery(el).css(
+ {
+ left: clientScroll.l + ((Math.max(clientScroll.w,clientScroll.iw) - clientScroll.l - windowSize.wb)/2) + 'px'
+ }
+ );
+ },
+ fixPNG : function (el, emptyGIF) {
+ var images = jQuery('img[@src*="png"]', el||document), png;
+ images.each( function() {
+ png = this.src;
+ this.src = emptyGIF;
+ this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + png + "')";
+ });
+ }
+};
+
+// Helper function to support older browsers!
+[].indexOf || (Array.prototype.indexOf = function(v, n){
+ n = (n == null) ? 0 : n;
+ var m = this.length;
+ for (var i=n; i<m; i++)
+ if (this[i] == v)
+ return i;
+ return -1;
+});