--- a/web/res/metadataplayer/test/interface 1.2/source/islider.js Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/interface 1.2/source/islider.js Wed Apr 27 18:54:31 2011 +0200
@@ -1,301 +1,301 @@
-/**
- * Interface Elements for jQuery
- * Slider
- *
- * http://interface.eyecon.ro
- *
- * Copyright (c) 2006 Stefan Petre
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- *
- */
-
-jQuery.iSlider = {
- tabindex : 1,
- set : function (values)
- {
- var values = values;
- return this.each(
- function()
- {
- this.slideCfg.sliders.each(
- function (key)
- {
- jQuery.iSlider.dragmoveBy(this,values[key]);
- }
- );
- }
- );
- },
-
- get : function()
- {
- var values = [];
- this.each(
- function(slider)
- {
- if (this.isSlider) {
- values[slider] = [];
- var elm = this;
- var sizes = jQuery.iUtil.getSize(this);
- this.slideCfg.sliders.each(
- function (key)
- {
- var x = this.offsetLeft;
- var y = this.offsetTop;
- xproc = parseInt(x * 100 / (sizes.w - this.offsetWidth));
- yproc = parseInt(y * 100 / (sizes.h - this.offsetHeight));
- values[slider][key] = [xproc||0, yproc||0, x||0, y||0];
- }
- );
- }
- }
- );
- return values;
- },
-
- modifyContainer : function (elm)
- {
- elm.dragCfg.containerMaxx = elm.dragCfg.cont.w - elm.dragCfg.oC.wb;
- elm.dragCfg.containerMaxy = elm.dragCfg.cont.h - elm.dragCfg.oC.hb;
- if (elm.SliderContainer.slideCfg.restricted ) {
- next = elm.SliderContainer.slideCfg.sliders.get(elm.SliderIteration+1);
- if (next) {
- elm.dragCfg.cont.w = (parseInt(jQuery(next).css('left'))||0) + elm.dragCfg.oC.wb;
- elm.dragCfg.cont.h = (parseInt(jQuery(next).css('top'))||0) + elm.dragCfg.oC.hb;
- }
- prev = elm.SliderContainer.slideCfg.sliders.get(elm.SliderIteration-1);
- if (prev) {
- var prevLeft = parseInt(jQuery(prev).css('left'))||0;
- var prevTop = parseInt(jQuery(prev).css('left'))||0;
- elm.dragCfg.cont.x += prevLeft;
- elm.dragCfg.cont.y += prevTop;
- elm.dragCfg.cont.w -= prevLeft;
- elm.dragCfg.cont.h -= prevTop;
- }
- }
- elm.dragCfg.maxx = elm.dragCfg.cont.w - elm.dragCfg.oC.wb;
- elm.dragCfg.maxy = elm.dragCfg.cont.h - elm.dragCfg.oC.hb;
- if(elm.dragCfg.fractions) {
- elm.dragCfg.gx = ((elm.dragCfg.cont.w - elm.dragCfg.oC.wb)/elm.dragCfg.fractions) || 1;
- elm.dragCfg.gy = ((elm.dragCfg.cont.h - elm.dragCfg.oC.hb)/elm.dragCfg.fractions) || 1;
- elm.dragCfg.fracW = elm.dragCfg.maxx / elm.dragCfg.fractions;
- elm.dragCfg.fracH = elm.dragCfg.maxy / elm.dragCfg.fractions;
- }
-
- elm.dragCfg.cont.dx = elm.dragCfg.cont.x - elm.dragCfg.oR.x;
- elm.dragCfg.cont.dy = elm.dragCfg.cont.y - elm.dragCfg.oR.y;
-
- jQuery.iDrag.helper.css('cursor', 'default');
- },
-
- onSlide : function(elm, x, y)
- {
- if (elm.dragCfg.fractions) {
- xfrac = parseInt(x/elm.dragCfg.fracW);
- xproc = xfrac * 100 / elm.dragCfg.fractions;
- yfrac = parseInt(y/elm.dragCfg.fracH);
- yproc = yfrac * 100 / elm.dragCfg.fractions;
- } else {
- xproc = parseInt(x * 100 / elm.dragCfg.containerMaxx);
- yproc = parseInt(y * 100 / elm.dragCfg.containerMaxy);
- }
- elm.dragCfg.lastSi = [xproc||0, yproc||0, x||0, y||0];
- if (elm.dragCfg.onSlide)
- elm.dragCfg.onSlide.apply(elm, elm.dragCfg.lastSi);
- },
-
- dragmoveByKey : function (event)
- {
- pressedKey = event.charCode || event.keyCode || -1;
-
- switch (pressedKey)
- {
- //end
- case 35:
- jQuery.iSlider.dragmoveBy(this.dragElem, [2000, 2000] );
- break;
- //home
- case 36:
- jQuery.iSlider.dragmoveBy(this.dragElem, [-2000, -2000] );
- break;
- //left
- case 37:
- jQuery.iSlider.dragmoveBy(this.dragElem, [-this.dragElem.dragCfg.gx||-1, 0] );
- break;
- //up
- case 38:
- jQuery.iSlider.dragmoveBy(this.dragElem, [0, -this.dragElem.dragCfg.gy||-1] );
- break;
- //right
- case 39:
- jQuery.iSlider.dragmoveBy(this.dragElem, [this.dragElem.dragCfg.gx||1, 0] );
- break;
- //down;
- case 40:
- jQuery.iDrag.dragmoveBy(this.dragElem, [0, this.dragElem.dragCfg.gy||1] );
- break;
- }
- },
-
- dragmoveBy : function (elm, position)
- {
- if (!elm.dragCfg) {
- return;
- }
-
- elm.dragCfg.oC = jQuery.extend(
- jQuery.iUtil.getPosition(elm),
- jQuery.iUtil.getSize(elm)
- );
-
- elm.dragCfg.oR = {
- x : parseInt(jQuery.css(elm, 'left'))||0,
- y : parseInt(jQuery.css(elm, 'top'))||0
- };
-
- elm.dragCfg.oP = jQuery.css(elm, 'position');
- if (elm.dragCfg.oP != 'relative' && elm.dragCfg.oP != 'absolute') {
- elm.style.position = 'relative';
- }
-
- jQuery.iDrag.getContainment(elm);
- jQuery.iSlider.modifyContainer(elm);
-
- dx = parseInt(position[0]) || 0;
- dy = parseInt(position[1]) || 0;
-
- nx = elm.dragCfg.oR.x + dx;
- ny = elm.dragCfg.oR.y + dy;
- if(elm.dragCfg.fractions) {
- newCoords = jQuery.iDrag.snapToGrid.apply(elm, [nx, ny, dx, dy]);
- if (newCoords.constructor == Object) {
- dx = newCoords.dx;
- dy = newCoords.dy;
- }
- nx = elm.dragCfg.oR.x + dx;
- ny = elm.dragCfg.oR.y + dy;
- }
-
- newCoords = jQuery.iDrag.fitToContainer.apply(elm, [nx, ny, dx, dy]);
- if (newCoords && newCoords.constructor == Object) {
- dx = newCoords.dx;
- dy = newCoords.dy;
- }
-
- nx = elm.dragCfg.oR.x + dx;
- ny = elm.dragCfg.oR.y + dy;
-
- if (elm.dragCfg.si && (elm.dragCfg.onSlide || elm.dragCfg.onChange)) {
- jQuery.iSlider.onSlide(elm, nx, ny);
- }
- nx = !elm.dragCfg.axis || elm.dragCfg.axis == 'horizontally' ? nx : elm.dragCfg.oR.x||0;
- ny = !elm.dragCfg.axis || elm.dragCfg.axis == 'vertically' ? ny : elm.dragCfg.oR.y||0;
- elm.style.left = nx + 'px';
- elm.style.top = ny + 'px';
- },
-
- build : function(o) {
- return this.each(
- function()
- {
- if (this.isSlider == true || !o.accept || !jQuery.iUtil || !jQuery.iDrag || !jQuery.iDrop){
- return;
- }
- toDrag = jQuery(o.accept, this);
- if (toDrag.size() == 0) {
- return;
- }
- var params = {
- containment: 'parent',
- si : true,
- onSlide : o.onSlide && o.onSlide.constructor == Function ? o.onSlide : null,
- onChange : o.onChange && o.onChange.constructor == Function ? o.onChange : null,
- handle: this,
- opacity: o.opacity||false
- };
- if (o.fractions && parseInt(o.fractions)) {
- params.fractions = parseInt(o.fractions)||1;
- params.fractions = params.fractions > 0 ? params.fractions : 1;
- }
- if (toDrag.size() == 1)
- toDrag.Draggable(params);
- else {
- jQuery(toDrag.get(0)).Draggable(params);
- params.handle = null;
- toDrag.Draggable(params);
- }
- toDrag.keydown(jQuery.iSlider.dragmoveByKey);
- toDrag.attr('tabindex',jQuery.iSlider.tabindex++);
-
- this.isSlider = true;
- this.slideCfg = {};
- this.slideCfg.onslide = params.onslide;
- this.slideCfg.fractions = params.fractions;
- this.slideCfg.sliders = toDrag;
- this.slideCfg.restricted = o.restricted ? true : false;
- sliderEl = this;
- sliderEl.slideCfg.sliders.each(
- function(nr)
- {
- this.SliderIteration = nr;
- this.SliderContainer = sliderEl;
- }
- );
- if (o.values && o.values.constructor == Array) {
- for (i = o.values.length -1; i>=0;i--) {
- if (o.values[i].constructor == Array && o.values[i].length == 2) {
- el = this.slideCfg.sliders.get(i);
- if (el.tagName) {
- jQuery.iSlider.dragmoveBy(el, o.values[i]);
- }
- }
- }
- }
- }
- );
- }
-};
-jQuery.fn.extend(
- {
- /**
- * Create a slider width options
- *
- * @name Slider
- * @description Create a slider width options
- * @param Hash hash A hash of parameters. All parameters are optional.
- * @option Mixed accepts string to select slider indicators or DOMElement slider indicator
- * @option Integer factions (optional) number of sgments to divide and snap slider
- * @option Function onSlide (optional) A function to be executed whenever slider indicator it is moved
- * @option Function onChanged (optional) A function to be executed whenever slider indicator was moved
- * @option Array values (optional) Initial values for slider indicators
- * @option Boolean restricted (optional) if true the slider indicator can not be moved beyond adjacent indicators
- * @type jQuery
- * @cat Plugins/Interface
- * @author Stefan Petre
- */
- Slider : jQuery.iSlider.build,
- /**
- * Set value/position for slider indicators
- *
- * @name SliderSetValues
- * @description Set value/position for slider indicators
- * @param Array values array width values for each indicator
- * @type jQuery
- * @cat Plugins/Interface
- * @author Stefan Petre
- */
- SliderSetValues : jQuery.iSlider.set,
- /**
- * Get value/position for slider indicators
- *
- * @name SliderSetValues
- * @description Get value/position for slider indicators
- * @type jQuery
- * @cat Plugins/Interface
- * @author Stefan Petre
- */
- SliderGetValues : jQuery.iSlider.get
- }
+/**
+ * Interface Elements for jQuery
+ * Slider
+ *
+ * http://interface.eyecon.ro
+ *
+ * Copyright (c) 2006 Stefan Petre
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ *
+ */
+
+jQuery.iSlider = {
+ tabindex : 1,
+ set : function (values)
+ {
+ var values = values;
+ return this.each(
+ function()
+ {
+ this.slideCfg.sliders.each(
+ function (key)
+ {
+ jQuery.iSlider.dragmoveBy(this,values[key]);
+ }
+ );
+ }
+ );
+ },
+
+ get : function()
+ {
+ var values = [];
+ this.each(
+ function(slider)
+ {
+ if (this.isSlider) {
+ values[slider] = [];
+ var elm = this;
+ var sizes = jQuery.iUtil.getSize(this);
+ this.slideCfg.sliders.each(
+ function (key)
+ {
+ var x = this.offsetLeft;
+ var y = this.offsetTop;
+ xproc = parseInt(x * 100 / (sizes.w - this.offsetWidth));
+ yproc = parseInt(y * 100 / (sizes.h - this.offsetHeight));
+ values[slider][key] = [xproc||0, yproc||0, x||0, y||0];
+ }
+ );
+ }
+ }
+ );
+ return values;
+ },
+
+ modifyContainer : function (elm)
+ {
+ elm.dragCfg.containerMaxx = elm.dragCfg.cont.w - elm.dragCfg.oC.wb;
+ elm.dragCfg.containerMaxy = elm.dragCfg.cont.h - elm.dragCfg.oC.hb;
+ if (elm.SliderContainer.slideCfg.restricted ) {
+ next = elm.SliderContainer.slideCfg.sliders.get(elm.SliderIteration+1);
+ if (next) {
+ elm.dragCfg.cont.w = (parseInt(jQuery(next).css('left'))||0) + elm.dragCfg.oC.wb;
+ elm.dragCfg.cont.h = (parseInt(jQuery(next).css('top'))||0) + elm.dragCfg.oC.hb;
+ }
+ prev = elm.SliderContainer.slideCfg.sliders.get(elm.SliderIteration-1);
+ if (prev) {
+ var prevLeft = parseInt(jQuery(prev).css('left'))||0;
+ var prevTop = parseInt(jQuery(prev).css('left'))||0;
+ elm.dragCfg.cont.x += prevLeft;
+ elm.dragCfg.cont.y += prevTop;
+ elm.dragCfg.cont.w -= prevLeft;
+ elm.dragCfg.cont.h -= prevTop;
+ }
+ }
+ elm.dragCfg.maxx = elm.dragCfg.cont.w - elm.dragCfg.oC.wb;
+ elm.dragCfg.maxy = elm.dragCfg.cont.h - elm.dragCfg.oC.hb;
+ if(elm.dragCfg.fractions) {
+ elm.dragCfg.gx = ((elm.dragCfg.cont.w - elm.dragCfg.oC.wb)/elm.dragCfg.fractions) || 1;
+ elm.dragCfg.gy = ((elm.dragCfg.cont.h - elm.dragCfg.oC.hb)/elm.dragCfg.fractions) || 1;
+ elm.dragCfg.fracW = elm.dragCfg.maxx / elm.dragCfg.fractions;
+ elm.dragCfg.fracH = elm.dragCfg.maxy / elm.dragCfg.fractions;
+ }
+
+ elm.dragCfg.cont.dx = elm.dragCfg.cont.x - elm.dragCfg.oR.x;
+ elm.dragCfg.cont.dy = elm.dragCfg.cont.y - elm.dragCfg.oR.y;
+
+ jQuery.iDrag.helper.css('cursor', 'default');
+ },
+
+ onSlide : function(elm, x, y)
+ {
+ if (elm.dragCfg.fractions) {
+ xfrac = parseInt(x/elm.dragCfg.fracW);
+ xproc = xfrac * 100 / elm.dragCfg.fractions;
+ yfrac = parseInt(y/elm.dragCfg.fracH);
+ yproc = yfrac * 100 / elm.dragCfg.fractions;
+ } else {
+ xproc = parseInt(x * 100 / elm.dragCfg.containerMaxx);
+ yproc = parseInt(y * 100 / elm.dragCfg.containerMaxy);
+ }
+ elm.dragCfg.lastSi = [xproc||0, yproc||0, x||0, y||0];
+ if (elm.dragCfg.onSlide)
+ elm.dragCfg.onSlide.apply(elm, elm.dragCfg.lastSi);
+ },
+
+ dragmoveByKey : function (event)
+ {
+ pressedKey = event.charCode || event.keyCode || -1;
+
+ switch (pressedKey)
+ {
+ //end
+ case 35:
+ jQuery.iSlider.dragmoveBy(this.dragElem, [2000, 2000] );
+ break;
+ //home
+ case 36:
+ jQuery.iSlider.dragmoveBy(this.dragElem, [-2000, -2000] );
+ break;
+ //left
+ case 37:
+ jQuery.iSlider.dragmoveBy(this.dragElem, [-this.dragElem.dragCfg.gx||-1, 0] );
+ break;
+ //up
+ case 38:
+ jQuery.iSlider.dragmoveBy(this.dragElem, [0, -this.dragElem.dragCfg.gy||-1] );
+ break;
+ //right
+ case 39:
+ jQuery.iSlider.dragmoveBy(this.dragElem, [this.dragElem.dragCfg.gx||1, 0] );
+ break;
+ //down;
+ case 40:
+ jQuery.iDrag.dragmoveBy(this.dragElem, [0, this.dragElem.dragCfg.gy||1] );
+ break;
+ }
+ },
+
+ dragmoveBy : function (elm, position)
+ {
+ if (!elm.dragCfg) {
+ return;
+ }
+
+ elm.dragCfg.oC = jQuery.extend(
+ jQuery.iUtil.getPosition(elm),
+ jQuery.iUtil.getSize(elm)
+ );
+
+ elm.dragCfg.oR = {
+ x : parseInt(jQuery.css(elm, 'left'))||0,
+ y : parseInt(jQuery.css(elm, 'top'))||0
+ };
+
+ elm.dragCfg.oP = jQuery.css(elm, 'position');
+ if (elm.dragCfg.oP != 'relative' && elm.dragCfg.oP != 'absolute') {
+ elm.style.position = 'relative';
+ }
+
+ jQuery.iDrag.getContainment(elm);
+ jQuery.iSlider.modifyContainer(elm);
+
+ dx = parseInt(position[0]) || 0;
+ dy = parseInt(position[1]) || 0;
+
+ nx = elm.dragCfg.oR.x + dx;
+ ny = elm.dragCfg.oR.y + dy;
+ if(elm.dragCfg.fractions) {
+ newCoords = jQuery.iDrag.snapToGrid.apply(elm, [nx, ny, dx, dy]);
+ if (newCoords.constructor == Object) {
+ dx = newCoords.dx;
+ dy = newCoords.dy;
+ }
+ nx = elm.dragCfg.oR.x + dx;
+ ny = elm.dragCfg.oR.y + dy;
+ }
+
+ newCoords = jQuery.iDrag.fitToContainer.apply(elm, [nx, ny, dx, dy]);
+ if (newCoords && newCoords.constructor == Object) {
+ dx = newCoords.dx;
+ dy = newCoords.dy;
+ }
+
+ nx = elm.dragCfg.oR.x + dx;
+ ny = elm.dragCfg.oR.y + dy;
+
+ if (elm.dragCfg.si && (elm.dragCfg.onSlide || elm.dragCfg.onChange)) {
+ jQuery.iSlider.onSlide(elm, nx, ny);
+ }
+ nx = !elm.dragCfg.axis || elm.dragCfg.axis == 'horizontally' ? nx : elm.dragCfg.oR.x||0;
+ ny = !elm.dragCfg.axis || elm.dragCfg.axis == 'vertically' ? ny : elm.dragCfg.oR.y||0;
+ elm.style.left = nx + 'px';
+ elm.style.top = ny + 'px';
+ },
+
+ build : function(o) {
+ return this.each(
+ function()
+ {
+ if (this.isSlider == true || !o.accept || !jQuery.iUtil || !jQuery.iDrag || !jQuery.iDrop){
+ return;
+ }
+ toDrag = jQuery(o.accept, this);
+ if (toDrag.size() == 0) {
+ return;
+ }
+ var params = {
+ containment: 'parent',
+ si : true,
+ onSlide : o.onSlide && o.onSlide.constructor == Function ? o.onSlide : null,
+ onChange : o.onChange && o.onChange.constructor == Function ? o.onChange : null,
+ handle: this,
+ opacity: o.opacity||false
+ };
+ if (o.fractions && parseInt(o.fractions)) {
+ params.fractions = parseInt(o.fractions)||1;
+ params.fractions = params.fractions > 0 ? params.fractions : 1;
+ }
+ if (toDrag.size() == 1)
+ toDrag.Draggable(params);
+ else {
+ jQuery(toDrag.get(0)).Draggable(params);
+ params.handle = null;
+ toDrag.Draggable(params);
+ }
+ toDrag.keydown(jQuery.iSlider.dragmoveByKey);
+ toDrag.attr('tabindex',jQuery.iSlider.tabindex++);
+
+ this.isSlider = true;
+ this.slideCfg = {};
+ this.slideCfg.onslide = params.onslide;
+ this.slideCfg.fractions = params.fractions;
+ this.slideCfg.sliders = toDrag;
+ this.slideCfg.restricted = o.restricted ? true : false;
+ sliderEl = this;
+ sliderEl.slideCfg.sliders.each(
+ function(nr)
+ {
+ this.SliderIteration = nr;
+ this.SliderContainer = sliderEl;
+ }
+ );
+ if (o.values && o.values.constructor == Array) {
+ for (i = o.values.length -1; i>=0;i--) {
+ if (o.values[i].constructor == Array && o.values[i].length == 2) {
+ el = this.slideCfg.sliders.get(i);
+ if (el.tagName) {
+ jQuery.iSlider.dragmoveBy(el, o.values[i]);
+ }
+ }
+ }
+ }
+ }
+ );
+ }
+};
+jQuery.fn.extend(
+ {
+ /**
+ * Create a slider width options
+ *
+ * @name Slider
+ * @description Create a slider width options
+ * @param Hash hash A hash of parameters. All parameters are optional.
+ * @option Mixed accepts string to select slider indicators or DOMElement slider indicator
+ * @option Integer factions (optional) number of sgments to divide and snap slider
+ * @option Function onSlide (optional) A function to be executed whenever slider indicator it is moved
+ * @option Function onChanged (optional) A function to be executed whenever slider indicator was moved
+ * @option Array values (optional) Initial values for slider indicators
+ * @option Boolean restricted (optional) if true the slider indicator can not be moved beyond adjacent indicators
+ * @type jQuery
+ * @cat Plugins/Interface
+ * @author Stefan Petre
+ */
+ Slider : jQuery.iSlider.build,
+ /**
+ * Set value/position for slider indicators
+ *
+ * @name SliderSetValues
+ * @description Set value/position for slider indicators
+ * @param Array values array width values for each indicator
+ * @type jQuery
+ * @cat Plugins/Interface
+ * @author Stefan Petre
+ */
+ SliderSetValues : jQuery.iSlider.set,
+ /**
+ * Get value/position for slider indicators
+ *
+ * @name SliderSetValues
+ * @description Get value/position for slider indicators
+ * @type jQuery
+ * @cat Plugins/Interface
+ * @author Stefan Petre
+ */
+ SliderGetValues : jQuery.iSlider.get
+ }
);
\ No newline at end of file