web/rsln/res/metadataplayer/test/interface 1.2/source/fisheye.js
changeset 120 3daa4039509a
parent 119 4c86151704e9
child 121 2b794b7901d6
--- a/web/rsln/res/metadataplayer/test/interface 1.2/source/fisheye.js	Fri Apr 22 12:31:41 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/**
- * Interface Elements for jQuery
- * Fisheye menu
- * 
- * http://interface.eyecon.ro
- * 
- * Copyright (c) 2006 Stefan Petre
- * Dual licensed under the MIT (MIT-LICENSE.txt) 
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- */
-
-/**
- * Build a Fisheye menu from a list of links
- *
- * @name Fisheye
- * @description Build a Fisheye menu from a list of links
- * @param Hash hash A hash of parameters
- * @option String items items selection
- * @option String container container element
- * @option Integer itemWidth the minimum width for each item
- * @option Integer maxWidth the maximum width for each item
- * @option String itemsText selection of element that contains the text for each item
- * @option Integer proximity the distance from element that make item to interact
- * @option String valign vertical alignment
- * @option String halign horizontal alignment
- *
- * @type jQuery
- * @cat Plugins/Interface
- * @author Stefan Petre
- */
-jQuery.iFisheye = {
-	
-	build : function(options)
-	{
-	
-		return this.each(
-			function()
-			{
-				var el = this;
-				el.fisheyeCfg = {
-					items : jQuery(options.items, this),
-					container: jQuery(options.container, this),
-					pos : jQuery.iUtil.getPosition(this),
-					itemWidth: options.itemWidth,
-					itemsText: options.itemsText,
-					proximity: options.proximity,
-					valign: options.valign,
-					halign: options.halign,
-					maxWidth : options.maxWidth
-				};
-				jQuery.iFisheye.positionContainer(el, 0);
-				jQuery(window).bind(
-					'resize',
-					function()
-					{
-						el.fisheyeCfg.pos = jQuery.iUtil.getPosition(el);
-						jQuery.iFisheye.positionContainer(el, 0);
-						jQuery.iFisheye.positionItems(el);
-					}
-				);
-				jQuery.iFisheye.positionItems(el);
-				el.fisheyeCfg.items
-					.bind(
-						'mouseover',
-						function()
-						{
-							jQuery(el.fisheyeCfg.itemsText, this).get(0).style.display = 'block';
-						}
-					)
-					.bind(
-						'mouseout',
-						function()
-						{
-							jQuery(el.fisheyeCfg.itemsText, this).get(0).style.display = 'none';
-						}
-					);
-				jQuery(document).bind(
-					'mousemove',
-					function(e)
-					{
-						var pointer = jQuery.iUtil.getPointer(e);
-						var toAdd = 0;
-						if (el.fisheyeCfg.halign && el.fisheyeCfg.halign == 'center')
-							var posx = pointer.x - el.fisheyeCfg.pos.x - (el.offsetWidth - el.fisheyeCfg.itemWidth * el.fisheyeCfg.items.size())/2 - el.fisheyeCfg.itemWidth/2;
-						else if (el.fisheyeCfg.halign && el.fisheyeCfg.halign == 'right')
-							var posx = pointer.x - el.fisheyeCfg.pos.x - el.offsetWidth + el.fisheyeCfg.itemWidth * el.fisheyeCfg.items.size();
-						else 
-							var posx = pointer.x - el.fisheyeCfg.pos.x;
-						var posy = Math.pow(pointer.y - el.fisheyeCfg.pos.y - el.offsetHeight/2,2);
-						el.fisheyeCfg.items.each(
-							function(nr)
-							{
-								distance = Math.sqrt(
-									Math.pow(posx - nr*el.fisheyeCfg.itemWidth, 2)
-									+ posy
-								);
-								distance -= el.fisheyeCfg.itemWidth/2;
-								
-								distance = distance < 0 ? 0 : distance;
-								distance = distance > el.fisheyeCfg.proximity ? el.fisheyeCfg.proximity : distance;
-								distance = el.fisheyeCfg.proximity - distance;
-								
-								extraWidth = el.fisheyeCfg.maxWidth * distance/el.fisheyeCfg.proximity;
-								
-								this.style.width = el.fisheyeCfg.itemWidth + extraWidth + 'px';
-								this.style.left = el.fisheyeCfg.itemWidth * nr + toAdd + 'px';
-								toAdd += extraWidth;
-							}
-						);
-						jQuery.iFisheye.positionContainer(el, toAdd);
-					}
-				);
-			}
-		)
-	},
-	
-	positionContainer : function(el, toAdd)
-	{
-		if (el.fisheyeCfg.halign)
-			if (el.fisheyeCfg.halign == 'center')
-				el.fisheyeCfg.container.get(0).style.left = (el.offsetWidth - el.fisheyeCfg.itemWidth * el.fisheyeCfg.items.size())/2 - toAdd/2 + 'px';
-			else if (el.fisheyeCfg.halign == 'left')
-				el.fisheyeCfg.container.get(0).style.left =  - toAdd/el.fisheyeCfg.items.size() + 'px';
-			else if (el.fisheyeCfg.halign == 'right')
-				el.fisheyeCfg.container.get(0).style.left =  (el.offsetWidth - el.fisheyeCfg.itemWidth * el.fisheyeCfg.items.size()) - toAdd/2 + 'px';
-		el.fisheyeCfg.container.get(0).style.width = el.fisheyeCfg.itemWidth * el.fisheyeCfg.items.size() + toAdd + 'px';
-	},
-	
-	positionItems : function(el)
-	{
-		el.fisheyeCfg.items.each(
-			function(nr)
-			{
-				this.style.width = el.fisheyeCfg.itemWidth + 'px';
-				this.style.left = el.fisheyeCfg.itemWidth * nr + 'px';
-			}
-		);
-	}
-};
-
-jQuery.fn.Fisheye = jQuery.iFisheye.build;
\ No newline at end of file