web/res/metadataplayer/test/interface 1.2/source/accordion.js
changeset 534 0a2505c3b547
parent 533 d824146a9589
child 535 8276f3ff7a3f
--- a/web/res/metadataplayer/test/interface 1.2/source/accordion.js	Sun Mar 04 14:13:39 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/**
- * Interface Elements for jQuery
- * Accordion
- * 
- * http://interface.eyecon.ro
- * 
- * Copyright (c) 2006 Stefan Petre
- * Dual licensed under the MIT (MIT-LICENSE.txt) 
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- */
-
-/**
- * Create an accordion from a HTML structure
- *
- * @example $('#myAccordion').Accordion(
- *				{
- *					headerSelector	: 'dt',
- *					panelSelector	: 'dd',
- *					activeClass		: 'myAccordionActive',
- *					hoverClass		: 'myAccordionHover',
- *					panelHeight		: 200,
- *					speed			: 300
- *				}
- *			);
- * @desc Converts definition list with id 'myAccordion' into an accordion width dt tags as headers and dd tags as panels
- * 
- * @name Accordion
- * @description Create an accordion from a HTML structure
- * @param Hash hash A hash of parameters
- * @option Integer panelHeight the pannels' height
- * @option String headerSelector selector for header elements
- * @option String panelSelector selector for panel elements
- * @option String activeClass (optional) CSS Class for active header
- * @option String hoverClass (optional) CSS Class for hovered header
- * @option Function onShow (optional) callback called whenever an pannel gets active
- * @option Function onHide (optional) callback called whenever an pannel gets incative
- * @option Function onClick (optional) callback called just before an panel gets active
- * @option Mixed speed (optional) animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast']
- * @option Integer crrentPanel (otional) the active panel on initialisation
- *
- * @type jQuery
- * @cat Plugins/Interface
- * @author Stefan Petre
- */
-jQuery.iAccordion = {
-	build : function(options)
-	{
-		return this.each(
-			function()
-			{
-				if (!options.headerSelector || !options.panelSelector)
-					return;
-				var el = this;
-				el.accordionCfg = {
-					panelHeight			: options.panelHeight||300,
-					headerSelector		: options.headerSelector,
-					panelSelector		: options.panelSelector,
-					activeClass			: options.activeClass||'fakeAccordionClass',
-					hoverClass			: options.hoverClass||'fakeAccordionClass',
-					onShow				: options.onShow && typeof options.onShow == 'function' ? options.onShow : false,
-					onHide				: options.onShow && typeof options.onHide == 'function' ? options.onHide : false,
-					onClick				: options.onClick && typeof options.onClick == 'function' ? options.onClick : false,
-					headers				: jQuery(options.headerSelector, this),
-					panels				: jQuery(options.panelSelector, this),
-					speed				: options.speed||400,
-					currentPanel		: options.currentPanel||0
-				};
-				el.accordionCfg.panels
-					.hide()
-					.css('height', '1px')
-					.eq(0)
-					.css(
-						{
-							height: el.accordionCfg.panelHeight + 'px',
-							display: 'block'
-						}
-					)
-					.end();
-					
-				el.accordionCfg.headers
-				.each(
-					function(nr)
-					{
-						this.accordionPos = nr;
-					}
-				)
-				.hover(
-					function()
-					{
-						jQuery(this).addClass(el.accordionCfg.hoverClass);
-					},
-					function()
-					{
-						jQuery(this).removeClass(el.accordionCfg.hoverClass);
-					}
-				)
-				.bind(
-					'click',
-					function(e)
-					{
-						if (el.accordionCfg.currentPanel == this.accordionPos)
-							return;
-						el.accordionCfg.headers
-							.eq(el.accordionCfg.currentPanel)
-							.removeClass(el.accordionCfg.activeClass)
-							.end()
-							.eq(this.accordionPos)
-							.addClass(el.accordionCfg.activeClass)
-							.end();
-						el.accordionCfg.panels
-						.eq(el.accordionCfg.currentPanel)
-							.animate(
-								{height:0},
-								el.accordionCfg.speed,
-								function()
-								{
-									this.style.display = 'none';
-									if (el.accordionCfg.onHide) {
-										el.accordionCfg.onHide.apply(el, [this]);
-									}
-								}
-							)
-						.end()
-						.eq(this.accordionPos)
-							.show()
-							.animate (
-								{height:el.accordionCfg.panelHeight},
-								el.accordionCfg.speed,
-								function()
-								{
-									this.style.display = 'block';
-									if (el.accordionCfg.onShow) {
-										el.accordionCfg.onShow.apply(el, [this]);
-									}
-								}
-							)
-						.end();
-						
-						if (el.accordionCfg.onClick) {
-							el.accordionCfg.onClick.apply(
-								el, 
-								[
-									this, 
-									el.accordionCfg.panels.get(this.accordionPos),
-									el.accordionCfg.headers.get(el.accordionCfg.currentPanel),
-									el.accordionCfg.panels.get(el.accordionCfg.currentPanel)
-								]
-							);
-						}
-						el.accordionCfg.currentPanel = this.accordionPos;
-					}
-				)
-				.eq(0)
-				.addClass(el.accordionCfg.activeClass)
-				.end();
-				jQuery(this)
-					.css('height', jQuery(this).css('height'))
-					.css('overflow', 'hidden');
-			}
-		);
-	}
-};
-
-jQuery.fn.Accordion = jQuery.iAccordion.build;
\ No newline at end of file